卡方檢驗的定義
卡房檢驗可以來檢驗兩個因素的關聯性,但是不能直接表示出關聯的強弱,常見的2x2卡方和列聯表組合。
卡方檢驗是一種非參數檢驗方法。 相對來說,非參數檢驗對數據分布的要求比較寬松,並且也不要求太大數據量。 卡方檢驗是一種對計數資料的假設檢驗方法,主要是比較理論頻數和實際頻數的吻合程度。 常用於特征選擇,比如,檢驗男人和女人在是否患有高血壓上有無區別,如果有區別,則說明性別與是否患有高血壓有關, 在后續分析時就需要把性別這個分類變量放入模型訓練。
基本數據有R行C列, 故通稱RC列聯表(contingency table), 簡稱RC表, 它是觀測數據按兩個或更多屬性(定性變量)分類時所列出的頻數表。
卡方檢驗的誤區
- 樣本量大於40
- 樣本的期望頻數小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鏈表可以參考如下的方法

