从survreg中解释Weibull参数

12

我正在尝试使用在R中使用survreg估计的参数生成反威布尔分布。我的意思是,对于给定的概率(在MS Excel中实现的小型模拟模型中将是随机数),我希望使用我的参数返回故障的预期时间。我了解反威布尔分布的一般形式为:

X=b[-ln(1-rand())]^(1/a)

其中 a 和 b 分别是形状和比例参数,X 是我想要的失效时间。我的问题在于从 survreg 中解释截距和协变量参数。这些参数已知,时间单位为天:

             Value   Std. Error    z    p
(Intercept)     7.79    0.2288  34.051  0.000
Group 2        -0.139   0.2335  -0.596  0.551
Log(scale)     0.415    0.0279  14.88   0.000
Scale= 1.51 

Weibull distribution
Loglik(model)= -8356.7   Loglik(intercept only)= -8356.9 
Chisq = 0.37 on 1 degrees of freedom, p= 0.55 
Number of Newton-Raphson Iterations: 4 
n=1682 (3 observations deleted due to missing values)
我在帮助文件中了解到R的系数来自于“极值分布”,但我不确定这实际上意味着什么,以及如何回到直接在公式中使用的标准比例参数。当使用b=7.79和a=1.51时,会得到荒谬的答案。我真的想能够为基础组和“Group 2”生成时间。我还应该指出,我没有自己执行分析,也无法进一步查询数据。
2个回答

14

这在手册页面?survreg中有解释(在“示例”部分)。

library(survival)
y <- rweibull(1000, shape=2, scale=5)
r <- survreg(Surv(y)~1, dist="weibull")
a <- 1/r$scale      # Approximately 2
b <- exp( coef(r) ) # Approximately 5
y2 <- b * ( -ln( 1-runif(1000) ) ) ^(1/a)
y3 <- rweibull(1000, shape=a, scale=5)
# Check graphically that the distributions are the same
plot(sort(y), sort(y2))
abline(0,1)

1
谢谢,这回答了我的问题,我的模型也能够正常工作。如果我想要估计“Group2”而非基础组的反威布尔分布,我该如何将“Group 2”系数与(截距)系数相结合?group2_b=base_b*(exp(-.139))吗?再次感谢。 - DavidT85
2
@DavidT86:不需要。在对数尺度上,B组的估计“效应”是Intercept + beta_Grp_2,因此您需要将这些值相加:b= exp(7.79 +(-.139))。 - IRTFM
@BondedDust:如果我有其他不是二元的协变量,我应该通过exp(intercept + coeff1 * val_1 + coeff2 * val_2 ...)来获得比例尺,其中val_i是第i个协变量的值。这正确吗? - statBeginner
@statBeginner:如果我正确理解了您的问题,那么这听起来并不正确。由于“规模”是含糊不清的,而且您没有很好地描述目标,所以很难知道。您可能正在使用“规模”,而我会使用“估计效应”。我认为有必要发布一个完整的示例...在对三年前的问题进行评论时处理得不好。 - IRTFM

2
关键在于rweibull生成的形状参数是survreg输入的形状参数的倒数。

根据?survreg的示例部分,rweibull的形状是survreg的“比例尺”的倒数。(我想你指的是“输出”,而不是“输入”。) - user1310503

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接