Quali sono gli svantaggi dei modelli dello spazio degli stati e del filtro Kalman per la modellazione di serie storiche?


53

Date tutte le buone proprietà dei modelli dello spazio degli stati e KF, mi chiedo: quali sono gli svantaggi della modellazione dello spazio degli stati e dell'utilizzo del filtro Kalman (o EKF, UKF o filtro delle particelle) per la stima? Oltre diciamo metodologie convenzionali come ARIMA, VAR o metodi ad hoc / euristici.

Sono difficili da calibrare? Sono complicati e difficili da vedere in che modo un cambiamento nella struttura di un modello influenzerà le previsioni?

Oppure, in altre parole: quali sono i vantaggi dei tradizionali ARIMA, VAR rispetto ai modelli spaziali?

Posso solo pensare ai vantaggi di un modello spazio-stato:

  1. Gestisce facilmente interruzioni strutturali, spostamenti, parametri variabili nel tempo di alcuni modelli statici - basta semplicemente rendere tali parametri stati dinamici di un modello di spazio-stato e il modello si adatterà automaticamente a qualsiasi spostamento dei parametri;
  2. Gestisce i dati mancanti in modo molto naturale, basta eseguire il passaggio di transizione di KF e non eseguire il passaggio di aggiornamento;
  3. Permette di cambiare i parametri al volo di un modello dello spazio-stato stesso (covarianze di rumori e matrici di transizione / osservazione), quindi se la tua osservazione attuale proviene da una fonte leggermente diversa rispetto ad altre, puoi facilmente incorporarla nella stima senza fare niente di speciale;
  4. Utilizzando le proprietà di cui sopra consente di gestire facilmente i dati con spaziatura irregolare: o cambiare un modello ogni volta in base all'intervallo tra le osservazioni o utilizzare l'intervallo regolare e trattare gli intervalli senza osservazioni come dati mancanti;
  5. Permette di utilizzare contemporaneamente dati provenienti da fonti diverse nello stesso modello per stimare una quantità sottostante;
  6. Permette di costruire un modello da diversi componenti dinamici non osservabili interpretabili e stimarli;
  7. Qualsiasi modello ARIMA può essere rappresentato in una forma spazio-stato, ma solo i modelli semplici spazio-stato possono essere rappresentati esattamente in forma ARIMA.

1
Alcuni altri vantaggi, come indicato nel primo punto, possono facilmente incorporare turni e valori anomali su più livelli. Nella mia esperienza, le interruzioni strutturali possono essere facilmente identificate con lo spazio degli stati di ARIMA. Inoltre può incorporare facilmente effetti non lineari di variabili esogene. Non richiede che i dati delle serie temporali siano stazionari, il che è un enorme +.
previsioni

2
Bene, prenderò modelli di spazio statale su ARIMA in qualsiasi momento. Mi vengono in mente due svantaggi (una sorta di): a) il corrispondente modello di spazio degli stati di un modello ARIMA presenta molti zeri non necessari nelle matrici di progettazione. Si potrebbe sostenere che ARIMA è più compatta. b) esistono modelli non lineari / non gaussiani che raramente hanno forme analitiche che a volte possono essere descritte nella forma simile ad ARIMA, ma che saranno difficili nello spazio-stato tradizionale.
Cagdas Ozgenc,

2
@Kochede Durbin e Koopman non sembravano nemmeno pensare a molti svantaggi: ne menzionarono due in fondo a pagina 52 nel loro fantastico libro di testo . E direi che questi svantaggi non sono più necessariamente veri.

2
Alcune domande . Identifica chiaramente i cambiamenti nella tendenza temporale e riporta i punti temporali in cui la tendenza cambia? Distingue tra modifiche ai parametri e variazioni della varianza degli errori e segnala questo? Rileva e segnala specifici effetti di lead e lag attorno ai predittori specificati dall'utente? È possibile specificare il numero minimo di valori in un gruppo prima che venga dichiarato un cambiamento di livello / andamento dell'ora locale? Distingue tra necessità di trasformazioni di potenza e punti deterministici nel tempo in cui la varianza dell'errore cambia? I modelli ARMAX parlano di tutte queste considerazioni.
IrishStat

1
Per completezza, uno svantaggio in alcune circostanze è che devi spiegarli. Dipende dal tuo pubblico. Sono felice se qualcuno vuole respingere questo come qualcosa che è, o dovrebbe essere, irrilevante per la scelta di una tecnica.
Nick Cox,

Risposte:


25

Ecco un elenco preliminare di svantaggi che sono stato in grado di estrarre dai tuoi commenti. Critiche e aggiunte sono molto ben accette!

