Vorhersage von ARIMA mit "Vorhersage" gegen "Vorhersage" in R [geschlossen]

8

Daten, die aus 30 Werten bestehen, werden in einer Zeitreihe gespeichert time.
Nachdem timeich die ARIMA-Modellierung angewendet hatte, verwendete ich die forecastFunktion, um zukünftige Werte vorherzusagen:

model = arima(time, order = c(3,2,1))
prediction = forecast.Arima(model,h=10)
prediction step is not working and showing error 
Error in ts(x) : object is not a matrix

Wie Sie oben sehen, wird eine Fehlermeldung angezeigt. Aber wenn ich es mache

model = arima(time[1:25], order = c(3,2,1))
prediction = forecast.Arima(model,h=10)

Es klappt. Wieso ist es so?

Als ich die predictFunktion benutzt habe

model = arima(time, order = c(3,2,1))
prediction=predict(model,n.ahead=10)

es funktioniert auch.

Welche Funktion wäre besser zu nutzen, predictoder forecast, für ARIMA - Modelle in R, und warum ?

Nancy
quelle
2
Erwähnen Sie immer die Sprache, die Sie verwenden. Es ist noch nicht wahr, dass die gesamte statistische Welt R.
Nick Cox

Antworten:

7

Sie werden Ihnen die gleichen Antworten geben. Die Kombination von Arima(nicht arima) und forecastaus dem Prognosepaket sind jedoch erweiterte Versionen mit zusätzlichen Funktionen.

Arimaruft stats::arimadie Schätzung auf, speichert jedoch weitere Informationen im zurückgegebenen Objekt. Es ermöglicht auch einige zusätzliche Modellfunktionen, z. B. das Einfügen eines Driftterms in ein Modell mit einer Einheitswurzel.

forecastAufrufe stats::predictzur Erstellung der Prognosen. Es wird automatisch der Drift-Term von behandelt Arima. Es gibt ein Prognoseobjekt (anstelle einer einfachen Liste) zurück, das zum Zeichnen, Anzeigen, Zusammenfassen und Analysieren der Ergebnisse nützlich ist.

Rob Hyndman
quelle