第 69 章 條件邏輯迴歸 Conditional logistic regression
配對實驗設計可以用於 RCT,隊列研究,病例對照研究:
- RCT實驗設計中,接受治療方案 A 的患者,和接受治療方案 B 的患者,以 1:1 的比例按照他們的某種醫學特徵配對。這種配對可以是同一個患者在交叉設計RCT 實驗中的觀測值,也可以是同一個患者接受治療的前後測量值,當然還可以是同一個患者的左右兩隻眼睛 (手臂,腿,等等);
- 隊列研究裏,暴露和非暴露對象根據事先決定的配對原則配對 (相同性別,年齡接近,或者居住在同一社區,或者是同一家庭中暴露和非暴露的兩個個體);
- 病例對照研究裏,病例和非病例按照事先決定的配對原則配對,一個病例可能和一個或者多個對照相匹配。
本章節着重討論病例對照研究中,條件邏輯迴歸模型的使用。在病例對照研究中,配對設計極爲常見。如同前面提到的那樣,在病例對照研究的設計階段,研究者可能設計一個病例和一個或者多個對照進行配對。要研究的暴露因素變量可以是多種多樣的 (二進制,或連續型),且可以考慮對多個不同的暴露進行觀察和分析時的調整。相反,隊列研究中能夠進行配對的暴露就只能僅限於二進制變量。所以,病例對照研究中對某個特徵進行的配對,其實是對病例-對照這樣的實驗設計本身與生俱來的特質進行了合理的利用。隊列研究則沒有了這樣的優勢,所以隊列研究中使用配對設計的其實不太常見。
配對病例對照研究中,研究者常用一些最常見的混雜因素作爲配對的變量 (如性別年齡),且這些配對所使用的變量本身不是該實驗主要探討的話題。有些研究者還認爲配對是一個方便地尋找對照組的手段。當然,選取對照組的原則,可以是具有唯一性的配對原則 (使對照有且僅有1-2個),或者是無唯一性的配對原則 (病例可以有多個潛在的對照)。唯一性配對原則導致的最大問題是,你可能根本找不到合適的對照,所以研究者會更傾向於把配對原則放寬一些,以獲取足夠的對照組樣本量,但是這也會帶來別的附加問題,那就是需要用匹配的數學模型來控制殘差之間的依賴性 (residual dependency)。在考慮了生存時間的一些病例對照研究中,原則上還會考慮選取和病例存活相同時間 (年齡) 的人作對照,詳細會繼續在生存分析中深入探討。
69.1 配對實驗的邏輯迴歸模型
定義 \(X_u\) 是一個簡單的二進制暴露變量,\(D_u\) 是一個簡單的二進制結果變量,\(u = 1, \cdots, n\) 是配對的個數。第 \(u\text{th}\) 組中的研究對象,互爲配對。在某些特殊場合,每組配對只有2個研究對象 (例如糖尿病患者的左右兩隻眼睛)。
用概率標記法定義每個患者的概率:
\[ \begin{equation} \pi_{u;xd} = \text{Pr}(X_u = x, D_u = d) \end{equation} \tag{69.1} \]
用 (Section 64.2) 中相似的表格來理解,第 \(u\) 組 \((u = 1, \cdots, n)\) 配對中的研究對象可以用下表來歸納其概率。
\(0\) | \(1\) | ||
---|---|---|---|
\(X\) | \(0\) | \(\pi_{u;00}\) | \(\pi_{u;01}\) |
\(1\) | \(\pi_{u;10}\) | \(\pi_{u;11}\) | |
\(\text{Pr}(X_u=x|D_u=d)\) | \(\frac{\pi_{u;10}}{\pi_{u;10}+\pi_{u;00}}\) | \(\frac{\pi_{u;11}}{\pi_{u;11}+\pi_{u;01}}\) |
那麼第 \(u\) 組配對中,暴露和結果之間真實的比值比 (odds ratio)是:
\[ \begin{equation} \frac{\pi_{u;11}\pi_{u;00}}{\pi_{u;10}\pi_{u;01}} \end{equation} \tag{69.2} \]
所以,在配對病例對照研究中,我們假設這樣的前提得到滿足:每個配對中的比值比是不變的 (we assume that the true log odds ratio relating exposure to disease is the same for all pairs):
\[ \begin{equation} \frac{\pi_{u;11}\pi_{u;00}}{\pi_{u;10}\pi_{u;01}} = e^\beta \end{equation} \tag{69.3} \]
69.1.1 配對病例對照研究
在探討非配對的病例對照研究時,我們給二進制型暴露變量定義過下列邏輯迴歸模型 (Section 64.2.3):
\[ \begin{equation} \text{Pr}(X_i = 1 | D_i = d_i) = \frac{e^{\lambda^*+\beta d_i}}{1+e^{\lambda^*+\beta d_i}}\\ \text{Where } i \text{ refers to an individual} \end{equation} \tag{69.4} \]
接下來,我們來把這個邏輯回歸模型擴展到配對實驗數據: 每對實驗數據包含一個病例,一個對照。用 \(X_{u;0}\) 標記第 \(u\) 對配對數據中,對照的某二進制解釋變量的值 (the binary explanatory variable \(X\) for the control in the \(u\)th matched pair)。\(X_{u;1}\) 表示該對照的病例的相應二進制解釋變量的值。如此,一個包含了配對的病例和對照二者的邏輯回歸模型可以寫爲:
\[ \begin{equation} \text{Pr}(X_{u;0} = 1) = \frac{e^{\lambda^*_u}}{1+e^{\lambda^*_u}} ; \text{Pr}(X_{u;1} = 1) = \frac{e^{\lambda^*_u + \beta}}{1+e^{\lambda^*_u + \beta}} \end{equation} \tag{69.5} \]
或者你如果願意,可以把它改寫成:
\[ \begin{equation} \text{Pr}(X_{u;d} = 1) = \frac{e^{\lambda^*_u + d\beta}}{1+e^{\lambda^*_u + d\beta}}, \;d = 0,1 \end{equation} \tag{69.6} \]
該模型的參數 \(\beta\) 是第 \(u\) 配對中的對數比值比 (log-odds ratio)。可是,我們使用它的前提是,默認這個對數比值比在所有的配對數據 \(u = 1, \cdots, n\) 中都是相同的。另一個參數 \(\lambda^*_u\) 是第 \(u\) 組的特徵值。被定義爲第 \(u\) 組配對中對照的暴露 \((X = 1)\) 的對數幾率 (log odds of exposure for the exposure in the \(u\)th pair):
\[ \lambda^*_u = \log(\frac{\pi_{u;10}}{\pi_{u;00}}) \]
在第 \(u\) 組配對中,有且只有4種 \((x_{u;1},x_{u;0})\) 結果: 也就是 \((0,0), (1,0), (0,1), (1,1)\)。該對數據的似然方程是:
\[ \begin{equation} \frac{e^{\lambda^*_ux_{u;0}}}{1+e^{\lambda^*_u}}\cdot\frac{e^{(\lambda^*_u + \beta)x_{u;1}}}{1+e^{\lambda^*_u + \beta}} \end{equation} \tag{69.7} \]
所以把所有配對的似然相乘可得整個數據的似然方程:
\[ \begin{equation} \frac{\exp(\sum\lambda^*_ux_{u;0})}{\prod(1+e^{\lambda^*_u})}\cdot\frac{\exp(\sum(\lambda^*_u + \beta)x_{u;1})}{\prod(1+e^{\lambda^*_u+\beta})} \end{equation} \tag{69.8} \]
整體數據的似然方程 (69.8) 中的和 \(\sum\) 與積 \(\prod\) 分別對應相加與相乘所有的病例與對照的 \(n\) 組配對。對於第 \(u\) 組來說,它對似然方程的貢獻的部分只是式子 (69.7) 中包含 \(\lambda_u^*\) 的部分。該信息其實就是第 \(u\) 組配對自有/特有的信息。但其實每組配對中的病例和對照又與其他組略微不同,他們各自提供的信息其實對於整體的似然來說雖然微小,但是當配對數量越來越多,就變得不可忽略。此時對 (69.8) 直接進行粗暴的取參數 \(\beta\) 的極大值是錯誤的,其導致的後果會在下文中繼續討論。我們需要用另一種新的途徑來求參數 \(\beta\)。
69.1.2 配對隊列研究
這裏簡略地分析一下配對隊列研究中會遇見的和配對病例對照研究相似問題的過程。在配對隊列研究中,一個接受暴露的研究對象被配對給另一個沒有接受暴露的研究對象 (注意在配對病例對照研究中,是一個病例和一個對照做配對)。在第 \(u\) 組隊列配對中,用 \(D_{u;1}\) 標記暴露對象的追蹤結果 (發病/死亡/事件發生的有無),用 \(D_{u;0}\) 標記非暴露對象的追蹤結果 (發病/死亡/事件發生的有無)。
隊列研究中已知暴露 \(X\) 有無的前提下,結果 \(D\) 發生的有無的邏輯回歸模型,加入對配對設計的考量是:
\[ \begin{equation} \text{Pr}(D_{u;0} = 1) = \frac{e^{\lambda_u}}{1+e^{\lambda_u}}\;; \; \text{Pr}(D_{u;1} = 1) = \frac{e^{\lambda_u + \beta}}{1+e^{\lambda_u+\beta}} \end{equation} \tag{69.9} \]
正如之前在無配對條件下的隊列研究和病例對照研究中的推導過的那樣 64.2.3,\(\lambda_u\) 和 \(\lambda_u^*\) 是有不同涵義的,但是配對隊列研究和配對病例對照研究則具有相同的對數比值比–參數 \((\beta)\)。這是基於一個重要的前提–相同人羣,相同暴露和相同疾病的結果在不同實驗設計 (病例對照和隊列研究) 時使用相同的配對變量。
在配對病例對照研究中,某對暴露和非暴露對象其實驗結果的可能性也只有四種 \((d_{u;1}, d_{u;0})\),該配對的似然是:
\[ \begin{equation} \frac{e^{\lambda_ud_{u;0}}}{(1+e^{\lambda_ud_{u;0}})}\cdot\frac{e^{(\lambda_u+\beta)d_{u;1}}}{(1+e^{\lambda_u+\beta})} \end{equation} \tag{69.10} \]
整體數據的似然方程就是和配對病例對照研究一樣的,將每對這樣的似然相乘。所以,我們就又遇見了和配對病例對照研究相似的問題,此時如果直接對整體似然方程中求極大似然獲得的 \(\beta\) 將會是錯誤的。
69.2 條件邏輯回歸 – 二進制暴露變量
我們再回到簡單的一對一配對病例對照實驗設計,且研究的實驗暴露是一個簡單的二進制變量。這一節的目的是克服前面遇見的困難 (繞過不需要的 \(\lambda_u^*, u = 1, 2, \cdots, n\)) ,找到能夠準確估計參數 \(\beta\) 的數學方法。
69.2.1 充分統計量 sufficient statistics
繞過雜音變量(不需要的變量),直接估計我們感興趣的參數的過程,需要利用充分統計量 (sufficient statistics) 的概念。這裏,噪音變量就是 \(\lambda_u^*, u = 1, 2, \cdots, n\)。下面是對充分統計量的定義:
假設隨機變量 \(\mathbf{y}\) 的概率(密度)方程中含有其他的雜音變量 \(\theta_1, \cdots, \theta_p\):
\[ f(\mathbf{y}|\theta_1, \cdots, \theta_9) \]
如果統計量 \(T_k\),是實驗數據中得到的某方程,且 \(\mathbf{y}\) 基於 \(T_k\) 的條件分布與 \(\theta_k\) 無關 (獨立),那麼該方程被稱作參數 \(\theta_k\) 的充分統計量。其實就是,如果 \(T_k\) 可以給我們足夠估計 \(\theta_k\) 的信息量,我們就稱 \(T_k\) 是 \(\theta_k\) 的充分統計量。
舉例來說,假設我們手頭的樣本數據 \(y_1, y_2, \cdots, y_n\) 可以被認爲從正態分布的人羣中採集,我們希望通過這個樣本來估計總體人羣的均值 \(\mu\)。此時常常(不自覺地)做總體方差已知的假設。該數據的似然方程是:
\[ \prod_{i = 1}^n \frac{1}{\sqrt{2\pi\sigma^2}} \exp\{ -\frac{(y_i-\mu)^2}{2\sigma^2} \} \]
此時,估計要總體均值 \(\mu\) 我們僅需要 \(\sum_i y_i\) (或者只要 \(\bar{y}\)) 就足夠了。這裏我們說 \(\sum_i y_i\) 是參數總體均值 \(\mu\) 的充分統計量。
69.2.2 條件邏輯回歸的推導
在簡單配對病例對照研究的實驗設定下,可以被證明的是,第 \(u\) 對配對的暴露變量 \((x_{u;0}, x_{u;1})\) 是雜音變量 \(\lambda_u^*\) 的充分統計量。值得注意的是,我們其實不需要知道 \((x_{u;0}, x_{u;1})\) 這一對暴露數據中哪個來自病例,哪個來自對照。對於一個二進制暴露變量,如果我們已知 \((x_{u;0}, x_{u;1})\),那麼我們就知道了每個病例對照配對中暴露的個數。所以,我們完全可以用 \(T_u = x_{u;0} + x_{u;1}\) 來替代 \((x_{u;0}, x_{u;1})\),因爲它只有三種取值的可能:
- 0: 病例對照都沒有暴露;
- 1: 病例或者對照其中之一有暴露;
- 2: 病例和對照均有暴露。
利用已知的關於充分統計量的概念,在尋找第 \(u\) 對配對對總體似然的貢獻時我們把 \(T_u = x_{u;0} + x_{u;1}\) 作條件 (condition on)。有了這個條件,剩下的隨機現象就是暴露在病例和對照中的分布,也就是:
\[ \begin{equation} \text{Pr}(X_{u;0} = x_{u;0}, X_{u;1} = x_{u;1} | T_u = x_{u;0} + x_{u;1}) \end{equation} \tag{69.11} \]
如果 \(x_{u;0}=x_{u;1}\),也就是當病例和對照同時爲暴露或非暴露時,我們有 100% 的把握對他們的暴露信息加以區分:
\[ \begin{aligned} & \text{Pr}(X_{u;0} = 0, X_{u;1} = 0| T_u = 0) = 1,\\ & \text{Pr}(X_{u;0} = 1, X_{u;1} = 1| T_u = 2) = 1 \end{aligned} \tag{69.12} \]
如果 \(x_{u;0} \neq x_{u;1}\),也就是 \(T_u = 1\),那只有兩種可能性,要麼病例是暴露,對照非暴露,要麼病例是非暴露,對照是暴露:
\[ \begin{aligned} & \text{Pr}(X_{u;0} = 1, X_{u;1} = 0| T_u = 1),\\ & \text{Pr}(X_{u;0} = 0, X_{u;1} = 1| T_u = 1) \end{aligned} \tag{69.13} \]
這兩個概率可以被計算爲:
\[ \begin{aligned} & \text{Pr}(X_{u;0} = 1, X_{u;1} = 0| T_u = 1) \\ & = \frac{\text{Pr}(X_{u;0} = 1, X_{u;1} = 0)}{\text{Pr}(X_{u;0} = 1, X_{u;1} = 0) +\text{Pr}(X_{u;0} = 0, X_{u;1} = 1)} \end{aligned} \tag{69.14} \]
\[ \begin{aligned} & \text{Pr}(X_{u;0} = 0, X_{u;1} = 1| T_u = 1) \\ & = \frac{\text{Pr}(X_{u;0} = 0, X_{u;1} = 1)}{\text{Pr}(X_{u;0} = 1, X_{u;1} = 0) +\text{Pr}(X_{u;0} = 0, X_{u;1} = 1)} \end{aligned} \tag{69.15} \]
用前面推導過的邏輯回歸模型公式 (69.5) 可以推導出:
\[ \begin{aligned} \text{Pr}(X_{u;0} = 1, X_{u;1} = 0| T_u = 1) & = \frac{\frac{e^{\lambda^*_u}}{(1+e^{\lambda^*_u})(1+e^{\lambda^*_u + \beta})}}{\frac{e^{\lambda^*_u}}{(1+e^{\lambda^*_u})(1+e^{\lambda^*_u + \beta})} + \frac{e^{\lambda^*_u + \beta}}{(1+e^{\lambda^*_u})(1+e^{\lambda^*_u + \beta})}} \\ & = \frac{1}{1+e^\beta} \end{aligned} \tag{69.16} \]
類似地:
\[ \begin{aligned} \text{Pr}(X_{u;0} = 0, X_{u;1} = 1| T_u = 1) = \frac{e^\beta}{1+e^\beta} \end{aligned} \tag{69.17} \]
69.2.3 條件似然 conditional likelihood
一個簡單設計,暴露變量爲二進制變量的配對病例對照研究,可以用下面的四格表歸納收集的數據:
\(X=0\) | \(X=1\) | ||
---|---|---|---|
\(D=0\) | \(X=0\) | \(n_{00}\) | \(n_{10}\) |
\(X=1\) | \(n_{01}\) | \(n_{10}\) |
用上之前推導的結論,和上面表格的總結,我們可以知道,對於 1:1 的配對病例對照研究,且暴露爲二進制變量來說,它的似然是:
\[ \begin{equation} L = (\frac{e^\beta}{1+e^\beta})^{n_{10}}(\frac{1}{1+e^\beta})^{n_{01}} \end{equation} \tag{69.18} \]
接下來用我們熟悉的極大似然法就可以推導出 \(\beta\) :
\[ \begin{aligned} \ell & = n_{10}\beta - (n_{10} + n_{01})\frac{e^\beta}{1+e^\beta} \\ \Rightarrow \frac{\text{d}\ell}{\text{d}\beta} & = n_{10} - (n_{10} + n_{01})\frac{e^\beta}{1+e^\beta} \\ \Rightarrow \hat\beta & = \log\frac{n_{10}}{n_{01}} \end{aligned} \]
69.2.4 進一步擴展
目前為止推導的條件邏輯回歸模型雖然只是簡單的一對一配對病例對照研究實驗設計,且暴露變量也只是二進制變量。但是經驗告訴我們,這樣的理論基礎可以被進一步擴展到更加復雜的實驗設計:
上述理論很容易地可以擴展到一對一配對隊列研究和RCT實驗。我們需要做的只是修改 \(X_{u;d}\) 成 \(D_{u;x}\) 即可,推導獲得的條件似然是完全相同的。唯一不同的是 \(n_{10}, n_{01}\) 在隊列研究和RCT臨牀試驗中的含義從病例中暴露和對照中非暴露的對數變成了暴露中病例和非暴露中對照的對數。(\(n_{10}\) becomes the number of pairs in which the exposed individual becomse a case and the unexposed becomes a control, and vice versa for \(n_{01}\))。
配對病例對照研究常見的可以一個病例配對1-5個對照。
也可以在配對病例對照研究中研究(比二進制變量)更加復雜的暴露因素,既可以是非類型變量,也可以是連續型變量。
69.3 條件邏輯回歸模型的一般化
現在我們拋棄簡單實驗設計思維,考慮在配對實驗中需要研究一個一般的暴露變量 (可以是二進制,多分類,連續型),或者是一個多種不同變量組成的預測變量的向量。此時我們關心的主要是這些預測變量在病例或者對照的條件下分布 (conditional distribution): \(P(X_{u;0} = x), P(X_{u;1} = x)\)。假設,某對病例和對照對象中,對照被觀測到有預測變量 \(x_{u;0}\),病例則被觀察到的是 \(x_{u;1}\),那麼我們關心的條件概率其實是研究對象被觀測到預測變量 \(x_{u;0}\) 且他/她本身正好是對照,且同時他/她的病例被觀測到預測變量 \(x_{u;1}\) 的概率。此時,充分統計量就是 \((x_{u;0}, x_{u;1})\),且聯合條件分布 (joint conditional distribution) 是:
\[ \begin{aligned} & \text{P}(X_{u;0} = x_{u;0}, X_{u; 1} = x_{u;1} | T_u = (x_{u;0}, x_{u;1})) \\ =& \frac{\text{P}(X_{u;0} = x_{u;0})\text{P}(X_{u;1} = x_{u;1})}{\text{P}(X_{u;0} = x_{u;0})\text{P}(X_{u;1} = x_{u;1}) + \text{P}(X_{u;0} = x_{u;1})\text{P}(X_{u;1} = x_{u;0})} \end{aligned} \tag{69.19} \]
其實,當且僅當我們在研究一個簡單二進制預測變量時,一樣。這裏當我們需要把它一般化的時候,需要來點不太一樣的方法。先用 \(D_{u;x}\) 標記第 \(u\) 對配對中觀測到預測變量 \(x\) 的研究對象的病例/對照狀態。那麼 \(D_{u;x}\) 的邏輯回歸模型是:
\[ \begin{aligned} \text{Pr}(D_{u;x} =1) & = \frac{e^{\lambda_u+\beta^Tx}}{1+e^{\lambda_u+\beta^Tx}} \\ \text{Pr}(D_{u;x} =0) & = \frac{1}{1+e^{\lambda_u+\beta^Tx}} \end{aligned} \tag{69.20} \]
應用貝葉斯定理:
\[ \begin{equation} \text{Pr}(X_{u;1} = x) = \frac{\text{Pr}(D_{u;x} = 1)\times\text{Pr}(X_{u;\cdot} = x)}{\text{Pr}(D_{u;\cdot} = 1)} \end{equation} \tag{69.21} \]
其中,
- \(\text{Pr}(X_{u;\cdot} = x)\) 指的是預測變量 \(X\) 在產生第 \(u\) 對病例對照配對的人羣 (subpopulation which generates the \(u\)th matched set) 中的邊際分布 (marginal distribution,或者叫做非條件分布 unconditional distribution);
- \(\text{Pr}(D_{u;\cdot} = 1)\) 指的是在產生第 \(u\) 對病例對照配對的人羣中,成爲病例的概率 (unconditional probability of being a case in that sub-population)。
那麼將 (69.21) 代入 (69.19) 經過推導和精簡可以得到:
\[ \begin{aligned} & \text{P}(X_{u;0} = x_{u;0},X_{u;1} = x_{u;1} | T_u = (x_{u;0}, x_{u;1})) \\ = & \frac{\text{Pr}(D_{u;x_{u;0}} = 0)\text{Pr}(D_{u;x_{u;1}} = 1)}{\text{Pr}(D_{u;x_{u;0}} = 0)\text{Pr}(D_{u;x_{u;1}} = 1) + \text{Pr}(D_{u;x_{u;0}} = 1)\text{Pr}(D_{u;x_{u;1}} = 0)} \end{aligned} \tag{69.22} \]
此時再帶入 (69.20),推導精簡之後可以獲得:
\[ \begin{aligned} & \text{P}(X_{u;0} = x_{u;0},X_{u;1} = x_{u;1} | T_u = (x_{u;0}, x_{u;1})) \\ = & \frac{e^{\beta^{T}x_{u;1}}}{e^{\beta^{T}x_{u;1}} + e^{\beta^{T}x_{u;0}}} \end{aligned} \tag{69.23} \]
這就是第 \(u\) 組病例對照配對數據對條件似然 (conditional likelihood) 的貢獻。那麼對於完整的整套數據來說,整體似然就是把所有的病例對照配對的似然相乘:
\[ \begin{equation} L_{\text{matched}} = \prod_{u}\frac{\exp{(\beta^{T}x_{u;1})}}{\exp{(\beta^{T}x_{u;1})} + \exp{(\beta^{T}x_{u;0})}} \end{equation} \tag{69.24} \]
這樣的一對一病例對照研究的似然可以擴展到 1:c 的情況,也就是一個病例和 c 個對照相配對的情況,其條件邏輯回歸的似然是:
\[ \begin{equation} L_{\text{matched}} = \prod_{u}\frac{\exp{(\beta^{T}x_{u;1})}}{\exp{(\beta^{T}x_{u;1})} + \sum_{k=1}^c\exp{(\beta^{T}x_{u;0k})}} \end{equation} \]