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