Những dữ liệu này có đuôi ngắn so với phân phối logic, không giống như phân phối 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)
Tuy nhiên, vì dữ liệu là mạnh ngay-sai lệch, chúng ta có thể mong đợi các giá trị lớn nhất để đóng một vai trò quan trọng trong việc ước tính giá trị trung bình và khoảng tin cậy của nó. Do đó, chúng ta nên dự đoán rằng một công cụ ước tính logic (LN) sẽ có xu hướng đánh giá quá cao giá trị trung bình và hai giới hạn tin cậy .
Hãy kiểm tra và, để so sánh, sử dụng các công cụ ước tính thông thường: đó là giá trị trung bình mẫu và khoảng tin cậy của lý thuyết thông thường. Lưu ý rằng các công cụ ước tính thông thường chỉ dựa vào tính chuẩn gần đúng của giá trị trung bình mẫu , không phải của dữ liệu và - với một tập dữ liệu lớn như vậy - có thể được dự kiến sẽ hoạt động tốt. Để làm điều này, chúng ta cần một sửa đổi nhỏ của ci
chức năng:
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))
}
Đây là một hàm song song cho các ước tính lý thuyết bình thường:
ci.u <- function(x, alpha=.05) {
mean(x) + sd(x) * c(mean=0, lcl=1, ucl=-1) / sqrt(length(x)) * qnorm(alpha/2)
}
Áp dụng cho bộ dữ liệu mô phỏng này, các kết quả đầu ra là
> 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")
Bây giờ rõ ràng là các thủ tục logic bất thường có xu hướng đánh giá quá cao trung bình và giới hạn tin cậy, trong khi các thủ tục thông thường làm rất tốt. Chúng tôi có thể ước tính độ che phủ của các thủ tục khoảng tin cậy:
> 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
Tính toán này nói:
Giới hạn dưới của LN sẽ không bao gồm trung bình thực khoảng 22,3% thời gian (thay vì 2,5% dự định).
Giới hạn dưới thông thường sẽ không bao gồm trung bình thực khoảng 2,3% thời gian, gần với mức 2,5% dự định.
Giới hạn trên của LN sẽ luôn vượt quá giá trị trung bình thực (thay vì giảm xuống dưới 2,5% thời gian như dự định). Điều này làm cho nó có khoảng tin cậy hai mặt 100% - (22,3% + 0%) = 77,7% thay vì khoảng tin cậy 95%.
Giới hạn trên thông thường sẽ không bao gồm giá trị trung bình thực khoảng 100 - 96,5 = 3,5% thời gian. Giá trị này lớn hơn một chút so với giá trị dự định là 2,5%. Do đó, các giới hạn thông thường bao gồm khoảng tin cậy hai mặt 100% - (2,3% + 3,5%) = 94,2% thay vì khoảng tin cậy 95%.
Việc giảm phạm vi bảo hiểm danh nghĩa từ 95% xuống 77,7% cho khoảng thời gian logic là rất khủng khiếp. Việc giảm xuống 94,2% cho khoảng thời gian thông thường hoàn toàn không tệ và có thể được quy cho ảnh hưởng của độ lệch (của dữ liệu thô, không phải logarit của chúng).
Chúng ta phải kết luận rằng các phân tích sâu hơn về giá trị trung bình không nên giả định tính logic.
Hãy cẩn thận! Một số thủ tục (như giới hạn dự đoán) sẽ nhạy cảm hơn với độ lệch so với các giới hạn độ tin cậy này đối với giá trị trung bình, vì vậy phân phối sai lệch của chúng có thể cần được tính đến. Tuy nhiên, dường như các quy trình logic bất thường sẽ hoạt động tốt với các dữ liệu này cho bất kỳ phân tích dự định nào.