Bu cevap, teklifin anlamını analiz eder ve açıklamak ve ne söylemeye çalıştığını anlamaya yardımcı olmak için bir simülasyon çalışmasının sonuçlarını sunar. Çalışma, R
diğer güven aralığı prosedürlerini ve diğer modelleri keşfetmek için herkes tarafından (temel becerilere sahip) kolayca genişletilebilir .
Bu çalışmada iki ilginç konu ortaya çıktı. Bir güven aralığı prosedürünün doğruluğunun nasıl değerlendirileceği ile ilgilidir. Sağlamlık izlenimi buna bağlı. İki farklı doğruluk önlemi gösteriyorum, böylece bunları karşılaştırabilirsiniz.
Diğer bir konu ise, düşük güvene sahip bir güven aralığı prosedürünün sağlam olmasına rağmen , ilgili güven limitlerinin hiç de sağlam olmayabilir. Aralıklar iyi çalışmaya meyillidir çünkü bir ucunda yaptıkları hatalar sıklıkla diğerlerinde yaptıkları hataları dengeler. Pratik bir mesele olarak, % güven aralıklarınızın yaklaşık yarısının parametrelerini kapsadığından emin olabilirsiniz , ancak gerçek parametre gerçekliğin model varsayımlarınızdan nasıl ayrıldığına bağlı olarak her aralığın bir ucuna yakın bir şekilde uzanabileceğinden emin olabilirsiniz .% 50
Robust istatistikte standart bir anlama sahiptir:
Sağlamlık genellikle, temelde yatan bir olasılık modelini çevreleyen varsayımlardan ayrılmalara duyarsızlığı ifade eder.
(Hoaglin, Mosteller ve Tukey, Sağlam ve Açıklayıcı Veri Analizini Anlamak . J. Wiley (1983), s. 2.)
Bu, sorudaki teklif ile tutarlıdır. Teklifi anlamak için bir güven aralığının amaçlanan amacını bilmemiz gerekir . Bu amaçla, Gelman'ın yazdıklarını gözden geçirelim.
3 nedenden dolayı% 50 ila% 95 aralıklarını tercih ederim:
Hesaplamalı kararlılık,
Daha sezgisel değerlendirme (% 50 aralıkların yarısı gerçek değeri içermelidir),
Uygulamalarda, gerçekçi olmayan bir yakınlık denemesine değil, parametrelerin ve öngörülen değerlerin nerede olacağına dair bir fikir edinmek en iyisidir.
Duygusu alma yana öngörülen değerlerin değil güven aralığı (GA) içindir budur, ben duygusu alma üzerinde durulacak parametre CI ne olduğunu değerler. Bunlara "hedef" değerleri diyelim. Bu nedenle, tanım gereği, bir CI hedefini belirtilen bir olasılıkla (güven seviyesi) kapsaması amaçlanmaktadır. Amaçlanan kapsam oranlarının elde edilmesi, herhangi bir CI prosedürünün kalitesini değerlendirmek için minimum kriterdir. (Ek olarak, tipik CI genişlikleriyle de ilgilenebiliriz. Gönderiyi makul bir uzunlukta tutmak için bu sorunu görmezden geleceğim.)
Bu düşünceler bizi bir güven aralığı hesaplamasının hedef parametre değeriyle ilgili bizi ne kadar yanlış yönlendirebileceğini incelemeye davet ediyor . Teklif, düşük güvenirlikli CI'lerin, veriler modelden farklı bir işlem tarafından üretilse bile kapsamlarını koruyabileceğini öne sürüyor olabilir. Bu test edebileceğimiz bir şey. Prosedür:
En az bir parametre içeren bir olasılık modelini benimseyin. Klasik olan, bilinmeyen ortalama ve varyansın normal dağılımından örneklemedir.
Modelin parametrelerinden biri veya daha fazlası için bir CI prosedürü seçin. Mükemmel bir tanesi, CI'yi örnek ortalamasından ve örnek standart sapmadan oluşturur, ikincisini bir Student t dağılımı ile verilen bir faktörle çarpar.
Çeşitli için bu prosedürü uygulayın farklı modeller - benimsenen birinden çok fazla çıkış yapan - güven seviyeleri aralığı üzerindeki kapsama değerlendirmek için.
% 5099.8 %
αp, sonra
günlük( p1 - p) -günlük( α1 - α)
farkı güzelce yakalar. Sıfır olduğunda, kapsam tam olarak amaçlanan değerdir. Negatif olduğunda kapsama alanı çok düşüktür - bu, CI'nın çok iyimser olduğu ve belirsizliği küçümseyeceği anlamına gelir .
Öyleyse soru, altta yatan model bozulduğu için bu hata oranlarının güven düzeyi ile nasıl değiştiği? Simülasyon sonuçlarını çizerek cevap verebiliriz. Bu grafikler, bir CI'nin “kesinliği” ne kadar “gerçekçi değil” in bu arketip uygulamada olabileceğini belirler .
( 1 / 30 , 1 / 30 )
α% 953
α = % 50% 50% 95% 5 O zaman, dünyamızın modelimizin beklediği gibi çalışmadığı durumlarda hata oranımızın çok daha büyük olması için hazırlıklı olmalıyız.
% 50% 50
Bu R
araziler üretilen kodu. Diğer dağıtımları, diğer güven aralıklarını ve diğer CI prosedürlerini incelemek için kolayca değiştirilir.
#
# Zero-mean distributions.
#
distributions <- list(Beta=function(n) rbeta(n, 1/30, 1/30) - 1/2,
Uniform=function(n) runif(n, -1, 1),
Normal=rnorm,
#Mixture=function(n) rnorm(n, -2) + rnorm(n, 2),
Exponential=function(n) rexp(n) - 1,
Lognormal=function(n) exp(rnorm(n, -1/2)) - 1
)
n.sample <- 12
n.sim <- 5e4
alpha.logit <- seq(0, 6, length.out=21); alpha <- signif(1 / (1 + exp(-alpha.logit)), 3)
#
# Normal CI.
#
CI <- function(x, Z=outer(c(1,-1), qt((1-alpha)/2, n.sample-1)))
mean(x) + Z * sd(x) / sqrt(length(x))
#
# The simulation.
#
#set.seed(17)
alpha.s <- paste0("alpha=", alpha)
sim <- lapply(distributions, function(dist) {
x <- matrix(dist(n.sim*n.sample), n.sample)
x.ci <- array(apply(x, 2, CI), c(2, length(alpha), n.sim),
dimnames=list(Endpoint=c("Lower", "Upper"),
Alpha=alpha.s,
NULL))
covers <- x.ci["Lower",,] * x.ci["Upper",,] <= 0
rowMeans(covers)
})
(sim)
#
# The plots.
#
logit <- function(p) log(p/(1-p))
colors <- hsv((1:length(sim)-1)/length(sim), 0.8, 0.7)
par(mfrow=c(1,2))
plot(range(alpha.logit), c(-2,1), type="n",
main="Confidence Interval Accuracies (Logit Scales)", cex.main=0.8,
xlab="Logit(alpha)",
ylab="Logit(coverage) - Logit(alpha)")
abline(h=0, col="Gray", lwd=2)
legend("bottomleft", names(sim), col=colors, lwd=2, bty="n", cex=0.8)
for(i in 1:length(sim)) {
coverage <- sim[[i]]
lines(alpha.logit, logit(coverage) - alpha.logit, col=colors[i], lwd=2)
}
plot(range(alpha), c(-0.2, 0.05), type="n",
main="Raw Confidence Interval Accuracies", cex.main=0.8,
xlab="alpha",
ylab="coverage-alpha")
abline(h=0, col="Gray", lwd=2)
legend("bottomleft", names(sim), col=colors, lwd=2, bty="n", cex=0.8)
for(i in 1:length(sim)) {
coverage <- sim[[i]]
lines(alpha, coverage - alpha, col=colors[i], lwd=2)
}