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

CHAPTER 05 · TOPIC 03

2×2 列聯表

2×2 列聯表(2×2 contingency table)用來整理兩個二元類別變項的聯合分布。例如,一個變項表示是否暴露於某項因子,另一個變項表示是否發生疾病;四個儲存格記錄兩種分類交叉後的觀察次數。

本頁內容
  1. 2×2 表格的結構
  2. 從次數表寫成聯合機率
  3. 如果 X 與 Y 彼此獨立
  4. 研究設計決定表格要怎麼讀
  5. 勝算與勝算比 OR
  6. 為什麼對 OR 取自然對數?
  7. 相對風險 RR
  8. ln(RR) 的標準誤與信賴區間
  9. OR 與 RR 的關係
  10. 取 ln 後的公式比較
  11. 分析時還要注意什麼?

2×2 列聯表(2×2 contingency table)用來整理兩個二元類別變項的聯合分布。例如,一個變項表示是否暴露於某項因子,另一個變項表示是否發生疾病;四個儲存格記錄兩種分類交叉後的觀察次數。

2×2 表格的結構

有疾病(case)無疾病(control)合計
有暴露(exposed)ABA+B
無暴露(unexposed)CDC+D
合計A+CB+DN=A+B+C+D

表格內的 A、B、C、D 是聯合次數;列合計與欄合計則是邊際次數。同一張表可以沿著列比較疾病比例,也可以沿著欄比較暴露比例,但應該沿哪個方向解讀,取決於研究如何抽樣,而不是表格外觀看起來如何。

符號代表的觀察
A有暴露且有疾病
B有暴露但無疾病
C無暴露但有疾病
D無暴露且無疾病

從次數表寫成聯合機率

令 X=1 表示有暴露、Y=1 表示有疾病。Pᵢⱼ 表示 X=i 且 Y=j 的聯合機率,四個聯合機率相加等於 1。

Y=1Y=0X 的邊際機率
X=1P11P_{11}P10P_{10}PX=P11+P10P_X=P_{11}+P_{10}
X=0P01P_{01}P00P_{00}1PX1-P_X
Y 的邊際機率PY=P11+P01P_Y=P_{11}+P_{01}1PY1-P_Y1

如果 X 與 Y 彼此獨立

獨立表示知道 X 的結果,不會改變 Y 的機率;因此每一格的聯合機率等於對應邊際機率的乘積。

Y=1Y=0
X=1P11=PXPYP_{11}=P_XP_YP10=PX(1PY)P_{10}=P_X(1-P_Y)
X=0P01=(1PX)PYP_{01}=(1-P_X)P_YP00=(1PX)(1PY)P_{00}=(1-P_X)(1-P_Y)
獨立的條件機率寫法P(Y=1X=1)=P(Y=1X=0)=PYP(Y=1\mid X=1)=P(Y=1\mid X=0)=P_Y
獨立的聯合機率寫法P(X=i,Y=j)=P(X=i)P(Y=j)P(X=i,Y=j)=P(X=i)P(Y=j)

下一篇卡方獨立性檢定會把這個機率條件轉成各格的期望次數,再比較實際觀察次數與獨立情況下的期望次數。本頁先集中處理 2×2 表本身及其效果量。

研究設計決定表格要怎麼讀

研究設計如何取得樣本主要比較方向可直接估計的效果量
病例對照研究(case-control study)先依疾病狀態選取病例與對照,再回溯過去暴露比較病例與對照的暴露勝算勝算比 OR
世代研究(cohort study)先依暴露狀態形成群組,再觀察疾病結果比較暴露組與未暴露組的疾病風險相對風險 RR、風險差

例如,病例對照研究可以比較口腔癌病例與非病例過去嚼檳榔的情形;世代研究則可先找出嚼檳榔與未嚼檳榔者,再追蹤兩組後續發生疾病的比例。世代研究可以是前瞻、回溯或雙向設計,關鍵在於研究者依暴露形成風險集合,而不是單看資料收集發生在過去或未來。

勝算與勝算比 OR

若某事件發生的機率為 p,勝算(odds)是事件發生機率與未發生機率的比值。機率是「發生者占全部的比例」,勝算則是「發生者相對於未發生者有多少」。

