我正在尝试运行Cox比例风险模型,以确定处理效果和协变量对单个植物物种存活的影响。以前,当我仅使用治疗方法(类别/因素)运行coxph
simacox <- coxph(Surv(Time, Event, type = c('right')) ~ Treatment, data = rsima)
运行良好,但是当我添加(连续)协变量时,我不断收到错误消息:
simacox <- coxph(Surv(Time, Event, type = c('right')) ~
Treatment+SLA+VLA+Thickness+Growth_Rate, data = rsima)
警告信息: 在钳工中(X,Y,分层,偏移,初始,控制,权重=权重,: 跑出迭代并且没有收敛
以下是数据集:
我不确定这是否是由NA值或其他问题引起的。我已经研究过类似的问题,但它们通常是由于Treatment
是连续的并且似乎是一个不同的问题而出现的。
Plot ID Subplot Treatment Column Row Species Time Event Growth_Rate Area SLA VLA Thickness
PC1 1 control A 7 SIMA 535 1 0.0132 NA NA NA NA
PC1 2 control C 2 SIMA 829 0 0.0532 6 123.5312982 1.307927088 0.1005
PC1 3 control D 2 SIMA 535 1 0.0329 NA NA NA NA
PC2 1 control A 7 SIMA 829 0 0.0236 0.75 192.6132404 1.49602026 0.135
PC2 2 control C 2 SIMA 829 1 0.0037 NA NA NA NA
PC2 3 control D 2 SIMA 535 1 0.0099 NA NA NA NA
PC3 1 control A 7 SIMA 152 1 0.0163 NA NA NA NA
PC3 2 control C 2 SIMA 829 0 0.058 1 185.3606789 1.311713087 0.135
PC3 3 control D 2 SIMA 829 0 0.0097 0.75 96.12967467 1.392643765 0.1735
PC4 1 control A 7 SIMA 152 1 0.0109 NA NA NA NA
PC4 2 control C 2 SIMA 120 1 0.0109 NA NA NA NA
PC4 3 control D 2 SIMA 120 1 0.0217 NA NA NA NA
PC5 1 control A 7 SIMA 92 1 0 NA NA NA NA
PC5 2 control C 2 SIMA 152 1 0.0109 NA NA NA NA
PC5 3 control D 2 SIMA 829 1 0.0009 NA NA NA NA
PS1 1 shelter A 7 SIMA 829 0 0.0121 3.25 96.12967467 1.392643765 0.1735
PS1 2 shelter C 2 SIMA 829 1 0.0009 NA NA NA NA
PS1 3 shelter D 2 SIMA 829 0 0.0435 11.75 119.0672131 1.26393576 0.2495
PS2 1 shelter A 7 SIMA 829 0 0.0508 6 128.8442116 1.744927272 0.1417
PS2 2 shelter C 2 SIMA 829 0 0.0193 1 163.722709 1.987793669 0.1045
PS2 3 shelter D 2 SIMA 829 0 0.0484 6.5 134.4099228 1.589451631 0.18
PS3 1 shelter A 7 SIMA 829 0 0.0363 9.5 184.2795579 1.450538059 0.1035
PS3 2 shelter C 2 SIMA 829 0 0.058 11 96.76593176 1.501929992 0.08
PS3 3 shelter D 2 SIMA 829 0 0.0193 2.25 124.317571 3.516426012 0.1295
PS4 1 shelter A 7 SIMA 829 0 0.0411 4.5 113.088867 2.203327018 0.149
PS4 2 shelter C 2 SIMA 535 1 0.0263 NA NA NA NA
PS4 3 shelter D 2 SIMA 829 0 0.058 11 31.44098888 1.714225616 0.1595
PS5 1 shelter A 7 SIMA 829 0 0.0363 11.5 155.3209302 1.308096836 0.23875
PS5 2 shelter C 2 SIMA 829 0 0.0048 0.25 171.0465116 2.135961931 0.104
PS5 3 shelter D 2 SIMA 829 0 0.0266 5 178.9407945 1.599492384 0.0975
PW1 1 watered A 7 SIMA 829 1 0.0056 NA NA NA NA
PW1 2 watered C 2 SIMA 829 0 0.0484 6.5 150.7782165 1.956811087 0.159
PW1 3 watered D 2 SIMA 829 0 0.0181 3 158.1184404 1.94474398 0.1935
PW2 1 watered A 7 SIMA 829 0 0.0351 8.5 148.9020752 1.482003075 0.2405
PW2 2 watered C 2 SIMA 829 0 0.0508 1.5 170.3944295 1.653449107 0.127
PW2 3 watered D 2 SIMA 829 1 0.0009 NA NA NA NA
PW3 1 watered A 7 SIMA 829 0 0.0073 1 159.8682043 1.594187964 0.224
PW3 2 watered C 2 SIMA 120 1 0.0217 NA NA NA NA
PW3 3 watered D 2 SIMA 829 0 0.0919 25 146.6362786 1.694286556 0.1325
PW4 1 watered A 7 SIMA 120 1 0.0109 NA NA NA NA
PW4 2 watered C 2 SIMA 829 1 0.0009 NA NA NA NA
PW4 3 watered D 2 SIMA 152 1 0.0163 NA NA NA NA
PW5 1 watered A 7 SIMA 829 1 0.0009 NA NA NA NA
PW5 2 watered C 2 SIMA 535 1 0.0266 1.5 162.8057554 2.065105317 0.94
PW5 3 watered D 2 SIMA 829 0 0.058 4 80.37696758 1.831219479 0.1195
答案 0 :(得分:1)
问题实际上出在Thickness
上;验证
fit <- coxph(Surv(Time, Event) ~ Thickness, data = rsima)
产生警告
警告信息: 在钳工中(X,Y,分层,偏移,初始,控制,权重=权重,: 跑出迭代并且没有收敛
我们可以从?coxph
深入了解融合问题:
在某些数据情况下,系数的实际MLE估计是无穷大,例如,其中一组中没有事件的二分变量。发生这种情况时,相关系数将以稳定的速度增长,并且拟合例程中将存在竞争条件:对数似然收敛,信息矩阵有效变为奇异,exp的参数对于计算机硬件而言变得太大,或者最大值已超过互动次数。 (几乎总是第一次发生。)例程尝试检测何时发生了这种情况,而并不总是成功。用户的主要后果是Wald统计量=系数/ se(系数)在这种情况下无效,应忽略掉;但是,似然比和得分检验仍然有效。
如果我们看一下rsima$Thickness
,我们会注意到大多数值很小(在0.08 <= Thickness <= 0.2495
范围内),其中一个值是Thickness = 0.94
。这与文档中描述的情况非常相似,其中Thickness
基本上是一个离散变量(级别为“低”和“高”),并且一组几乎没有事件(“高”组只有一个)事件)。
基于this post on Cross Validated,通过绘图可视化效果很有用
library(survminer)
ggsurvplot(survfit(Surv(Time, Event) ~ (Thickness > median(Thickness, na.rm = T)), data = df), data = df)
我们在这里所做的是将生存概率作为二分 Thickness
的函数进行绘制,其中Thickness
小于其中值(红色曲线)或更大(蓝色曲线)。
您可以看到Thickness
对生存概率的影响,或者说,没有Thickness
的影响。例如,请注意,对于小Event = 1
值,没有Thickness
情况,而对于大Event = 1
值,只有一种Thickness
情况。
就模型拟合而言,不可能获得Thickness
对生存概率影响的可靠估计,因此在探索其他连续/离散方法之前,应从模型中删除Thickness
协变量。