生物統計學習筆記從概念、推導到實務判讀

CHAPTER 05 · TOPIC 07

McNemar 檢定

McNemar 檢定(McNemar’s test)用來分析成對二元資料,例如同一批受試者治療前後的陽性/陰性結果,或經過配對的兩個觀察單位。它不把四格都當成獨立樣本,而是專注於結果發生改變的兩種不一致配對。

本頁內容
  1. 成對二元資料如何整理?
  2. 研究問題與假設
  3. 為什麼會形成二項分布?
  4. 從比例 Z 推到 McNemar 卡方公式
  5. 小樣本、精確檢定與連續性校正
  6. 不要和獨立性卡方檢定混在一起
  7. 檢定步驟

McNemar 檢定(McNemar’s test)用來分析成對二元資料,例如同一批受試者治療前後的陽性/陰性結果,或經過配對的兩個觀察單位。它不把四格都當成獨立樣本,而是專注於結果發生改變的兩種不一致配對。

成對二元資料如何整理?

Before:YesBefore:No合計
AfterYesaba+b
Nocdc+d
合計a+cb+da+b+c+d
儲存格配對結果在 McNemar 檢定中的角色
aBefore Yes → After Yes沒有改變的一致配對
bBefore No → After Yes往一個方向改變
cBefore Yes → After No往相反方向改變
dBefore No → After No沒有改變的一致配對

研究問題與假設

McNemar 檢定問的是兩個方向的改變機率是否相同。若 Before 與 After 的邊際比例相同,No→Yes 與 Yes→No 應同樣可能;這稱為邊際同質性(marginal homogeneity)。

虛無假設H0:Pb=PcH_0:P_b=P_c
對立假設H1:PbPcH_1:P_b\ne P_c
只看不一致配對後的等價假設H0:π=P(bb 或 c)=12H_0:\pi=P(b\mid b\text{ 或 }c)=\frac12

雙尾檢定關心 b、c 是否不相等;若研究問題事先指定方向,也可以設定 P_b>P_c 或 P_b<P_c 的單尾對立假設。方向必須配合表格定義,交換 Before/After 或 Yes/No 會交換 b、c。

為什麼會形成二項分布?

條件在「已經發生改變」的 n=b+c 對資料後,每一對只剩兩種互斥結果:落在 b 或落在 c。若 H₀ 成立,兩個方向機率相同,因此 b 可以視為參數 π₀=1/2 的二項隨機變數。

不一致配對數n=b+cn=b+c
H₀ 下 b 的分布B(B+C=n)Binomial(n,12)B\mid(B+C=n)\sim\operatorname{Binomial}\left(n,\frac12\right)
樣本中的 b 比例p^b=bb+c\hat p_b=\frac{b}{b+c}
H₀ 下的平均數與變異數E(B)=n2,Var(B)=n4E(B)=\frac n2,\qquad\operatorname{Var}(B)=\frac n4

從比例 Z 推到 McNemar 卡方公式

先把 b 在不一致配對中的比例,與 H₀ 指定的 π₀=1/2 比較。這與單一二項比例 Z 檢定使用相同的標準化結構。

單一比例 Z 統計量Z=p^bπ0π0(1π0)/nZ=\frac{\hat p_b-\pi_0}{\sqrt{\pi_0(1-\pi_0)/n}}
分子、分母同乘 nZ=np^bnπ0nπ0(1π0)Z=\frac{n\hat p_b-n\pi_0}{\sqrt{n\pi_0(1-\pi_0)}}
代入 n p̂b=b、π₀=1/2Z=bn/2n(1/2)(1/2)Z=\frac{b-n/2}{\sqrt{n(1/2)(1/2)}}
再代入 n=b+cZ=b(b+c)/2(b+c)/4Z=\frac{b-(b+c)/2}{\sqrt{(b+c)/4}}
分子與分母分別化簡Z=(bc)/2b+c/2Z=\frac{(b-c)/2}{\sqrt{b+c}/2}
約去共同的 1/2Z=bcb+cZ=\frac{b-c}{\sqrt{b+c}}

