卡方检验

卡方检验的定义

卡房检验可以来检验两个因素的关联性,但是不能直接表示出关联的强弱,常见的2x2卡方和列联表组合。
卡方检验是一种非参数检验方法。 相对来说,非参数检验对数据分布的要求比较宽松,并且也不要求太大数据量。 卡方检验是一种对计数资料的假设检验方法,主要是比较理论频数和实际频数的吻合程度。 常用于特征选择,比如,检验男人和女人在是否患有高血压上有无区别,如果有区别,则说明性别与是否患有高血压有关, 在后续分析时就需要把性别这个分类变量放入模型训练。
基本数据有R行C列, 故通称RC列联表(contingency table), 简称RC表, 它是观测数据按两个或更多属性(定性变量)分类时所列出的频数表。

卡方检验的误区

  1. 样本量大于40
  2. 样本的期望频数小5的比例少于20%

python卡房检验的使用

杀虫效果
死亡数 37 49 23
未死亡数 150 100 57
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值,第三个值为自由度,第四个为与原数据数组同维度的对应理论值

对于RC链表可以参考如下的方法

posted @ 2020-04-08 14:01  raisok  阅读(2427)  评论(0编辑  收藏  举报