Wie macht man Bootstrapping mit Zeitreihendaten?

33

Ich habe kürzlich gelernt, Bootstrapping-Techniken zu verwenden, um Standardfehler und Konfidenzintervalle für Schätzer zu berechnen. Was ich gelernt habe war, dass wenn die Daten IID sind, Sie die Probendaten als Grundgesamtheit behandeln und eine Stichprobenerhebung mit Ersatz durchführen können. Auf diese Weise können Sie mehrere Simulationen einer Teststatistik erhalten.

Bei Zeitreihen ist dies eindeutig nicht möglich, da wahrscheinlich eine Autokorrelation besteht. Ich habe eine Zeitreihe und möchte den Mittelwert der Daten vor und nach einem festen Datum berechnen. Gibt es einen korrekten Weg, dies mit einer modifizierten Version von Bootstrapping zu tun?

statnub
quelle
16
Schlüsselbegriff: Block Bootstrap.
Kardinal

Antworten:

26

Wie @cardinal hervorhebt, sind Variationen des "Block-Bootstraps" ein natürlicher Ansatz. Hier wählen Sie je nach Methode Abschnitte der Zeitreihe aus, die sich entweder überlappen oder nicht und von fester Länge oder zufällig sind, wodurch die Stationarität in den Stichproben gewährleistet wird ( Politis und Romano, 1991 ). Anschließend werden sie wieder zusammengefügt, um neu abgetastete Zeitreihen zu erstellen auf dem Sie Ihre Statistik berechnen. Sie können auch versuchen, Modelle der zeitlichen Abhängigkeiten zu erstellen, die zu Markov-Methoden, autoregressiven Sieben und anderen führen. Block-Bootstrapping ist jedoch wahrscheinlich die am einfachsten zu implementierende Methode.

Gonçalves and Politis (2011) ist eine sehr kurze Übersicht mit Referenzen. Eine buchlange Behandlung ist Lahiri (2010) .

Conjugateprior
quelle
@statnub Wenn dies mit Ihrer vorherigen Frage zu wöchentlichen Verkaufsinterventionen zusammenhängt, beachten Sie, dass Sie booten würden, wenn Sie den Modellannahmen, die Sie dort implementiert haben, nicht vertrauen würden. Die Verwendung eines vertretbaren Zeitreihenmodells sollte in erster Linie das Risiko von Dingen minimieren, die auf diese Art von Bootstrapping hindeuten ...
conjugateprior
5
Gute Antwort. Lassen Sie mich nur hinzufügen, dass Sie tsbootin dem bootPaket in R verwenden können, um dies zu tun.
MånsT
@ MånsT Schön. Ich hatte von diesem Paket nichts gewusst.
Conjugateprior
4

x1,···,xnx1,x2,···,xn

Das modellbasierte Resampling kann problemlos in Zeitreihen übernommen werden. Die Resamples werden durch Simulation des Zeitreihenmodells erhalten. Wenn das Modell beispielsweise ARIMA (p, d, q) ist, dann die Resamples eines ARIMA (p, q) -Modells mit MLEs (aus der differenzierten Reihe) der autoregressiven und gleitenden Durchschnittskoeffizienten und der Rauschvarianz. Die Resamples sind die Sequenzen der Teilsumme des simulierten ARIMA (p, q) -Prozesses.

Das modellfreie Resampling von Zeitreihen wird durch Block-Resampling (auch als Block-Bootstrap bezeichnet) durchgeführt, das mit der Funktion tsboot im Boot-Paket von R implementiert werden kann. Die Idee ist, die Serie in ungefähr gleich lange Blöcke aufeinanderfolgender Beobachtungen zu unterteilen, den Block mit Ersetzung neu abzutasten und die Blöcke dann zusammenzufügen. Wenn beispielsweise die Zeitreihe eine Länge von 200 hat und 10 Blöcke mit einer Länge von 20 verwendet werden, handelt es sich bei den Blöcken um die ersten 20 Beobachtungen, die nächsten 20 usw. Ein mögliches Resample ist der vierte Block (Beobachtung 61 bis 80), dann der letzte Block (Beobachtung 181 bis 200), dann der zweite Block (Beobachtung 21 bis 40), dann der vierte Block und so weiter, bis es 10 Blöcke gibt im resample.

economia
quelle
1
Es gibt andere Formen von Block-Bootstrap-Methoden, einschließlich überlappender Block-Bootstraps und kreisförmiger Block-Bootstraps, die ausführlich in Lahiris (2003) Buch "Resampling Methods for Dependent Data" beschrieben sind. Diese Methoden sind auf stationäre Zeitreihen anwendbar.
Michael R. Chernick