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?
źródło
Odpowiedzi:
Łą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.
źródło
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ą.
źródło
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
źródło