0

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

警告消息:在 fitter(X, Y, strats, offset, init, control, weights = weights, : 用完迭代并且没有收敛

这是数据集:我不确定它是由 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
4

1 回答 1

3

问题

问题实际上出在Thickness; 很容易验证

fit <- coxph(Surv(Time, Event) ~ Thickness, data = rsima)

产生警告

警告消息:在 fitter(X, Y, strats, offset, init, control, weights = weights, : 用完迭代并且没有收敛

我们可以从以下方面对收敛问题有所了解?coxph

在某些数据情况下,系数的实际 MLE 估计是无穷大的,例如,其中一个组没有事件的二分变量。当这种情况发生时,相关系数以稳定的速度增长,并且拟合程序中将存在竞争条件:对数似然收敛,信息矩阵变得有效奇异,exp 的参数对于计算机硬件而言变得太大,或者最大值超过交互次数。(几乎总是第一次发生。)例程尝试检测何时发生,但并不总是成功。用户的主要后果是 Wald 统计量 = 系数/se(系数) 在这种情况下无效,应忽略;然而,似然比和分数测试仍然有效。

说明

如果我们看一下,rsima$Thickness我们会注意到大多数值都很小(在范围内0.08 <= Thickness <= 0.2495),其中一个值是Thickness = 0.94。这与文档中描述的情况非常相似,其中Thickness基本上是一个离散变量(具有“低”和“高”级别)和一组几乎没有事件(“高”组只有一个事件)。

基于这篇关于 Cross Validated的帖子,通过绘图来可视化效果很有用

library(survminer)
ggsurvplot(survfit(Surv(Time, Event) ~ (Thickness > median(Thickness, na.rm = T)), data = df), data = df)

在此处输入图像描述

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

您可以看到 对Thickness生存概率的影响,或者更确切地说,没有 的影响Thickness。例如,请注意Event = 1Thickness值没有案例,而大值只有一种Event = 1案例Thickness

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

于 2018-09-18T22:12:11.903 回答