作者:长行

时间:2019.03.11


统计学解释

峰度:峰度是衡量一组数据分布曲线的陡峭程度。其定义式如下:

其中 μ \mu μ为均值, σ \sigma σ为标准差, μ 4 \mu_4 μ4​为四阶中心距。

但是通常而言,我们不会用定义式来计算峰度,而是使用其他的计算公式,例如如下的峰度计算公式(应用于SPSS):

其中​样本均值。

若峰度大于0,则说明该组数据的分布曲线相较于正态分布更加陡峭;若峰度小于0,则说明该组数据的分布曲线相较于正态分布更加平缓。换言之,峰度越大,则数据在靠近均值的部分分布得越多,在距离均值较远的部分分布得较少。

下面我们通过几个例子来熟悉峰度的分布特征:

例1:当靠近均值部分的数据分布得越多时,峰度越高

数据 [1,1,1,1,1,1,2,3,4,5,5,5,5,5,5] 的峰度为 -2.098

数据 [1,1,1,2,2,2,3,3,3,4,4,4,5,5,5] 的峰度为 -1.328

数据 [1,2,3,3,3,3,3,3,3,3,3,3,3,4,5] 的峰度为 3.554

例2:当远离均值的数据分布得越分散时,峰度越高

数组 [1,4,5,6,9] 的峰度为 0.893

数组 [3,4,5,6,7] 的峰度为 -1.200

实现代码

import math
import numpy
data_test=[1,1,1,1,1,2,2,2,2,3,3,3,4,4,5] # # 定义测试数据
def peakedness(data):
n = len(data) #样本个数
average=numpy.mean(data) #计算平均值
k1=n*(n+1)*(n-1)/(n-2)/(n-3)
k2=3*(n-1)**2/(n-2)/(n-3)
m2=0;
m4=0
for i in data:
m4+=(i-average)**4
m2+=(i-average)**2
peakedness=k1*m4/m2**2-k2
return peakedness
print('peakedness =',peakedness(data_test))

结果

peakedness = -0.5076923076923086

实际应用

1.峰度可以用来衡量风险,同样的方差下,峰度越高,越容易取极端值。例如某一金融产品收益率的峰度很高,那么该金融产品的风险系数就会较大。

2.峰度可以帮助用来衡量众数的统计学意义。峰度越高,众数在描述该组数据的集中趋势的作用就越显著。