2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 统计学的Python实现-012:峰度

统计学的Python实现-012:峰度

时间:2023-10-15 03:45:09

相关推荐

统计学的Python实现-012:峰度

作者:长行

时间:.03.11

统计学解释

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

kurtosis=E[(X−μσ)4]=μ4σ4=E[(X−μ)4](E[(X−μ)2])2kurtosis=E[(\frac{X-\mu}{\sigma})^4]=\frac{\mu_4}{\sigma^4}=\frac{E[(X-\mu)^4]}{(E[(X-\mu)^2])^2} kurtosis=E[(σX−μ​)4]=σ4μ4​​=(E[(X−μ)2])2E[(X−μ)4]​

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

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

kurtosis=(n+1)n(n−1)(n−2)(n−3)∑i=1n(xi−x‾)4(∑i=1n(xi−x‾)2)2−3(n−1)2(n−2)(n−3)kurtosis=\frac{(n+1)n(n-1)}{(n-2)(n-3)}\frac{\sum^{n}_{i=1}{(x_i-\overline{x})^4}}{(\sum^{n}_{i=1}{(x_i-\overline{x})^2})^2}-3\frac{(n-1)^2}{(n-2)(n-3)} kurtosis=(n−2)(n−3)(n+1)n(n−1)​(∑i=1n​(xi​−x)2)2∑i=1n​(xi​−x)4​−3(n−2)(n−3)(n−1)2​

其中xix_ixi​样本均值。

若峰度大于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 mathimport numpydata_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=0for i in data:m4+=(i-average)**4m2+=(i-average)**2peakedness=k1*m4/m2**2-k2return peakednessprint('peakedness =',peakedness(data_test))

结果

peakedness = -0.5076923076923086

实际应用

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

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。