Ich habe die folgende Frage für einen Kurs, an dem ich arbeite:
Führen Sie eine Monte-Carlo-Studie durch, um die Abdeckungswahrscheinlichkeiten des normalen Standard-Bootstrap-Konfidenzintervalls und des grundlegenden Bootstrap-Konfidenzintervalls abzuschätzen. Stichprobe aus einer normalen Population und Überprüfung der empirischen Abdeckungsraten für den Stichprobenmittelwert.
Die Abdeckungswahrscheinlichkeiten für das normale Standard-Bootstrap-CI sind einfach:
n = 1000;
alpha = c(0.025, 0.975);
x = rnorm(n, 0, 1);
mu = mean(x);
sqrt.n = sqrt(n);
LNorm = numeric(B);
UNorm = numeric(B);
for(j in 1:B)
{
smpl = x[sample(1:n, size = n, replace = TRUE)];
xbar = mean(smpl);
s = sd(smpl);
LNorm[j] = xbar + qnorm(alpha[1]) * (s / sqrt.n);
UNorm[j] = xbar + qnorm(alpha[2]) * (s / sqrt.n);
}
mean(LNorm < 0 & UNorm > 0); # Approximates to 0.95
# NOTE: it is not good enough to look at overall coverage
# Must compute separately for each tail
Aus dem, was ich für diesen Kurs gelernt habe, kann das grundlegende Bootstrap- Konfidenzintervall wie folgt berechnet werden:
# Using x from previous...
R = boot(data = x, R=1000, statistic = function(x, i){ mean(x[i]); });
result = 2 * mu - quantile(R$t, alpha, type=1);
Das macht Sinn. Was ich nicht verstehe, ist die Berechnung der Abdeckungswahrscheinlichkeiten für das grundlegende Bootstrap-CI. Ich verstehe, dass die Abdeckungswahrscheinlichkeit die Häufigkeit darstellt, mit der das CI den wahren Wert enthält (in diesem Fall mu
). Führe ich die boot
Funktion einfach viele Male aus?
Wie kann ich diese Frage anders angehen?
smpl = x[sample(1:n, size = 100, replace = TRUE)];
kann vereinfacht werden , um smpl = sample(x, size=100, replace=TRUE)
.
mu
wie 0. Das normale CI funktioniert einwandfrei. Es ist das grundlegende Bootstrap-CI, mit dem ich Schwierigkeiten habe.
size=100
Tippfehler? Ich glaube nicht, dass Sie die richtigen oberen und unteren Grenzen erhalten, da die implizite Stichprobengröße 1000 zu sein scheint, wenn Sie Ihre CIs in der Schleife berechnen (da Sie siesqrt.n
in der Berechnung verwenden). Warum vergleichen Sie mitmu
und nicht direkt mit 0 (letzteres ist der wahre Mittelwert)?