Was sind die Nachteile von Zustandsraummodellen und Kalman-Filtern für die Zeitreihenmodellierung?


53

Angesichts aller guten Eigenschaften von Zustandsraummodellen und KF frage ich mich: Was sind die Nachteile der Zustandsraummodellierung und der Verwendung von Kalman-Filtern (oder EKF-, UKF- oder Partikelfiltern) zur Abschätzung? Sagen wir mal konventionelle Methoden wie ARIMA, VAR oder Ad-hoc / heuristische Methoden.

Sind sie schwer zu kalibrieren? Sind sie kompliziert und schwer einzusehen, wie sich eine Änderung der Modellstruktur auf die Vorhersagen auswirkt?

Oder anders ausgedrückt: Was sind die Vorteile von konventionellem ARIMA, VAR gegenüber State-Space-Modellen?

Ich kann mir nur die Vorteile eines State-Space-Modells vorstellen:

  1. Strukturbrüche, Verschiebungen und zeitlich veränderliche Parameter eines statischen Modells lassen sich problemlos handhaben. Machen Sie diese Parameter einfach zu dynamischen Zuständen eines Zustands-Raum-Modells, und das Modell passt sich automatisch an alle Änderungen der Parameter an.
  2. Fehlende Daten werden auf sehr natürliche Weise behandelt. Führen Sie einfach den KF-Übergangsschritt aus und führen Sie den Aktualisierungsschritt nicht aus.
  3. Sie können die fliegenden Parameter eines Zustandsraummodells selbst (Kovarianzen von Rauschen und Übergangs- / Beobachtungsmatrizen) ändern. Wenn Ihre aktuelle Beobachtung von einer etwas anderen Quelle stammt als die anderen, können Sie sie problemlos in die Schätzung einbeziehen, ohne dies zu tun Irgendwas besonderes;
  4. Mithilfe der obigen Eigenschaften können Daten mit unregelmäßigen Abständen problemlos verarbeitet werden: Ändern Sie entweder jedes Mal ein Modell gemäß dem Intervall zwischen den Beobachtungen oder verwenden Sie ein reguläres Intervall und behandeln Sie Intervalle ohne Beobachtungen als fehlende Daten.
  5. Es ermöglicht die gleichzeitige Verwendung von Daten aus verschiedenen Quellen im selben Modell, um eine zugrunde liegende Größe zu schätzen.
  6. Es erlaubt, ein Modell aus mehreren interpretierbaren, nicht beobachtbaren dynamischen Komponenten zu konstruieren und diese zu schätzen.
  7. Jedes ARIMA-Modell kann in einer Zustandsraumform dargestellt werden, aber nur einfache Zustandsraummodelle können exakt in ARIMA-Form dargestellt werden.

1
JWeitere Vorteile können, wie bereits an erster Stelle erwähnt, leicht mehrere Ebenenverschiebungen und Ausreißer beinhalten. Nach meiner Erfahrung lassen sich Strukturbrüche mit dem Zustandsraum leichter identifizieren als mit ARIMA. Kann auch leicht nichtlineare Effekte exogener Variablen berücksichtigen. Erfordert nicht, dass die Zeitreihendaten stationär sind, was ein großes Plus ist.
Prognose

2
Nun, ich werde jederzeit State-Space-Modelle über ARIMA übertragen. Ich kann mir zwei Nachteile vorstellen: a) Das entsprechende Zustandsraummodell eines ARIMA-Modells enthält viele unnötige Nullen in den Entwurfsmatrizen. Man kann argumentieren, dass ARIMA kompakter ist. b) Es gibt nichtlineare / nichtgaußsche Modelle, die selten analytische Formen haben, die manchmal in ARIMA-ähnlicher Form beschrieben werden können, aber im traditionellen Zustandsraum schwierig sind.
Cagdas Ozgenc

2
@Kochede Durbin und Koopman schienen sich auch nicht viele Nachteile einfallen zu lassen - sie erwähnten zwei auf der Unterseite von Seite 52 in ihrem fantastischen Lehrbuch . Und ich würde sagen, dass diese Nachteile nicht unbedingt mehr zutreffen.

2
Ein paar Fragen . Identifiziert es Zeittrendänderungen eindeutig und gibt es die Zeitpunkte an, zu denen sich der Trend ändert? Unterscheidet es zwischen Parameteränderungen und Änderungen der Fehlervarianz und meldet es dies? Erkennt und meldet es spezifische Vor- und Nachlaufeffekte bei benutzerdefinierten Prädiktoren? Kann man die Mindestanzahl von Werten in einer Gruppe angeben, bevor eine Pegelverschiebung / ein lokaler Zeittrend deklariert wird? Unterscheidet es zwischen der Notwendigkeit von Leistungstransformationen und deterministischen Zeitpunkten, zu denen sich die Fehlervarianz ändert? ARMAX-Modelle berücksichtigen all diese Überlegungen.
IrishStat

