Jakie są wady modeli przestrzeni stanów i filtra Kalmana do modelowania szeregów czasowych?


53

Biorąc pod uwagę wszystkie dobre właściwości modeli przestrzeni stanów i KF, zastanawiam się - jakie są wady modelowania przestrzeni stanów i używania filtra Kalmana (lub EKF, UKF lub filtra cząstek) do oszacowania? Ponad, powiedzmy, konwencjonalne metodologie, takie jak ARIMA, VAR lub metody ad-hoc / heurystyczne.

Czy trudno je skalibrować? Czy są skomplikowane i trudne do zrozumienia, jak zmiana struktury modelu wpłynie na przewidywania?

Innymi słowy - jakie są zalety konwencjonalnych modeli ARIMA, VAR w porównaniu z modelami przestrzeni stanów?

Mogę myśleć tylko o zaletach modelu przestrzeni stanów:

  1. Z łatwością radzi sobie z pęknięciami strukturalnymi, przesunięciami, zmiennymi w czasie parametrami niektórych modeli statycznych - po prostu ustaw te parametry w stanach dynamicznych modelu przestrzeni kosmicznej, a model automatycznie dostosuje się do wszelkich zmian parametrów;
  2. Obsługuje brakujące dane bardzo naturalnie, po prostu wykonaj krok przejścia KF i nie rób kroku aktualizacji;
  3. Pozwala zmieniać parametry w locie samego modelu przestrzeni stanów (kowariancje szumów i macierze przejścia / obserwacji), więc jeśli twoja obecna obserwacja pochodzi z nieco innego źródła niż inne - możesz łatwo włączyć ją do estymacji bez robienia nic specjalnego;
  4. Korzystanie z powyższych właściwości pozwala łatwo obsługiwać dane o nieregularnych odstępach: albo zmieniaj model za każdym razem zgodnie z odstępem między obserwacjami, albo używaj regularnych odstępów i traktuj odstępy bez obserwacji jako brakujące dane;
  5. Pozwala na jednoczesne wykorzystanie danych z różnych źródeł w tym samym modelu w celu oszacowania jednej podstawowej wartości;
  6. Pozwala to zbudować model z kilku interpretowalnych, nieobserwowalnych komponentów dynamicznych i oszacować je;
  7. Dowolny model ARIMA może być reprezentowany w formie przestrzeni stanów, ale tylko proste modele w przestrzeni stanów mogą być reprezentowane dokładnie w formie ARIMA.

1
J Kilka dodatkowych zalet, jak zauważono w twoim pierwszym punkcie, może z łatwością uwzględniać zmiany poziomów i wartości odstające na wielu poziomach. Z mojego doświadczenia wynika, że ​​pęknięcia strukturalne można łatwo zidentyfikować w przestrzeni stanów niż ARIMA. Może również łatwo uwzględniać nieliniowe działanie zmiennych egzogenicznych. Nie wymaga stacjonarnych danych szeregów czasowych, co jest ogromnym +.
przepowiednia

2
W każdej chwili przejmę modele przestrzeni stanów nad ARIMA. Mogę myśleć o dwóch wadach (w pewnym sensie): a) odpowiadający model przestrzeni stanów modelu ARIMA ma wiele niepotrzebnych zer w matrycach projektowych. Można argumentować, że ARIMA jest bardziej zwarta. b) istnieją modele nieliniowe / niegaussowskie, które rzadko mają formy analityczne, które czasem można opisać w formie podobnej do ARIMA, ale będą trudne w tradycyjnej przestrzeni państwowej.
Cagdas Ozgenc

2
@Kochede Durbin i Koopman nie mogli również myśleć o wielu wadach - wspominali o dwóch na dole strony 52 w swoim fantastycznym podręczniku . I powiedziałbym, że te wady niekoniecznie są już prawdziwe.

2
Kilka pytań . Czy wyraźnie identyfikuje zmiany trendu czasowego i zgłasza momenty, w których trend się zmienia? Czy rozróżnia zmiany parametrów i zmiany wariancji błędów i informuje o tym? Czy wykrywa i raportuje o określonych skutkach ołowiu i opóźnień wokół predyktorów określonych przez użytkownika? Czy można określić minimalną liczbę wartości w grupie, zanim zadeklarowana zostanie zmiana poziomu / trend czasu lokalnego? Czy rozróżnia potrzebę transformacji mocy od deterministycznych punktów w czasie, w których zmienia się wariancja błędu? Modele ARMAX mówią o wszystkich tych rozważaniach.
IrishStat,

