Es gibt zahlreiche Möglichkeiten, Bootstrap-CIs und p-Werte zu berechnen. Das Hauptproblem ist, dass es für den Bootstrap unmöglich ist, Daten unter einer Nullhypothese zu generieren. Der Permutationstest ist eine realisierbare, auf Resampling basierende Alternative dazu. Um einen geeigneten Bootstrap zu verwenden, müssen Sie einige Annahmen über die Stichprobenverteilung der Teststatistik treffen.
β∗0= β^- β^∗β∗0= β^∗- β^
normaler Bootstrap
Ein Ansatz ist ein normaler Bootstrap, bei dem Sie den Mittelwert und die Standardabweichung der Bootstrap-Verteilung verwenden, um die Stichprobenverteilung unter der Null zu berechnen, indem Sie die Verteilung verschieben und die normalen Perzentile von der Nullverteilung zum Zeitpunkt der Schätzung im ursprünglichen Bootstrap-Beispiel verwenden . Dies ist ein vernünftiger Ansatz, wenn die Bootstrap-Verteilung normal ist. In der Regel ist hier eine Sichtprüfung ausreichend. Die Ergebnisse, die diesen Ansatz verwenden, liegen normalerweise sehr nahe an einer robusten oder sandwichbasierten Fehlerschätzung, die robust gegenüber Heteroskedastizität und / oder Annahmen zur Varianz endlicher Stichproben ist. Die Annahme einer normalen Teststatistik ist eine stärkere Voraussetzung für die Annahmen im nächsten Bootstrap-Test, den ich diskutieren werde.
Perzentil-Bootstrap
Ein weiterer Ansatz ist der Perzentil-Bootstrap, den die meisten von uns meiner Meinung nach in Betracht ziehen, wenn wir vom Bootstrap sprechen. Hier schätzt die Bootstrap-Verteilung der Parameter eine empirische Verteilung der Stichprobe unter der alternativen Hypothese. Diese Verteilung kann möglicherweise nicht normal sein. Ein 95% CI lässt sich leicht aus den empirischen Quantilen berechnen. Eine wichtige Annahme ist jedoch, dass eine solche Verteilung von entscheidender Bedeutung ist . Das heißt, wenn sich der zugrunde liegende Parameter ändert, wird die Form der Verteilung nur um eine Konstante verschoben, und die Skala ändert sich nicht unbedingt. Dies ist eine starke Annahme! Wenn dies zutrifft, können Sie die "Verteilung der Statistik unter der Nullhypothese" (DSNH oder erzeugenF∗02 × min ( F∗0( β^) , 1 - F∗0( β^) )
Studentized Bootstrap
p
Programmierbeispiel
Als Beispiel verwende ich die city
Daten im Bootstrap-Paket. Die Bootstrap-Konfidenzintervalle werden mit diesem Code berechnet:
ratio <- function(d, w) sum(d$x * w)/sum(d$u * w)
city.boot <- boot(city, ratio, R = 999, stype = "w", sim = "ordinary")
boot.ci(city.boot, conf = c(0.90, 0.95),
type = c("norm", "basic", "perc", "bca"))
und erzeugen diese Ausgabe:
BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
Based on 999 bootstrap replicates
CALL :
boot.ci(boot.out = city.boot, conf = c(0.9, 0.95), type = c("norm",
"basic", "perc", "bca"))
Intervals :
Level Normal Basic
90% ( 1.111, 1.837 ) ( 1.030, 1.750 )
95% ( 1.042, 1.906 ) ( 0.895, 1.790 )
Level Percentile BCa
90% ( 1.291, 2.011 ) ( 1.292, 2.023 )
95% ( 1.251, 2.146 ) ( 1.255, 2.155 )
Calculations and Intervals on Original Scale
Der 95% CI für den normalen Bootstrap ergibt sich aus:
with(city.boot, 2*t0 - mean(t) + qnorm(c(0.025, 0.975)) %o% sqrt(var(t)[1,1]))
Der p-Wert wird so erhalten:
> with(city.boot, pnorm(abs((2*t0 - mean(t) - 1) / sqrt(var(t)[1,1])), lower.tail=F)*2)
[1] 0.0315
Das stimmt überein, dass der 95% -Normal-CI den Nullverhältniswert von 1 nicht enthält.
Der Perzentil-CI wird erhalten (mit einigen Unterschieden aufgrund der Bindungsmethoden):
quantile(city.boot$t, c(0.025, 0.975))
Und der p-Wert für den Perzentil-Bootstrap ist:
cvs <- quantile(city.boot$t0 - city.boot$t + 1, c(0.025, 0.975))
mean(city.boot$t > cvs[1] & city.boot$t < cvs[2])
Gibt ap von 0,035 an, was auch mit dem Konfidenzintervall hinsichtlich des Ausschlusses von 1 vom Wert übereinstimmt. Wir können im Allgemeinen nicht beobachten, dass, während die Breite des Perzentil-CI fast so breit ist wie die des normalen CI und dass das Perzentil-CI weiter von der Null entfernt ist, dass das Perzentil-CI niedrigere p-Werte liefern sollte. Dies liegt daran, dass die Form der dem CI für die Perzentilmethode zugrunde liegenden Stichprobenverteilung nicht normal ist.