Complessivamente - rispetto ad ARIMA, i modelli dello spazio degli stati consentono di modellare processi più complessi, avere una struttura interpretabile e gestire facilmente le irregolarità dei dati; ma per questo paghi con una maggiore complessità di un modello, una calibrazione più difficile, meno conoscenza della comunità.

  1. ARIMA è un approssimatore universale - non ti interessa quale sia il vero modello dietro i tuoi dati e usi gli strumenti universali di diagnosi e adattamento ARIMA per approssimare questo modello. È come un adattamento della curva polinomiale: non ti interessa qual è la vera funzione, puoi sempre approssimarla con un polinomio di qualche grado.
  2. I modelli dello spazio di stato richiedono naturalmente di annotare alcuni modelli ragionevoli per il processo (il che è positivo: si utilizza la conoscenza precedente del processo per migliorare le stime). Naturalmente, se non hai idea del tuo processo, puoi sempre usare anche un modello universale di spazio-stato, ad esempio rappresentare ARIMA in una forma di spazio-stato. Ma poi ARIMA nella sua forma originale ha una formulazione più parsimoniosa - senza introdurre stati nascosti non necessari.
  3. Poiché esiste una così grande varietà di formulazioni di modelli nello spazio degli stati (molto più ricca della classe dei modelli ARIMA), il comportamento di tutti questi potenziali modelli non è ben studiato e se il modello che hai formulato è complicato - è difficile dire come si comporterà in circostanze diverse. Naturalmente, se il modello dello spazio degli stati è semplice o composto da componenti interpretabili, non esiste un problema del genere. Ma ARIMA è sempre lo stesso ARIMA ben studiato, quindi dovrebbe essere più semplice prevederne il comportamento anche se lo si utilizza per approssimare un processo complesso.
  4. Poiché lo spazio-stato ti consente di modellare direttamente e con precisione modelli complessi / non lineari, quindi per questi modelli complessi / non lineari potresti avere problemi con la stabilità del filtro / previsione (divergenza EKF / UKF, degradazione del filtro antiparticolato). Potresti anche avere problemi con la calibrazione dei parametri del modello complicato: è un problema di ottimizzazione computazionalmente difficile. ARIMA è semplice, ha meno parametri (1 fonte di rumore invece di 2 fonti di rumore, nessuna variabile nascosta) quindi la sua calibrazione è più semplice.
  5. Per lo spazio degli stati c'è meno conoscenza e software della comunità nella comunità statistica rispetto ad ARIMA.

1
Sei a conoscenza di qualsiasi esempio reale / applicazioni industriali in cui un filtro Kalman funziona meglio di una semplice media mobile o di un smoothing di exp nella previsione di una serie temporale a condizione che non ci sia un modello sottostante chiaro (quindi escludi i modelli derivanti dalle leggi della fisica) ? Nella maggior parte degli articoli, le prestazioni sembrano molto simili (e gli articoli accademici hanno una propensione positiva per modelli nuovi, originali e complessi). Nella maggior parte dei casi non è necessaria la conoscenza di un modello di sistema a stato lineare adeguato e di covarianze, ecc., Necessarie per specificare un filtro Klaman ...
Mannaggia,

Questo è vero. Ho ancora un esempio nella mia pratica. Quando si dispone di un modello generico (come la regressione lineare), è possibile rendere gli stati dei parametri di Kalman Filter e stimarli dinamicamente. Ovviamente, puoi anche semplicemente rimontare il tuo modello in ogni fase, ma questo è molto più computazionalmente costoso di un singolo aggiornamento di KF. Se in realtà i parametri variano effettivamente nel tempo o se il modello in uso non corrisponde esattamente al processo reale, ciò può aiutare ad adattare meglio il modello e migliorarne le prestazioni.
Kochede,

1
Non riesco a trovare riferimenti per ARIMA come approssimatore universale universale diverso dal tuo post. Potresti indicarmi uno?
Skander H.

2
@Alex Questo segue dal teorema di decomposizione di Wold, per esempio vedi qui phdeconomics.sssup.it/documents/Lesson11.pdf
Kochede

1
Posso dire che il modello spaziale statale ha una forma più generale e ARIMA ne copre solo un sottoinsieme?
Vickyyy,

3

