Model szeregów czasowych

13

Muszę zautomatyzować prognozowanie szeregów czasowych i nie znam z góry cech tych szeregów (sezonowość, trend, hałas itp.).

Moim celem nie jest uzyskanie najlepszego możliwego modelu dla każdej serii, ale uniknięcie całkiem złych modeli. Innymi słowy, otrzymywanie drobnych błędów za każdym razem nie stanowi problemu, ale od czasu do czasu jest otrzymywanie dużych błędów.

Myślałem, że uda mi się to osiągnąć, łącząc modele obliczone przy użyciu różnych technik.

Oznacza to, że chociaż ARIMA byłoby najlepszym podejściem do konkretnej serii, może nie być najlepsze w przypadku innej serii; to samo dotyczy wygładzania wykładniczego.

Jeśli jednak połączę jeden model z każdej techniki, nawet jeśli jeden model nie jest tak dobry, drugi zbliży oszacowanie do rzeczywistej wartości.

Powszechnie wiadomo, że ARIMA działa lepiej w przypadku długoterminowych, dobrze wychowanych serii, podczas gdy wygładzanie wykładnicze wyróżnia się w przypadku krótkotrwałych, hałaśliwych serii.

  • Moim pomysłem jest połączenie modeli wygenerowanych z obu technik, aby uzyskać bardziej wiarygodne prognozy, czy ma to sens?

Istnieje wiele sposobów łączenia tych modeli.

  • Jeśli jest to dobre podejście, jak mam je połączyć?

Prosty środek prognoz jest opcją, ale może mógłbym uzyskać lepsze przewidywania, jeśli ważę średnią zgodnie z pewną miarą dobroci modelu.

  • Jakie byłoby potraktowanie wariancji podczas łączenia modeli?
João Daniel
źródło
Twoje pomysły brzmią świetnie, ale nie jestem pewien, czy używamy automatycznie dopasowanych modeli ARIMA. Być może w przypadku serii jednowymiarowych ... Konwencjonalna mądrość jest taka, że ​​Holt-Winters jest dość solidny, używany automatycznie, więc może to być twoja podstawa do porównań metod poza próbą.
Scortchi - Przywróć Monikę
@Scortchi Zapomniałem wspomnieć, że wszystkie serie są jednowymiarowe! ;) Zgadzam się, że Holt-Winters działa naprawdę dobrze, gdy jest używany automatycznie, ale zamierzam uzyskać jeszcze jedną opinię z innego modelu, aby uniknąć przypadków, w których prognozy nie są tak dobre. Czasami HW wykazuje dziwne trendy.
João Daniel
1
Nawet w przypadku jednego wariantu staram się wyobrazić sobie automatyczną procedurę - istnieje tendencja (stochastyczna lub deterministyczna), możliwe transformacje, sezonowość (multiplikatywna lub addytywna) do przemyślenia i stwierdzam, że aby uzyskać model, korzystam z dużej wiedzy o tym, co byłoby rozsądne dla tego, co konkretna seria reprezentuje w rzeczywistości. Mimo to dowodem na to, że budyń jest w jedzeniu - naprawdę chciałem tylko powiedzieć, żeby nie zapomnieć o wykonywaniu porównań poza próbą za pomocą prostych technik - więc powodzenia.
Scortchi - Przywróć Monikę

Odpowiedzi:

15

Łączenie prognoz to doskonały pomysł. (Myślę, że nie jest przesadą stwierdzenie, że jest to jedna z niewielu rzeczy, które zgadzają się akademiccy prognostycy.)

Zdarzyło mi się pisać jakiś czas temu przegląd różnych sposobów ważenia prognoz w ich łączeniu: http://www.sciencedirect.com/science/article/pii/S0169207010001032 Zasadniczo używanie wag (Akaike) nie konsekwentnie poprawia kombinacje nad prostymi lub przyciętymi / winsorizowanymi środkami lub medianami, więc osobiście pomyślałem dwa razy przed wdrożeniem złożonej procedury, która może nie przynieść wyraźnych korzyści (przypominam jednak, że kombinacje konsekwentnie przewyższały wybór pojedynczych metod według kryteriów informacyjnych). Oczywiście może to zależeć od konkretnego szeregu czasowego.

Patrzyłem na łączenie przedziałów predykcji w powyższym artykule, ale nie na łączenie wariancji jako takiej. Wydaje mi się, że przypominam sobie artykuł niedługo z powrotem w IJF o tym fakcie , więc możesz chcieć wyszukać „łączenie” lub „kombinację” poprzez poprzednie wydania IJF.

Kilka innych artykułów, które analizowały łączenie prognoz, znajduje się tutaj (od 1989 r., Ale przegląd) i tu i tutaj (również na temat gęstości) oraz tutaj i tutaj. Wiele z nich zauważa, że ​​wciąż nie jest dobrze zrozumiane, dlaczego kombinacje prognoz często przewyższają pojedyncze wybrane modele. Przedostatni artykuł dotyczy konkursu prognozowania M3; jednym z ich głównych ustaleń było (liczba (3) na s. 458), że „Dokładność kombinacji różnych metod przewyższa średnio poszczególne metody łączone i ma się dobrze w porównaniu z innymi metodami”. Ostatni z tych dokumentów stwierdza, że ​​kombinacje niekoniecznie działają lepiej niż pojedyncze modele, ale mogą znacznie zmniejszyć ryzyko katastrofalnej awarii (co jest jednym z twoich celów). Więcej literatury można łatwo znaleźć w International Journal of Forecasting , Journal of Forecasting oraz do bardziej szczegółowych zastosowań w ekonometrii lub literaturze dotyczącej łańcucha dostaw.

