Ja, Sie können nähern von , aber es ist nicht optimal. Dies ist eine Form des Perzentil-Bootstraps. Der Perzentil-Bootstrap funktioniert jedoch nicht gut, wenn Sie Rückschlüsse auf die durchschnittliche Grundgesamtheit ziehen möchten, es sei denn, Sie haben eine große Stichprobengröße. (Es funktioniert gut mit vielen anderen Inferenzproblemen, einschließlich wenn die Stichprobengröße klein ist.) Ich entnehme diese Schlussfolgerung aus Wilcox ' Modern Statistics for the Social and Behavioral Sciences , CRC Press, 2012. Ich fürchte, ein theoretischer Beweis ist mir unverständlich .P(X¯n≤x)P(X¯∗n≤x)
Eine Variante des Zentrierungsansatzes geht in den nächsten Schritt und skaliert Ihre zentrierte Bootstrap-Statistik mit der Standardabweichung und der Stichprobengröße für die erneute Stichprobe. Die Berechnung erfolgt auf dieselbe Weise wie bei der Statistik. Die Quantile aus der Verteilung dieser t-Statistiken können verwendet werden, um ein Konfidenzintervall zu erstellen oder einen Hypothesentest durchzuführen. Dies ist die Bootstrap-t-Methode, die hervorragende Ergebnisse liefert, wenn Rückschlüsse auf den Mittelwert gezogen werden.
Sei die Neuabtastungs-Standardabweichung basierend auf einer Neuabtastung des Bootstraps, wobei n-1 als Nenner verwendet wird; und s ist die Standardabweichung der Originalprobe. Lassens∗
T∗=X¯∗n−X¯s∗/n√
T∗μ
X¯−T∗0.975sn√,X¯−T∗0.025sn√
Betrachten Sie die folgenden Simulationsergebnisse, die zeigen, dass die Konfidenzintervalle dieser Methode bei einer schlecht verzerrten gemischten Verteilung häufiger den wahren Wert enthalten als die Perzentil-Bootstrap-Methode oder eine herkömmliche Inversion einer Statistik ohne Bootstrapping.
compare.boots <- function(samp, reps = 599){
# "samp" is the actual original observed sample
# "s" is a re-sample for bootstrap purposes
n <- length(samp)
boot.t <- numeric(reps)
boot.p <- numeric(reps)
for(i in 1:reps){
s <- sample(samp, replace=TRUE)
boot.t[i] <- (mean(s)-mean(samp)) / (sd(s)/sqrt(n))
boot.p[i] <- mean(s)
}
conf.t <- mean(samp)-quantile(boot.t, probs=c(0.975,0.025))*sd(samp)/sqrt(n)
conf.p <- quantile(boot.p, probs=c(0.025, 0.975))
return(rbind(conf.t, conf.p, "Trad T test"=t.test(samp)$conf.int))
}
# Tests below will be for case where sample size is 15
n <- 15
# Create a population that is normally distributed
set.seed(123)
pop <- rnorm(1000,10,1)
my.sample <- sample(pop,n)
# All three methods have similar results when normally distributed
compare.boots(my.sample)
Dies ergibt Folgendes (conf.t ist die Bootstrap-t-Methode; conf.p ist die Perzentil-Bootstrap-Methode).
97.5% 2.5%
conf.t 9.648824 10.98006
conf.p 9.808311 10.95964
Trad T test 9.681865 11.01644
Mit einem einzigen Beispiel aus einer verzerrten Verteilung:
# create a population that is a mixture of two normal and one gamma distribution
set.seed(123)
pop <- c(rnorm(1000,10,2),rgamma(3000,3,1)*4, rnorm(200,45,7))
my.sample <- sample(pop,n)
mean(pop)
compare.boots(my.sample)
Dies ergibt folgendes. Beachten Sie, dass "conf.t" - die Bootstrap-t-Version - ein breiteres Konfidenzintervall als die beiden anderen bietet. Grundsätzlich ist es besser, auf die ungewöhnliche Verteilung der Bevölkerung zu reagieren.
> mean(pop)
[1] 13.02341
> compare.boots(my.sample)
97.5% 2.5%
conf.t 10.432285 29.54331
conf.p 9.813542 19.67761
Trad T test 8.312949 20.24093
Schließlich finden Sie hier tausend Simulationen, um zu sehen, welche Version die am häufigsten korrekten Konfidenzintervalle liefert:
# simulation study
set.seed(123)
sims <- 1000
results <- matrix(FALSE, sims,3)
colnames(results) <- c("Bootstrap T", "Bootstrap percentile", "Trad T test")
for(i in 1:sims){
pop <- c(rnorm(1000,10,2),rgamma(3000,3,1)*4, rnorm(200,45,7))
my.sample <- sample(pop,n)
mu <- mean(pop)
x <- compare.boots(my.sample)
for(j in 1:3){
results[i,j] <- x[j,1] < mu & x[j,2] > mu
}
}
apply(results,2,sum)
Dies ergibt die folgenden Ergebnisse - die Zahlen sind die Zeiten von 1.000, zu denen das Konfidenzintervall den wahren Wert einer simulierten Grundgesamtheit enthält. Beachten Sie, dass die tatsächliche Erfolgsquote jeder Version deutlich unter 95% liegt.
Bootstrap T Bootstrap percentile Trad T test
901 854 890