描述统计


描述统计

描述统计是通过图表或数学方法,对数据资料进行整理、分析,并对数据的分布状态、数字特征和随机变量之间关系进行估计和描述的方法。

对于一个需要研究的问题,收集到数据后,首先要了解数据的分布范围、集中位置以及分布形态等特征。

  • 频率表和频率直方图

  • 集中趋势的描述

频数分布表制作

某妇产科医生观察1402名临产母亲的体重(kg)资料如下:





步骤

1)计算全距(range, R):
  • 一组资料(数据)的最大值(Max)与最小值(Min)之差
2)确定组段数与组距:
  • 根据样本数多少,选择适当的组段数。
  • 若样本量n ≈ 100, 通常取8~15组为宜,组距≈全距/组段数
3)确定组段的上、下限:
  • 每一个组段的起点和终点,分别称为该组段的下限和上限
  • 第一组段必须包括最小值,最后一组段必须包括最大值
  • 前一组段上限亦为后一组段的下限
  • 分组应尽量采用等组距
  • 最后一组段一般应包含该组段的上限,其余各组段区间左闭右开






频率直方图

每一直条的面积就是相应各组段的频率,所有组段的频率之和就是相应各直条的面积之和,整个直方图面积之和为1

频率密度=频率/组距







频率(数)分布的特征

从频率表和频率分布图可看出频数分布的两个重要特性

  • 集中趋势

  • 离散趋势

观察值有高有低,但服从一定的分布规律:

  • ①越靠近中央部分,频率越高——集中趋势;
  • ②绝大多数个体值并不与平均水平完全重合,而是不同程度地偏离平均水平——离中趋势

频率表的用途

  • 揭示资料的分布特征和分布类型
  • 由组中值近似代表原始数据,便于手工计算实现初步的统计分析
  • 便于发现某些特大或特小的可疑数值。例如,有时在频率表的两端,出现连续几个组段的频率为0后,又出现个别特大或特小值,使人怀疑这些数据是否正确,需要检查核对以决定取舍。

数据的分布类型

  • 对称分布
  • 偏态分布






对称分布

  • 频率分布中间高,两端低
  • 有一个对称轴,左右对称

用两个参数描述:

  • 平均水平:均数
  • 变异程度:标准差

偏态分布

  • 频数分布高的偏向一端
  • 没有一个对称轴

用两个参数描述:

  • 平均水平:中位数
  • 变异程度:四分位数间距

右(正)偏态分布:即频数集中位置偏向数值小的一侧

左(负)偏态分布:即频数集中位置偏向数值大的一侧

集中趋势的描述

反映一组同质观察值的平均水平或一个分布的中心位置

常用的描述集中趋势的统计指标:

  • 算术均数(简称均数)
  • 中位数
  • 众数

算术均数

反映一组分布呈对称的观察值在数量上的平均水平
表示符号:

  • 总体均数(μ)

  • 样本均数



中位数

用M表示, 是将一组观察值从小到大按顺序排列, 位次居中的那个观察值, 小于和大于中位数的个体数相等,反映一组观察值的平均位置

众数

出现频率最高的观察值,众数可能不唯一
可以根据中位数和均数的差别大小,粗略判断数据的分布类型

  • 当数据呈对称分布时,均数和中位数接近

  • 当数据呈右偏态分布时,均数大于中位数

  • 当数据呈左偏态分布时,均数小于中位数

离散趋势的描述

现有甲、乙、丙三组数据:

甲组60 70 80 90 100
乙组70 75 80 85 90
丙组60 75 80 85 100

如果我们用均数来描写上述资料特征,则:



描述离散趋势的指标

  • 全距(极差)
  • 四分位数间距
  • 方差
  • 标准差
  • 变异系数

四分位数间距:

  • P25:第25%分位数,记为QL,表示全部观察值中有四分之一的个体取值比它小

  • P75:第75%分位数,记为QU,表示全部观察值中有四分之一的个体取值比它大

  • 四分位数间距:QU-QL= P75-P25

四分位数间距较全距稳定,常与中位数一起,描述不对称分布资料的特征;仅使用了原变量中部分信息,即指包含了50%数据的分布范围,适用于非正态分布.

方差:

个体偏离总体平均水平的程度就是所谓的离均差,而离均差平方可以同等对待正的和负的离中情形。

