ข้อมูลเหล่านี้มีหางสั้นเมื่อเทียบกับการแจกแจงแบบปกติซึ่งไม่เหมือนกับการแจกแจงแกมมา:
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)
อย่างไรก็ตามเนื่องจากข้อมูลมีการบิดเบือนอย่างมากเราสามารถคาดหวังว่าค่าที่ใหญ่ที่สุดในการมีบทบาทสำคัญในการประมาณค่าเฉลี่ยและช่วงความมั่นใจ ดังนั้นเราควรคาดหวังว่า lognormal (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")
ตอนนี้เห็นได้ชัดว่ากระบวนการ lognormal มีแนวโน้มที่จะประเมินค่าเฉลี่ยและขีด จำกัด ของความเชื่อมั่นในขณะที่ขั้นตอนปกติทำงานได้ดี เราสามารถประเมินความครอบคลุมของขั้นตอนช่วงความมั่นใจ:
> 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% สำหรับช่วงเวลา lognormal นั้นแย่มาก การลดลงถึง 94.2% สำหรับช่วงเวลาปกตินั้นไม่เลวเลยและอาจเกิดจากผลของความเบ้ (ของข้อมูลดิบไม่ใช่ของลอการิทึม)
เราต้องสรุปว่าการวิเคราะห์เพิ่มเติมของค่าเฉลี่ยไม่ควรถือว่า lognormality
ระวัง! ขั้นตอนบางอย่าง (เช่นข้อ จำกัด การทำนาย) จะมีความไวต่อความเบ้มากกว่าข้อ จำกัด ความเชื่อมั่นเหล่านี้สำหรับค่าเฉลี่ยดังนั้นการแจกแจงแบบเบ้อาจจำเป็นต้องได้รับการพิจารณา อย่างไรก็ตามมันไม่น่าเป็นไปได้ที่กระบวนการ lognormal จะทำงานได้ดีกับข้อมูลเหล่านี้สำหรับการวิเคราะห์ที่ต้องการ