具有时变依赖性的Cox PH建模和预测

时间:2016-07-19 08:40:45

标签: r prediction survival-analysis cox-regression

我对使用coxph()和预测(Surv())有一些疑问。我知道我的问题有点长,也许我没有很好地解释自己,但任何评论或建议都表示赞赏。

我正在尝试制作一个Cox PH模型和屋顶修复预测。我有5个输入变量(协变量):

House_Age(也称为Start),House_Price,Roof_Material_Grp_New,Land_Ownership_Status_Grp,Living_Status_Grp

正如名称所示,前两个是数字变量,最后三个是分类。我的问题是我想让House_Age的危险取决于时间。我选择做数据分析'对于House_Age的每三年(所以House_Age变成变量Start) - 例如,在7年后事件发生的情况下,数据看起来像

Start Stop Event_01_Ts

0    3           0 (Censored)
3    3           0 (Censored)
6    1           1 (Event)

Start等于House_Age。正如我在Start组的每个值的估计中所看到的那样,直到大约40年才出现线性依赖,因此我选择最大Start / House_Age为40且线性关系

Cox_Mod_Lin <- coxph(Surv(Stop,Event_01_Ts) ~ Start+Roof_Material_Grp_New+House_Contract_Yen+Land_Ownership_Status_Grp+Living_Status_Grp,data=Abt_Roof_Ts_Mdl)

该模型在0.1916的Start变量和1.211的指数值上具有线性系数                                   coef exp(coef)se(coef)z Pr(&gt; | z |)
开始1.916e-01 1.211e + 00 6.817e-03 28.112&lt; 2e-16 ***

看着孤立的Start / House_Age,危害每年增加21% - 是正确的吗?我的问题是,现在我想做出修复的预测&#39;例如,怀孕1年,5年和10年。首先,我尝试使用survfit和零向量作为输入来找到基线危险函数

Base <- survfit(Cox_Mod_Lin,Abt_Baseline,type='aalen')
Base_Time_Hz <- as.data.frame(cbind(Base$time,Base$cumhaz))
Base_Time_Hz_1yr <- Base_Time_Hz[which(Base_Time_Hz$Time==1),]

此处Abt_Baseline包含数字变量的零和组的零级组值。由此我发现时间= 1,5和10的累积危险(仅显示1年)并将其乘以&#34; lp&#34;的指数。通过使用预测函数找到预测。

一年的预测:

Pred_01<-Base_Time_Hz_1yr$Cumhaz*exp(predict(Cox_Mod_Lin,Abt_Roof_Score, type="lp"))

如果没有时间相关的输入,但是将来危险随着Start(= House_Age)变量的变化而变化,这是可以的。我知道Start的未来值(每年增加1)所以我想我可以在预测期内以某种方式进行整合。所以我有两个主要问题:

  • 这似乎是进行建模和(某些)预测的合理方式吗?
  • 如果是 - 我如何在预测期内对变化(增加)House_Age / Start危险进行整合?

有人能帮助我吗?

0 个答案:

没有答案