为什么来自scipy.stats.bartlett的Bartlett测试给出了nan作为输出?

时间:2014-07-17 16:18:47

标签: python statistics scipy statsmodels anova

我的数据是:

data=[[2,2,2,2,2],[1,1,1,1,1],[3,3,3,3]]

当我这样过去的时候:

bartlett(*data)

它输出为(nan,nan) 为什么? 感谢

1 个答案:

答案 0 :(得分:4)

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)

所以这不是一个错误。