Ich wollte eine Klassendemonstration durchführen, bei der ich ein t-Intervall mit einem Bootstrap-Intervall vergleiche und die Überdeckungswahrscheinlichkeit für beide berechne. Ich wollte, dass die Daten aus einer verzerrten Verteilung stammen, also habe ich mich dafür entschieden, die Daten als exp(rnorm(10, 0, 2)) + 1
eine Stichprobe der Größe 10 aus einem verschobenen Lognormal zu generieren . Ich habe ein Skript zum Zeichnen von 1000 Samples geschrieben und für jedes Sample ein 95% t-Intervall und ein 95% Bootstrap-Perzentilintervall basierend auf 1000 Replikaten berechnet.
Wenn ich das Skript ausführe, geben beide Methoden sehr ähnliche Intervalle an und beide haben eine Abdeckungswahrscheinlichkeit von 50-60%. Ich war überrascht, weil ich dachte, das Bootstrap-Intervall wäre besser.
Meine Frage ist, habe ich
- Fehler im Code gemacht?
- Fehler bei der Berechnung der Intervalle gemacht?
- einen Fehler gemacht, indem erwartet wurde, dass das Bootstrap-Intervall bessere Abdeckungseigenschaften hat?
Gibt es in dieser Situation auch eine Möglichkeit, ein zuverlässigeres CI zu erstellen?
tCI.total <- 0
bootCI.total <- 0
m <- 10 # sample size
true.mean <- exp(2) + 1
for (i in 1:1000){
samp <- exp(rnorm(m,0,2)) + 1
tCI <- mean(samp) + c(1,-1)*qt(0.025,df=9)*sd(samp)/sqrt(10)
boot.means <- rep(0,1000)
for (j in 1:1000) boot.means[j] <- mean(sample(samp,m,replace=T))
bootCI <- sort(boot.means)[c(0.025*length(boot.means), 0.975*length(boot.means))]
if (true.mean > min(tCI) & true.mean < max(tCI)) tCI.total <- tCI.total + 1
if (true.mean > min(bootCI) & true.mean < max(bootCI)) bootCI.total <- bootCI.total + 1
}
tCI.total/1000 # estimate of t interval coverage probability
bootCI.total/1000 # estimate of bootstrap interval coverage probability
quelle
Antworten:
Bootstrap-Diagnosen und Abhilfemaßnahmen von Canto, Davison, Hinkley & Ventura (2006) scheinen ein logischer Ausgangspunkt zu sein. Sie diskutieren verschiedene Möglichkeiten, wie der Bootstrap ausfallen kann, und bieten - was noch wichtiger ist - Diagnosen und mögliche Abhilfemaßnahmen an:
Ich sehe in dieser Situation kein Problem mit 1, 2 und 4. Schauen wir uns 3 an. Wie @Ben Ogorek feststellt (obwohl ich mit @Glen_b übereinstimme, dass die Normalitätsdiskussion ein roter Hering sein könnte), hängt die Gültigkeit des Bootstraps von der Dreh- und Angelpunktzahl der Statistik ab, an der wir interessiert sind.
Abschnitt 4 in Canty et al. schlägt Resampling-in-Resamples vor, um ein Maß für die Abweichung und Varianz für die Parameterschätzung in jedem Bootstrap-Resample zu erhalten . Hier ist Code, um die Formeln von p zu replizieren. 15 des Artikels:
Beachten Sie die Protokollskalen - ohne Protokolle ist dies noch offensichtlicher. Wir sehen gut, wie die Varianz der Bootstrap-Mittelwertschätzung mit dem Mittelwert der Bootstrap-Stichprobe steigt. Das scheint mir eine rauchende Waffe genug zu sein, um der Nicht-Pivotalität als Schuld an der Abdeckung des niedrigen Vertrauensintervalls die Schuld zu geben.
Ich gebe jedoch gerne zu, dass man auf viele Arten weiterverfolgen kann. Beispielsweise könnten wir untersuchen, ob das Konfidenzintervall eines bestimmten Bootstrap-Replikats den wahren Mittelwert enthält, der vom Mittelwert des jeweiligen Replikats abhängt.
In Bezug auf Abhilfemaßnahmen haben Canty et al. Hier werden Transformationen besprochen und Logarithmen in den Sinn kommen (z. B. Bootstrap und Erstellen von Konfidenzintervallen nicht für den Mittelwert, sondern für den Mittelwert der protokollierten Daten), aber ich konnte es nicht wirklich zum Laufen bringen.
Canty et al. Fahren Sie mit der Diskussion fort, wie Sie sowohl die Anzahl der inneren Bootstraps als auch das verbleibende Rauschen durch wichtiges Abtasten und Glätten reduzieren und den Pivot-Plots Vertrauensbereiche hinzufügen können.
Dies könnte ein unterhaltsames Diplomarbeitsprojekt für einen klugen Studenten sein. Ich würde mich über Hinweise freuen, auf die ich mich geirrt habe, sowie auf jede andere Literatur. Und ich erlaube mir, das
diagnostic
Tag zu dieser Frage hinzuzufügen .quelle
Dann habe ich ein bisschen mehr über das ganze Setup nachgedacht. Ist es dann mit nur 10 Beobachtungen und einer extrem verzerrten Verteilung nicht grundsätzlich unmöglich, den Mittelwert nichtparametrisch zu schätzen, geschweige denn Konfidenzintervalle mit der richtigen Abdeckung zu konstruieren?
quelle
Die Berechnungen stimmten, ich habe mit dem bekannten Paket- Boot abgeglichen . Zusätzlich habe ich das BCa-Intervall (von Efron) hinzugefügt, eine verzerrte Version des Perzentil-Bootstrap-Intervalls:
Ich gehe davon aus, dass die Intervalle viel besser wären, wenn die ursprüngliche Stichprobengröße größer als 10 wäre, z. B. 20 oder 50.
Darüber hinaus führt die Bootstrap-t- Methode in der Regel zu besseren Ergebnissen für verzerrte Statistiken. Es benötigt jedoch eine verschachtelte Schleife und daher mehr als 20 Mal mehr Rechenzeit.
Für das Testen von Hypothesen ist es auch sehr wichtig, dass die einseitige Abdeckung gut ist. Daher kann es oft irreführend sein, nur die doppelseitigen Abdeckungen zu betrachten.
quelle
Ich war auch darüber verwirrt und verbrachte viel Zeit mit den Bootstrap Confidence Intervals von 1996 von DiCiccio und Efron , ohne viel dafür zu beweisen .
Es hat mich tatsächlich dazu gebracht, weniger an den Bootstrap als eine Allzweckmethode zu denken. Früher stellte ich es mir als etwas vor, das Sie aus einem Stau zog, wenn Sie wirklich feststeckten. Aber ich habe sein schmutziges kleines Geheimnis gelernt: Die Bootstrap-Konfidenzintervalle basieren alle auf der einen oder anderen Normalität. Lassen Sie mich das erklären.
Wenn Sie darüber nachdenken, was die Beziehung der Perzentile der Normalverteilung zu Konfidenzintervallen rechtfertigt, dann basiert sie vollständig auf dieser geeigneten zentralen Größe. Bei einer beliebigen Verteilung gibt es keinen theoretischen Zusammenhang zwischen den Perzentilen der Stichprobenverteilung und den Konfidenzintervallen , und wenn rohe Anteile der Bootstrap-Stichprobenverteilung verwendet werden, wird dies nicht beeinträchtigt.
Daher verwenden Efrons BCa-Intervalle (Bias-korrigiert) Transformationen, um die Normalität zu approximieren, und Bootstrap-t-Methoden setzen voraus, dass die resultierenden t-Statistiken ungefähr von zentraler Bedeutung sind. Jetzt kann der Bootstrap die Hölle von Momenten abschätzen, und Sie können immer von Normalität ausgehen und den Standard +/- 2 * SE verwenden. Aber in Anbetracht der ganzen Arbeit, die mit dem Bootstrap anfing, nicht parametrisch zu werden, scheint es nicht ganz fair zu sein, oder?
quelle
Lesen Sie Tim Hesterbergs Artikel in The American Statistician unter http://www.timhesterberg.net/bootstrap#TOC-What-Teachers-Should-Know-about-the-Bootstrap:-Resampling-in-the-Undergraduate-Statistics-Curriculum .
Im Wesentlichen hat das Bootstrap-Perzentilintervall keine hohe Abdeckungswahrscheinlichkeit für verzerrte Daten, es sei denn, n ist groß.
quelle