您的位置:首页 > 编程语言 > Python开发

Python - 列联表的独立性检验(卡方检验)

2017-05-31 22:41 1436 查看

scipy.stats.chi2_contingency

想对两个或两个以上因子彼此之间是否相互独立做检验时,就要用到卡方检验,原以为在Python中实现会像R的chisq.test一样简便,但scipy的stats模块功能实在分得太细,之前查到的是stats中的chisquare方法,但尝试过后发现chisquare实际上是做适合性检验的。

在Baidu上搜索,几乎没看到真正用Python做独立性检验的讲解,几经辗转,终于在Stack Overflow上找到了Python中的列联表独立性检验,即chi2_contingency

e.g. 三种农药的杀虫数据

杀虫效果
死亡数374923
未死亡数15010057
分析杀虫效果与农药类型是否有关

import numpy as np
from scipy.stats import chi2_contingency

d = np.array([[37, 49, 23], [150, 100, 57]])
chi2_contingency(d)


输出为:

(7.6919413561281065,

0.021365652322337315,

2,

array([[ 48.99759615, 39.04086538, 20.96153846],

[ 138.00240385, 109.95913462, 59.03846154]]))

第一个值为卡方值,第二个值为P值,第三个值为自由度,第四个为与原数据数组同维度的对应理论值

具体参考文档:scipy.stats.chi2_contingency
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python