1
Der Vollständigkeit halber besteht ein Nachteil unter Umständen darin, dass Sie sie erklären müssen. Das hängt von Ihrem Publikum ab. Ich bin froh, wenn jemand dies als etwas abtun möchte, das für die Wahl einer Technik irrelevant ist oder sein sollte.
Nick Cox

Antworten:


25

Hier ist eine vorläufige Liste der Nachteile, die ich Ihren Kommentaren entnehmen konnte. Kritik und Ergänzungen sind herzlich willkommen!

Insgesamt - im Vergleich zu ARIMA können Sie mit Zustandsraummodellen komplexere Prozesse modellieren, die Struktur interpretieren und Datenunregelmäßigkeiten leicht handhaben. Dafür zahlen Sie jedoch mit einer höheren Komplexität eines Modells, einer härteren Kalibrierung und weniger Community-Wissen.

  1. ARIMA ist ein universeller Approximator - es ist Ihnen egal, welches Modell hinter Ihren Daten steckt, und Sie verwenden universelle ARIMA-Diagnose- und Anpassungswerkzeuge, um dieses Modell zu approximieren . Es ist wie eine Polynomkurvenanpassung - es ist Ihnen egal, was die wahre Funktion ist, Sie können sie immer mit einem Polynom von einem gewissen Grad approximieren.
  2. State-Space-Modelle erfordern natürlich, dass Sie ein angemessenes Modell für Ihren Prozess aufschreiben (was gut ist - Sie verwenden Ihre Vorkenntnisse Ihres Prozesses, um Schätzungen zu verbessern). Wenn Sie keine Ahnung von Ihrem Prozess haben, können Sie natürlich auch ein universelles Zustandsraummodell verwenden - z. B. ARIMA in einer Zustandsraumform darstellen. Aber dann hat ARIMA in seiner ursprünglichen Form eine sparsamere Formulierung - ohne unnötige versteckte Zustände einzuführen.
  3. Da es so viele verschiedene Formulierungen von Zustandsraummodellen gibt (die viel umfangreicher sind als die von ARIMA-Modellen), ist das Verhalten all dieser potenziellen Modelle nicht gut untersucht. Wenn das von Ihnen formulierte Modell kompliziert ist, ist es schwer zu sagen, wie es sich verhalten wird unter verschiedenen Umständen. Wenn Ihr Zustandsraummodell einfach ist oder aus interpretierbaren Komponenten besteht, gibt es natürlich kein solches Problem. ARIMA ist jedoch immer dasselbe gut untersuchte ARIMA. Daher sollte es einfacher sein, sein Verhalten vorherzusagen, selbst wenn Sie es zur Annäherung an einen komplexen Prozess verwenden.
  4. Da Sie im Zustandsraum komplexe / nichtlineare Modelle direkt und genau modellieren können, können bei diesen komplexen / nichtlinearen Modellen Probleme mit der Stabilität der Filterung / Vorhersage (EKF / UKF-Divergenz, Verschlechterung des Partikelfilters) auftreten. Möglicherweise haben Sie auch Probleme beim Kalibrieren der Parameter eines komplizierten Modells - es ist ein rechenintensives Optimierungsproblem. ARIMA ist einfach, hat weniger Parameter (1 Rauschquelle anstelle von 2 Rauschquellen, keine versteckten Variablen) und ist daher einfacher zu kalibrieren.
  5. Für den State-Space gibt es in der statistischen Community weniger Community-Wissen und Software als für ARIMA.

1
Kennen Sie reale Beispiele / industrielle Anwendungen, bei denen ein Kalman-Filter eine bessere Leistung als ein einfacher gleitender Durchschnitt oder eine Exp-Glättung bei der Vorhersage von Zeitreihen erzielt, sofern kein klares zugrunde liegendes Modell vorliegt (schließen Sie daher Modelle aus, die sich aus den Gesetzen der Physik ergeben)? ? In den meisten Veröffentlichungen sieht die Leistung sehr ähnlich aus (und wissenschaftliche Veröffentlichungen weisen eine positive Leistungsverzerrung für neue, originelle, komplexe Modelle auf). In den meisten Fällen gibt es keine Kenntnisse über ein geeignetes lineares Zustandssystemmodell und Kovarianzen usw., die erforderlich sind, um einen Klaman-Filter festzulegen ...
Mannaggia,

