R的coxph()究竟如何处理重复的测量?


10

语境

我试图了解R的coxph()如何接受和处理主题(或患者/客户,如果您愿意的话)的重复条目。有些人称这种长格式,有些人称其为“重复措施”。

例如,请参见以下答案部分中包含ID列的数据集:

协变量随时间变化的最佳Cox模型

还要假设协变量始终随时间变化,并且恰好有一个检查变量(即事件),它是二进制的。

问题

1)在上述链接的答案中,如果在调用coxph()时未提供ID作为参数,结果是否应与将cluster(ID)作为coxph()的参数包含在内?

我试图搜索文档,但以下内容似乎并未明确说明(1):https : //stat.ethz.ch/pipermail/r-help//2013-July/357466.html

2)如果对(1)的回答为“否”,那么(数学上)为什么?似乎coxph()中的cluster()根据pg上的“ cluster”小节在主题之间寻求关联。20点

https://cran.r-project.org/web/packages/survival/survival.pdf

3)含糊的问题:重复测量的coxph()与R的脆弱包装回归方法相比如何?

附加物

以下是有关使用cluster(ID)的提示:

是否存在可重复测量的logrank测试版本?

和:

https://stat.ethz.ch/pipermail/r-help//2013-July/357466.html

GEE方法:将“ + cluster(subject)”添加到coxph的模型语句中混合模型方法:将“ +(1 | subject)”添加到coxme的模型语句中。

提前致谢!

Answers:


11
  1. 包括cluster(ID)不改变点估计的参数。但是,它的确改变了标准误差的计算方式。

    更多详细信息,请参见Therneau&Grambsch的《扩展Cox模型》的第8.2章。请注意,在他们的示例中,它们method = "breslow"用作对领带的更正,但在默认值(method = "efron")的情况下,也将对se进行类似的计算,并在摘要中显示为“ robust se”。

  2. 如果使用cluster(ID),则对标准误差进行“可靠的”估计,并测量对象之间的可能依赖关系(例如,通过标准误差和方差评分)。另一方面,不使用cluster(ID)会使每个观察结果具有独立性,并且在数据中假设更多的“信息”。用更多的技术术语来说,参数的得分函数不会改变,但是该得分的方差会改变。一个更直观的说法是,对100个人的100个观察结果比对10个人(或集群)的100个观察结果提供的信息更多。

  3. 确实含糊不清。总之,+frailty(ID)coxph()配合用γ或对数正态随机效应标准脆弱模型和非参数基线风险/强度。frailtypack使用参数基线(也是具有样条曲线或分段常数函数的灵活版本),并且也适合更复杂的模型,例如相关脆弱性,嵌套脆弱性等。

最后,+cluster()在某种程度上符合GEE的精神,您可以从具有独立观察结果的可能性中得出分数方程,并对标准误差使用不同的“稳健”估计器。

编辑:感谢@Ivan提供有关帖子清晰度的建议。


谢谢。关于(2):可以将“这是因为如果(错误地)假设...”替换为“如果在对coxph()的调用中未使用cluster(ID),则您会错误地假设...。”
Quetzalcoatl

我的意思是:如果观察是聚类的,那么它们可能是独立的,也可能不是独立的。在这种情况下,假设它们是独立的(即不使用cluster(id))几乎可以肯定是错误的,但是不知道事先知道
Theodor

(2)可以改写为:如果使用cluster(ID),则对标准误差进行“稳健”的估计,并测量对象之间的可能依赖关系(例如,通过标准误差和方差评分)。另一方面,不使用cluster(ID)会使每个观察结果具有独立性,并且在数据中会假设更多的“信息”。
Quetzalcoatl

您在(1)中提供的参考链接应为:springer.com/us/book/9780387987842(假设您引用的是Therneau和Grambsch的书)
Quetzalcoatl

还要注意:如Therneau和Grambsch的书中所述,上面(1)中答案正确的原因是,因为coxph()使用Breslow方法作为领带的默认值。
Quetzalcoatl

1

这是survival我发现有用的包装插图的答案-它与您链接到的第一个问题的第一个答案相关联:

协变量随时间变化的最佳Cox模型

他们指的是长格式数据设置,或者是针对主题重复输入的数据。

这种数据设置的一个常见问题是我们是否需要担心相关数据,因为给定的对象有多个观察结果。答案是否定的,我们没有。原因是这种表示仅仅是编程技巧。在任何时间点,似然方程只使用任何对象的一个​​副本,程序每次都选择正确的数据行。此规则有两个例外:

  • 当主题具有多个事件时,则事件的行在主题内相关联,并且需要聚类方差。
  • 当主体以重叠的间隔出现时。但是,这几乎总是数据错误,因为它对应于同一时间同时出现在同一层中的受试者的两个副本,例如,她可能在聚会上见面。

他们举的例子是

fit <- coxph(Surv(time1, time2, status) ~ age + creatinine, data=mydata)

建议如果您提供两次(时段的开始和结束)Surv而不是一次,则coxph()可以找出其余部分。


除非我有误解,否则我认为此评论有误导性吗?如果我们想获得方差的准确估计,我们确实需要担心相关数据,因此为什么添加+ cluster(ID)项会更改估计方差项?
AP30
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.