我正在尝试使用 flexsurv
包中的 flexsurvreg
估计适合某些生存数据的 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
可以做到这一点吗?
最佳答案
在flexsurv
0.2版本中,如果x
是拟合模型对象,那么x$cov
是参数估计的协方差矩阵,在对数刻度上具有正参数。然后,您可以使用最大似然估计量的渐近正态特性。模拟大量多元法向向量,将估计值作为均值,并使用此协方差矩阵(例如使用 mvtnorm
包中的 rmvnorm
)。这为您提供了在抽样不确定性下参数估计的重复。计算每个重复的相应平均存活率,然后取所得样本的 SD 或分位数以获得标准误差或置信区间。
关于r - 使用带有标准误差的 survreg/flexsurvreg 估算平均故障时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18253221/