考虑一组正态分布的随机数:
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 个单位的平均值和 [0.211, 4.79] 的 95% 置信区间?
结束编辑#2
谢谢你的时间!