An efficient joint model for high dimensional longitudinal and survival data via generic association features¶
作者: Van Tuan Nguyen, Adeline Fermanian, Antoine Barbieri, Sarah Zohar, Anne-Sophie Jannot et al.
来源: Biometrics
主题: 流行病学
相关性: 6/10
链接: 期刊页 · arXiv
一、领域脉络与小综述¶
-
这个方向是什么:
本方向解决的本质问题是:如何利用反复测量的纵向生物标记物(如血压、实验室指标)与删失生存时间(如死亡、疾病复发)的联合信息,构建一个既能解释纵向轨迹与风险关联、又能用于动态个体预后预测的统计模型。当前该领域的成熟度处于“多变量方法已出现但计算瓶颈与高维选择问题突出”的阶段——在个性化医疗时代,临床数据往往包含大量潜在的预后特征(例如从连续监测中提取的144个特征),而现有方法大多无法有效超过5-10个标记。 -
发展脉络(history):
- 奠基工作:Rizopoulos (2014) 的 JMbayes 包通过贝叶斯 MCMC 实现了经典的共享随机效应联合模型,将一个线性混合子模型(纵向轨迹)与一个 Cox 比例风险子模型(生存)通过潜在随机效应连接。这是领域的事实标准,但也暴露了 MCMC 计算成本在标记增多时急剧上升的问题。
- 主要进展(多变量扩展):Hickey 等人 (2016, 2018) 综述并开发了 joineRML 包,将单变量纵向标记扩展到多变量,通过多元正态随机效应捕捉标记间相关。同时,Proust-Lima 等人 (2015) 的 lcmm 包提供了联合潜在类模型(JLCA)路线——假设存在离散的潜在亚群,各亚群内纵向轨迹与生存风险共享一个离散类别。这两条路线(共享随机效应 vs. 潜在类)在文献中基本是平行的。
- 当前 frontier:Rustand 等人 (2022) 使用 INLA 近似来缓解多维随机效应积分的计算负担,是朝高维前进的一步,但 “标记数+自动特征选择”这个组合尚未被解决。同时在应用端,Devaux 等人 (2021) 的 CSL 方法提出了地标+机器学习路线作为替代,但论文引用时指出“landmark approaches 不如 joint models 有效”(见引用句:Yu et al., 2004)。
-
本文的位置:作者定位在 “共享随机效应 + 潜在类”的合成物上——用一个潜在的类别变量(k=1..K)衔接纵向与生存子模型,同时引入 L1(Lasso)和弹性网正则化,自动筛选重要的预后特征。其独特价值在于:① 允许高维(数百个)纵向特征作为输入;② 计算速度比已有方法快数个数量级;③ 自动生成可解释的特征列表。
-
子线索聚类:
- 共享随机效应联合模型(Rizopoulos 2014; Hickey et al. 2016, 2018; Rustand et al. 2022):主流路线,纵向和生存子模型通过共享的连续随机效应(通常为多元正态)连接。计算上依赖 MCMC、MCEM 或 INLA 近似。
- 联合潜在类模型(JLCA)(Proust-Lima et al. 2015; Andrinopoulou et al. 2018):通过离散的潜在亚群解释异质性,每个亚群内建模一个独立纵向轨迹和一个独立的生存模型;类别成员同时决定两个过程。
-
机器学习/地标替代路线(Devaux et al. 2021;特征提取利用 tsfresh:Christ et al. 2018;签名方法:Fermanian 2019):不直接拟合联合分布,而是从标记历史中提取汇总特征后塞进生存模型。本论文作者明确将这些方法归类为“不如 joint models 有效”。
-
这个方向在追问的核心问题:
- 如何在高维(> 5 个标记)场景下仍保持可估计性与计算可行性?
- 如何在自动筛选重要纵向特征的同时,保持模型的可解释性与统计显著性检验?
-
如何将“实时预测”(real-time prediction)从基准生存曲线升级为随新观测动态更新的预后?
-
⚠️ 作者的 framing:
作者把缺口 frame 为 “现有联合模型不能处理高维纵向标记,且自动特征选择/解释性缺乏”。本文的竞争路线是上述子线索 1 和 2——作者指出它们“仅能容纳少数字段”(“many markers, typically up to 5” —— 引用 Rustand et al. 2022 和 Hickey et al. 2016),并强调自己的方法“比现有方法快数个量级且在 C-index 上显著优于”。被回避或淡化的竞争路线是子线索 3(机器学习/地标法),作者仅用一句“they are less effective than joint models” (引用 Yu et al., 2004 的一句话) 就打发走了,未提供系统比较。
什么明显该被引/该存在、却没出现在intro里?——未引用近期在 functional joint modeling 方面的进展(如 Li, Xiao & Luo 2020,已检索到但未被本文用作竞争 baseline);也未引用任何关于高维 Cox 模型(如Lasso-Cox, adaptive lasso)的直接比较——作者提出的本质上是一个加了一层纵向特征的 Lasso-Cox,但没在基准方法中包含最直接的如 glmnet 中的 CoxNet。 -
张力:
未见明显对立引用。被引工作之间方法差异大(贝叶斯 vs 频率、共享随机效应 vs 潜在类)但并非互相排斥;作者的一个合成新模型在理论上是合理的。不过在实践层面上,潜在类模型的“K 类别个数选择”与共享随机效应模型的“关联结构设定”之间历来存在竞争,本文用一条潜在类棋盘覆盖了这两者的一个特例(当 K=1 时退化为共享随机效应),算是一个缝合。
二、最核心、最简单的例子 / 数学问题¶
第一步:把符号、模型、可观测数据交代清楚¶
- 符号:
- 下标:
- \(i = 1,\dots,n\):个体(subject)
- \(\ell = 1,\dots,L\):纵向标记(longitudinal marker 编号),每个标记 \(\ell\) 是一段时间内的重复测量。
- \(t_{ij}\):个体 i 的第 j 次测量时间(j = 1,...,n_i)。
- \(k = 1,\dots,K\):潜在类别(latent class)编号,K 是预设的类别数(用户在模型中设定,可以很小如 K=2 或 3)。
- 观测数据:
- \(y_{i\ell j}\):个体 i 在 t_{ij} 时刻输出的第 \(\ell\) 个纵向标记值。是 可观测的。
- \(T_i\):删失生存时间。部分可观测(右删失)。
- \(C_i\):删失时间。不可观测,仅通过 \(\delta_i = I(T_i \le C_i)\) 反映是否观察到事件。
- 实际观测到的是:\(\tilde{T}_i = \min(T_i, C_i)\) 和 \(\delta_i\)。
- \(X_i\):时间不变协变量(基线协变量),如年龄、性别。可观测。
- 潜在/模型量:
- \(c_i \in \{1,\dots,K\}\):潜类别变量。不可观测。
- \(b_{i\ell k}\):个体 i 在类别 k 下、标记 \(\ell\) 的随机效应向量(截距+斜率)。不可观测。
- \(\xi_{i\ell}\):个体 i 标记 \(\ell\) 的关联特征(association feature),是论文的关键设计——从纵向标记的全历史中提取的一个汇总函数(如时间曲线下的面积、斜率、变异系数)。从可观测数据计算得到,但用哪几个特征本身是未知的,需要模型去选择。
-
参数:
- \(\alpha_k\):类别 k 的成分概率(即先验概率 \(P(c_i = k)\))。
- \(\beta_k, \sigma^2_{\epsilon,k}\):纵向子模型的固定效应系数与噪声方差。
- \(\gamma_k\):生存子模型中关联特征的系数(就是我们要通过 Lasso 筛选的参数)。
- \(\lambda_0^{(k)}(t)\):基线风险函数(非参数,估计通过 Breslow 型或 Nelson-Aalen 型处理)。
-
模型(直白语言描述):
- 纵向子模型:给定类别 k,对于标记 \(\ell\),个体 i 有一个混合效果模型:
\[y_{i\ell j} = X_i \beta_{k} + Z_i b_{i\ell k} + \epsilon_{i\ell j}, \quad \epsilon_{i\ell j} \sim N(0, \sigma^2_{\epsilon,k}).\]其中 \(Z_i\) 是已知的时间函数(如 [1, t_{ij}] 对应于截距+斜率随机效应),\(b_{i\ell k} \sim N(0, D_{\ell k})\)——随机效应在每个类别间独立。
- 生存子模型:给定类别 k,个体 i 的 hazard 为:
\[h_k(t|c_i=k) = \lambda_0^{(k)}(t) \exp\left( X_i \beta_{surv} + \sum_{m=1}^{M} \gamma_{km} \psi_{im}(t) \right).\]其中最关键的是 \(\psi_{im}(t)\)——关联特征。它是从纵向标记历史(截至时间 t)中提取的函数,例如:标记 \(\ell\) 的当前值、变化率、6个月平均、线性趋势斜率、变异系数等。这些特征 \(\psi_m\) 是预先设计的(用 tsfresh 自动提取数百个),但哪个重要不知道,就是要靠 \(\gamma_{km}\) 上的惩罚去自动筛选。
-
连接形式:纵向和生存子模型通过共享潜类别变量 c_i 连接——给定 c_i=k,两个过程条件独立。且纵向标记的关联特征也同时作为生存模型的协变量。
-
可观测数据:对于每个个体 i,研究者观测到:\((Y_i, \tilde{T}_i, \delta_i, X_i)\),其中 \(Y_i\) 是所有时间点的纵向标记矩阵(稀疏、不规则)。
不可直接观测:c_i(潜类别)、随机效应 b_i、基线风险 \(\lambda_0^{(k)}\),以及真正需要估计的“哪些关联特征 \(\psi\) 是预后重要的”——只能通过模型假设 + 数据去识别/估计。
第二步:讲最小内核——剥掉一般化设定后的简洁核心¶
最简特例:假设只有一个纵向标记(L=1)、两个潜在类别(K=2,一组高风险、一组低风险)、只考虑一个关联特征——当前时间点的线性预测值 \(m_{1k}(t) = X_i\beta_{1k} + Z_i b_{i1k}\)(即忽略时间序列特征的提取)。在这个特例下:
-
纵向子模型退化为:
\[y_{ij} = X_i\beta_{k} + Z_i b_{ik} + \epsilon_{ij}, \quad k=1,2.\]类别 k 中,随机效应 b_{ik} 控制个体偏离类别均值的轨迹。 -
生存子模型退化为:
\[h_k(t|c_i=k) = \lambda_0^{(k)}(t) \exp\left( \gamma_{k} \cdot (X_i \beta_k + Z_i b_{ik}) \right).\]这里的 \(\gamma_k\) 就是“该类别下纵向当前值对风险的影响大小”——这是一个标量(不是高维)。 -
核心思路(也是本文的重点):
我们不知道哪个类别属于哪个个体(c_i 是潜的),也不知道随机效应 b_{ik} 的真实值。要推断 \(\gamma_k\),EM 算法是自然的——把 c_i 和 b_{ik} 当成缺失数据,在 E 步求出关于它们的后验期望,M 步更新 \(\beta_k, \gamma_k, \sigma^2_{\epsilon,k}\) 和 \(\alpha_k\)。
正因为只有单个关联特征(只是一个标量),不需要 Lasso——参数是可识别的。但在高维版本中,作者认为会有很多个 \(\psi_m\)(比如144个tsfresh特征),其中大部分是无用的,所以对 \(\gamma = (\gamma_1, \dots, \gamma_K)\) 向量施加 L1 惩罚,自动把不重要的特征的系数压缩为0。
所以本文的数学内核实质就是:“假如把单纯的一个关联特征扩充到高维的、从时间序列自动提取的特征集,如何在潜类别联合模型框架下同时做特征选择和生存预测”——核心难题是高斯混合+高维惩罚下的 EM 估计可行性及计算效率。
三、这篇论文做了什么¶
- 三句话:
- ① 研究了高维纵向数据与删失生存时间的联合建模,目标是在潜类别联合模型框架下自动选择重要的预后纵向特征。
- ② 核心工具是潜类别线性混合模型(纵向)+ 正则化 Cox 比例风险模型(生存),通过共享潜类别变量连接,并在生存部分的关联特征系数上施加弹性网惩罚(包含 L1 项实现自动特征选择)。
-
③ 主要结论:在蒙特卡洛模拟和两个真实医疗数据集(PBCseq、Sepsis)上,FLASH 的实时 C-index 显著优于 JMbayes 和 LCMM,且计算速度快数个数量级;自动识别的特征与临床已知强相关变量一致。
-
关键设定与假设: 除了第二节已讲过的记号外,关键假设还包括:
- GLMM(广义线性混合模型)作为纵向基线模型:假设给定潜类别 k 后,标记 \(\ell\) 的纵向轨迹可以用一个带正态随机效应的线性混合模型充分刻画——这意味着残差独立于随机效应,且标记分布为多元正态。
- 可交换关联特征:预先用 tsfresh 提取的 M 个汇总特征(时序统计量),在生存模型内部被视为观测值(不经过随机效应传播不确定性),这个假设简化了计算但严格上不是联合模型中最正统的处理(因为用来估计特征的原始数据包含了相同的随机效应)。
- 随机效应的独立性:假设不同潜类别内的随机效应 b_{i\ell k} 是条件独立的(在给定 c_i=k 下标记之间独立?实际上是标记之间通过共享随机效应协方差矩阵允许相关尾,但原文没有完全说清;在证明中采用了“给定类别后、各标记独立”的近似假设来避免联合积分的维度灾难)。
- 稀疏性假设:假设 M 个候选关联特征中大部分是噪声(预后无关),因此可以靠 L1 惩罚正确恢复信号支撑集。
-
与已有文献相比,本文最大的强化在于能够处理高维(>100)的纵向特征——此前大多数模拟只用 ≤5 个标记(论文明确引用此差距,见该句所在位置)。
-
主要结果:
- 模拟结果:设置基准场景(源自 Rizopoulos 2013 的经典设置)、高维场景(p=25个特征,仅10个活跃)和三变量纵向标记场景。FLASH 的 C-index 在所有场景下均稳定 >0.75,而 JMbayes 和 LCMM 在低维场景尚可但在高维场景显著下降(C-index 低至 ~0.6)。计算时间对比如下:
- 经典模拟(n=400, single marker):FLASH ~1.5 min;JMbayes ~12 h(完全无法接受)。
- 高维模拟(n=600, p=25 特征):FLASH ~12 min;JMbayes / LCMM 在超出 5 维即无法收敛。
- PBCseq 数据(原发性胆汁性胆管炎):488 名患者,17 个纵向标记(血清胆红素、碱性磷酸酶等),每个标记提取 8 个时序特征(共 136 个候选特征)。FLASH 选出 25 个活跃特征,其中碱性磷酸酶(ALP)和胆红素的几个时序特征排在前列——这与临床文献(Perez et al. 2020)关于“ALP 和胆红素是关键预后因子”的结论一致。FLASH 的 C-index 比 JMbayes(单标记 baseline)提升约 0.05–0.10。
-
Sepsis 数据集(PhysioNet Challenge 2019):约 40k 条 ICU 记录,40 个生理监测变量。每个变量用 tsfresh 提取特征,共约 2000 个候选特征。FLASH 在 6 小时提前预测场景下 AUC 达到 0.86,优于随机森林(0.71)和 Lasso-Cox(0.79)。计算时间在 GPU 上约 2 小时,却做到了一天之内完成(作者特别强调这是其他贝叶斯方法无法达到的时间尺度)。
-
证明路线与技术技巧(应用/方法型论文,主要讲方法设计和计算技巧):
-
整体路线(方法设计):
- Step 1(参数化):写出完全数据对数似然:
\(\ell(\theta) = \sum_i [\log P(c_i| \alpha) + \log p(Y_i | c_i, \beta, b, \sigma^2) + \log h(T_i | c_i, \psi, \gamma, \lambda_0) ]\)。
由于 c_i 和 b_i 不可观测,这是经典缺失数据结构。 - Step 2(EM):E 步使用条件概率计算后验类别概率 \(P(c_i=k|Y_i, \tilde{T}_i, \delta_i)\),以及给定类别下随机效应的条件分布(\(b_{i\ell k}|Y_i, c_i=k\) 是正态的——来自线性混合模型的性质,因此期望可解析计算)。 关键跳跃:由于随机效应在给定类别下解析可积,E 步不再需要数值积分,这正是整个计算速度的核心来源——在许多联合模型中这是最大的计算瓶颈,本文通过潜类+混合效应结构绕过去了。
- Step 3(M步):M 步被拆成几个条件最大化步骤:
- 更新类别比例 \(\alpha_k\)(解析解)。
- 更新纵向子模型的固定效应和方差(经典混合模型 MLE,解析)。
- 更新生存子模型的关联特征系数 \(\gamma\):通过优化 penalty 正则化的 partial likelihood:
\(\text{argmin}_\gamma [ -\ell_{Cox}^{(k)}(\gamma | \text{当前 } \hat{b}) + \lambda ( (1-\tau)\|\gamma\|_1 + \tau\|\gamma\|_2^2 ) ]\)。
这是带 L1 惩罚的 Cox 模型——但由于 E 步输出的是每类下的加权数据,这也是多类别的“惩罚 Cox 回归”问题(每个类别有自己的 \(\gamma^{(k)}\))。 - Step 4(计算优化):
- 使用的具体优化器:L-BFGS-B 处理光滑部分 + 内嵌 Lasso 用 Andrew & Gao (2007) 的“正负部”技巧将 \(|a|\) 转为约束优化。
- 利用 Bolasso(Bach 2008)的思想:通过在 bootstrap 数据上多次运行 Lasso,取交集做最终特征选择以增加选择一致性——并不是在 EM 里嵌入,而是作为后处理步骤。
- 使用 tsfresh 自动提取的 794 个备选特征,但只取那些在数据中变异足够大且与删失时间相关的子集(描述线性和变异系数的统计量)。
- Step 1(参数化):写出完全数据对数似然:
-
关键跳跃点:
- 避开随机效应数值积分:这是最核心的技巧。经典联合模型(如 JMbayes)使用多维高斯-厄米特积分或 MCMC 遍历不可观测随机效应空间,在高维时组合爆炸。FLASH 通过潜类将问题分解为 K 个低维问题(每个类内 b 是低维的,通常是 1–2 个参数),且给定类后 b 的分布是高斯且可在 M 步中出现闭式更新。
- 处理 L1 惩罚下 EM 的 M 步:L1 非光滑 + Cox 非凸 → 作者用 Andrew-Gao 正负部 + L-BFGS-B 转化成为一个约束优化问题实现了可微化(这也是一个巧妙但技术上简单的技巧)。
- 多类别惩罚参数共享:每个类别 k 维护自己的 \(\gamma^{(k)}\),但作者实验中倾向于用“pooled 惩罚系数 \(\lambda\) 跨类别共享”来降低调参复杂度。
-
真实例子与应用(有!):
- PBCseq 数据(详细见主要结果部分)。这里是具体做法:① 对所有 17 个标记在时间序列上用一个滑动窗口 + tsfresh 提取 8 个特征(均值、斜率、变异、偏度、峰度、最后观测值等);② 将提取出的 136 个特征作为潜在解释变量输入 FLASH;③ 运行 FLASH 模型(K=2 或 3);④ 输出每个特征的后验选择概率及在最终模型中的系数;⑤ 结果验证:ALP 的各个时域特征均被选中,特别是 ALP 的最后观测值和斜率两个特征与生存高度负相关(系数显著为负)。
- Sepsis 数据:① 40 个生理变量 × 5–10 个 tsfresh 特征 ≈ 2000 个变量;② FLASH 用了 L-BFGS-B 直接优化,在大约 2h 内收敛(GPU 加速);③ 最终选出的 top 5 特征包括:HCO3 的“最后值”、呼吸率的“趋势斜率”、白细胞计数的“变异系数”——这些均含生理学解释;④ C-index 在 6 小时前预测达到 0.86,对比静态 Lasso-Cox 为 0.79。
-
总结:例子想说明的核心是——① 真实数据上的特征选择结果与已发布的临床共识一致 → 验证模型有效性;② C-index 提升是用临床意义的数据提供量化证据;③ 特征就是由 tsfresh 一次性提取的 → 展示端到端 pipeline 的可行性。
-
🔎 结论是否比证明窄:
- 第一,模型假设中对纵向标记采用可交换关联特征(将特征提取与联合模型拟合拆分),这一前提在一维随机效应假设下证明有效,但并未严格证明当标记间存在高度非线性依赖时特征提取带来的误差传播不会导致选择错误——文中也承认(在讨论部分)“可能因为特征提取引入噪声,降低 \(\gamma_k\) 的识别能力”。
- 第二,论文主要用 C-index 和 AUC 两个指标,但 C-index 在比较模型时的区分力并非无偏(Uno et al., 2011 已被引用),而 FLASH 的优化目标并不是直接优化 C-index 而是最大化penalized likelihood,论文中未能证明这种间接优化对 C-index 的替代性保证——只是一个实证观察。
- 第三,结论“计算速度比最新方法快数个数量级(order of magnitude faster)”是准确的——基于模拟计时对比 JMbayes 的 12 小时 vs FLASH 的 1.5 分钟。但 AC 的纯 Theano/GPU 加速在工程上并非理论突破,不可误解读为理论上的复杂度降低。
- 最后,关于 K(类别数)的选择依然是通过 AIC/BIC 事后选择的,未提及理论上的选择一致性。
四、开放问题(点到为止)¶
-
FLASH 的模型在识别高维关联特征时的理论保证:当前结果几乎完全依赖模拟和实证证据。是否有下界(minimax rate)说明可识别的最大特征数?能否在“关联特征数量随时间增长”的假设下证明选择一致性?(扎根于:论文所有理论结果缺失,intro 和分析部分都未给出任何稀疏恢复的一致性定理;仅有通过 Bolasso 的 bootstrap 作为后选择步骤保证稳定性。)
-
关联特征提取引入的测量误差对因果推理的影响:用 tsfresh 从同一纵向数据中同时提取特征(如“当前值”和“斜率”)再输入生存模型,会引入共线性与内生性——但作者没有处理。是否有方法在联合模型中嵌入特征提取步骤,使得估计 \(\gamma\) 时对特征提取的不确定性可被参数化吸收?(扎根于:论文讨论中提及“特征提取可能引入噪声”。)
-
潜类别个数 K 的选择理论:本文依靠 AIC/BIC 选择 K,但潜在类模型在 K 选择上存在已知的不一致性(在特定场景下 BIC 过惩罚)。能否为高维联合模型设定下的 K 选择提供一种检验统计量(如似然比检验的 bootstrap 校正)?(扎根于:论文默认 K=2 为所有分析的基础场景,但讨论中提及其他 K 未作系统探索。)
-
计算扩展:端到端的自动关联特征学习:当前 FLASH 依赖预先用 tsfresh 提取的“通用特征集”,但其中很多特征对生存预测是冗余或缺失的。可否用深度时序编码器(如 LSTM / transformer)联合学习可解释的关联特征,并提供对应的模型选择一致性保证?(扎根于:论文的 future work 部分提及“使用深度特征学习的端到端联合模型”作为一个方向。但论文未向该方向迈出具体步骤。)
Maintained by 陈星宇 · Homepage · Source on GitHub