有人可以用简单的英语向我解释我的Cox模型吗?
我使用该函数将以下Cox回归模型拟合到我的所有数据中cph
。我的数据保存在名为的对象中Data
。变量w
,x
和y
是连续的;z
是两个层次的因子。时间以月为单位。我的一些患者缺少变量数据z
(注意:下面我已经适当地指出了Harrell博士的建议,即我估算这些值,以避免对我的模型造成偏见,以后会这样做)。
> fit <- cph(formula = Surv(time, event) ~ w + x + y + z, data = Data, x = T, y = T, surv = T, time.inc = 12)
Cox Proportional Hazards Model
Frequencies of Missing Values Due to Each Variable
Surv(time, event) w x y z
0 0 0 0 14
Model Tests Discrimination
Indexes
Obs 152 LR chi2 8.33 R2 0.054
Events 64 d.f. 4 g 0.437
Center 0.7261 Pr(> chi2) 0.0803 gr 1.548
Score chi2 8.07
Pr(> chi2) 0.0891
Coef S.E. Wald Z Pr(>|Z|)
w -0.0133 0.0503 -0.26 0.7914
x -0.0388 0.0351 -1.11 0.2679
y -0.0363 0.0491 -0.74 0.4600
z=1 0.3208 0.2540 1.26 0.2067
我还尝试使用cox.zph
下面的命令来测试比例风险的假设,但不知道如何解释其结果。放置plot()
命令会出现错误消息。
cox.zph(fit, transform="km", global=TRUE)
rho chisq p
w -0.1125 1.312 0.2520
x 0.0402 0.179 0.6725
y 0.2349 4.527 0.0334
z=1 0.0906 0.512 0.4742
GLOBAL NA 5.558 0.2347
第一个问题
- 有人可以用简单的英语向我解释以上输出的结果吗?我有医学背景,没有接受过统计学方面的正规培训。
第二个问题
正如Harrell博士建议的那样,我想通过使用
rms
软件包执行100次10倍交叉验证的迭代来内部验证模型(据我了解,这将需要构建100 * 10 = 1000
不同的模型,然后要求他们预测生存时间他们从未见过的患者)。我尝试使用该
validate
功能,如图所示。> v1 <- validate(fit, method="crossvalidation", B = 10, dxy=T) > v1 index.orig training test optimism index.corrected n Dxy -0.2542 -0.2578 -0.1356 -0.1223 -0.1320 10 R2 0.0543 0.0565 0.1372 -0.0806 0.1350 10 Slope 1.0000 1.0000 0.9107 0.0893 0.9107 10 D 0.0122 0.0128 0.0404 -0.0276 0.0397 10 U -0.0033 -0.0038 0.0873 -0.0911 0.0878 10 Q 0.0155 0.0166 -0.0470 0.0636 -0.0481 10 g 0.4369 0.4424 0.6754 -0.2331 0.6700 10
您如何执行100倍重采样?我认为上述代码仅执行一次交叉验证。
然后,我想知道我的模型在预测方面的表现如何。我尝试了以下方法:
> c_index <- abs(v1[1,5])/2 + 0.5 > c_index [1] 0.565984
这是否意味着我的模型仅比掷硬币好一点?
第三个问题
Harrell博士指出,我已经假设协变量效应是线性的,并且如果所有协变量效应都是线性的,则我样本中的事件数量仅够大到足以拟合一个可靠的模型。
- 这是否意味着我应该在模型中包括某种交互作用术语?如果是这样,关于放什么建议?
cph
用朴素的英语向我解释以上输出,或者指向我推荐这样做的参考文献,我仍然非常感谢。哈雷尔博士,非常感谢您到目前为止的帮助!