McNemar 精確檢定小筆記

這又是一種檢測顯著性的方法。上次已經提過 Wilcoxon 符號等級檢定, 這次擴充到 McNemar 檢定。世足賽過去沒多久,McNemar 令我聯想到巴西的內馬爾 (Neymar),但是少了一個 Y。 兩者沒有關係。至於 Mc 開頭的人名,在蓋爾語(蘇格蘭和愛爾蘭),意思是「…的兒子」或「…的孩子」。

Wilcoxon (藍色) 和 NcNemar (紅色) 在下表中,可以看出他們都是處理相依樣本 (使用前、使用後);最大差異是 Wilcoxon 處理連續資料,McNemar 處理類別資料。至於獨立樣本那部分,現在還不在我的 study 雷達範圍。我沒有要改行做統計,所以暫時不會去研究。

資料類型資料分佈 / 特徵獨立樣本
(
兩組不同的人)
配對 / 相依樣本
(
同一組人前後測)
連續型資料
(如:身高、分數)
符合常態分配
(有母數檢定)
獨立樣本 t 檢定獨立樣本 t 檢定
非常態 / 順序尺度
(無母數檢定)
曼-惠特尼 U 檢定
(Mann-Whitney U)
或稱 Wilcoxon 秩和檢定
Wilcoxon 符號等級檢定
(Wilcoxon Signed-Rank)
類別型資料
(如:是/否、過關/淘汰)
計數 / 比例分佈卡方同質性檢定
(或卡方獨立性檢定)
McNemar 檢定

相較於 Cohen’s Kappa 同時考慮相同、不同的分類,McNemar test 只看不同的。假設有考生參加第一次模擬考試後,跑去參加了魔鬼衝刺班,然後又拿一樣的考卷再考一次。

前測 \ 後測答對答錯合計
答對15318
答錯121022
合計271340

我們忽略掉本來就會的 (15 題)、還有補了也不會的 (10 題),專門看有差異的部分;也就是 “對變錯" 的 3 題 (參數 b),和 “錯變對" 的 12 題 (參數 c)。對變錯可能是粗心、或是沒有訂正的習慣,看到題目就想起錯的答案…等等。

把 b、c 帶入 Mcnemar test 公式,計算 X

χ2 = (|3-12|-1)2 / (3+12) = 64 / 15 ​≈ 4.27

這個值服從自由度為 1 的卡方分配,查表可以得到 p≈0.039 < 5%,所以表示顯著。也就是補習有用!

當考試題目不是 40 題,而是只有 10 題的話。那麼 b、c 的值可能很小,這樣算出的 x 會顯得不夠可靠。例如:

前測 \ 後測答對答錯合計
答對303
答錯617
合計9110

帶公式 χ2 = (|0-6|-1)2 / (0+6) = 25 / 6 ​≈ 4.17,查表 p≈0.041,雖然 0.041 還是小於 5%,但是慢慢逼近門檻值了。明明進步了 6 題,而且沒有任何一題 “對變錯",我們直覺這個補習很有用,但是數字不漂亮。

這個時候,我們該用的是精確測試。我們現在變化的有 6 題,全部都是變好。假設跟擲骰子一樣,擲出 6 個雙數的機率 p = (1/2)6 = 0.015625。在另外一方向上 (對變錯),同樣是擲出 6 個單數,機率一樣。兩邊機率相加,p=P(X=6)+P(X=0)=641​+641​=642​=0.03125。

p=0.03125<0.05 比 0.041 還要明顯,所以數字小的時候,適合做 McNemar exact test。

Exact test 不只 McNemar 這一家開張,在兩組獨立樣本時,我們會用 Fisher’s exact test。萬能的天神保佑,我不會需要研究它!

[REF]