第 45 章 条件逻辑回归

配对实验设计可以用于 RCT,队列研究,病例对照研究:

  • RCT实验设计中,接受治疗方案 A 的患者,和接受治疗方案 B 的患者,以 1:1 的比例按照他们的某种医学特征配对。这种配对可以是同一个患者在交叉设计RCT 实验中的观测值,也可以是同一个患者接受治疗的前后测量值,当然还可以是同一个患者的左右两只眼睛(手臂,腿,等等);
  • 队列研究里,暴露和非暴露对象根据事先决定的配对原则配对 (相同性别,年龄接近,或者居住在同一社区,或者是同一家庭中暴露和非暴露的两个个体);
  • 病例对照研究里,病例和非病例按照事先决定的配对原则配对,一个病例可能和一个或者多个对照相匹配。

本章节着重讨论病例对照研究中,条件逻辑回归模型的使用。在病例对照研究中,配对设计极为常见。如同前面提到的那样,在病例对照研究的设计阶段,研究者可能设计一个病例和一个或者多个对照进行配对。要研究的暴露因素变量可以是多种多样的 (二进制,或连续型),且可以考虑对多个不同的暴露进行观察和分析时的调整。相反,队列研究中能够进行配对的暴露就只能仅限于二进制变量。所以,病例对照研究中对某个特征进行的配对,其实是对病例-对照这样的实验设计本身与生俱来的特质进行了合理的利用。队列研究则没有了这样的优势,所以队列研究中使用配对设计的其实不太常见。

配对病例对照研究中,研究者常用一些最常见的混杂因素作为配对的变量 (如性别年龄),且这些配对所使用的变量本身不是该实验主要探讨的话题。有些研究者还认为配对是一个方便地寻找对照组的手段。当然,选取对照组的原则,可以是具有唯一性的配对原则 (使对照有且仅有1-2个),或者是无唯一性的配对原则 (病例可以有多个潜在的对照)。 唯一性配对原则导致的最大问题是,你可能根本找不到合适的对照,所以研究者会更倾向于把配对原则放宽一些,以获取足够的对照组样本量,但是这也会带来别的附加问题,那就是需要用匹配的数学模型来控制残差之间的依赖性(residual dependency)。在考虑了生存时间的一些病例对照研究中,原则上还会考虑选取和病例存活相同时间 (年龄) 的人作对照,详细会继续在生存分析中深入探讨。

45.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{45.1} \]

用 (Section 40.2) 中相似的表格来理解,第 \(u\)\((u = 1, \cdots, n)\) 配对中的研究对象可以用下表来归纳其概率。

Separate samples from subpopulations \(D=0,1\) with relavant conditional probabilities in a matched case-control study within each pair
\(D\)
\(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{45.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{45.3} \]

45.1.1 配对病例对照研究

在探讨非配对的病例对照研究时,我们给二进制型暴露变量定义过下列逻辑回归模型 (Section 40.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{45.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{45.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{45.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{45.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{45.8} \]

整体数据的似然方程 (45.8) 中的和 \(\sum\) 与积 \(\prod\) 分别对应相加与相乘所有的病例与对照的 \(n\) 组配对。对于第 \(u\) 组来说,它对似然方程的贡献的部分只是式子 (45.7) 中包含 \(\lambda_u^*\) 的部分。该信息其实就是第 \(u\) 组配对自有/特有的信息。但其实每组配对中的病例和对照又与其他组略微不同,他们各自提供的信息其实对于整体的似然来说虽然微小,但是当配对数量越来越多,就变得不可忽略。此时对 (45.8) 直接进行粗暴的取参数 \(\beta\) 的极大值是错误的,其导致的后果会在下文中继续讨论。我们需要用另一种新的途径来求参数 \(\beta\)

45.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{45.9} \]

正如之前在无配对条件下的队列研究和病例对照研究中的推导过的那样40.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{45.10} \]

整体数据的似然方程就是和配对病例对照研究一样的,将每对这样的似然相乘。所以,我们就又遇见了和配对病例对照研究相似的问题,此时如果直接对整体似然方程中求极大似然获得的 \(\beta\) 将会是错误的。

45.2 条件逻辑回归 – 二进制暴露变量

我们再回到简单的一对一配对病例对照实验设计,且研究的实验暴露是一个简单的二进制变量。这一节的目的是克服前面遇见的困难 (绕过不需要的 \(\lambda_u^*, u = 1, 2, \cdots, n\)) ,找到能够准确估计参数 \(\beta\) 的数学方法。

45.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\) 的充分统计量。

45.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{45.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{45.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{45.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{45.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{45.15} \]

用前面推导过的逻辑回归模型公式 (45.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{45.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{45.17} \]

45.2.3 条件似然 conditional likelihood

一个简单设计,暴露变量为二进制变量的配对病例对照研究,可以用下面的四格表归纳收集的数据:

Data from a matched case control study with a single binary
\(D = 1\)
\(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{45.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} \]

45.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个对照。

  • 也可以在配对病例对照研究中研究(比二进制变量)更加复杂的暴露因素,既可以是非类型变量,也可以是连续型变量。

45.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{45.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{45.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{45.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)。

那么将 (45.21) 代入 (45.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{45.22} \]

此时再带入 (45.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{45.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{45.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} \]