Dopasowałem model ARIMA (5,1,2), używając auto.arima()
funkcji w R i patrząc na porządek, możemy powiedzieć, że nie jest to najlepszy model do prognozowania. Jeśli w seriach danych występują wartości odstające, jaka jest metoda dopasowania modelu do takich danych?
r
time-series
forecasting
outliers
arima
Anthony
źródło
źródło
Odpowiedzi:
Michael Chernick wskazuje ci właściwy kierunek. Spojrzałbym również na prace Ruey Tsay, które dodały do tego zasobu wiedzy. Zobacz więcej tutaj .
Nie możesz konkurować z dzisiejszymi automatycznymi algorytmami komputerowymi. Analizują wiele sposobów podejścia do szeregów czasowych, których nie wziąłeś pod uwagę i często nie udokumentowano w żadnej pracy ani książce. Gdy ktoś pyta, jak wykonać ANOVA, można oczekiwać precyzyjnej odpowiedzi w porównaniu z różnymi algorytmami. Kiedy zadaje się pytanie, jak mam rozpoznać wzór, możliwych jest wiele odpowiedzi, ponieważ w grę wchodzi heurystyka. Twoje pytanie dotyczy użycia heurystyki.
Najlepszym sposobem dopasowania modelu ARIMA, jeśli w danych występują wartości odstające, jest ocena możliwych stanów natury i wybranie takiego podejścia, które zostanie uznane za optymalne dla określonego zestawu danych. Jednym z możliwych stanów jest to, że proces ARIMA jest głównym źródłem wyjaśnionej zmienności. W takim przypadku można „wstępnie zidentyfikować” proces ARIMA za pomocą funkcji acf / pacf, a następnie zbadać pozostałości pod kątem możliwych wartości odstających. Wartości odstające mogą być impulsami, tj. Zdarzeniami jednorazowymi LUB pulsami sezonowymi, o których świadczą systematyczne wartości odstające z pewną częstotliwością (powiedzmy 12 dla danych miesięcznych). Trzeci typ wartości odstającej ma miejsce, gdy ma ciągły zestaw impulsów, z których każdy ma ten sam znak i wielkość, co nazywa się przesunięciem skokowym lub poziomowym. Po zbadaniu resztek z wstępnego procesu ARIMA można następnie wstępnie dodać zidentyfikowaną empirycznie strukturę deterministyczną, aby utworzyć wstępnie połączony model. Ani jeśli pierwotnym źródłem zmienności jest jeden z 4 rodzajów lub „wartości odstających”, lepiej byłoby służyć przez identyfikację ich ab initio (najpierw), a następnie wykorzystanie reszt z tego „modelu regresji” do identyfikacji struktury stochastycznej (ARIMA) . Teraz te dwie alternatywne strategie stają się nieco bardziej skomplikowane, gdy ma się „problem”, w którym parametry ARIMA zmieniają się w czasie lub wariancja błędu zmienia się w czasie z powodu wielu możliwych przyczyn, na przykład potrzeby ważonych najmniejszych kwadratów lub transformacji mocy takie jak dzienniki / wzajemności itp. Inną komplikacją / szansą jest to, w jaki sposób i kiedy sformułować zasugerowaną przez użytkownika serię predyktorów, aby stworzyć płynnie zintegrowany model obejmujący pamięć, związki przyczynowe i empirycznie zidentyfikowane serie manekinów. Problem ten nasila się, gdy jeden z trendów jest najlepiej modelowany za pomocą serii wskaźników w formie0 , 0 , 0 , 0 , 1 , 2 , 3 , 4 , . . . lub 1 , 2 , 3 , 4 , 5 , . . . n i kombinacje serii przesunięć poziomu, takich jak 0 , 0 , 0 , 0 , 0 , 0 , 1 , 1 , 1 , 1 , 1 . Możesz spróbować napisać takie procedury w języku R, ale życie jest krótkie. Z przyjemnością rozwiążę Twój problem i pokażę w tym przypadku, jak działa procedura, prześlij dane lub wyślij je na adres [email protected]
Dodatkowy komentarz po otrzymaniu / analizie danych / danych dziennych dla kursu walutowego / 18 = 765 wartości od 1 stycznia 2007 r
Dane miały acf:
Po zidentyfikowaniu modelu arma formularza( 1 , 1 , 0 ) ( 0 , 0 , 0 ) a pewna liczba wartości odstających acf reszt wskazuje na losowość, ponieważ wartości acf są bardzo małe. AUTOBOX zidentyfikował kilka wartości odstających:
Ostateczny model:
uwzględniono potrzebę augmentacji stabilizacji wariancji a la TSAY, w której zmiany wariancji reszt zostały zidentyfikowane i uwzględnione. Problem z automatycznym uruchomieniem polegał na tym, że stosowana procedura, podobnie jak księgowy, wierzy w dane, a nie kwestionuje dane za pomocą Wykrywania interwencji (inaczej Wykrywanie wartości odstających). Pisałem pełną analizę tutaj .
źródło
Nie ma gotowego do użycia solidnego odpowiednika funkcji arima w R (jeszcze) ; jeśli taki się pojawi, zostanie wymieniony tutaj . Być może alternatywą jest obniżenie wagi tych obserwacji, które są odległe w odniesieniu do prostej reguły wykrywania wartości odstających, ale nie widzę gotowych pakietów do uruchomienia ważonej regresji ARMA. Inną możliwą alternatywą byłoby Winsorize odległych punktów:
źródło
Istnieje spora literatura na temat solidnych modeli szeregów czasowych. Martin i Yohai są jednymi z głównych autorów. Ich praca sięga lat osiemdziesiątych. Sam pracowałem nad wykryciem wartości odstających w szeregach czasowych, ale Martin był tak naprawdę jednym z wielu czynników przyczyniających się zarówno do wykrycia wartości odstających, jak i oszacowania parametrów w obecności wartości odstających lub resztek w szeregach czasowych.
źródło
czy celem twojego modelu jest prognozowanie lub analiza historii? jeśli nie służy to prognozowaniu, a wiesz, że są to wartości odstające, po prostu dodaj zmienną fikcyjną, która ma wartość 1 w tych datach i 0 w innych datach. w ten sposób pozorne współczynniki zajmą się wartościami odstającymi, a ty będziesz mógł zinterpretować inne współczynniki w modelu.
jeśli chodzi o prognozowanie, musisz zadać sobie dwa pytania: czy te wartości odstające powtórzą się ponownie? jeśli by to zrobili, czy muszę się z nimi rozliczać?
Załóżmy na przykład, że w twoich seriach danych występują wartości odstające, gdy bracia Lehman upadli. jest to wydarzenie, którego oczywiście nie można przewidzieć, ale nie można go po prostu zignorować, ponieważ coś takiego może się wydarzyć w przyszłości. jeśli wrzucisz manekina do wartości odstających, to skutecznie usuniesz niepewność tego zdarzenia z wariancji błędu. twoja prognoza nie docenia ryzyka ogona - być może nie jest to dobre dla zarządzania ryzykiem. jeśli jednak masz opracować wyjściową prognozę sprzedaży, manekin będzie działał, ponieważ nie interesuje Cię ogon, interesują Cię najbardziej prawdopodobne scenariusze - więc nie musisz uwzględniać nieprzewidzianego zdarzenia w tym celu.
Dlatego cel twojego modelu wpływa na sposób radzenia sobie z wartościami odstającymi.
źródło