我想弄明白为什么下面的代码会为样本的峰度返回不同的值:
import pandas
import scipy
e = pandas.DataFrame([1, 2, 3, 4, 5, 4, 3, 2, 1])
print "pandas.rolling_kurt:\n", pandas.rolling_kurt(e, window=9)
print "\nscipy.stats.kurtosis:", scipy.stats.kurtosis(e)
我得到的结果是:
pandas.rolling_kurt:
0
0 NaN
1 NaN
2 NaN
3 NaN
4 NaN
5 NaN
6 NaN
7 NaN
8 -1.060058
scipy.stats.kurtosis: [-1.15653061]
我试过和皮尔逊对费舍尔的比赛,但没有成功。
最佳答案
设置bias=False
似乎可以:
In [3]: scipy.stats.kurtosis(e,bias=False)
Out[3]: array([-1.06005831])