直接获取置信区间
首先,打印一个flexsurvreg
对象(或其res
元素)已经显示了 95% 的置信区间:
> expFit
Estimates:
est L95% U95% se
rate 0.007341 0.005746 0.009379 0.000918
手动重现置信区间
所以我猜你是在问如何使用参数估计器的估计协方差矩阵手动重现上述 CI。帮助页面 ( ?flexsurvreg
) 显示“定义为正的参数是在对数刻度上估计的。” 因此,当我们提取估计值时,我们会得到对数转换的值:
> lrate = coef(expFit)
> lrate
[1] -4.914262
要获得实际估计的速率参数,我们需要对这个数字取幂:
> rate = exp(lrate)
> rate
[1] 0.007341133
现在要生成置信区间,我们只需要标准误差,然后我们可以使用正态近似(Wald 置信区间)。标准错误是:
> se = sqrt(vcov(expFit))
> se
rate
rate 0.125
因此对数率的置信区间为:
> z_alpha = qnorm(1-.05/2)
> ci = lrate + c(-1,1)*z_alpha*se
> ci
[1] -5.159258 -4.669267
要获得实际速率参数的 95% CI,我们只需对两个 CI 限制取幂:
> exp(ci)
[1] 0.005745964 0.009379146
这就是expFit$res
给我们的。
为什么使用对数刻度?
为了让这个答案回到统计而不是 R,我们为什么要计算对数尺度的置信区间?我们不能只使用返回的标准错误expFit
吗?
好吧,我们可以(在这种情况下):
> expFit$res[1] + c(-1,1)*z_alpha*expFit$res[4]
[1] 0.005542589 0.009139678
此 CI 与基于日志的 CI 非常相似。原因是样本量大。在指数分布中估计速率参数的实际公式实际上非常简单;它是事件数除以总时间:
> with(testPatients, sum(status)/sum(time))
[1] 0.007341133
如果没有任何事件被审查,这是 1 除以事件的平均时间,这在直觉上是有意义的。例如,如果事件发生的时间平均为 15 分钟(一小时的 1/4),您会期望事件以每小时 4 次的速率发生。
时间被假定为具有固定“速率”参数的独立同分布指数。因此,这些时间变量都是右偏的。许多这样的独立时间变量的总和具有伽马分布 - 或近似为大n的正态分布(根据中心极限定理)。
但是我们正在查看一个常数除以这个总和,即除以具有(右偏)伽马(对于小)或近似对称(极限内的正态分布)分布的东西。在这两种情况下都是正确的。对于大,偏度的量很小(速率参数的值实际上对于偏度并不重要)。nn
实际观察次数的影响
在示例数据中,我们有 68 个观察值(其中 4 个被删失),这是相当多的。1) 68 个独立指数观测值的平均值(现在让我们忽略删失的观测值)的分布,速率为 0.0073,2) 速率估计值(68 除以该平均值)和 3) 该速率估计值的对数看起来大致像这个:

此图像的 R 代码是:
library(MASS)
sim = function(n, rate) {
x = replicate(10^5, mean(rexp(n, rate)))
par(mfrow = c(1,3), mai = c(0.9,0.4,0.2,0))
truehist(x, col = "brown", border = NA)
truehist(n / x, col = "brown", border = NA)
truehist(log(n / x), col = "brown", border = NA)
}
sim(n = 68, rate = rate)
我们看到速率估计器(中间面板)的分布存在一些偏斜:右侧有一条尾巴。但是分布是近似对称的(并且是正态的),所以基于没有对数变换的正态近似的估计应该是相当好的。尽管如此,我们从最右侧的面板中看到,即使在这里也最好使用对数变换。
如果我们只有 15 个观察值,情况会发生变化:
sim(n=15, rate=rate)

在这里,中间面板的偏斜度很大,我们需要使用对数变换(右侧面板)来获得良好的 CI。
总结和结束语
我们在对数尺度上计算速率参数的(近似)置信区间,因为估计量的样本分布在这个尺度上更加对称和正常。
请注意,这对于必须为正的参数是常见的做法,因为估计量的样本分布通常是右偏的。(当标准误差很大时,在某些情况下使用正态近似而不首先进行对数转换甚至会导致参数的置信下限小于 0。)
另请注意,除了对数变换之外,还有其他变换可用于将估计器变换为更加对称/正常,并且更适合某些分布/参数。但是对数变换是最常用的。