R, Times Series, Arima Model, Prognozowanie, Dzienne dane [zamknięte]

Próbuję prognozować popyt z codziennymi danymi, od 16 stycznia 2012 r. Do 10 października 2013 r. Jednak prognozowanie po prostu daje okropne wyniki. Jakiś powód, dlaczego?

Tak wyglądają dane na wykresie: Istnieją tygodniowe i miesięczne sezonowości. Tj .: większy popyt w dni powszednie i mniejszy popyt w weekend.

Oto, jak wygląda wykres predykcyjny: gdzie czarna linia to rzeczywiste dane, a niebieska to przewidywane dane.

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

Zrobiłem wiele badań, jak dopasować codzienne dane za pomocą modelu arima. A ponieważ istnieje cotygodniowa sezonowość, wybrałem częstotliwość = 7.

Jednak ponieważ przewidywania są złe. I ktoś był na tyle miły, aby wskazać jedną z metod, które profesor Hyndman podzielił na temat dopasowania modeli z wieloma sezonowością.

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

Wziąłem więc radę dobrych ludzi i dopasowałem modele za pomocą 2 metod z powyższego linku.

Metoda 1: Używanie funkcji tbats ().

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

Użyłem tygodniowej sezonowości 7 i rocznej sezonowości 7 * 52. Odkąd nie znalazłem łatwego sposobu na uzyskanie miesięcznej sezonowości. W oparciu o wynik prognozy również nie są dobre. Uwaga: jeśli użyję 7 * 4 jako drugiego okresu sezonowego dla miesiąca, daje to gorsze prognozy.

Metoda 2: Używanie Fouriera jako 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))

Wypróbowałem go z innym K i nie poprawia to przewidywania.

Dlatego utknąłem! Ponieważ prognozowanie jest daleko. Czy ktoś mógłby wskazać, gdzie są moje błędy? Lub jak powinienem ulepszyć swój model?

Wielkie dzięki!

questionAnswers(1)

yourAnswerToTheQuestion