自由度為 1 時,標準常態變數的平方服從 χ²₁。把前面每一步得到的 Z 平方,就得到未校正的 McNemar 卡方統計量:

由一般比例公式開始χ12=Z2=(p^bπ0π0(1π0)/n)2\chi_1^2=Z^2=\left(\frac{\hat p_b-\pi_0}{\sqrt{\pi_0(1-\pi_0)/n}}\right)^2
改寫成二項計數=(np^bnπ0nπ0(1π0))2=\left(\frac{n\hat p_b-n\pi_0}{\sqrt{n\pi_0(1-\pi_0)}}\right)^2
代入 b、c 與 π₀=1/2=(b(b+c)/2(b+c)(1/2)(1/2))2=\left(\frac{b-(b+c)/2}{\sqrt{(b+c)(1/2)(1/2)}}\right)^2
化簡分子與分母=((bc)/2b+c/2)2=\left(\frac{(b-c)/2}{\sqrt{b+c}/2}\right)^2
未校正 McNemar 統計量χM2=(bc)2b+c\chi_M^2=\frac{(b-c)^2}{b+c}

小樣本、精確檢定與連續性校正

原始的大樣本卡方公式依賴二項分布的常態近似。早期常以 b+c≥20 作為使用近似公式的經驗規則,但這不是不可變動的界線;當不一致配對數較少時,可以直接使用條件二項分布計算精確 p 值。

精確雙尾二項 p 值pexact=2min{P(Bbobs), P(Bbobs)}並以 1 為上限p_{\mathrm{exact}}=2\min\left\{P(B\leq b_{\mathrm{obs}}),\ P(B\geq b_{\mathrm{obs}})\right\}\quad\text{並以 }1\text{ 為上限}
連續性校正的 McNemar 統計量χM,Y2=(bc1)2b+c\chi_{M,Y}^2=\frac{\left(|b-c|-1\right)^2}{b+c}

連續性校正先在單一二項計數 b 的尺度,將觀察值與期望值 n/2 的絕對距離減去 0.5:

在 b 的尺度作 0.5 校正ZY=bn/20.5n(1/2)(1/2)Z_Y=\frac{|b-n/2|-0.5}{\sqrt{n(1/2)(1/2)}}
代入 n=b+cZY=b(b+c)/20.5(b+c)/4Z_Y=\frac{|b-(b+c)/2|-0.5}{\sqrt{(b+c)/4}}
把絕對差提出 1/2ZY=bc/21/2b+c/2Z_Y=\frac{|b-c|/2-1/2}{\sqrt{b+c}/2}
分子、分母同乘 2ZY=bc1b+cZ_Y=\frac{|b-c|-1}{\sqrt{b+c}}
平方得到校正後卡方χM,Y2=ZY2=(bc1)2b+c\chi_{M,Y}^2=Z_Y^2=\frac{(|b-c|-1)^2}{b+c}

精確二項檢定直接使用離散分布;連續性校正仍是大樣本近似,而且可能較保守。實務上應依分析計畫與軟體方法一致報告,不能計算多種版本後只選最顯著的結果。

不要和獨立性卡方檢定混在一起

比較項目卡方獨立性檢定McNemar 檢定
資料關係不同觀察單位彼此獨立同一單位前後測量或成對資料
研究問題兩個類別變項是否獨立兩個方向的改變機率是否相同
使用的儲存格所有儲存格 O 與 E只使用不一致配對 b、c
大樣本統計量(OE)2/E\sum(O-E)^2/E(bc)2/(b+c)(b-c)^2/(b+c)

檢定步驟

  1. 確認結果是二元資料,而且兩次測量或兩個觀察能正確一一配對。
  2. 依固定方向建立配對 2×2 表,辨認一致配對 a、d 與不一致配對 b、c。
  3. 設定 H₀:P_b=P_c;有效樣本數使用 n=b+c。
  4. 依不一致配對數與預定方法,使用精確二項檢定、未校正或連續性校正的 McNemar 統計量。
  5. 報告 b、c 的實際方向、p 值與前後邊際比例,回到研究問題解釋改變。