odds=p1p\operatorname{odds}=\frac{p}{1-p}
符號在這組公式中的意義
A、B、C、D2×2 列聯表四個格子的觀察次數;實際位置依頁面上的表格標示
OR勝算比(odds ratio)
p₁、p₂兩組事件發生的機率
L取自然對數後的效果量,例如 ln(OR) 或 ln(RR)
n本段使用的觀察數、樣本數或試驗次數;以公式前的研究設定為準

在病例對照研究中,可以比較病例與對照的暴露勝算;等價地,也可以比較暴露組與未暴露組的疾病勝算。兩種方向最後都得到相同的交叉乘積比。

病例中的暴露勝算AC\frac{A}{C}
對照中的暴露勝算BD\frac{B}{D}
勝算比OR=A/CB/D=ADBCOR=\frac{A/C}{B/D}=\frac{AD}{BC}
OR 的值資料層次的解讀
OR=1兩組勝算相同,沒有觀察到關聯
OR>1暴露與較高的疾病勝算相關
OR<1暴露與較低的疾病勝算相關

為什麼對 OR 取自然對數?

OR 只能大於 0,且其抽樣分布通常右偏。取自然對數後,無關聯的 OR=1 會轉成 ln(OR)=0,兩個勝算相除也會轉成對數勝算相減;在四格次數足夠時,ln(OR) 的抽樣分布較接近常態分布,方便建立 Z 統計量與信賴區間。

對數勝算比ln(OR)=ln(ADBC)\ln(OR)=\ln\left(\frac{AD}{BC}\right)
估計變異數Var^ ⁣[ln(OR)]=1A+1B+1C+1D\widehat{\operatorname{Var}}\!\left[\ln(OR)\right]=\frac1A+\frac1B+\frac1C+\frac1D
估計標準誤SE ⁣[ln(OR)]=1A+1B+1C+1DSE\!\left[\ln(OR)\right]=\sqrt{\frac1A+\frac1B+\frac1C+\frac1D}
檢定假設H0:OR=1  ln(OR)=0H_0:OR=1\ \Longleftrightarrow\ \ln(OR)=0
Wald Z 統計量Z=ln(OR)SE[ln(OR)]Z=\frac{\ln(OR)}{SE[\ln(OR)]}
ln(OR) 的信賴區間ln(OR)±z1α/2SE[ln(OR)]\ln(OR)\pm z_{1-\alpha/2}SE[\ln(OR)]
轉回 OR 的信賴區間(exp(L),exp(U))\left(\exp(L),\exp(U)\right)

L、U 是 ln(OR) 信賴區間的下限與上限。最後必須取指數轉回 OR 尺度;若 OR 的信賴區間包含 1,便與相同顯著水準下無法拒絕 H₀:OR=1 相對應。這些大樣本公式可由 delta method(泰勒展開的一階近似)推得。

相對風險 RR

世代研究可以直接計算兩組的疾病風險。暴露組的風險為 A/(A+B),未暴露組的風險為 C/(C+D);兩者相除就是相對風險(relative risk)。

暴露組疾病風險R1=AA+BR_1=\frac{A}{A+B}
未暴露組疾病風險R0=CC+DR_0=\frac{C}{C+D}
相對風險RR=R1R0=A/(A+B)C/(C+D)RR=\frac{R_1}{R_0}=\frac{A/(A+B)}{C/(C+D)}
RR 的值資料層次的解讀
RR=1兩組疾病風險相同
RR>1暴露組的疾病風險較高
RR<1暴露組的疾病風險較低

ln(RR) 的標準誤與信賴區間

RR 也只能大於 0,取自然對數後,RR=1 會變成 ln(RR)=0。在兩組獨立且計數足夠時,可利用 ln(RR) 的近似常態分布進行推論。

