为什么scipy.stats.bartlett的Bartlett检验输出为nan?
我的数据是:
data=[[2,2,2,2,2],[1,1,1,1,1],[3,3,3,3]]
当我这样传递数据时:
bartlett(*data)
它的输出结果是 (nan,nan)
,这是为什么呢?谢谢!
1 个回答
6
Bartlett检验是用来检查不同组之间的方差是否一致的。在你的情况中,因为所有组的数值都是相等的,所以没有方差。
这里有一个简单的例子:
In [7]:
import scipy.stats as ss
In [8]:
data=[[2,2,2,2,2],[1,1,1,1,1],[3,3,3,3]]
ss.bartlett(*data)
Out[8]:
(nan, nan)
In [9]:
A=[10,7,20,14,14,12,10,23,17,20,14,13,11,17,21,11,16,14,17,17,19,21,7]
B=[1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,]
ss.bartlett(A, B)
Out[9]:
(47.7068477814218, 4.9495974630644599e-12)
所以这并不是一个错误。