具有脆弱性的 Cox PH 模型上的 EM 算法 R 代码

机器算法验证 r 生存 cox模型 虚弱
2022-04-08 05:37:48

假设我有一个“肾导管”数据集。数据是关于使用便携式透析设备的肾病患者在插入导管时感染的复发时间。导管可能会因感染以外的原因被移除,在这种情况下,观察会受到审查。每个患者恰好有 2 个观察值。

如果我想使用 EM 算法拟合具有随机效应(此处为 Gamma 脆弱)的 Cox PH 模型。通过使用内置的生存包 R 代码coxph(),我可以轻松地做到这一点

library(survival)
data(kidney)
fit<-coxph(Surv(time, status) ~ age + sex + 
           frailty(id, dist='gamma', method='em'), kidney)

但是如果我想为 EM 算法编写一个逐步函数,我该如何进行呢?

1个回答

coxph()实际上实现了一种惩罚对数似然方法,结果证明在 gamma 脆弱的情况下返回与 EM 算法相同的估计值method="em"参见Therneau 和 Grambsch(2000 年,第 9.6 节)method实际上是指用于选择异质性参数 theta 解决方案的方法,而不是估计过程)。Duchateau 和 Janssen(2008 年,第 5 章)清楚地详细介绍了这两种算法实现 EM 算法可能需要大量工作,但可能遵循这些思路。顺便说一句,有一个名为gamfrailKlein 编写的 SAS 宏已经完成了这项工作,尽管它不是很用户友好。可以在这里下载指导