【发布时间】:2018-01-11 00:57:27
【问题描述】:
skewness 是衡量数据集对称性的参数,kurtosis 是衡量其尾部与正态分布相比的重度,例如参见 @ 987654321@.
scipy.stats 提供了一种计算这两个量的简单方法,请参阅scipy.stats.kurtosis 和scipy.stats.skew。
据我了解,使用刚才提到的函数,normal distribution 的偏度和峰度都应该为 0。但是,我的代码并非如此:
import numpy as np
from scipy.stats import kurtosis
from scipy.stats import skew
x = np.linspace( -5, 5, 1000 )
y = 1./(np.sqrt(2.*np.pi)) * np.exp( -.5*(x)**2 ) # normal distribution
print( 'excess kurtosis of normal distribution (should be 0): {}'.format( kurtosis(y) ))
print( 'skewness of normal distribution (should be 0): {}'.format( skew(y) ))
输出是:
正态分布的超峰度(应为0):-0.307393087742
正态分布偏度(应为0):1.11082371392
我做错了什么?
我使用的版本是
python: 2.7.6
scipy : 0.17.1
numpy : 1.12.1
【问题讨论】:
标签: python numpy scipy statistics