从 survreg 解释 Weibull 参数
Posted
技术标签:
【中文标题】从 survreg 解释 Weibull 参数【英文标题】:Interpreting Weibull parameters from survreg 【发布时间】:2012-02-25 04:45:55 【问题描述】:我正在尝试使用从 R 中的 survreg 估计的参数生成逆 Weibull 分布。我的意思是,对于给定的概率(这将是在 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 给出无意义的答案。我真的希望能够为基本组和“第 2 组”生成时间。我还应该注意,我自己并没有进行分析,也无法进一步询问数据。
【问题讨论】:
【参考方案1】:这在手册页?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)
【讨论】:
谢谢,这已经回答了我的问题并且我的模型有效。如果我试图估计“Group2”而不是基组的逆 Weibull,我将如何将“Group 2”系数与(截距)系数结合起来? group2_b=base_b*(exp(-.139))?再次感谢 @DavidT86:不。估计的 b 组在对数尺度上的“影响”是 Intercept + beta_Grp_2,因此您需要添加这些值:b= exp(7.79 +(-.139) ) @BondedDust:如果我有其他非二进制的协变量,我应该通过 exp(intercept+coeff1*val_1 + coeff2*val_2...) 获得比例,其中 val_i 是第 i 个协变量。对吗? @statBeginner:这听起来不正确,至少如果我正确解释了您的问题。很难知道,因为“规模”是模棱两可的,而且您没有很好地描述目标。您可能会使用“规模”,而我会使用“估计效果”。我认为需要发布一个完整的示例......在 cmets 中没有很好地处理一个三年前的问题。【参考方案2】:关键是rweibull生成的shape参数是survreg输入的shape参数的倒数
【讨论】:
否 - 根据?survreg
的示例部分,rweibull
的形状是 survreg
的 比例 的倒数。 (我假设您的意思是“输出”,而不是“输入”。)以上是关于从 survreg 解释 Weibull 参数的主要内容,如果未能解决你的问题,请参考以下文章
用survreg()和gsurvplot()绘制生存分析置信区间。
R 中的 Weibull 参数估计,同时考虑 X(时间)和 Y(累积观察)