Das ist wahr. Trotzdem habe ich ein Beispiel in meiner Praxis. Wenn Sie ein Allzweckmodell (wie die lineare Regression) haben, können Sie die Parameter in den Status des Kalman-Filters versetzen und diese dynamisch schätzen. Natürlich können Sie Ihr Modell auch jederzeit nachrüsten, dies ist jedoch viel rechenintensiver als ein einzelnes KF-Update. Wenn sich die tatsächlichen Parameter tatsächlich im Laufe der Zeit ändern oder wenn Ihr Modell nicht genau mit dem tatsächlichen Prozess übereinstimmt, kann dies dazu beitragen, Ihr Modell besser anzupassen und die Leistung zu verbessern.
Kochede

1
Ich kann keine Referenzen für ARIMA finden, das ein universeller Annäherungswert außer Ihrem Beitrag ist. Könntest du mir einen zeigen?
Skander H.

2
@Alex Dies folgt aus dem Woldschen Zerlegungssatz, siehe hier phdeconomics.sssup.it/documents/Lesson11.pdf
Kochede

1
Kann ich sagen, dass das Zustandsraummodell eine allgemeinere Form hat und ARIMA nur eine Teilmenge davon abdeckt?
Vickyyy

3

Vielen Dank an @IrishStat für einige sehr gute Fragen in Kommentaren. Die Antwort auf Ihre Fragen ist zu lang, um als Kommentar gepostet zu werden. Deshalb poste ich sie als Antwort (leider nicht auf die ursprüngliche Frage des Themas).

Die Fragen lauteten: " Identifiziert es klar Zeittrendänderungen und meldet die Zeitpunkte, zu denen sich der Trend ändert? Unterscheidet es zwischen Parameteränderungen und Änderungen der Fehlervarianz und meldet dies? Erkennt und meldet es spezifische Vor- und Nachlaufeffekte um den Benutzer herum angegebene Prädiktoren? Kann man die minimale Anzahl der Werte in einer Gruppe vor einer Pegelverschiebung / Ortszeit Trend angeben erklärt wird ? ist es zwischen der Notwendigkeit unterscheidet für Leistung in Abhängigkeit von deterministischen Zeitpunkt transformiert , wo die Fehlervarianz ändert? "

  1. Trendänderungen erkennen - ja, natürlich können Sie die Trendsteigung zu einer Zustandsvariablen machen, und KF schätzt kontinuierlich die aktuelle Steigung. Sie können dann entscheiden, welche Neigungsänderung für Sie groß genug ist. Wenn sich die Steigung in Ihrem Zustandsraummodell nicht zeitlich ändert, können Sie die Residuen während der Filterung auf standardmäßige Weise testen, um festzustellen, ob ein Bruch Ihres Modells vorliegt.
  2. Unterscheiden Sie zwischen den Parametern Änderungen und Fehlervarianz Änderungen - ja, Varianz einer der Parameter sein kann (Staaten), dann die Parameter höchstwahrscheinlich geändert , hängt von einer Wahrscheinlichkeit des Modells und wie insbesondere Daten geändert haben.
  3. Erkennen von Lead / Lag-Beziehungen - Sie sind sich nicht sicher, ob Sie verzögerte Variablen in ein State-Space-Modell einbeziehen können. für Auswahl von Lags, können Sie entweder Test Residuen von Modellen mit verschiedenen Lags enthalten oder, in einem einfachen Fall, verwenden Sie einfach einen Quer Korrelogramm vor , ein Modell zu formulieren.
  4. Geben Sie den Schwellenwert für die Anzahl der Beobachtungen an, um über eine Trendänderung zu entscheiden - ja, wie in 1), da die Filterung rekursiv durchgeführt wird, können Sie nicht nur die für Sie ausreichend große Änderung der Schwellenwertsteigung, sondern auch die Anzahl der Beobachtungen für die Zuverlässigkeit festlegen. Aber besser - KF erstellt nicht nur eine Schätzung der Steigung, sondern auch Konfidenzbänder für diese Schätzung, sodass Sie möglicherweise entscheiden können, dass sich die Steigung erheblich ändert, wenn die Konfidenzgrenze einen bestimmten Schwellenwert überschreitet.
  5. Unterscheiden Sie zwischen dem Erfordernis einer Leistungstransformation und dem Erfordernis einer größeren Varianz - ich verstehe nicht sicher, ob ich das richtig verstehe, aber ich denke, Sie können Residuen während des Filterns testen, um festzustellen, ob sie noch normal sind und nur eine größere Varianz aufweisen oder eine gewisse Abweichung aufweisen, sodass Sie sie ändern müssen Ihr Modell. Besser - Sie können es zu einem binären Schaltzustand Ihres Modells machen, dann schätzt KF es automatisch basierend auf der Wahrscheinlichkeit. In diesem Fall ist das Modell nicht linear, sodass Sie UKF zum Filtern benötigen.