對數相對風險ln(RR)=ln(A/(A+B)C/(C+D))\ln(RR)=\ln\left(\frac{A/(A+B)}{C/(C+D)}\right)
估計變異數Var^ ⁣[ln(RR)]=(1A1A+B)+(1C1C+D)\widehat{\operatorname{Var}}\!\left[\ln(RR)\right]=\left(\frac1A-\frac1{A+B}\right)+\left(\frac1C-\frac1{C+D}\right)
等價寫法Var^ ⁣[ln(RR)]=1A/(A+B)A+1C/(C+D)C\widehat{\operatorname{Var}}\!\left[\ln(RR)\right]=\frac{1-A/(A+B)}{A}+\frac{1-C/(C+D)}{C}
估計標準誤SE ⁣[ln(RR)]=Var^[ln(RR)]SE\!\left[\ln(RR)\right]=\sqrt{\widehat{\operatorname{Var}}[\ln(RR)]}
檢定假設H0:RR=1  ln(RR)=0H_0:RR=1\ \Longleftrightarrow\ \ln(RR)=0
Wald Z 統計量Z=ln(RR)SE[ln(RR)]Z=\frac{\ln(RR)}{SE[\ln(RR)]}
ln(RR) 的信賴區間ln(RR)±z1α/2SE[ln(RR)]\ln(RR)\pm z_{1-\alpha/2}SE[\ln(RR)]
轉回 RR 的信賴區間(exp(L),exp(U))\left(\exp(L),\exp(U)\right)

OR 與 RR 的關係

比較項目ORRR
比較內容兩組勝算的比值兩組風險的比值
無關聯值11
病例對照研究通常可估計通常不能直接估計
世代研究/隨機試驗可估計可估計
效果解讀勝算變成幾倍風險變成幾倍

疾病在兩組中都很少見時,A 相對於 B 很小、C 相對於 D 也很小,因此 A+B≈B、C+D≈D,OR 會接近 RR。

OR=A/BC/DA/(A+B)C/(C+D)=RROR=\frac{A/B}{C/D}\approx\frac{A/(A+B)}{C/(C+D)}=RR
符號在這組公式中的意義
A、B、C、D2×2 列聯表四個格子的觀察次數;實際位置依頁面上的表格標示
OR勝算比(odds ratio)
p₁、p₂兩組事件發生的機率
L取自然對數後的效果量,例如 ln(OR) 或 ln(RR)

取 ln 後的公式比較

把單一二項比例、病例對照研究的 ln(OR) 與世代研究的 ln(RR) 放在同一張表,可以看出三者共享相同的推論骨架:先決定樣本估計值與其變異數,再以「估計值−H₀ 指定值」除以標準誤,最後用同一個標準誤建立信賴區間。

比較項目單一二項比例病例對照研究:ln(OR)世代研究:ln(RR)
樣本估計值p^\hat pln(ADBC)\ln\left(\dfrac{AD}{BC}\right)ln(A/(A+B)C/(C+D))\ln\left(\dfrac{A/(A+B)}{C/(C+D)}\right)
估計變異數p^(1p^)n\dfrac{\hat p(1-\hat p)}n1A+1B+1C+1D\dfrac1A+\dfrac1B+\dfrac1C+\dfrac1D1A/(A+B)A+1C/(C+D)C\dfrac{1-A/(A+B)}A+\dfrac{1-C/(C+D)}C
標準化Z=p^π0π0(1π0)/nZ=\dfrac{\hat p-\pi_0}{\sqrt{\pi_0(1-\pi_0)/n}}Z=ln(OR)01/A+1/B+1/C+1/DZ=\dfrac{\ln(OR)-0}{\sqrt{1/A+1/B+1/C+1/D}}Z=ln(RR)0[1A/(A+B)]/A+[1C/(C+D)]/CZ=\dfrac{\ln(RR)-0}{\sqrt{[1-A/(A+B)]/A+[1-C/(C+D)]/C}}
100(1α)%100(1-\alpha)\% 信賴區間p^±z1α/2p^(1p^)n\hat p\pm z_{1-\alpha/2}\sqrt{\dfrac{\hat p(1-\hat p)}n}ln(OR)±z1α/21A+1B+1C+1D\ln(OR)\pm z_{1-\alpha/2}\sqrt{\dfrac1A+\dfrac1B+\dfrac1C+\dfrac1D}ln(RR)±z1α/21A/(A+B)A+1C/(C+D)C\ln(RR)\pm z_{1-\alpha/2}\sqrt{\dfrac{1-A/(A+B)}A+\dfrac{1-C/(C+D)}C}
補充:資料轉換、ln(OR) 與 ln(RR) 的完整推導

