Scipy fisher_exact测试需要很长时间

时间:2018-09-06 19:14:55

标签: python scipy

我正在使用scipy版本1.0.0。

import scipy as sp
x = [[5829225, 5692693], [5760959, 5760959]]
sp.stats.fisher_exact(x)

对于scipy以上的值,它不会返回任何内容,但会等待。 可能是什么原因呢? 我该如何解决?

但是在R中,它几乎立即返回p值。

a = matrix(c(5829225,5692693,5760959,5760959), nrow=2)
fisher.test(a)

1 个答案:

答案 0 :(得分:2)

摘自documentation中的注释:

  

计算出的优势比不同于R使用的优势比。此scipy实现返回(更常见的)“无条件最大似然估计”,而R使用“有条件最大似然估计”。

     

对于具有大量数字的表,还可以使用在函数chi2_contingency中实现的(inexact)卡方检验。

(强调我的)

就像提到DSM的评论一样,对于您的大价值来说,这可能只是非常缓慢。而且由于注释说明了较大的值,因此您可以尝试使用它们建议的替代方法:

>>> chi2, p, dof, expected = sp.stats.chi2_contingency(x)
>>> p
6.140729432506709e-178
相关问题