总体方差:将离均差平方的平均值作为总体中个体值偏离平均水平的概括性指标

表示观察值变异程度(离散程度),当两组(或几组)资料均数相近、度量单位相同的条件下,标准差较大,说明观察值的变异程度较大,即各观察值离均数较远,因而均数的代表性较差;反之,标准差较小,均数的代表性较好

变异系数

变异系数也称离散系数,用CV表示,是标准差与均数之比:

变异系数 C·V =( 标准偏差 SD / 平均值Mean )× 100%

import pandas as pd
names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class']
data = pd.read_csv('pima-indians-diabetes.data', names=names)
data.head()
#数据集介绍:http://archive.ics.uci.edu/ml/datasets/pima+indians+diabetes
preg plas pres skin test mass pedi age class
0 6 148 72 35 0 33.6 0.627 50 1
1 1 85 66 29 0 26.6 0.351 31 0
2 8 183 64 0 0 23.3 0.672 32 1
3 1 89 66 23 94 28.1 0.167 21 0
4 0 137 40 35 168 43.1 2.288 33 1
  • preg:怀孕次数
  • plas:口服葡萄糖耐量试验2小时的血糖浓度
  • pres:舒张期血压
  • skin:三头肌皮褶厚度(mm)
  • test:餐后血清胰岛素(μU/ml)
  • mass:体重指数
  • pedi:糖尿病家系的功能
  • age:年龄
  • class:类别
data.shape

(768, 9)

data.dtypes

preg int64
plas int64
pres int64
skin int64
test int64
mass float64
pedi float64
age int64
class int64
dtype: object

data.info()

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 768 entries, 0 to 767
Data columns (total 9 columns):
preg 768 non-null int64 plas 768 non-null int64
pres 768 non-null int64 skin 768 non-null int64
test 768 non-null int64 mass 768 non-null float64
pedi 768 non-null float64 age 768 non-null int64
class 768 non-null int64 dtypes: float64(2), int64(7)
memory usage: 54.1 KB

data.describe()
preg plas pres skin test mass pedi age class
count 768.000000 768.000000 768.000000 768.000000 768.000000 768.000000 768.000000 768.000000 768.000000
mean 3.845052 120.894531 69.105469 20.536458 79.799479 31.992578 0.471876 33.240885 0.348958
std 3.369578 31.972618 19.355807 15.952218 115.244002 7.884160 0.331329 11.760232 0.476951
min 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.078000 21.000000 0.000000
25% 1.000000 99.000000 62.000000 0.000000 0.000000 27.300000 0.243750 24.000000 0.000000
50% 3.000000 117.000000 72.000000 23.000000 30.500000 32.000000 0.372500 29.000000 0.000000
75% 6.000000 140.250000 80.000000 32.000000 127.250000 36.600000 0.626250 41.000000 1.000000
max 17.000000 199.000000 122.000000 99.000000 846.000000 67.100000 2.420000 81.000000 1.000000
data.groupby('class').size()

class
0 500
1 268
dtype: int64

data.corr(method='pearson')
preg plas pres skin test mass pedi age class
preg 1.000000 0.129459 0.141282 -0.081672 -0.073535 0.017683 -0.033523 0.544341 0.221898
plas 0.129459 1.000000 0.152590 0.057328 0.331357 0.221071 0.137337 0.263514 0.466581
pres 0.141282 0.152590 1.000000 0.207371 0.088933 0.281805 0.041265 0.239528 0.065068
skin -0.081672 0.057328 0.207371 1.000000 0.436783 0.392573 0.183928 -0.113970 0.074752
test -0.073535 0.331357 0.088933 0.436783 1.000000 0.197859 0.185071 -0.042163 0.130548
mass 0.017683 0.221071 0.281805 0.392573 0.197859 1.000000 0.140647 0.036242 0.292695
pedi -0.033523 0.137337 0.041265 0.183928 0.185071 0.140647 1.000000 0.033561 0.173844
age 0.544341 0.263514 0.239528 -0.113970 -0.042163 0.036242 0.033561 1.000000 0.238356
class 0.221898 0.466581 0.065068 0.074752 0.130548 0.292695 0.173844 0.238356 1.000000
data.skew()

preg 0.901674
plas 0.173754
pres -1.843608
skin 0.109372
test 2.272251
mass -0.428982
pedi 1.919911
age 1.129597
class 0.635017
dtype: float64


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM