coxph用尽了迭代-不会收敛,分类处理,连续协变量

时间:2018-09-18 21:27:46

标签: r survival-analysis survival

我正在尝试运行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

1 个答案:

答案 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)

enter image description here

我们在这里所做的是将生存概率作为二分 Thickness的函数进行绘制,其中Thickness小于其中值(红色曲线)或更大(蓝色曲线)。

您可以看到Thickness对生存概率的影响,或者说,没有Thickness的影响。例如,请注意,对于小Event = 1值,没有Thickness情况,而对于大Event = 1值,只有一种Thickness情况。

就模型拟合而言,不可能获得Thickness对生存概率影响的可靠估计,因此在探索其他连续/离散方法之前,应从模型中删除Thickness协变量。