Grazie @IrishStat per molte ottime domande nei commenti, la risposta alle tue domande è troppo lunga per essere pubblicata come commento, quindi la inserisco come risposta (purtroppo, non alla domanda originale dell'argomento).

Le domande erano: " Identifica chiaramente i cambiamenti di tendenza temporale e riporta i punti nel tempo in cui la tendenza cambia? Distingue tra modifiche di parametri e variazioni di errore e riporta su questo? Rileva e riporta specifici effetti di piombo e ritardo intorno all'utente predittori specificati? È possibile specificare il numero minimo di valori in un gruppo prima che venga dichiarato uno spostamento di livello / andamento dell'ora locale? Si distingue tra necessità di trasformazioni di potenza e punti deterministici nel tempo in cui cambia la varianza dell'errore? "

  1. Identifica i cambiamenti di tendenza: sì, naturalmente, puoi rendere la pendenza di tendenza una delle variabili di stato e KF stimerà continuamente la pendenza corrente. Puoi quindi decidere quale cambiamento di pendenza è abbastanza grande per te. In alternativa, se la pendenza non varia nel tempo nel modello dello spazio degli stati, è possibile testare i residui durante il filtraggio in modo standard per vedere quando c'è un'interruzione del modello.
  2. Distinguere tra le modifiche dei parametri e le variazioni della varianza dell'errore: sì, la varianza può essere uno dei parametri (stati), quindi quale parametro molto probabilmente è cambiato dipende dalla probabilità del modello e dalla particolare modifica dei dati.
  3. Rileva le relazioni lead / lag - non sei sicuro di ciò, puoi sicuramente includere eventuali variabili ritardate in un modello spazio-stato; per la selezione di ritardi, è possibile testare i residui di modelli con ritardi diversi inclusi o, in un caso semplice, utilizzare un cross-correlogramma prima di formulare un modello.
  4. Specifica il numero di soglia delle osservazioni per decidere il cambiamento di tendenza - sì, come in 1) perché il filtro viene eseguito in modo ricorsivo, non puoi solo sottrarre il cambiamento di pendenza che è abbastanza grande per te, ma anche # di osservazioni per sicurezza. Ma meglio: KF produce non solo una stima della pendenza, ma anche bande di confidenza per questa stima, quindi puoi decidere che la pendenza è cambiata significativamente quando il suo limite di confidenza ha superato una certa soglia.
  5. Distinguere tra necessità di trasformazioni di potenza e necessità di una varianza maggiore - non sono sicuro di aver capito bene, ma penso che durante il filtraggio sia possibile testare i residui per vedere se sono ancora normali con una varianza più grande o hanno un po 'di inclinazione, quindi è necessario cambiare il tuo modello. Meglio: potresti renderlo uno stato di commutazione binaria del tuo modello, quindi KF lo stimerà automaticamente in base alla probabilità. In questo caso il modello sarà non lineare, quindi sarà necessario UKF per eseguire il filtro.

1

Il filtro Kalman è lo stimatore quadratico lineare ottimale quando la dinamica dello stato e gli errori di misurazione seguono i cosiddetti assunti gaussiani lineari ( http://wp.me/p491t5-PS ). Quindi, fintanto che conosci le tue dinamiche e i tuoi modelli di misurazione e loro seguono le assunzioni gaussiane lineari, non esiste uno stimatore migliore nella classe degli stimatori quadratici lineari. Tuttavia, i ragionamenti più comuni per le applicazioni Kalman Filter "non riuscite" sono:

  1. Conoscenza imprecisa / errata delle dinamiche statali e dei modelli di misurazione.

  2. Inizializzazione imprecisa del filtro (che fornisce una stima dello stato iniziale e una covarianza incompatibile con il vero stato del sistema). Questo può essere facilmente superato usando una procedura di inizializzazione di Weighted Least Squares (WLS).

  3. Incorporando misure che sono "valori anomali" statistici rispetto al modello di dinamica del sistema. Ciò può far sì che il guadagno di Kalman abbia elementi negativi, il che può portare a una matrice di covarianza semi-definita non positiva dopo l'aggiornamento. Questo può essere evitato usando algoritmi di "gating", come il gating ellissoidale, per convalidare la misurazione prima di aggiornare il filtro Kalman con quella misurazione.

Questi sono alcuni degli errori / problemi più comuni che ho visto lavorare con il filtro Kalman. Altrimenti, se i presupposti dei tuoi modelli sono validi, il filtro Kalman è uno stimatore ottimale.


1

Puoi fare riferimento all'eccellente libro Previsione bayesiana e modelli dinamici (Harrison and West, 1997). Gli autori mostrano che quasi tutti i modelli di serie storiche tradizionali sono casi particolari del modello dinamico generale. Sottolineano anche i vantaggi. Forse uno dei maggiori vantaggi è la facilità con cui è possibile integrare molti modelli di spazio degli stati semplicemente aumentando il vettore di stato. Ad esempio, è possibile integrare perfettamente regressori, fattori stagionali e un componente autoregressivo in un singolo modello.


Ciao, puoi approfondire "Puoi, ad esempio, integrare perfettamente regressori, fattori stagionali e un componente autoregressivo in un singolo modello"? Correggimi se sbaglio, significa che per ARIMA devi rendere stazionarie le serie temporali ma per il modello dello spazio degli stati devi solo modificare il numero di variabili di stato?
Vickyyy,

@Vickyyy A differenza di ARIMA, i modelli dello spazio degli stati non assumono stazionarietà. Puoi semplicemente aggiungere molti componenti e rappresentarli in un vettore a singolo stato.
Anselmo,

1

Aggiungo che se usi direttamente una funzione dello spazio dello stato, probabilmente dovrai capire le varie matrici che compongono un modello e come interagiscono e funzionano. È molto più come definire un programma che definire un modello ARIMA. Se stai lavorando con un modello dinamico di spazio statale, diventa ancora più complicato.

Se usi un pacchetto software che ha una funzione davvero molto bella dello spazio dello stato, potresti essere in grado di evitarne una parte, ma la stragrande maggioranza di tali funzioni nei pacchetti R richiede di saltare ai dettagli a un certo punto.

A mio avviso, è molto simile alle statistiche bayesiane in generale, il cui meccanismo richiede più comprensione, cura e alimentazione da utilizzare rispetto alle funzioni più frequenti.

In entrambi i casi, vale la pena fornire ulteriori dettagli / conoscenze, ma potrebbe essere un ostacolo all'adozione.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.