原文链接:峰度与偏度(python)
微信公众号:机器学习养成记 搜索添加微信公众号:chenchenwings偏度和峰度是描述数据分布时两个常用的概念,用来描述数据分布与正态分布的偏离程度。本次推送将简要介绍其相关意义,及通过python中pandas包实现相关计算。
偏度与峰度
偏度(Skewness)
用来描述数据分布的对称性,正态分布的偏度为0。计算数据样本的偏度,当偏度<0时,称为负偏,数据出现左侧长尾;当偏度>0时,称为正偏,数据出现右侧长尾;当偏度为0时,表示数据相对均匀的分布在平均值两侧,不一定是绝对的对称分布,此时要与正态分布偏度为0的情况进行区分。
当偏度绝对值过大时,长尾的一侧出现极端值的可能性较高。
峰度(Kurtosis)
用来描述数据分布陡峭或是平滑的情况。正态分布的峰度为3,峰度越大,代表分布越陡峭,尾部越厚;峰度越小,分布越平滑。很多情况下,为方便计算,将峰度值-3,因此正态分布的峰度变为0,方便比较。
在方差相同的情况下,峰度越大,存在极端值的可能性越高。
python实现
用python中的pandas包可以便捷的计算出峰度与偏度。
载入相关包,生成满足正态分布的点,并绘制出其分布图像。
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
data = list(np.random.randn(10000))
plt.hist(data,100,normed=True,facecolor='g',alpha=0.9)
plt.show()
计算偏度与峰度。
s = pd.Series(data)
print(s.skew())%偏度计算
print(s.kurt())%峰度计算
%-0.027080404248
%-0.0408703328693
扫描二维码,关注我们。
如需转载,请在开篇显著位置注明作者和出处,并在文末放置机器学习养成记二维码和添加原文链接。
快来关注我们吧!