1
Dla kompletności wadą w niektórych okolicznościach jest to, że musisz je wyjaśnić. To zależy od odbiorców. Cieszę się, jeśli ktoś chce odrzucić to jako coś, co jest lub powinno być nieistotne przy wyborze techniki.
Nick Cox,

Odpowiedzi:


25

Oto wstępna lista wad, które udało mi się wyciągnąć z twoich komentarzy. Krytyka i dodatki są mile widziane!

Ogólnie - w porównaniu z ARIMA, modele przestrzeni stanów pozwalają modelować bardziej złożone procesy, mają możliwą do interpretacji strukturę i łatwo radzą sobie z nieprawidłowościami danych; ale za to płacisz ze zwiększoną złożonością modelu, trudniejszą kalibracją, mniejszą wiedzą społeczności.

  1. ARIMA to uniwersalny aproksymator - nie obchodzi Cię, jaki jest prawdziwy model twoich danych, i używasz uniwersalnych narzędzi diagnostycznych i dopasowujących ARIMA do przybliżenia tego modelu. To jest jak dopasowanie krzywej wielomianowej - nie obchodzi cię, jaka jest prawdziwa funkcja, zawsze możesz ją przybliżyć za pomocą pewnego stopnia wielomianu.
  2. Modele przestrzeni stanu naturalnie wymaga odpisu jakiś rozsądny model procesu (co jest dobre - korzystania z wcześniejszej wiedzy o procesie poprawy szacunków). Oczywiście, jeśli nie masz pojęcia o swoim procesie, zawsze możesz użyć uniwersalnego modelu przestrzeni stanów - np. Reprezentować ARIMA w formie przestrzeni stanów. Ale wtedy ARIMA w oryginalnej formie ma bardziej oszczędne sformułowanie - bez wprowadzania niepotrzebnych stanów ukrytych.
  3. Ponieważ istnieje tak duża różnorodność formułowania modeli w przestrzeni stanów (znacznie bogatszych niż klasa modeli ARIMA), zachowanie wszystkich tych potencjalnych modeli nie jest dobrze zbadane, a jeśli model, który sformułowałeś, jest skomplikowany - trudno powiedzieć, jak się zachowa w różnych okolicznościach. Oczywiście, jeśli twój model przestrzeni stanów jest prosty lub składa się z możliwych do interpretacji komponentów, nie ma takiego problemu. Ale ARIMA to zawsze ta sama dobrze zbadana ARIMA, dlatego łatwiej jest przewidzieć jej zachowanie, nawet jeśli wykorzystasz ją do przybliżenia jakiegoś złożonego procesu.
  4. Ponieważ przestrzeń stanów pozwala bezpośrednio i dokładnie modelować złożone / nieliniowe modele, dlatego w przypadku tych złożonych / nieliniowych modeli możesz mieć problemy ze stabilnością filtrowania / przewidywania (rozbieżność EKF / UKF, degradacja filtra cząstek). Możesz również mieć problemy z kalibracją parametrów skomplikowanego modelu - jest to trudny obliczeniowo problem optymalizacji. ARIMA jest prosta, ma mniej parametrów (1 źródło hałasu zamiast 2 źródeł hałasu, brak ukrytych zmiennych), więc jego kalibracja jest prostsza.
  5. W przypadku przestrzeni stanów wiedza społeczności i oprogramowanie w społeczności statystycznej jest mniej niż w przypadku ARIMA.

1
Czy znasz jakieś rzeczywiste przykłady / zastosowania przemysłowe, w których filtr Kalmana działa lepiej niż zwykła średnia ruchoma lub wygładzanie exp w prognozowaniu szeregów czasowych, pod warunkiem, że nie ma wyraźnego modelu podstawowego (więc wyklucz modele wynikające z praw fizyki) ? W większości prac wydajność wygląda bardzo podobnie (a prace naukowe mają pozytywne nastawienie do wydajności w przypadku nowych, oryginalnych, złożonych modeli). W większości przypadków nie ma wiedzy na temat właściwego modelu systemu liniowego i kowariancji itp., Wymaganych do określenia filtra Klamana ...
Mannaggia