1

Der Kalman-Filter ist der optimale lineare quadratische Schätzer, wenn die Zustandsdynamik und die Messfehler den sogenannten linearen Gaußschen Annahmen folgen ( http://wp.me/p491t5-PS ). Solange Sie Ihre Dynamik- und Messmodelle kennen und diese den linearen Gaußschen Annahmen folgen, gibt es keinen besseren Schätzer in der Klasse der linearen quadratischen Schätzer. Die häufigsten Gründe für "fehlgeschlagene" Kalman-Filter-Anwendungen sind jedoch:

  1. Ungenaue / falsche Kenntnis der Zustandsdynamik und der Messmodelle.

  2. Ungenaue Initialisierung des Filters (Bereitstellung einer anfänglichen Zustandsschätzung und Kovarianz, die nicht mit dem tatsächlichen Systemzustand übereinstimmt). Dies lässt sich mithilfe eines WLS-Initialisierungsverfahrens (Weighted Least Squares) leicht überwinden.

  3. Einbeziehen von Messungen, die statistische "Ausreißer" in Bezug auf das Systemdynamikmodell sind. Dies kann dazu führen, dass die Kalman-Verstärkung negative Elemente aufweist, die nach der Aktualisierung zu einer nicht positiven semidefiniten Kovarianzmatrix führen können. Dies kann vermieden werden, indem "Gating" -Algorithmen, wie z. B. Ellipsoid-Gating, verwendet werden, um die Messung zu validieren, bevor der Kalman-Filter mit dieser Messung aktualisiert wird.

Dies sind einige der häufigsten Fehler / Probleme, die ich beim Arbeiten mit dem Kalman-Filter gesehen habe. Andernfalls ist der Kalman-Filter ein optimaler Schätzer, wenn die Annahmen Ihrer Modelle gültig sind.


1

Sie können sich auf das ausgezeichnete Buch Bayesian Forecasting and Dynamic Models (Harrison und West, 1997) beziehen . Die Autoren zeigen, dass fast alle traditionellen Zeitreihenmodelle Sonderfälle des allgemeinen dynamischen Modells sind. Sie betonen auch die Vorteile. Möglicherweise ist einer der Hauptvorteile die Einfachheit, mit der Sie viele Zustandsraummodelle integrieren können, indem Sie einfach den Zustandsvektor erweitern. Sie können beispielsweise Regressoren, saisonale Faktoren und eine autoregressive Komponente nahtlos in ein einziges Modell integrieren.


Hallo, können Sie mehr über "Sie können beispielsweise nahtlos Regressoren, saisonale Faktoren und eine autoregressive Komponente in ein einziges Modell integrieren." Korrigieren Sie mich, wenn ich falsch liege. Bedeutet dies, dass Sie für ARIMA die Zeitreihe stationär machen müssen, für das Zustandsraummodell jedoch nur die Anzahl der Zustandsvariablen anpassen müssen?
Vickyyy

@Vickyyy Im Gegensatz zu ARIMA nehmen Zustandsraummodelle keine Stationarität an. Sie können einfach viele Komponenten hinzufügen und sie in einem einzelnen Zustandsvektor darstellen.
Anselmo

1

Ich würde hinzufügen, dass Sie, wenn Sie direkt eine State Space-Funktion verwenden, wahrscheinlich die verschiedenen Matrizen, aus denen ein Modell besteht, sowie deren Interaktion und Funktionsweise verstehen müssen. Es ist viel mehr wie das Definieren eines Programms als das Definieren eines ARIMA-Modells. Wenn Sie mit einem dynamischen State Space-Modell arbeiten, wird es noch komplizierter.

Wenn Sie ein Softwarepaket mit einer wirklich, wirklich netten State Space-Funktion verwenden, können Sie möglicherweise einige davon vermeiden, aber die überwiegende Mehrheit solcher Funktionen in R-Paketen erfordert, dass Sie irgendwann in die Details springen.

Meiner Meinung nach ähnelt es der Bayes'schen Statistik im Allgemeinen, deren Anwendung mehr Verständnis, Pflege und Fütterung erfordert als häufigere Funktionen.

In beiden Fällen ist es die zusätzlichen Details / Kenntnisse wert, aber es könnte ein Hindernis für die Annahme sein.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.