Prognoza szeregów czasowych Arima (auto.arima) z wieloma zmiennymi egzogenicznymi w R.


14

Chciałbym przeprowadzić prognozę opartą na modelu szeregowym ARIMA z szeregiem czasowym z wieloma zmiennymi egzogenicznymi. Ponieważ nie jestem tak zręczny, jeśli chodzi o brak statystyk, ani RI nie chcę, aby utrzymanie było tak proste, jak to możliwe (wystarczająca jest prognoza trendów na 3 miesiące).

Mam 1 zależne szeregi czasowe i 3-5 szeregów czasowych predykcyjnych, wszystkie dane miesięczne, brak przerw, ten sam „horyzont czasowy”.

Zetknąłem się z funkcją auto.arima i zadałem sobie pytanie, czy byłoby to odpowiednie rozwiązanie dla mojego problemu. Mam różne ceny towarów i ceny produktów z nich wykonanych. Wszystkie nieprzetworzone dane są niestacjonarne, ale dzięki różnicowaniu pierwszego rzędu wszystkie stają się danymi stacjonarnymi. ADF, KPSS wskazują to. (Oznacza to, że testowałem pod kątem integracji, prawda?).

Moje pytanie brzmi teraz: w jaki sposób mogę to zastosować za pomocą funkcji auto.arima ORAZ czy ARIMA to właściwe podejście? Niektórzy ppl już doradzili mi użycie VAR, ale czy jest to również możliwe z ARIMA?

Poniższa tabela to moje dane. Właściwie zestaw danych idzie w górę do 105 obserwacji, ale pierwsze 50 zrobi. Interesujące są oczywiście zarówno trendy, jak i sezonowość.

wprowadź opis zdjęcia tutaj

Dziękujemy za wszelkie porady i pomoc! Georg


prześlij swoje dane, aby można je było pobrać. użyj programu Excel. Może to być po prostu zadaniem zidentyfikowania niepotrzebnych (prawdopodobnie znacznie skorelowanych krzyżowo) serii wejściowych. Nie sądzę, że VAR jest konieczne lub że podstawowe składniki są przydatne w tym problemie
IrishStat,

Odpowiedzi:


10

y

Aby auto.arima()pracować z zewnętrznymi regresorami, zbierz swoje regresory do macierzy X, którą wprowadzasz do xregparametru auto.arima(). (Oczywiście Xmusi mieć tę samą liczbę wierszy, co ymodelowane szeregi czasowe ).

Do prognozowania potrzebne będą przyszłe wartości regresorów, które następnie ponownie wprowadzisz do xregparametru forecast.

Strony pomocy są ?auto.arimai ?forecast.Arima(zwróć uwagę na wielką literę A - to nie jest literówka. Nie pytaj mnie ...).


1
(+1) Możesz nieco rozwinąć ideę przyczynowości i sposób jej przetestowania. Może być pomocne dla kompletności odpowiedzi, ponieważ wspominasz, że decyzja o zastosowaniu ARIMA jest determinowana przez kierunek przyczynowości między zmiennymi. Czy na przykład myślisz o teście przyczynowości Grangera lub teście Hausmana ? Dzięki.
javlacalle

3
@javlacalle: Nie jestem wielkim fanem testów statystycznych pod kątem przyczynowości (z których najbardziej znany jest test Granger). Zdecydowanie wolę decydować o „prawdopodobnej przyczynowości” na podstawie tematu. Na przykład nie użyłbym testu Granger, aby ocenić, czy obniżka ceny zwiększa sprzedaż w supermarketach, czy na odwrót. Ani to, czy PKB, kursy walutowe i tworzenie miejsc pracy są wzajemnie przyczynowe. W obu przypadkach sprawa wydaje się dość oczywista, a test zgodny z teorią niczego nas nie nauczy, podczas gdy test sprzeczny z teorią będzie jedynie mylący (i prawdopodobnie nie więcej niż hałasem).
Stephan Kolassa

1
... wiem, że otwieram się na płomienie z moim ostatnim komentarzem ;-)
Stephan Kolassa

@ Stephan: Dziękuję za Twój wkład. Chociaż moje y jest zdecydowanie spowodowane przez moje regresory, a nie w drugą stronę, ale moje regresory zdecydowanie korelują ze sobą i również powinny mieć mniej lub bardziej bezpośredni wpływ na siebie. Zgodnie z twoim komentarzem oznacza to, że powinienem używać VAR zamiast arima, ponieważ pozwoli to uniknąć problemów (?). Używam tutaj pakietu cen towarów / produktów, które w zasadzie wszystkie są ze sobą powiązane do pewnego momentu. „Surowiec” to moje Y, produkty z łańcucha wartości, a także produkty uboczne itp. Są moimi predyktorami.
George,

1
Znajomość kontekstu danych jest zawsze pomocna, a wyniki wszelkich analiz należy porównać z naszą wiedzą a priori . Niemniej jednak wskazana jest ostrożność. Intuicja czasami zawodzi, a teorie, które są czasami przyjmowane za pewnik, opierają się na założeniach, które nie są poparte faktami. Ale rozumiem, co masz na myśli i ogólnie się zgadzam.
javlacalle
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.