R, Zeitreihen, Arima-Modell, Vorhersage, Tägliche Daten [geschlossen]

Ich versuche, eine Bedarfsprognose mit täglichen Daten vom 16. Januar 2012 bis zum 10. Oktober 2013 durchzuführen. Die Prognose liefert jedoch nur schreckliche Ergebnisse. Irgendeine Ahnung warum?

So sehen die Daten in einem Plot aus: Es gibt wöchentliche und monatliche Saisonalitäten. Dh: Mehr Nachfrage unter der Woche und weniger Nachfrage am Wochenende.

So sieht das Vorhersage-Diagramm aus: Wo die schwarze Linie die tatsächlichen Daten und die blaue Linie die vorhergesagten Daten sind.

 x = ts(data, freq=7, start=c(3,2))
 fit <- auto.arima(x)
 pred <- forecast(fit, h=300)

Ich habe viel recherchiert, wie ich tägliche Daten mit dem Arima-Modell kombinieren kann. Und da es wöchentliche Saisonalitäten gibt, habe ich freq = 7 gewählt.

Da sind die Vorhersagen jedoch schlecht. Und jemand war nett genug, um auf eine der Methoden hinzuweisen, die Professor Hyndman zur Anpassung von Modellen mit mehreren Saisonalitäten teilte.

https://stats.stackexchange.com/questions/74418/frequency-of-time-series-in-r/74426#74426

Also nahm ich den Rat der Guten an und passte die Modelle mit den angegebenen 2 Methoden aus dem obigen Link an.

Methode 1: Verwenden der Funktion tbats ().

x_new <- msts(x, seasonal.periods=c(7,7*52))
fit <- tbats(x_new)
fc <- forecast(fit, h=7*52)

Ich habe die wöchentliche Saisonalität 7 und die jährliche Saisonalität 7 * 52 verwendet. Da ich keinen einfachen Weg gefunden habe, um die monatliche Saisonabhängigkeit zu ermitteln. Aufgrund des Ergebnisses ist die Vorhersage ebenfalls nicht gut. Hinweis: Wenn ich 7 * 4 als zweite Saisonperiode für den Monat verwende, ergibt sich eine schlechtere Vorhersage.

Methode 2: Verwenden von Fourieren als xreg.

seas1 <- fourier(x, K=1)
seas2 <- fourier(ts(x,freq=7*52), K=1)
fit <- auto.arima(x, xreg=cbind(seas1,seas2))
seas1.f <- fourierf(x, K=1, h=7*52)
seas2.f <- fourierf(ts(x,freq=7*52), K=1, h=7*52)
fc1 <- forecast(fit, xreg=cbind(seas1.f, seas2.f))

Ich habe es mit einem anderen K versucht und es verbessert die Vorhersage nicht.

Deshalb stecke ich fest! Da ist die Prognose weit davon entfernt. Könnte jemand bitte darauf hinweisen, wo meine Fehler sind? Oder wie soll ich mein Modell verbessern?

Danke vielmals!

Antworten auf die Frage(1)

Ihre Antwort auf die Frage