我正在尝试使用来自flexsurvreg
包的flexsurv
来计算适合某些生存数据的Weibull分布的平均失败时间。我需要能够估计在模拟模型中使用的标准误差。
以flexsurvreg
数据为例,使用lung
;
require(flexsurv)
lungS <- Surv(lung$time,lung$status)
lungfit <- flexsurvreg(lungS~1,dist="weibull")
lungfit
Call:
flexsurvreg(formula = lungS ~ 1, dist = "weibull")
Maximum likelihood estimates:
est L95% U95%
shape 1.32 1.14 1.52
scale 418.00 372.00 469.00
N = 228, Events: 165, Censored: 63
Total time at risk: 69593
Log-likelihood = -1153.851, df = 2
AIC = 2311.702
现在,计算均值只是将估计参数值插入标准公式的情况,但是有一种简单的方法可以找出这个估计的标准误差吗? survreg
可以这样做吗?
答案 0 :(得分:4)
在flexsurv
版本0.2中,如果x
是拟合模型对象,则x$cov
是参数估计的协方差矩阵,在对数刻度上具有正参数。然后,您可以使用最大似然估计的渐近正态属性。模拟大量的多元法向量,其中估计值为均值,并且该协方差矩阵(使用来自rmvnorm
包的例如mvtnorm
)。这使您可以在抽样不确定性下复制参数估计值。计算每个重复的相应平均存活率,然后取得结果样本的SD或分位数,得到标准误差或置信区间。