考虑一组正态分布的随机数字:
x <- rnorm(n=1000, mean=10)
我们想知道平均值和标准误差,因此我们执行以下操作:
se <- function(x) { sd(x)/length(x) }
mean(x) # something near 10.0 units
se(x) # something near 0.001 units
大!
但是,我们假设我们不一定知道我们的原始分布遵循正态分布。我们对数据进行日志转换并执行相同的标准误差计算。
z <- log(x, base=10)
mean(z) # something near 1 log units
se(z) # something near 0.000043 log units
很酷,但现在我们需要进行反向转换,以单位NOT log单位获得答案。
10^mean(z) # something near 10.0 units
10^se(z) # something near 1.00 units
我的问题:对于正态分布,为什么标准误差会根据它是从分布本身计算还是转换,计算和反向变换而有所不同?在这个例子中,有趣的是差异几乎正好是3个数量级。注意:无论转换如何,手段都是相同的。
编辑#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
谢谢你的时间!