Two-part joint model for a longitudinal semicontinuous marker and a terminal event with application to metastatic colorectal cancer data¶
作者: Denis Rustand, Laurent Briollais, Christophe Tournigand, Virginie Rondeau
来源: Biostatistics
主题: 流行病学
相关性: 6/10
机构绿灯: University of Toronto(US News 前 50,免分进入精读)
链接: https://doi.org/10.1093/biostatistics/kxaa012
一、领域脉络与小综述¶
这个方向是什么¶
这个子方向是纵向数据与生存结局的联合建模(Joint Modeling of Longitudinal and Survival Data)。其根本的统计问题是:如何同时刻画一个随时间重复测量的生物标志物(纵向过程)与一个终点事件(如死亡、疾病复发)之间的动态关联,并纠正因忽略纵向过程的测量误差、缺失机制或内生性而导致的生存模型估计偏倚。该领域自 Tsiatis & Davidian (2004) 的综述性工作以来已相当成熟,核心方法包括共享随机效应模型(shared random effects model)和潜在类别模型(latent class model)。当前的前沿在于处理更复杂的纵向数据结构(如非线性轨迹、多变量、零膨胀、非高斯分布)以及更灵活的关联结构。
发展脉络(history)¶
根据本文引言,该领域的发展脉络可梳理如下:
-
奠基工作:Tsiatis & Davidian (2004) 的综述确立了联合建模的基本框架,即通过共享随机效应连接纵向子模型和生存子模型。Henderson et al. (2000) 提出了一个经典的共享随机效应模型,其中纵向和生存过程通过共同的潜在过程(latent process)关联。这些工作奠定了“随机效应是关联桥梁”这一核心思想。
-
主要进展:Rizopoulos (2012) 的专著系统化了联合建模的理论与计算(主要基于最大似然估计和 EM 算法)。Proust-Lima et al. (2014) 提出了一个更灵活的框架,允许纵向轨迹为非线性(如通过 B 样条)。这些工作将联合模型从简单的线性轨迹推广到更复杂的形态。
-
当前 frontier:当前的前沿之一是处理非标准纵向数据,例如本文聚焦的半连续(semicontinuous)生物标志物。这类数据具有“零膨胀”(大量零值)和“右偏”(正值部分长尾)的特征,常见于肿瘤尺寸(SLD)、病毒载量、医疗费用等。作者指出,标准的联合模型(通常假设纵向结果为连续高斯分布)会因忽略零膨胀而产生偏倚。作者引用 Olsen & Schafer (2001) 和 Tooze et al. (2002) 作为两部件模型(two-part model)处理半连续数据的奠基工作,但指出这些工作未与生存结局联合建模。
-
本文的位置:本文的定位是填补上述空白:将两部件模型(处理半连续纵向数据)与联合建模框架(处理生存结局)结合。作者声称这是“首次”提出此类联合模型(“To our knowledge, this is the first joint model that accounts for the semicontinuous nature of a longitudinal biomarker”)。它属于“方法应用”型工作,而非理论创新。
子线索聚类¶
这些被引文献大致落在以下子线索上:
- 线索一:标准联合模型(Standard Joint Models):以 Tsiatis & Davidian (2004)、Rizopoulos (2012)、Henderson et al. (2000) 为代表。核心是共享随机效应,假设纵向结果为连续高斯分布。这是本文的基线方法,也是作者试图改进的对象。
- 线索二:两部件模型(Two-Part / Hurdle Models):以 Olsen & Schafer (2001)、Tooze et al. (2002) 为代表。专门处理半连续数据,将分布拆分为“零 vs 非零”的二项部分和“正值”的连续部分。但这些模型是纯纵向的,不包含生存结局。
- 线索三:处理非标准纵向数据的联合模型:这是本文的直接竞争者。作者引用了 Proust-Lima et al. (2014)(处理非线性轨迹)和 Baghfalaki et al. (2014)(处理偏态数据)。本文的独特之处在于专门处理“零膨胀”这一特定非标准特征。
这个方向在追问的核心问题¶
- 如何正确刻画纵向生物标志物与生存风险之间的关联? 当前主流方法是通过共享随机效应(如随机截距、随机斜率)或当前值(current value)关联。本文提出了三种关联结构(当前值、斜率、共享随机效应),并比较了它们。
- 如何处理纵向数据中的非标准特征(零膨胀、偏态、非线性)? 已知瓶颈是:忽略这些特征会导致生存模型参数估计偏倚(本文模拟研究证实了这一点)。
- 如何高效地进行参数估计和推断? 联合模型的似然函数通常涉及高维积分(对随机效应积分),计算是主要瓶颈。本文使用了 R 包
marqLevAlg进行数值优化,但未深入讨论计算复杂度。
⚠️ 作者的 framing¶
- 作者把缺口 frame 成什么:作者将缺口 frame 为“现有联合模型无法处理半连续纵向数据”,因此本文是“显然的下一步”——将两部件模型嵌入联合模型框架。作者通过模拟研究(忽略零膨胀会导致偏倚)和真实数据(GERCOR 研究)来强化这一叙事的必要性。
- 哪些竞争路线被他淡化或回避了:
- 潜在类别联合模型(Latent Class Joint Models):这类模型(如 Proust-Lima et al., 2014)通过将人群分为若干潜在亚组来处理异质性,也能部分解释零膨胀(例如,某些亚组更可能产生零值)。作者在引言中仅一笔带过,未深入比较。
- 非参数/半参数方法:本文完全采用参数模型(纵向部分:二项+对数正态;生存部分:Weibull 或分段常数风险)。作者未讨论使用更灵活的非参数方法(如 B 样条、高斯过程)来处理零膨胀的可能性。
- 什么明显该被引/该存在、却没出现在 intro 里?:作者未引用任何关于因果推断的文献。联合模型本身常被用于因果中介分析或处理时变混杂,但本文完全从预测/关联角度出发,未讨论其因果解释。对于一位因果推断研究者,这是一个明显的缺口。
张力¶
未见明显对立引用。所有被引工作都指向一个共识:联合模型是处理纵向-生存数据的有效工具,且处理非标准数据是重要的扩展方向。本文的工作是这一共识下的一个具体实现。
二、最核心、最简单的例子 / 数学问题¶
第一步:把符号、模型、可观测数据交代清楚¶
-
符号:
- \( i = 1, \dots, N \):个体索引。
- \( j = 1, \dots, n_i \):个体 \( i \) 的第 \( j \) 次测量。
- \( t_{ij} \):个体 \( i \) 的第 \( j \) 次测量的时间。
- \( Y_{ij} \):个体 \( i \) 在时间 \( t_{ij} \) 的可观测纵向生物标志物(如肿瘤尺寸 SLD)。它是半连续的:有大量零值,且正值部分右偏。
- \( T_i \):个体 \( i \) 的可观测终点事件时间(如死亡时间)。若发生删失,则观测到 \( (T_i^*, \delta_i) \),其中 \( T_i^* = \min(T_i, C_i) \),\( C_i \) 是删失时间,\( \delta_i = I(T_i \le C_i) \) 是事件指示符。
- \( \mathbf{X}_{ij}^{(1)}, \mathbf{X}_{ij}^{(2)} \):纵向子模型中的可观测协变量向量(如治疗组、时间、时间交互项)。
- \( \mathbf{Z}_{ij}^{(1)}, \mathbf{Z}_{ij}^{(2)} \):纵向子模型中的随机效应设计矩阵(通常包含截距和斜率)。
- \( \mathbf{X}_i^{(s)} \):生存子模型中的可观测协变量向量(如治疗组、基线特征)。
- \( \boldsymbol{\beta}_1, \boldsymbol{\beta}_2 \):纵向子模型中的固定效应参数(待估)。
- \( \mathbf{b}_i = (b_{0i}, b_{1i})^\top \):个体 \( i \) 的随机效应(潜在变量,不可观测),通常假设服从均值为 0 的多元正态分布 \( N(\mathbf{0}, \mathbf{D}) \)。
- \( \lambda_0(t) \):生存子模型中的基线风险函数(非参数或参数化,如 Weibull)。
- \( \boldsymbol{\gamma} \):生存子模型中的协变量效应参数(待估)。
- \( \boldsymbol{\alpha} \):关联参数(association parameter),连接纵向过程和生存风险。
-
模型:
- 纵向子模型(两部件模型):
- 第一部分(零膨胀部分):\( P(Y_{ij} = 0 | \mathbf{b}_i) = \text{logit}^{-1}(\mathbf{X}_{ij}^{(1)\top} \boldsymbol{\beta}_1 + \mathbf{Z}_{ij}^{(1)\top} \mathbf{b}_i) \)。这是一个二项模型,预测“值为零”的概率。
- 第二部分(正值部分):给定 \( Y_{ij} > 0 \),\( \log(Y_{ij}) | Y_{ij} > 0, \mathbf{b}_i \sim N(\mathbf{X}_{ij}^{(2)\top} \boldsymbol{\beta}_2 + \mathbf{Z}_{ij}^{(2)\top} \mathbf{b}_i, \sigma^2) \)。这是一个对数正态模型,刻画正值部分的分布。
- 生存子模型(比例风险模型):
- \( h_i(t | \mathbf{b}_i) = \lambda_0(t) \exp(\mathbf{X}_i^{(s)\top} \boldsymbol{\gamma} + \alpha \cdot m_i(t)) \),其中 \( m_i(t) \) 是关联结构,是随机效应 \( \mathbf{b}_i \) 的函数。本文考虑了三种:
- 当前值关联:\( m_i(t) = E[Y_i(t) | \mathbf{b}_i] \)(即纵向模型在时间 \( t \) 的期望值)。
- 斜率关联:\( m_i(t) = d/dt E[Y_i(t) | \mathbf{b}_i] \)(即纵向轨迹的瞬时变化率)。
- 共享随机效应关联:\( m_i(t) = b_{0i} + b_{1i} t \)(即随机截距和随机斜率的线性组合)。
- \( h_i(t | \mathbf{b}_i) = \lambda_0(t) \exp(\mathbf{X}_i^{(s)\top} \boldsymbol{\gamma} + \alpha \cdot m_i(t)) \),其中 \( m_i(t) \) 是关联结构,是随机效应 \( \mathbf{b}_i \) 的函数。本文考虑了三种:
- 纵向子模型(两部件模型):
-
可观测数据:研究者能观测到 \( \{ (Y_{ij}, t_{ij}, \mathbf{X}_{ij}^{(1)}, \mathbf{X}_{ij}^{(2)}, \mathbf{Z}_{ij}^{(1)}, \mathbf{Z}_{ij}^{(2)}) \}_{j=1}^{n_i} \),以及 \( (T_i^*, \delta_i, \mathbf{X}_i^{(s)}) \)。不可观测的是随机效应 \( \mathbf{b}_i \) 和基线风险函数 \( \lambda_0(t) \)。识别依赖于对随机效应分布和模型结构的参数假设。
第二步:讲最小内核¶
本文的最小内核是一个包含随机截距的两部件联合模型,用于处理一个简单的二值治疗(A vs B)和一个终点事件。
- 最简特例:
- 纵向数据:每个个体只有一次基线测量和一次随访测量(\( n_i = 2 \))。生物标志物 \( Y_{ij} \) 在随访时可能为零(例如,肿瘤消失)。随机效应只包含一个随机截距 \( b_{0i} \),即 \( \mathbf{b}_i = b_{0i} \)。协变量只有治疗组 \( \text{Trt}_i \)(0/1)和时间 \( t_{ij} \)(0 或 1)。
- 模型退化:
- 零膨胀部分:\( P(Y_{ij} = 0 | b_{0i}) = \text{logit}^{-1}(\beta_{10} + \beta_{11} \text{Trt}_i + \beta_{12} t_{ij} + b_{0i}) \)。
- 正值部分:\( \log(Y_{ij}) | Y_{ij} > 0, b_{0i} \sim N(\beta_{20} + \beta_{21} \text{Trt}_i + \beta_{22} t_{ij} + b_{0i}, \sigma^2) \)。
- 生存部分:\( h_i(t | b_{0i}) = \lambda_0(t) \exp(\gamma \text{Trt}_i + \alpha b_{0i}) \)。这里关联结构简化为“共享随机截距”,即 \( m_i(t) = b_{0i} \)。这意味着,一个个体“天生”的基线生物标志物水平(由 \( b_{0i} \) 捕获)越高,其死亡风险也越高(若 \( \alpha > 0 \))。
- 核心思路:这个模型要解决的核心问题是:如何同时估计治疗对纵向轨迹的影响(\( \beta_{11}, \beta_{21} \))和对生存风险的影响(\( \gamma \)),同时纠正因忽略纵向过程与生存过程之间的相关性(通过 \( b_{0i} \) 和 \( \alpha \) 建模)而导致的偏倚?
- 为什么成立:如果不联合建模,而是先估计纵向模型(得到 \( \hat{b}_{0i} \)),再将其作为协变量放入生存模型,会因测量误差(\( \hat{b}_{0i} \) 是 \( b_{0i} \) 的带噪估计)导致 \( \alpha \) 和 \( \gamma \) 的估计偏倚。联合模型通过同时最大化纵向和生存数据的似然,利用随机效应 \( b_{0i} \) 作为桥梁,实现了对参数的一致估计。在这个特例下,要证的命题是:联合估计的 \( \hat{\alpha} \) 和 \( \hat{\gamma} \) 比两步法估计更接近真实值(无偏或偏倚更小)。本文的模拟研究验证了这一命题。
三、这篇论文做了什么¶
三句话¶
- 研究了什么问题:针对肿瘤临床试验中纵向半连续生物标志物(零膨胀、右偏)与终点事件(死亡)的联合建模问题,提出了一种两部件联合模型。
- 核心工具/方法:将两部件模型(二项部分 + 对数正态部分)与比例风险模型通过共享随机效应连接,并设计了三种关联结构(当前值、斜率、共享随机效应)。
- 主要结论:模拟研究表明,若忽略半连续特性而使用单部件联合模型,参数估计会出现偏倚;应用于转移性结直肠癌数据,发现治疗组 B 与更高的肿瘤尺寸相关,且其正向关联导致死亡风险增加。
关键设定与假设¶
在第二节最小记号的基础上,完整设定如下:
- 纵向子模型:
- 零膨胀部分:\( \text{logit}(P(Y_{ij} = 0 | \mathbf{b}_i)) = \mathbf{X}_{ij}^{(1)\top} \boldsymbol{\beta}_1 + \mathbf{Z}_{ij}^{(1)\top} \mathbf{b}_i \)。假设:给定随机效应,零值与否独立于其他观测(条件独立)。
- 正值部分:\( \log(Y_{ij}) | Y_{ij} > 0, \mathbf{b}_i \sim N(\mathbf{X}_{ij}^{(2)\top} \boldsymbol{\beta}_2 + \mathbf{Z}_{ij}^{(2)\top} \mathbf{b}_i, \sigma^2) \)。假设:给定随机效应,正值部分服从对数正态分布(这是强参数假设)。
- 随机效应:\( \mathbf{b}_i \sim N(\mathbf{0}, \mathbf{D}) \)。假设:随机效应在个体间独立同分布。
- 生存子模型:
- \( h_i(t | \mathbf{b}_i) = \lambda_0(t) \exp(\mathbf{X}_i^{(s)\top} \boldsymbol{\gamma} + \alpha \cdot m_i(t)) \)。
- 基线风险:\( \lambda_0(t) \) 被参数化为 Weibull 风险或分段常数风险(本文使用了分段常数风险,将时间轴划分为 5 个区间)。这是一个强假设,限制了风险函数的形状。
- 关联结构:\( m_i(t) \) 是随机效应 \( \mathbf{b}_i \) 的线性函数(对于当前值和斜率关联,它也是固定效应的线性函数)。假设:关联是线性的且时不变的(即 \( \alpha \) 不随时间变化)。
- 可观测数据与识别:模型通过条件独立假设识别:给定随机效应 \( \mathbf{b}_i \),纵向过程 \( Y_{ij} \) 和生存时间 \( T_i \) 是独立的。这是联合模型的标准识别条件。
- 相比已有文献的强化/放宽:相比标准联合模型(假设纵向结果为连续高斯),本文放宽了对纵向数据分布的假设(允许零膨胀)。相比纯两部件模型(Olsen & Schafer, 2001),本文强化了模型结构(加入了生存部分和关联参数)。
主要结果¶
本文的主要结果来自模拟研究和真实数据应用,而非理论定理。
-
模拟研究:
- 设计:模拟了三种场景:1)真实模型为两部件联合模型;2)真实模型为单部件(忽略零膨胀)联合模型;3)真实模型为两部件但无关联(\( \alpha = 0 \))。
- 核心量化结论:当真实模型为两部件时,若错误地使用单部件联合模型,生存子模型中的关联参数 \( \alpha \) 和协变量效应 \( \gamma \) 的估计会出现显著偏倚(具体偏倚大小未在摘要中给出,但作者声称“some bias can arise”)。例如,若 \( \alpha \) 的真实值为正,单部件模型可能低估它,甚至将其估计为负。
- 与 baseline 对比:baseline 是单部件联合模型。两部件模型在真实模型为两部件时,参数估计的偏差和均方误差(MSE)更小。
- 稳健性:当真实模型为单部件时,两部件模型的表现与单部件模型相当(即没有过度惩罚)。这表明两部件模型是一个更稳健的选择。
-
真实数据应用(GERCOR 研究):
- 数据:来自转移性结直肠癌的 GERCOR 研究,包含 202 名患者。纵向生物标志物是肿瘤尺寸(SLD,靶病灶最长径之和),在基线、每 2 个月随访一次。终点是总生存期(OS)。治疗组 A 为 FOLFIRI/FOLFOX6,治疗组 B 为 FOLFOX6/FOLFIRI。
- 方法应用:将两部件联合模型(三种关联结构)和单部件联合模型分别拟合到数据。
- 结果:
- 两部件模型显示,治疗组 B 与更高的 SLD 值相关(即肿瘤尺寸更大)。
- 两部件模型中的关联参数 \( \alpha \)(当前值关联)显著为正,表明更高的 SLD 与更高的死亡风险相关。
- 因此,治疗组 B 通过增加 SLD 间接增加了死亡风险。
- 单部件模型未能检测到治疗组 B 对 SLD 的显著影响,且关联参数不显著。
- 这个例子想说明什么:验证了模拟研究的结论——忽略零膨胀会掩盖真实的纵向轨迹和生存关联,导致错误的临床结论。两部件模型能更准确地揭示治疗组 B 的负面效应。
证明路线与技术技巧(理论型必写,要具体)¶
本文是应用/方法型论文,没有严格的数学证明。其“证明”是通过模拟研究来验证方法的有效性。因此,技术路线是计算而非理论。
-
整体路线:
- 构建似然函数:基于条件独立假设,写出联合似然函数 \( L(\boldsymbol{\theta}) = \prod_{i=1}^N \int \left[ \prod_{j=1}^{n_i} f(Y_{ij} | \mathbf{b}_i; \boldsymbol{\theta}) \right] \times f(T_i^*, \delta_i | \mathbf{b}_i; \boldsymbol{\theta}) \times f(\mathbf{b}_i; \boldsymbol{\theta}) d\mathbf{b}_i \)。其中 \( f(Y_{ij} | \mathbf{b}_i) \) 是两部件纵向密度,\( f(T_i^*, \delta_i | \mathbf{b}_i) \) 是生存似然(包含删失),\( f(\mathbf{b}_i) \) 是随机效应密度。
- 数值积分:由于随机效应 \( \mathbf{b}_i \) 的积分没有解析解,使用高斯-埃尔米特求积(Gauss-Hermite quadrature) 进行数值近似。这是联合模型的标准计算技巧。
- 优化:使用 R 包
marqLevAlg中的 Marquardt-Levenberg 算法(一种拟牛顿法)最大化数值近似的对数似然函数。 - 模型比较:使用 AIC、BIC 等准则比较不同关联结构和单部件模型。
-
关键跳跃点:没有理论上的跳跃点。计算上的难点在于高维随机效应(本文只用了二维:随机截距和斜率)的数值积分,以及优化算法的收敛性。作者未深入讨论这些计算问题。
-
技术技巧点名:
- 高斯-埃尔米特求积:用于近似随机效应的积分。这是标准技巧,但作者未说明使用的节点数。
- Marquardt-Levenberg 算法:一种稳健的梯度下降优化算法,用于最大化似然函数。
- 分段常数基线风险:将时间轴分段,假设每段内风险为常数,以参数化 \( \lambda_0(t) \)。这是一种常见的半参数近似。
🔎 结论是否比证明窄¶
是的。作者声称“这是第一个”处理半连续纵向数据的联合模型。但这一结论仅基于模拟研究和单一真实数据应用。作者并未提供理论证明(如一致性、渐近正态性、效率界)来支持这一方法的普遍有效性。因此,结论的适用范围被限制在“模拟设定和 GERCOR 数据”内。作者在讨论部分也承认了这一点,指出未来需要更广泛的理论研究和模拟。
四、开放问题¶
- 理论性质:本文的两部件联合模型是否具有参数估计的一致性、渐近正态性和半参数效率?这需要严格的数学证明,而非仅靠模拟。扎根点:本文未提供任何理论定理,所有结论基于模拟。
- 因果解释:本文的关联参数 \( \alpha \) 能否被解释为因果效应?例如,\( \alpha \) 是否代表“肿瘤尺寸对死亡风险的因果影响”?在存在时变混杂(如后续治疗)的情况下,该模型可能产生偏倚。如何将其扩展为因果中介分析或处理时变混杂的框架?扎根点:引言和讨论均未提及因果推断。
- 计算可扩展性:当随机效应维度增加(如加入随机二次项)或样本量增大时,高斯-埃尔米特求积的计算成本会急剧上升。是否有更高效的计算方法(如变分贝叶斯、拉普拉斯近似、或基于积分变换的 MCMC)?扎根点:作者仅使用了
marqLevAlg包,未讨论计算瓶颈。 - 关联结构的非参数化:本文假设关联是线性的(\( \alpha \cdot m_i(t) \))。如果关联是非线性的(例如,肿瘤尺寸对死亡风险的影响在低水平和高水平时不同),模型如何扩展?扎根点:作者仅考虑了三种线性关联结构,未讨论非线性关联的可能性。
Maintained by 陈星宇 · Homepage · Source on GitHub