与对数正态分布相比,这些数据的尾巴较短,与Gamma分布相同:
set.seed(17)
par(mfcol=c(1,1))
x <- rgamma(500, 1.9)
qqnorm(log(x), pch=20, cex=.8, asp=1)
abline(mean(log(x)) + .1,1.2*sd(log(x)), col="Gray", lwd=2)
然而,因为数据是强右偏,我们可以期待值最大的估计均值和置信区间中发挥了重要的作用。因此,我们应该预期对数正态(LN)估计量将倾向于高估均值和两个置信度极限。
让我们检查一下,并进行比较,以使用通常的估计量:即样本均值及其正常理论置信区间。请注意,通常的估计量仅依赖于样本均值的近似正态性,而不依赖于数据,并且在具有如此大的数据集的情况下,可以预期其运作良好。为此,我们需要对ci
函数进行一些修改:
ci <- function (x, alpha=.05) {
z <- -qnorm(alpha / 2)
y <- log(x); n <- length(y); s2 <- var(y)
m <- mean(y) + s2 / 2
d <- z * sqrt(s2 / n + s2 * s2 / (2 * (n - 1)))
exp(c(mean=m, lcl=m-d, ucl=m+d))
}
这是正常理论估计的并行函数:
ci.u <- function(x, alpha=.05) {
mean(x) + sd(x) * c(mean=0, lcl=1, ucl=-1) / sqrt(length(x)) * qnorm(alpha/2)
}
应用于此模拟数据集,输出为
> ci(x)
mean lcl ucl
2.03965 1.87712 2.21626
> ci.u(x)
mean lcl ucl
1.94301 1.81382 2.07219
通过产生的正态理论估计值ci.u
看起来更接近的真实均值,但是很难从一个数据集中判断哪个程序趋于更好地工作。为了找出答案,让我们模拟很多数据集:1.9
trial <- function(n=500, k=1.9) {
x <- rgamma(n, k)
cbind(ci(x), ci.u(x))
}
set.seed(17)
sim <- replicate(5000, trial())
我们有兴趣将输出与的真实平均值进行比较。在这方面,一组直方图正在揭示:1.9
xmin <- min(sim)
xmax <- max(sim)
h <- function(i, ...) {
b <- seq(from=floor(xmin*10)/10, to=ceiling(xmax*10)/10, by=0.1)
hist(sim[i,], freq=TRUE, breaks=b, col="#a0a0FF", xlab="x", xlim=c(xmin, xmax), ...)
hist(sim[i,sim[i,] >= 1.9], add=TRUE,freq=TRUE, breaks=b, col="#FFa0a0",
xlab="x", xlim=c(xmin, xmax), ...)
}
par(mfcol=c(2,3))
h(1, main="LN Estimate of Mean")
h(4, main="Sample Mean")
h(2, main="LN LCL")
h(5, main="LCL")
h(3, main="LN UCL")
h(6, main="UCL")
现在很明显,对数正态程序倾向于高估均值和置信度极限,而常规程序则做得很好。我们可以估计置信区间过程的覆盖范围:
> sapply(c(LNLCL=2, LCL=5, LNUCL=3, UCL=6), function(i) sum(sim[i,] > 1.9)/dim(sim)[2])
LNLCL LCL LNUCL UCL
0.2230 0.0234 1.0000 0.9648
此计算表明:
LN下限将无法在大约22.3%的时间内覆盖真实的平均值(而不是预期的2.5%)。
通常的下限将无法在大约2.3%的时间内覆盖真实的均值,接近预期的2.5%。
LN上限将始终超过真实均值(而不是在预期时间的2.5%内降至其下限)。这使其成为双向100%-(22.3%+ 0%)= 77.7%的置信区间,而不是95%的置信区间。
通常的上限将无法覆盖约100-96.5 = 3.5%的时间的真实平均值。这比2.5%的预期值略大。因此,通常的限制包括双向100%-(2.3%+ 3.5%)= 94.2%置信区间,而不是95%置信区间。
对数正态区间的名义覆盖率从95%降低到77.7%是可怕的。在通常的时间间隔内减少到94.2%一点也不差,这可以归因于偏斜(原始数据,而不是对数)的影响。
我们不得不得出结论,进一步分析了平均的应该不承担对数正态分布。
小心!某些过程(例如预测限制)比这些均值的置信度限制对偏斜更为敏感,因此可能需要考虑其偏斜分布。但是,对数正态程序对于这些数据进行几乎任何预期的分析似乎都无法很好地执行。