Jak poprawić wykryte wartości odstające dla prognozowania danych szeregów czasowych?

10

Próbuję znaleźć sposób korygowania wartości odstających, gdy tylko znajdę je / wykryję w danych szeregów czasowych. Niektóre metody, takie jak nnetar w R, dają pewne błędy dla szeregów czasowych z dużymi / dużymi wartościami odstającymi. Udało mi się już poprawić brakujące wartości, ale wartości odstające wciąż niszczą moje prognozy ...

Mila
źródło
co rozumiesz przez „poprawianie”?
rbatt
Zastępowanie lub zastępowanie ... A może powinno to być odejmowanie ...?
Mila
3
Czy wartości odstające są „prawdziwe”? Rozumiem przez to, czy wartości odstające są spowodowane niezdolnością modelu do przewidzenia ekstremalnych zdarzeń lub wstrząsów? A może są to „błędy”, takie jak problemy z wprowadzaniem danych?
probabilityislogic

Odpowiedzi:

9

W pakiecie prognozy znajduje się teraz funkcja umożliwiająca identyfikację i replikację wartości odstających. (Obsługuje również brakujące wartości.) Ponieważ prawdopodobnie korzystasz już z pakietu prognozy, może to być wygodne rozwiązanie. Na przykład:

fit <- nnetar(tsclean(x))

tsclean()Funkcja będzie pasować solidnej tendencję pomocą lessowej (dla nie-serii sezonowych) lub silny trend i składniki sezonowe pomocą STL (sezonowego serii). Reszty są obliczane i obliczane są następujące granice:

q0,1q0,9

U=q0.9+2(q0.9q0.1)L=q0.12(q0.9q0.1)
gdzie i to odpowiednio 10 i 90 percentyl reszt.q0.1q0.9

Odstające są określone jako punkty z reszt większych niż lub mniejsze niż .L.UL

W niesezonowych szeregach czasowych wartości odstające są zastępowane interpolacją liniową. W sezonowych szeregach czasowych składnik sezonowy z dopasowania STL jest usuwany, a szereg dostosowany sezonowo jest liniowo interpolowany w celu zastąpienia wartości odstających, przed ponownym sezonowaniem wyniku.

Rob Hyndman
źródło
1
Twoje opracowanie tutaj również jest pomocne: stats.stackexchange.com/questions/1142/… (tsclean wywołuje tsoutliers)
4

Kiedy identyfikujesz model ARIMA, powinieneś jednocześnie identyfikować impulsy / zmiany poziomów / sezonowe impulsy i / lub lokalne trendy czasowe. Materiały do ​​czytania na temat procedur wykrywania interwencji można znaleźć na stronie http://www.ebay.com/ctg/Time-Series-Analysis-Univariate-and-Multivariate-Methods-David-P-Reilly-and-William-Wei-1999 - / 85697 i http://www.unc.edu/~jbhill/tsay.pdf . Być może będziesz musiał realizować komercyjne oprogramowanie, takie jak SAS / SPSS / AUTOBOX, aby uzyskać użyteczne wyniki, ponieważ pożądane jest darmowe oprogramowanie, które widziałem. Na marginesie przyczyniłem się do wprowadzenia w AUTOBOX znacznych usprawnień technicznych w tej dziedzinie.

EDYTOWAĆ:

Jeszcze lepszym podejściem jest identyfikacja wartości odstających za pomocą rygorystycznej metody ARIMA oraz procedur wykrywania interwencji prowadzących do uzyskania solidnych parametrów ARIMA i dobrej prognozy. Rozważmy teraz opracowanie symulowanych prognoz uwzględniających ponownie próbkowane reszty wolne od efektów pulsacyjnych. W ten sposób uzyskuje się to, co najlepsze z obu światów, a mianowicie dobry model i bardziej realistyczne stwierdzenia niepewności dla prognoz, które nie zakładają, że szacowanymi parametrami modelu są wartości populacji.

IrishStat
źródło
1

Zgadzam się z @Aksakal. Zamiast usuwać wartości odstające, lepszym rozwiązaniem byłoby zastosowanie pewnego rodzaju procedury statystycznej, aby poradzić sobie z wartościami odstającymi. Sugeruję, abyś zbawił swoje dane. W przypadku prawidłowego wdrożenia winsorization może być stosunkowo odporne na wartości odstające. Na tej stronie: http://www.r-bloggers.com/winsorization/ znajdziesz kody R do implementacji winsorization. Jeśli zastanawiasz się nad winsorisingiem swoich danych, musisz dokładnie przemyśleć ogony dystrybucji. Czy oczekuje się, że wartości odstające będą ekstremalnie niskie, czy też będą ekstremalnie wysokie, a może jedno i drugie. Wpłynie to na to, czy wygrasz na poziomie 5% lub 10% i / lub 95% lub 99%.

Daniel
źródło
1
Winsorization, w celu oszacowania ogólnej średniej, może mieć sens w przypadku braku jakichkolwiek trendów lub składników sezonowych w danych, ale w innym przypadku grozi zniszczeniem ważnych informacji.
whuber
0

W kontekście prognoz usuwanie wartości odstających jest bardzo niebezpieczne. Na przykład prognozujesz sprzedaż w sklepie spożywczym. Załóżmy, że w sąsiednim budynku wybuchła gaz, co spowodowało zamknięcie sklepu na kilka dni. To był jedyny raz, kiedy sklep został zamknięty od 10 lat. Dostajesz szeregi czasowe, wykrywasz wartości odstające, usuwasz je i prognozujesz. Po cichu zakładałeś, że nic takiego się nie wydarzy w przyszłości. W sensie praktycznym skompresowałeś zaobserwowaną wariancję, a wariancje współczynników zmniejszyły się. Więc jeśli pokażesz przedziały ufności dla swojej prognozy, będą one węższe niż byłyby, gdybyś nie usunął wartości odstającej.

Oczywiście możesz zachować wartość odstającą i kontynuować jak zwykle, ale to też nie jest dobre podejście. Powodem jest to, że ta wartość odstająca spowoduje wypaczenie współczynników.

Myślę, że lepszym podejściem w tym przypadku jest dopuszczenie rozkładu błędów z grubymi ogonami, być może stabilnego rozkładu. W takim przypadku wartość odstająca nie będzie zbytnio wypaczać współczynników. Będą zbliżone do współczynników z usuniętą wartością odstającą. Jednak wartość odstająca pojawi się w rozkładzie błędów, wariancji błędu. Zasadniczo otrzymasz szersze przedziały ufności prognozy.

Pasma ufności przekazują bardzo ważną informację. Jeśli prognozujesz, że sprzedaż wyniesie w tym miesiącu 1 000 000 USD , ale istnieje 5% szans, że wyniesie ona 10 000 USD, ma to wpływ na twoje decyzje dotyczące wydatków, zarządzania gotówką itp.

Aksakal
źródło
-1

Aby przeprowadzić prognozowanie przy użyciu (lub nie) modelu z usuniętymi wartościami odstającymi, zależy od prawdopodobieństwa wystąpienia wartości odstających w przyszłości i oczekiwanego rozkładu jego efektu, jeśli rzeczywiście wystąpi. Czy dane treningowe są wystarczające do wyjaśnienia tego ?. Podejście bayesowskie powinno pomóc ...

Ricardo Coqueiro
źródło
1
To jest niepoprawne. Twoja prognoza może być niedokładna, jeśli nie skorygujesz wartości odstających, szczególnie jeśli wartości odstające są na końcu serii.
prezenter