作者:长行

时间:2019.03.10


偏度:偏度(skewness),也称偏态,是衡量统计数据分布偏斜方向和程度的统计量。例如,正态分布的偏度=0,即分布关于均值左右对称。

若偏度<0,则说明分布呈左偏态,此时均值左边的数据比右边少;若偏度>0,则说明分布呈右偏态,此时均值右边的数据比左边少;若偏度接近于0,则说明分布是接近对称的。

统计学解释

偏度的定义式:

其中 μ \mu μ为均值, σ \sigma σ为标准差, μ 3 \mu_3 μ3为三阶中心距, k t k_t kt为 t t h t^{th} tth累积量。

偏度第一种的计算公式:

其中 X ‾ \overline{X} X为样本均值。

偏度的第二种计算公式,SPSS、Excel等软件均使用这一公式:

其中 X ‾ \overline{X} X为样本均值。

实现思路

先计算出数据的样本个数和均值;通过遍历数据中所有的样本,计算出 3和的结果,再以此计算偏度的值。

实现代码

data_test=[1,1,1,1,1,2,2,2,2,3,3,3,4,4,5]  # 定义测试数据

计算偏度

import math
import numpy
def sknewness(data):
n = len(data) #样本个数
average=numpy.mean(data) #计算平均值
m1=0
m2=0
k=math.sqrt(n*(n-1))/(n-2)
for i in data:
m1+=(i-average)**3
m2+=(i-average)**2
m1/=n
m2/=n
m2=math.sqrt(m2**3)
skewness=k*m1/m2
return skewness
print('skewness =',sknewness(data_test))

结果

skewness = 0.6554279508966393

代码解释

​x/=y​​与x=x/y的含义相同