描述性统计分析
一.集中趋势
- 众数:一组数据,某个出现次数最多的数叫众数,有同时存在多个的情况,我认为在非连续型变量中对于趋势值的补充起到作用;
在python中实现众数有如下两种情况:
import numpy as np #注:求得的是int型的众数
lis=[2,13,13.3,13] #定义数组
counts=np.bincount(lis) #用np.bincount 方法求整数从0开始的数 对应的个数
np.argmax(counts) #argmax 转换成出现次数最多(数值最大)的 数输出
nums=[2,12,12,6,12]
from scipy import stats
stats.mode(nums)[0][0] #mode(数组)[0][0]直接输出众数
- 中位数:一个将数组按大小的顺序分开的数,即排序数组后的中间的一个数,两个数求均值。
nums=[2,12,12,6,12] #按顺序排列是[1,6,12,12,12]
np.median(nums) #输出中位数是12
- 平均数:用一列数组的和除以个数,以此反应每个数的情况
nums=[2,12,12,6,12] #
np.mean(nums) #均值是8.8
- 加权平均数
nums=[2,12,12,6,12] #还是之前那组数
np.average(nums,weights=[6,3,1,1,1]) #加权均值是6.5,因为我设的权重第一个很大
- 几何平均数:几何平均数不同于平均数的加完除,几何平均数是各项相乘然后开项数次方。即两个列表是2项的,2者相乘开平方,3项的,三者相乘开三次方。
from functools import reduce
lis=[2,3,4]
product=reduce(lambda x,y:x*y,lis) #product是列表元素的乘积
pow(product,(1/len(lis))) #然后开n次方
二.离散程度
- 方差:同下
- 标准差: 方差和标准差都是检验数据离散程度的指标,方差是标准差的平方。
方差计算公式是 (每个值-均值)的平方之和 除以 值的个数
python代码实现如下:
np.var(nums) #方差var
np.std(nums) #便准差 std
- 四分位差:将数组按顺序排列后,按个数分成4份,第一个分割点和第三个分割点叫下四分卫和上四分卫,中间的分割点是中位数。
np.percentile(a, 25)) #下四分位数
np.percentile(a, 75)) #上四分位数
- 异众比率: 顾名思义,不同于众数的比率。简单粗暴的描述非众数所占的比例。
- 离散系数:官方定义是 (标准差/均值) 离散系数越大,数据离散程度越大。
三.分布形状
- 正态分布
- 左偏、右偏分布:汉字“入” 的形状是右偏分布 ,“人”的形状是左偏分布。