Stephan Kolassa
źródło
1
Świetny punkt widzenia na temat łączenia modeli! Twoja odpowiedź była bardzo konstruktywna!
João Daniel
@Stephan Kolassa, czy miałbyś jakieś uwagi na temat łączenia predyktorów do przodu i do tyłu, tak jak w metodzie Burg?
dniu
@denis: Nie znam predyktorów do przodu ani do tyłu, ani metody Burga, przepraszam ... chociaż zakładam, że łączenie prognoz / prognoz (inaczej metod zespolonych) zwykle będzie korzystne.
Stephan Kolassa,
Cześć Stephan, świetny artykuł. Wygląda na to, że witryna czasopisma uległa zmianie i nie jest już możliwe pobranie kodu R z głównej strony. Czy hosting jest teraz w innej witrynie?
Ian
@Ian: możesz nie mieć do niego dostępu, jeśli nie subskrybujesz. Wyślij mi e-mail ( znajdź mój adres tutaj ), wyślę skrypty. Daj mi kilka dni na ich wykopanie.
Stephan Kolassa
1

Dlaczego nie sprecyzować? Nie sądzę, aby którykolwiek wyprodukowany przez ciebie model mógł być lepszy lub wystarczająco dobry niż konkretny wybór.

To powiedziawszy, jeśli możesz zawęzić nieco swoje wybory do tych, które możesz przetestować, a wprowadzanie danych może być znormalizowane, to dlaczego nie napisać automatycznej procedury testowej w języku R?

Załóżmy, że zdecydujesz, że Twoje dane mieszczą się w zakresie, który ma być oszacowany na podstawie pięciu modeli, a także jednego „rezerwowego”. Powiedz, że możesz scharakteryzować dane wejściowe za pomocą różnych testów. Następnie po prostu napisz i napisz algorytm R (lub podobny program), który uruchomi to za Ciebie. Działa to, jeśli można utworzyć schemat blokowy, który model uruchomić na podstawie danych testowych, to znaczy, jeśli dowolny punkt drzewa decyzyjnego jest binarny.

Jeśli nie jest to możliwe, ponieważ decyzja może nie być binarna, sugeruję wdrożenie systemu oceniania opartego na odpowiednich testach i przeprowadzenie symulacji danych „ekstremalnych przypadków” w sieci, aby sprawdzić, czy wyniki są tym, czego szukasz.

Możesz oczywiście łączyć te rzeczy, na przykład testowanie niestacjonarności może dać jednoznaczne tak-nie, podczas gdy inne atrybuty mogą należeć do zakresu, takiego jak wielokoliniowość.
Możesz to najpierw narysować na papierze, a następnie zbudować, zasymulować za pomocą znanych dystrybucji, których się spodziewasz.

Następnie po prostu uruchom program R za każdym razem, gdy pojawią się nowe dane. Nie widzę potrzeby łączenia kilku modeli z możliwościami obliczeniowymi, które najprawdopodobniej masz pod ręką.

IMA
źródło
Zawężanie opcji jest dobrym pomysłem, na przykład nie stosowanie metod niesezonowych, jeśli dane są oczywiście sezonowe. Ale nawet wtedy argumentowałbym, że uśrednianie wielu modeli sezonowych (sezonowość addytywna vs. multiplikatywna, z trendem lub bez itp.) Średnio poprawi dokładność prognoz. Przynajmniej takie wrażenie wywarłem z dość dużej ekspozycji na społeczność prognozującą, a także na M3 i podobne zawody prognostyczne.
Stephan Kolassa
Czy masz na ten temat dodatkowe dokumenty? Mam na myśli, że byłby to prosty, ale istotny temat badawczy. Bardzo ciekawy pomysł, choć intuicyjnie nie zgadzam się, że niekoniecznie byłby lepszy niż dynamiczna siatka modeli.
IMA
Słuszna uwaga. Zredagowałem swoją odpowiedź, dodając dodatkowy akapit z większą ilością wskazówek literackich. Zgadzam się, że jest to proste i stosowne, i wciąż nie jest dobrze zrozumiane, dlaczego uśrednianie prognoz zwykle poprawia dokładność.
Stephan Kolassa
Tak, mam na myśli, że możesz modelować wszelkiego rodzaju problemy dystrybucyjne i atakować je obliczeniowo i fundamentalnie. Dzięki za dokumenty, bardzo interesujące.
IMA
0

Istnieją ładne i proste formuły łączenia dwóch metod prognozowania, po prostu ważymy je, mnożąc pierwszą przez a, a drugą przez (1 - a), gdzie a można znaleźć, minimalizując wariancję tej połączonej prognozy. Znając błędy obu metod prognozowania, możesz obliczyć błędy kombinacji, które będą zależeć od „a”. Obliczenia są proste, gdy średnia dla każdej metody wynosi = 0. W przypadku łączenia więcej niż 2 metod formuły są nadal „proste” w tym sensie, że można je obliczyć analitycznie „ręcznie” lub skorzystać z opcji Solver firmy EXCEL

Juan Jose Illingworth
źródło
Czy możesz podać odniesienie do tej metody?
horaceT