La Forma State-Space, il Filtro di Kalman e i Modelli a Componenti
Transcript
La Forma State-Space, il Filtro di Kalman e i Modelli a Componenti
La Forma State-Space, il Filtro di Kalman e i Modelli a Componenti non Osservabili Matteo Pelagatti Università degli Studi di Milano-Bicocca 11 giugno 2007 Che cosa è la forma State-Space È una forma molto generale di rappresentare sistemi dinamici, particolarmente adatta a fare inferenza su componenti non osservabili. Nasce nel mondo dell’analisi dei segnali e della teoria del filtraggio per opera di Kalman (1960), il quale ricava l’algoritmo per fare inferenza sulle componenti non osservabili: il Filtro di Kalman. Dagli anni ’80 inizia ad essere utilizzato in applicazioni econometriche. La letteratura statistico-econometrica, in cui è notevole l’interesse per la stima di parametri incogniti, mette in evidenza come usare il filtro di Kalman per calcolare la funzione di verosimiglianza, rendendo possibile la stima ML di questi. 1 Equazioni State-Space Usando la notazione di Harvey: Equazione di misurazione yt = Ztαt + dt + εt Equazione di transizione αt = Ttαt−1 + ct + Rtη t con t = 1, . . . , T . 2 Equazioni State-Space • yt (N × 1) vettore di variabili osservabili • αt (m × 1) vettore di variabili (in genere) non osservabili • Zt (N × m) matrice di iperparametri • dt (N × 1) vettore usato soprattutto per cambiare il valore medio di ε (si può avere una rappresentazione equivalente del sistema anche senza dt) • εt (N × 1) vettore di disturbi serialmente incorrelati con E(ε) = 0, Var(ε) = Ht 3 Equazioni State-Space • Tt (m × m) matrice di transizione • ct (m × 1) vettore di costanti • η t (g × 1) vettore di innovazioni serialmente incorrelate con con E(η) = 0, Var(η) = Qt • Rt (m × g) usata per poter sempre definire la distribuzione del vettore casuale η t propriamente (ovvero in modo che Qt sia definita positiva) 4 Equazioni State-Space Le seguenti ipotesi completano il sistema: • E(α0) = a0, Var(α0) = P0 • E(εtη s) = 0, ∀s, t = 1, . . . , T (questa ipotesi può essere rilassata) • E[εt(α0 − a0)] = E[η t(α0 − a0)] = 0, ∀t = 1, . . . , T 5 Equazioni State-Space Il sistema è lineare (yt può essere espressa come combinazione lineare di valori presenti e passati di εt e η t e di α0) se le matrici di sistema Zt, dt, Ht, Tt, ct, Rt e Qt • sono costanti (per es. Zt = Z), nel qual caso il sistema è detto time-invariant o time-homogeneous • variano nel tempo ma esogenamente al sistema I modelli stazionari sono un caso particolare dei sistemi time-invariant. 6 AR(2) in forma State-Space yt = φ1yt−1 + φ2yt−2 + ²t Equazione di misurazione yt = (1 0)(αt αt−1)0 Equazione di transizione µ ¶ µ ¶µ ¶ µ ¶ αt φ1 φ2 αt−1 1 = + ² αt−1 1 0 αt−2 0 t 7 MA(1) in forma State-Space yt = ²t + θ²t−1 Equazione di misurazione yt = (1 θ)(αt αt−1)0 Equazione di transizione µ ¶ µ ¶µ ¶ µ ¶ αt 0 0 αt−1 1 = + ² αt−1 1 0 αt−2 0 t 8 ARMA(2,1) in forma State-Space yt = φ1yt−1 + φ2yt−2 + ²t + θ²t−1 Equazione di misurazione yt = (1 θ)(α1,t α2,t)0 Equazione di transizione µ ¶ µ ¶µ ¶ µ ¶ α1,t φ1 φ2 α1,t−1 1 = + ² α2,t 1 0 α2,t−1 0 t 9 ARMA(2,1) in forma State-Space Dimostriamo che le due forme sono equivalenti: dalla seconda riga dell’equazione di transizione abbiamo che α2,t = α1,t−1 e dalla prima riga α1,t = φ1α1,t−1 + φ2α2,t−1 + ²t = φ1α1,t−1 + φ2α1,t−2 + ²t da cui ²t = (1 − φ1B − φ2B 2)α1,t 10 Dall’equazione di misura risulta yt = α1,t + θα2,t = α1,t + θα1,t−1 = (1 + θB)α1,t Moltiplicando entrambi i membri dell’equazione per (1 − φ1B − φ2B 2) (1 − φ1B − φ2B 2)yt = (1 + θB)(1 − φ1B − φ2B 2)α1,t e sfruttando l’identità ottenuta per ²t (1 − φ1B − φ2B 2)yt = (1 + θB)²t che è il processo ARMA(2,1) nella sua forma ridotta. 11 ARMA(p,q) in forma State-Space (1 − ψ1B − . . . − ψpB p)yt = (1 + θ1 + . . . + θq )²t Siano r = max(p, q), φj = 0 per j > p e θj per j > q. Equazione di misurazione yt = (1 θ1 . . . θr−1)αt dove il vettore di stato αt è (r × 1) 12 Equazione di transizione φ1 φ2 1 0 0 αt = 0 . . . . . . 0 0 . . . φr−1 ... 0 ... 0 ... ... ... 1 φr 1 0 0 0 αt−1 + 0 ²t 0 . . . 0 0 La dimostrazione dell’uguaglianza delle due forme è analoga a quella già vista per il caso ARMA(2,1) ed è lasciata per esercizio. (Suggerimento: αi,t = B i−1α1,t). 13 Semplice modello a componenti non osservabili Si consideri il seguente modello per cui la serie yt è scomposta in un trend stocastico (random walk with drift) e in un ciclo stocastico (AR(2)): yt = st + ct st = δ + st−1 + ²t ct = φ1ct−1 + φ2ct−2 + ωt Vi sono rappresentazioni state-space alternative. Vediamone due. 14 Rappresentazione 1. Si prenda ct come variabile di stato e si differenzi la serie: ∆yt = ∆st + ∆ct = δ + ∆ct + ²t Equazione di misurazione ∆yt = δ + (1 − 1)(ct ct−1)0 + ²t Equazione di transizione µ ct ct−1 ¶ µ = φ1 φ2 1 0 ¶µ ct−1 ct−2 ¶ µ ¶ 1 ωt + 0 15 Rappresentazione 2. Trattando sia st, sia ct come variabili di stato abbiamo: Equazione di misurazione yt = (1 1 0)(st ct ct−1)0 Equazione di transizione st δ 1 0 0 st−1 1 0 µ ¶ ct = 0 + 0 φ1 φ2 ct−1 + 0 1 ²t ωt ct−1 0 0 1 0 ct−2 0 0 16 Modello di regressione con coefficienti dinamici yt = α1,tx1,t + . . . + αk,txk,t + εt αi,t = δ + φiαi,t−1 + ηi,t Equazione di misurazione 0 yt = (x1,t . . . xk,t)(α1,t . . . αk,t) + εt Equazione di transizione α1,t δ1,t φ1 . . .. = .. + 0 αk,t δk,t 0 0 ... 0 0 α1,t−1 η1,t 0 ... + ... φk αk,t−1 ηk,t 17 VAR in forma state space yt = ν + A1yt−1 + . . . + Apyt−p + ²t Equazione di misurazione 0 yt = (Ik 0 . . . 0)(y0t . . . yt−p+1 )0 Equazione di transizione yt−1 yt A1 . . . Ap−1 Ap ν 1k yt−1 Ik . . . .. 0 0 0 0 . = . .. .. ... . . yt−p+1 + .. + .. ²t yt−p+1 0 ... Ik 0 yt−p 0 0 18 Il Filtro di Kalman Supponendo di conoscere i “veri” iperparametri del sistema, e di avere a che fare con un sistema lineare e gaussiano, il Filtro di Kalman fornisce le stime ottimali del vettore di stato αt (nel senso del mean square error, in breve MSE) data l’informazione disponibile al tempo t, indicata con Yt. Il filtro fornisce anche la matrice di varianza dello stimatore, e sotto le condizioni appena ricordate (linearità e gaussianità) si distribuisce a sua volta normalmente. Si indichi con at|s lo stimtore di αt data l’informazione Ys e con Pt|s la relativa matrice di varianza. 19 Filtro di Kalman e dintorni • at|t = E[αt|Yt] è detto filtro, • at|s = E[αt|Ys] con t > s è detto previsore, • at|s = E[αt|Ys] con t < s è detto smoother, 20 Il Filtro di Kalman Equazioni di previsione (prediction equations) at|t−1 = Ttat−1|t−1 + ct Pt|t−1 = TtPt−1|t−1T0t + RtQtR0t La previsione per yt è quindi ỹt|t−1 = Ztat|t−1 + dt. Errore di previsione e relativa varianza ν t = yt − ỹt|t−1 = yt − Ztat|t−1 − dt = Zt(αt − at|t−1) + εt Ft = ZtPt|t−1Z0t + Ht 21 Il Filtro di Kalman Equazioni di aggiornamento (updating equations) at|t = at|t−1 + Pt|t−1Z0tF−1 t ν Pt|t = Pt|t−1 − Pt|t−1Z0tF−1 t Zt Pt|t−1 22 Previsione La formula per prevedere l passi in avanti si ottiene dal Filtro di Kalman, saltando il passo delle equazioni di aggiornamento: aT +l|T = TT +laT +l−1|T +l−2 + ct+l PT +l|T = TT +1PT +l−1|T T0T +l + RT +lQT +lR0T +l 23 Smoothing Lo stimatore ottimale di αt data l’informazione fino al tempo T è detto smoother ed è dato da at|T = at|t + Ot(at+1|T − Tt+1at|t − ct+1) Pt|T = Pt|t + Ot(Pt+1|T − Pt+1|t)O0t con Ot = PtT0t+1P−1 t+1|t . Lo smoother si applica dopo aver calcolato il Filtro di Kalman e lavorando “a marcia indietro” (t = T − 1, . . . , 1). 24 Inizializzazione del filtro Per poter applicare le equazioni del Filtro di Kalman si ha bisogno dei valori iniziali a0|0 e P0|0. Si può procedere in vari modi: • se l’equazione di transizione è stazionaria si possono usare la media e la varianza marginali a0|0 = (I − T)−1ct, vec(P0|0) = (I − T ⊗ T)−1vec(RQR0) • si pone la matrice di varianza uguale a zero e si considera a0|0 parametro da stimare • si attribuisce a a0|0 una distribuzione diffusa (varianza infinita o comunque molto grande) 25 Stima di massima verosimiglianza dei parametri Solitamente nelle matrici di sistema ed in quelle di varianza dei disturbi vi sono parametri incogniti da stimare. Sia θ il vettore di tali parametri. La funzione di log-verosimiglianza è data da T T NT 1X 1 X 0 −1 l(θ) = − log 2π − log |Ft| − ν F νt 2 2 t=1 2 t=1 t t La stima di massima verosimiglianza dei parametri θ può essere trovata per mezzo di algoritmi numerici o usando varianti dell’algoritmo EM. 26 Modelli a componenti non osservabili Questi modelli, detti anche Modelli Strutturali per Serie Storiche (STSM = Structural Time Series Models) sono stati sviluppati principalmente da Harvey (1989) (e da West e Harrison, 1989, in ambito bayesiano). L’idea di base è quella di pensare una serie storica come la somma di componenti stocastiche, oltre ad eventuali regressori: yt = µt + ψt + γt + k X βixi,t + εt, i=1 dove µt è il trend, ψt è una componente ciclica, γt è la stagionalità, xi,t sono regressori e εt è un errore di misurazione a media nulla e serialmente indipendente. 27 La specificazione del trend A µt è solitamente data la forma del trend localmente lineare: µt = µt−1 + βt−1 + ηt, ηt ∼ i.i.d. N (0, ση2) βt = βt−1 + ξt, ξt ∼ i.i.d. N (0, σξ2) • se entrambi gli shock ηt e ξt sono identicamente nulli (varianze=0), si ottiene un trend lineare deterministico, • se ξt è identicamente nullo, si ottiene una passeggiata aleatoria con deriva, • se ηt è identicamente nullo, si ottiene una passeggiata aleatoria con deriva integrata, cioè un trend che evolve in maniera molto liscia. 28 Passeggiata aleatoria I(1) Passeggiata aleatoria con deriva I(1) 2 6 1 4 0 2 0 100 200 300 400 Passeggiata aleatoria integrata I(2) 500 15 0 0 200 300 400 500 100 200 300 400 500 15 10 10 5 5 0 0 0 100 Trend lineare locale I(2) 100 200 300 400 500 0 29 La specificazione del ciclo Un ciclo stocastico può essere catturato per mezzo del processo ψt in · ¸ · ¸· ψt cos λ sin λ = ρ ψt∗ − sin λ cos λ ¸ · ψt−1 κt + ∗ ψt−1 κ∗t ¸ con κt e κ∗t shock normali reciprocamente e serialmente incorrelati con varianza comune σκ2 , ρ ∈ [0, 1] fattore di smorzamento. Se ρ < 1 il ciclo è stazionario con varianza σκ2 1 − ρ2 e media nulla. Se ρ = 1 il ciclo non è stazionario. 30 Per meglio comprendere come funziona questo processo, consideriamo ψt = (ψt ψt∗)0 un punto nello spazio cartesiano. La matrice che pre-moltiplica ψt−1 è una matrice di rotazione, cioè fa ruotare il punto di un angolo λ in senso orario. l r k* k Il ciclo è la proiezione dei punti sull’asse delle ascisse. 31 10 0 −10 0 20 40 60 80 100 120 140 160 180 200 λ è la frequenza media del ciclo, legata al periodo p dalla seguente relazione: λ= 2π 2π ⇐⇒ p = p λ Nel grafico il periodo è p = 10. Quando la varianza degli shock κ è nulla e ρ = 1 otteniamo una sinusoide deterministica di periodo p. 32 La specificazione sinusoidale della stagionalità Dato che una stagionalità deterministica è una funzione periodica di periodo s (numero di osservazioni in un “anno”), che su s periodi somma a zero, per un noto teorema delle funzioni periodiche, essa può essere espressa come somma di bs/2c sinusoidi di frequenze λj = j · 2π/s, j = 1, . . . , bs/2c: fperiodo s(t) = X aj cos(λj t) + bj sin(λj t) 1≤j≤s/2 Dato che il ciclo stocastico con ρ = 1 è una generalizzazione stocastica della sinusoide di periodo λ, si può generare una componente stagionale stocastica (cioè che evolve nel tempo in maniera casuale) sommando bs/2c cicli stocastici (con ρ = 1). 33 Se quindi definiamo γj,t la j-esima sinusoide stocastica al tempo t, · ¸ · γi,t cos λj = ∗ γi,t − sin λj sin λj cos λj ¸· ¸ · ¸ γj,t−1 ωj,t + , ∗ ∗ γj,t−1 ωt,t la componente stagionale è data da γt = X γj,t. 1≤j≤s/2 Generalmente si pongono le varianze degli shock ωj,t tutte pari al medesimo valore σω2 . 34 La specificazione dummy della stagionalità Una rappresentazione alternativa della stagionalità si può ottenere per mezzo di variabili dummy stocastiche (che evolvono nel tempo). Dato che una stagionalità deterministica è periodica e somma a zero (su s periodi), la sua generalizzazione stocastica può essere s−1 X γt−i = ωt ωt ∼ i.i.d. N (0, σω2 ) i=0 35 PROC UCM La PROC UCM permette di stimare parametri e componenti non osservabili di un modello UCM, e di farne le previsioni. La sintassi tipica è proc ucm data=lib.dataset; model y; irregular variance=1; level variance=1; slope variance=0 noest; season type=trig length=7; estimate; forecast back=7 lead=7 outfor=previsioni; 36 run; Per i dettagli della procedura si faccia riferimento al capitolo 28 del manuale SAS/ETS versione 9 (scaricabile anche dal sito web SAS). La PROC UCM permette anche di modellare serie storiche con stagionalità multiple, per esempio serie oraria con stagionalità intra-day e intra-week: [...] season length=24 type=trig; blockseason nblocks=7 blocksize=24; [...] 37 Bibliografia Durbin, J. e Koopman S. J. (2001), Time Series Analysis by State Space Methods, Oxford University Press. Hamilton, J. D. (1994), Time Series Analysis, Princeton University Press. Harvey, A. C. (1989), Forecasting, Structural Time Series Models and the Kalman Filter, Cambridge University Press. Harvey, A. C. (1990), The Econometric Analysis of Time Series, Philp Allan, Hemel Hempstead and MIT Press. Harvey, A. C. (1993), Time Series Models, Harvester Wheatsheaf. SAS (2005), SAS/ETS User’s Guide, Version 8, SAS Publishing West, M. e Harrison, J. (1989), Bayesian Forecasting and Dynamic Models, Springer. 38
Documenti analoghi
Modelli in forma State
Nell’equazione di osservazione entra solamente il primo elemento del vettore
di stato. La matrice di covarianza dei disturbi è nulla ovunque tranne il primo
elemento che è pari a σω2 .
Il vettore d...