資料轉換後的平均數與變異數

先處理推導共同使用的數學工具。設隨機變數 X 的平均數為 μ、變異數為 σ²,經過函數轉換後得到 Y=f(X)。在 μ 附近展開 f(X):

設定E(X)=μ,Var(X)=σ2,Y=f(X)E(X)=\mu,\qquad \operatorname{Var}(X)=\sigma^2,\qquad Y=f(X)
泰勒展開f(X)=f(μ)+f(μ)(Xμ)+12f(μ)(Xμ)2+f(X)=f(\mu)+f'(\mu)(X-\mu)+\frac12f''(\mu)(X-\mu)^2+\cdots
取一階近似f(X)f(μ)+f(μ)(Xμ)f(X)\approx f(\mu)+f'(\mu)(X-\mu)

求轉換後的平均數

對一階近似取期望值E[f(X)]E ⁣[f(μ)+f(μ)(Xμ)]E[f(X)]\approx E\!\left[f(\mu)+f'(\mu)(X-\mu)\right]
常數提出期望值=f(μ)+f(μ)E(Xμ)=f(\mu)+f'(\mu)E(X-\mu)
利用 E(X−μ)=0E[f(X)]f(μ)E[f(X)]\approx f(\mu)

求轉換後的變異數

由變異數定義開始Var[f(X)]=E ⁣({f(X)E[f(X)]}2)\operatorname{Var}[f(X)]=E\!\left(\left\{f(X)-E[f(X)]\right\}^2\right)
代入一階近似Var[f(X)]E ⁣({f(μ)(Xμ)}2)\operatorname{Var}[f(X)]\approx E\!\left(\left\{f'(\mu)(X-\mu)\right\}^2\right)
提出常數平方=[f(μ)]2E[(Xμ)2]=[f'(\mu)]^2E[(X-\mu)^2]
Delta methodVar[f(X)][f(μ)]2Var(X)\operatorname{Var}[f(X)]\approx[f'(\mu)]^2\operatorname{Var}(X)

將結果用在 ln(OR)

病例組的暴露比例為 p₁=A/(A+C)、樣本數為 n₁=A+C;對照組的暴露比例為 p₂=B/(B+D)、樣本數為 n₂=B+D。

病例組p1=AA+C,n1=A+C,p11p1=ACp_1=\frac{A}{A+C},\qquad n_1=A+C,\qquad \frac{p_1}{1-p_1}=\frac AC
對照組p2=BB+D,n2=B+D,p21p2=BDp_2=\frac{B}{B+D},\qquad n_2=B+D,\qquad \frac{p_2}{1-p_2}=\frac BD

先將兩組比例分別轉換成對數勝算,再用線性組合把兩組相減:

轉換函數g(p)=ln(p1p)g(p)=\ln\left(\frac{p}{1-p}\right)
兩組的線性組合L=g(p1)g(p2)L=g(p_1)-g(p_2)
整理成對數勝算比L=ln(p1(1p2)p2(1p1))=ln(ADBC)=ln(OR)L=\ln\left(\frac{p_1(1-p_2)}{p_2(1-p_1)}\right)=\ln\left(\frac{AD}{BC}\right)=\ln(OR)

ln(OR) 的平均數

分別套用一階近似E[g(p^1)]g(p1),E[g(p^2)]g(p2)E[g(\hat p_1)]\approx g(p_1),\qquad E[g(\hat p_2)]\approx g(p_2)
兩組相減E(L)g(p1)g(p2)=ln(OR)E(L)\approx g(p_1)-g(p_2)=\ln(OR)

ln(OR) 的變異數

由二項比例 Var(p̂)=p(1−p)/n,以及 logit 函數的導數,先求單一組別的對數勝算變異數:

Logit 的導數g(p)=1p+11p=1p(1p)g'(p)=\frac1p+\frac1{1-p}=\frac1{p(1-p)}
套用 delta methodVar[g(p^)][1p(1p)]2p(1p)n\operatorname{Var}[g(\hat p)]\approx\left[\frac1{p(1-p)}\right]^2\frac{p(1-p)}n
化簡=1np(1p)=1np+1n(1p)=\frac1{np(1-p)}=\frac1{np}+\frac1{n(1-p)}
病例組Var^[g(p^1)]1A+1C\widehat{\operatorname{Var}}[g(\hat p_1)]\approx\frac1A+\frac1C
對照組Var^[g(p^2)]1B+1D\widehat{\operatorname{Var}}[g(\hat p_2)]\approx\frac1B+\frac1D
兩組獨立,變異數相加Var^[ln(OR)]1A+1B+1C+1D\widehat{\operatorname{Var}}[\ln(OR)]\approx\frac1A+\frac1B+\frac1C+\frac1D

將結果用在 ln(RR)

暴露組的疾病比例為 p₁=A/(A+B)、樣本數為 n₁=A+B;未暴露組的疾病比例為 p₂=C/(C+D)、樣本數為 n₂=C+D。

暴露組p1=AA+B,n1=A+Bp_1=\frac{A}{A+B},\qquad n_1=A+B
未暴露組p2=CC+D,n2=C+Dp_2=\frac{C}{C+D},\qquad n_2=C+D

兩組比例先取自然對數,再將兩組相減:

轉換函數h(p)=ln(p)h(p)=\ln(p)
兩組的線性組合L=h(p1)h(p2)=ln(p1)ln(p2)L=h(p_1)-h(p_2)=\ln(p_1)-\ln(p_2)
整理成對數相對風險L=ln(p1p2)=ln(A/(A+B)C/(C+D))=ln(RR)L=\ln\left(\frac{p_1}{p_2}\right)=\ln\left(\frac{A/(A+B)}{C/(C+D)}\right)=\ln(RR)

ln(RR) 的平均數

分別套用一階近似E[ln(p^1)]ln(p1),E[ln(p^2)]ln(p2)E[\ln(\hat p_1)]\approx\ln(p_1),\qquad E[\ln(\hat p_2)]\approx\ln(p_2)
兩組相減E(L)ln(p1)ln(p2)=ln(RR)E(L)\approx\ln(p_1)-\ln(p_2)=\ln(RR)

ln(RR) 的變異數

對 h(p)=ln(p) 微分,再代入二項比例的變異數:

自然對數的導數h(p)=1ph'(p)=\frac1p
套用 delta methodVar[ln(p^)](1p)2p(1p)n\operatorname{Var}[\ln(\hat p)]\approx\left(\frac1p\right)^2\frac{p(1-p)}n
化簡=1pnp=\frac{1-p}{np}
暴露組Var^[ln(p^1)]1A/(A+B)A=1A1A+B\widehat{\operatorname{Var}}[\ln(\hat p_1)]\approx\frac{1-A/(A+B)}A=\frac1A-\frac1{A+B}
未暴露組Var^[ln(p^2)]1C/(C+D)C=1C1C+D\widehat{\operatorname{Var}}[\ln(\hat p_2)]\approx\frac{1-C/(C+D)}C=\frac1C-\frac1{C+D}
兩組獨立,變異數相加Var^[ln(RR)](1A1A+B)+(1C1C+D)\widehat{\operatorname{Var}}[\ln(RR)]\approx\left(\frac1A-\frac1{A+B}\right)+\left(\frac1C-\frac1{C+D}\right)

分析時還要注意什麼?

  • 確認四格的列、欄定義與參考組;交換疾病、暴露或參考組方向,可能使 OR 或 RR 變成倒數。
  • 確認觀察值彼此獨立。若是同一批受試者前後配對的二元結果,應使用配對方法,而不是獨立 2×2 表的方法。
  • 四格次數很小時,ln(OR) 與 ln(RR) 的常態近似可能不可靠;若任一格為 0,上述含倒數與對數的公式也不能直接使用。
  • 效果量應搭配信賴區間,而不是只報告 p 值;統計關聯仍需結合研究設計判斷偏差、混雜與因果關係。