Wie berechnet R Vorhersageintervalle im Prognosepaket?

7

Ich habe einen großen Datensatz mit verschiedenen Faktoren, die ich für die Zukunft prognostizieren möchte. Diese Vorhersagen werde ich später als Input für eine Monte-Carlo-Simulation verwenden. Meine Idee wäre, die Arima-Vorhersage für die verschiedenen Variablen zu verwenden. Anschließend würde ich das resultierende Vorhersageintervall als Eingabe für die Monte-Carlo-Simulation verwenden.

Mit R bekomme ich (glaube ich) das, was ich will, indem ich Folgendes verwende.

Zuerst setze ich einige Parameter FC_years <- 4 FC_boundaries <- 68 # Dies wäre 1 sd

Als nächstes erfolgt die Vorhersage durch: fit <- auto.arima(POP) forecast <- data.frame(forecast(fit,FC_years,level=FC_boundaries))

Was für mich jetzt sehr wichtig ist, um diese Ergebnisse für eine MC-Simulation zu verwenden, ist zu wissen, wie R das Vorhersageintervall berechnet (ich habe schon eine ganze Weile gesucht, aber ich kann keine klare Antwort bekommen), und wie dieses Intervall verteilt ist (ich nehme an, es ist normal, aber ich kann auch hier keine klare Antwort bekommen).

Nur als Beispiel könnte der folgende Datensatz verwendet werden:

1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 68235 72498 76700 80326 83195 85447 87276 89004 90858 92894 94995 97015 98742 100031 100830 101219 101344 101418 101597 101932 102384 102911

Kann mir jemand einen Hinweis geben?

Emil
quelle

Antworten:

3

Sofern Sie nicht die Option bootstrap = TRUE der Prognosefunktion verwenden, werden die ARIMA-Intervalle des Prognosepakets berechnet, indem ein ARIMA-Objekt zur Vorhersage übergeben wird (). Die Intervalle setzen voraus, dass die Residuen normal verteilt sind. Wenn Sie sich die R-Dokumentation für Predict.Arima () ansehen, werden Sie feststellen, dass KalmanForecast () verwendet wird, um sie zu erstellen.

Unter dem folgenden Link finden Sie eine gute Beschreibung zum manuellen Berechnen eines Vorhersageintervalls für ein ARIMA-Modell: https://onlinecourses.science.psu.edu/stat510/node/66

Der Code ist auf Rob Hyndmans Github-Seite hier verfügbar: https://github.com/robjhyndman/forecast/blob/master/R/arima.R

Eine Ausnahme von den resultierenden Vorhersageintervallen, die um die Punktschätzung herum normal sind, besteht darin, dass Sie Lambda eingestellt haben (eine Box-Cox-Transformation verwenden). In diesem Fall sind sie nach der Rücktransformation nicht normal.

piove
quelle
3

https://www.otexts.org/fpp/2/7 Geht auf einige weitere Details ein.

Das 95% -Vorhersageintervall beträgtyt±1,96σ

und

Das Vorhersageintervall von 80% beträgtyt±1.28σ

Wobei ein Prognosewert ist und "eine Schätzung der Standardabweichung der Prognoseverteilung" ist.ytσ

DataJack
quelle