To prawda. Nadal mam przykład w swojej praktyce. Kiedy masz jakiś model ogólnego przeznaczenia (jak regresja liniowa), możesz ustawić jego parametry w parametrach filtra Kalmana i oszacować je dynamicznie. Oczywiście możesz też po prostu modyfikować swój model na każdym etapie, ale jest to o wiele bardziej kosztowne obliczeniowo niż pojedyncza aktualizacja KF. Jeśli w rzeczywistości parametry rzeczywiście zmieniają się w czasie lub model nie jest dokładnie zgodny z rzeczywistym procesem - może to pomóc lepiej dopasować model i poprawić jego wydajność.
Kochede

1
Nie mogę znaleźć żadnych odniesień dla ARIMA będącego uniwersalnym uniwersalnym aproksymatorem innym niż twój post. Czy możesz wskazać mi jeden?
Skander H.

2
@Alex To wynika z twierdzenia Wolda o rozkładzie, na przykład patrz tutaj phdeconomics.sssup.it/documents/Lesson11.pdf
Kochede

1
Czy mogę powiedzieć, że model przestrzeni stanów ma bardziej ogólną formę, a ARIMA obejmuje tylko jego podzbiór?
Vickyyy

3

Dzięki @IrishStat za kilka bardzo dobrych pytań w komentarzach, odpowiedź na twoje pytania jest zbyt długa, aby opublikować jako komentarz, więc zamieszczam ją jako odpowiedź (niestety nie na oryginalne pytanie w temacie).

Pytania brzmiały: „ Czy wyraźnie identyfikuje zmiany trendu czasowego i zgłasza momenty, w których trend się zmienia? Czy rozróżnia zmiany parametrów i zmiany wariancji błędów i informuje o tym? Czy wykrywa i raportuje określone efekty wyprzedzenia i opóźnienia w pobliżu użytkownika określone predyktory? Czy można określić minimalną liczbę wartości w grupie przed zadeklarowaniem przesunięcia poziomu / trendu czasu lokalnego? Czy rozróżnia się potrzebę przekształceń mocy od deterministycznych punktów w czasie, w których zmienia się wariancja błędu?

  1. Zidentyfikuj zmiany trendu - tak, najbardziej naturalnie, możesz uczynić nachylenie trendu jedną ze zmiennych stanu, a KF będzie stale szacować bieżące nachylenie. Następnie możesz zdecydować, która zmiana nachylenia jest dla Ciebie wystarczająco duża. Alternatywnie, jeśli nachylenie nie zmienia się w czasie w modelu przestrzeni stanów, możesz przetestować resztki podczas filtrowania w standardowy sposób, aby sprawdzić, czy nastąpiła przerwa w modelu.
  2. Rozróżnij zmiany parametrów i zmiany wariancji błędów - tak, wariancja może być jednym z parametrów (stanów), a następnie to, który parametr najprawdopodobniej zmienił się, zależy od prawdopodobieństwa twojego modelu i tego, w jaki sposób zmieniły się dane.
  3. Wykryj relacje ołowiu / opóźnienia - nie jestem pewien, z pewnością możesz uwzględnić dowolne opóźnione zmienne w modelu przestrzeni stanów; do wyboru opóźnień można albo przetestować resztki modeli z uwzględnieniem różnych opóźnień, albo, w prostym przypadku, po prostu użyć korelogramu krzyżowego przed sformułowaniem modelu.
  4. Określ progową liczbę obserwacji, aby zdecydować o zmianie trendu - tak, jak w 1), ponieważ filtrowanie odbywa się rekurencyjnie, możesz nie tylko progową zmianę nachylenia, która jest dla ciebie wystarczająco duża, ale także # obserwacji dla pewności. Ale lepiej - KF tworzy nie tylko oszacowanie nachylenia, ale także przedziały ufności dla tego oszacowania, więc możesz zdecydować, że nachylenie zmieniło się znacznie, gdy jego granica zaufania przekroczyła pewien próg.
  5. Rozróżnij między potrzebą transformacji mocy a potrzebą większej wariancji - nie jestem pewien, czy rozumiem poprawnie, ale myślę, że możesz przetestować resztki podczas filtrowania, aby sprawdzić, czy nadal są one normalne z tylko większą wariancją lub mają pewne przekrzywienie, więc musisz zmienić twój model. Lepiej - możesz ustawić binarny stan przełączania swojego modelu, wtedy KF oszacuje go automatycznie na podstawie prawdopodobieństwa. W takim przypadku model będzie nieliniowy, więc będziesz potrzebował UKF do filtrowania.

