Lillifors在Python中测试(错误的p值)

时间:2016-12-21 12:27:52

标签: python statistics

下面的代码生成1000个样本,大小为100,来自正态分布,均值= 0且sd = 1,并且对于每个样本,它保存了lillifors测试的p值以确定每个样本的正态性。

import numpy as np
import statsmodels.api as sm
b=1000
pvalues=[0]*b
for i in range(b): pvalues[i]=sm.stats.lillifors(np.random.normal(0,1,100))[1]

然后我取所有p值的最大值,结果超过1,这意味着至少有一个p值超过1.如何可能?这是一个错误还是我做错了什么?

print(np.max(pvalues))
1.28471963277

在R中,相同的程序并没有给出奇怪的结果。我注意到的另一件事是Python允许对样本量小于5的lillifors测试。

0 个答案:

没有答案