考虑一个正态分布的随机数字集:
x <- rnorm(n=1000, mean=10)
我们想知道平均值和平均值的标准误差,因此我们执行以下操作:
se <- function(x) { sd(x)/sqrt(length(x)) }
mean(x) # something near 10.0 units
se(x) # something near 0.03 units
大!
但是,假设我们不一定知道我们的原始分布服从正态分布。我们对数据进行对数转换,并执行相同的标准误差计算。
z <- log(x, base=10)
mean(z) # something near 1 log units
se(z) # something near 0.001 log units
太酷了,但是现在我们需要进行逆变换才能以非日志单位显示我们的答案。
10^mean(z) # something near 10.0 units
10^se(z) # something near 1.00 units
我的问题:为什么对于正态分布,标准误差取决于是根据分布本身计算还是对它进行变换,计算和逆变换而有所不同?注意:无论转换如何,均值均相同。
编辑#1:最终,我对计算非正态分布数据的均值和置信区间感兴趣,因此,如果您可以就如何在转换后的数据上计算95%CI的问题提供一些指导,包括如何向后转换为其原始单位, 我会很感激!
结束编辑#1
编辑#2:我尝试使用分位数功能来获取95%的置信区间:
quantile(x, probs = c(0.05, 0.95)) # around [8.3, 11.6]
10^quantile(z, probs = c(0.05, 0.95)) # around [8.3, 11.6]
因此,这收敛于相同的答案,这很好。但是,使用这种方法无法使用样本量较小的非正常数据提供完全相同的间隔:
t <- rlnorm(10)
mean(t) # around 1.46 units
10^mean(log(t, base=10)) # around 0.92 units
quantile(t, probs = c(0.05, 0.95)) # around [0.211, 4.79]
10^(quantile(log(t, base=10), probs = c(0.05, 0.95))) # around [0.209, 4.28]
哪种方法将被视为“更正确”。我认为有人会选择最保守的估计吗?
例如,您是否将非正常数据(t)的结果报告为均值为0.92单位,且95%置信区间为[0.211,4.79]?
结束编辑#2
谢谢你的时间!