我可以对左截断的记录执行 Cox 回归吗?

机器算法验证 多重回归 生存 冒险
2022-03-27 08:09:00

Cox 比例风险回归模型是否适用于被截断的记录?

我正在开发一个模型来预测两年内的住院风险。根据研究期间之前的记录,我的研究人群中的一些成员在研究期间之前已经住院(左删失)。没问题,有现有的技术可以调整左审查。

然而,也有一些被截断的成员,我们不知道他们在研究前是否住院。其中一些受试者在 2 年期间漂浮而无需住院。

有没有办法在 Cox 回归模型中保留左截断的主题?我是否应该考虑另一种方法,例如逻辑回归?

编辑:

为了澄清,这里有一些记录示例以供澄清。我为格式道歉 - 我不知道如何在编辑器中创建表格。根据重复事件 Cox 回归的标准方法,成员 1 (CT0001) 有多个记录,与以 IP 准入或时间段结束结束的每个间隔相关联。开始和结束列显示每个间隔的开始和结束日期,或。如果丢失。成员 2 (CT0002) 在研究期间没有去医院。但是我们仍然需要数据集中的成员 2,因为即使没有 IP 访问,我们也会根据人口统计变量预测整个人群的住院风险。

**MemberID    IP_admit      IP_disch    Start       End         Censoring/Truncation?**
----------
CT0001        10/1/2010     10/20/2010  .           .           .
CT0001        3/1/2011      3/15/2011   .           3/1/2011    Left censored
CT0001        7/1/2011      7/5/2011    3/16/2011   7/1/2011    .
CT0001        11/1/2011     11/15/2011  7/6/2011    11/1/2011   .
CT0001        .             .           11/16/2011  .           Right censored
CT0002        .             .           .           .           Left truncation
1个回答

首先是免责声明:我从来没有以这种方式使用时间开始/结束变量,虽然我熟悉混合效果模型,但我从来没有真正使用过 IRL。如果我犯了错误,请随时纠正我

在我看来,问题包括两件事:

  1. 一个人可以出现多次。这使观察的独立性受到质疑。
  2. 在整个研究过程中,一个人可能会在不同时间进入和退出有风险的队列,即这是一个开放(动态)队列。

对于第一点,我认为必须使用混合效果模型。我使用 R 并且有一个最近由教授开发的coxme包。特尔诺。小插图文档非常好,而且看起来很容易部署。

对于第二点,您只需将起点和终点添加到生存对象。这在 R 中相当容易,尽管我自己从未使用过它。下面是一个应该工作的例子:

# Set the event yes/no (1/0)
df$event <- !is.na(df$IpAdmit)
# Those that lack a date should have one
df$discharged <- !is.na(df$start)
df$start[is.na(df$start)] <- as.Date("2010-01-01")
df$end[is.na(df$end)] <- as.Date("2011-12-31")

# Can be merged into one step without the sv variable
sv <- Surv(time=df$start, time2=df$end, event=df$event)
# A model where the medication possession ratio (compliance) interacts with
# the fact that a patient has been discharged
coxme(sv ~ discharged*MPR + age + sex + (1|MemberID), data=df)

在这种情况下,您可能需要考虑使用 cox 回归模型要实现的目标。我不确定危险在这种情况下是否有意义,尽管如果不通过完整的研究方案很难知道这一点。在进行此分析之前,请确保其他人已在类似设置中使用 cox 回归。在我看来,一个不错的选择是混合效应逻辑回归,您只需使用入院几率并添加风险天数作为预测因子,最好作为自然样条曲线或允许非线性关系的东西。

讨论中的小更新

当涉及到与时间相关的协变量时,我发现在尝试部署时这有点棘手。不久前,我有一个关于这个主题的简历问题,你可能想研究一下。正如我在评论中所写,最终时间依赖性有点超出我可以方便地向同事展示和解释的程度。此外,模型并没有受到这种影响的强烈影响,所以我放弃了它并切换到早期和晚期数据集。我建议您考虑一下您的受众是谁,以及时变系数是否会为模型增加那么多。

你有一个潜在的非常严重的问题,有些病人开始出院,而有些病人没有受到污染我认为您需要考虑这两组之间可能的效果修改-他们是否属于同一人群?很容易证明药物依从性对出院人群的入院规避影响要大得多。我认为您至少应该有一个变量来指示患者是否在住院后立即开始一段时间(我在代码中添加了一个示例)。

我最近做了一项药物依从性研究,如果你还没有读过这篇文章,我强烈推荐它。在我的研究中,我还能够使用 Python 非常强大的正则表达式从处方文本中推断出 94% 的案例。我计划在文章发表后在我的博客上发表一篇文章,文本解释是瑞典语,但你可以很容易地使用这种结构,因为大多数处方都遵循类似的模式(让我知道这是否有用,我可以早一点写这篇文章)。这样做的好处是您希望准确确定患者预计何时不用服药,因为您可能会在这与再入院之间建立非常密切的关系。