1

Filtr Kalmana jest optymalnym liniowym estymatorem kwadratowym, gdy dynamika stanu i błędy pomiaru są zgodne z tak zwanymi liniowymi założeniami Gaussa ( http://wp.me/p491t5-PS ). Tak długo, jak znasz swoje modele dynamiki i pomiaru i są one zgodne z liniowymi założeniami Gaussa, nie ma lepszego estymatora w klasie liniowych estymatorów kwadratowych. Jednak najczęstszymi przyczynami „nieudanych” aplikacji filtrów Kalmana są:

  1. Niedokładna / niepoprawna znajomość dynamiki stanu i modeli pomiarowych.

  2. Niedokładna inicjalizacja filtra (zapewniająca oszacowanie stanu początkowego i kowariancję niezgodną z rzeczywistym stanem systemu). Można to łatwo obejść za pomocą procedury inicjowania ważonych najmniejszych kwadratów (WLS).

  3. Zawierające pomiary będące statystycznymi „wartościami odstającymi” w odniesieniu do modelu dynamiki systemu. Może to spowodować, że Wzmocnienie Kalmana będzie miało ujemne elementy, co może prowadzić do nie dodatniej półokreślonej macierzy kowariancji po aktualizacji. Można tego uniknąć, stosując algorytmy „bramkowania”, takie jak bramkowanie elipsoidalne, do walidacji pomiaru przed zaktualizowaniem filtra Kalmana o ten pomiar.

Oto niektóre z najczęstszych błędów / problemów, które widziałem podczas pracy z filtrem Kalmana. W przeciwnym razie, jeśli założenia twoich modeli są prawidłowe, filtr Kalmana jest optymalnym estymatorem.


1

Możesz odwołać się do doskonałej książki Bayesian prognozowanie i modele dynamiczne (Harrison i West, 1997). Autorzy pokazują, że prawie wszystkie tradycyjne modele szeregów czasowych są szczególnymi przypadkami ogólnego modelu dynamicznego. Podkreślają również zalety. Być może jedną z głównych zalet jest łatwość, z jaką można zintegrować wiele modeli przestrzeni stanów, po prostu rozszerzając wektor stanu. Można na przykład bezproblemowo zintegrować regresory, czynniki sezonowe i komponent autoregresyjny w jednym modelu.


Cześć, czy możesz rozwinąć więcej informacji na temat „Możesz na przykład bezproblemowo zintegrować regresory, czynniki sezonowe i składnik autoregresyjny w jednym modelu”. Popraw mnie, jeśli się mylę, czy to oznacza, że ​​dla ARIMA musisz ustawić szereg czasowy w pozycji nieruchomej, ale dla modelu przestrzeni stanów wystarczy tylko dostosować liczbę zmiennych stanu?
Vickyyy

@ Vickyyy W przeciwieństwie do ARIMA, modele przestrzeni stanów nie zakładają stacjonarności. Możesz po prostu dodać do niego wiele komponentów i przedstawić je w jednym wektorze stanu.
Anselmo

1

Dodałbym, że jeśli bezpośrednio użyjesz funkcji Space State, prawdopodobnie będziesz musiał zrozumieć kilka macierzy, które składają się na model, a także ich interakcje i działanie. Bardziej przypomina definiowanie programu niż definiowanie modelu ARIMA. Jeśli pracujesz z dynamicznym modelem przestrzeni stanu, staje się to jeszcze bardziej skomplikowane.

Jeśli używasz pakietu oprogramowania, który ma naprawdę, bardzo fajną funkcję State Space, możesz być w stanie tego uniknąć, ale ogromna większość takich funkcji w pakietach R wymaga w pewnym momencie przeskoczenia do szczegółów.

Moim zdaniem jest to bardzo podobne do statystyki bayesowskiej, której mechanizm wymaga więcej zrozumienia, troski i karmienia niż funkcji częstszych.

W obu przypadkach jest to warte dodatkowych informacji / wiedzy, ale może być barierą dla adopcji.

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.