Dobre praktyki podczas prognozowania szeregów czasowych

10

Od miesięcy pracuję nad krótkoterminowym prognozowaniem obciążenia i wykorzystaniem danych klimatycznych / pogodowych w celu zwiększenia dokładności. Mam wykształcenie informatyczne i dlatego staram się nie popełniać dużych błędów i niesprawiedliwych porównań, pracując z narzędziami statystycznymi, takimi jak modele ARIMA. Chciałbym poznać Twoją opinię na temat kilku rzeczy:

  1. Używam zarówno modeli (S) ARIMA, jak i (S) ARIMAX, aby zbadać wpływ danych pogodowych na prognozowanie. Czy uważasz, że konieczne byłoby zastosowanie również metod wygładzania wykładniczego?

  2. Mając szereg czasowy 300 próbek dziennych, zaczynam od pierwszych dwóch tygodni i wykonuję prognozę z 5-dniowym wyprzedzeniem, używając modeli zbudowanych z funkcją auto.arima R (pakiet prognozy). Następnie dodaję kolejną próbkę do mojego zestawu danych i ponownie kalibruję modele i wykonuję kolejną prognozę na 5 dni i tak dalej, aż do końca dostępnych danych. Czy uważasz, że ten sposób działania jest prawidłowy?

Dziękuję za sugestie, chociaż celem naszej pracy jest artykuł w czasopiśmie inżynierskim, chciałbym wykonać pracę tak rygorystyczną, jak to możliwe z statystycznego punktu widzenia.

Matteo De Felice
źródło
1
To pytanie wydaje się być blisko powiązane: stats.stackexchange.com/questions/16915/…
whuber
1
Oto stara odpowiedź stats.stackexchange.com/questions/6513/…
bill_080,

Odpowiedzi:

9
  1. Myślę, że warto również zbadać modele wygładzania wykładniczego. Modele wygładzania wykładniczego są zasadniczo inną klasą modeli niż modele ARIMA i mogą dawać inne wyniki w danych.

  2. To brzmi jak prawidłowe podejście i jest bardzo podobne do metody krzyżowej walidacji szeregów czasowych zaproponowanej przez Roba Hyndmana .

Zsumowałem błąd weryfikacji krzyżowej z każdej prognozy (wygładzanie wykładnicze, ARIMA, ARMAX), a następnie wykorzystałem ogólny błąd do porównania 3 metod.

Możesz również rozważyć „wyszukiwanie siatki” parametrów ARIMA zamiast korzystania z auto.arima. Podczas wyszukiwania w siatce eksplorowałbyś każdy możliwy parametr dla modelu arima, a następnie wybierałeś „najlepsze” przy użyciu dokładności prognozy.

Zach
źródło
Dziękuję za odpowiedź, używam auto.arima z wyłączonym wyszukiwaniem STEPWISE i myślę, że w ten sposób zbada wszystkie parametry między zakresem min-max (jeszcze nie przeczytałem artykułu Hyndman & Kandahar 2008)
Matteo De Felice,
@Matteo De Felice: chodzi o to, że optymalizuje te parametry w oparciu o AIC. Sugerowałem, że warto zoptymalizować te parametry pod kątem wydajności poza próbą, którą można ocenić na drodze weryfikacji krzyżowej. Ponadto, jeśli chcesz porównać inne modele (takie jak ETS), będziesz potrzebować pomiaru wydajności poza próbą, ponieważ nie możesz porównać AIC między różnymi typami modeli (np. Auto.arima i ets).
Zach.
w tym momencie przeprowadziłem wyszukiwanie siatki (używając auto.arima z krokowym = FAŁSZ), a następnie wypróbowałem najczęstsze modele w celu oceny ich wydajności.
Matteo De Felice,
@Matteo De Felice: Jeśli masz problemy z implementacją krzyżowej weryfikacji szeregów czasowych, ten post na blogu może pomóc: robjhyndman.com/researchtips/tscvexample
Zach.
Należy zauważyć, że modele ARIMA i ETS nie różnią się zasadniczo. W rzeczywistości modele liniowego wygładzania wykładniczego są specjalnymi przypadkami modeli ARIMA. Zobacz tutaj: otexts.org/fpp/8/10 .
Wart