MS-C2128 Ennustaminen ja Aikasarja-analyysi, Heikki Seppälä Matematiikan ja systeemianalyysin laitos Perustieteiden korkeakoulu Aalto-yliopisto Syksy 2015
Viikko 6: 1 Kalmanin suodatin
Aiemmin käsitellyt ARIMAX-mallit ovat jo melko yleistä muotoa olevia malleja, mutta ne eivät sovi pitkän ajan ennustamiseen ja ovat lineaarisia selittäjien suhteen. Yleisemmin voimme tarkastella malleja f (y t ) = g ( (y s ) {s t 1}, (x s ) {s t} ) + ɛt, missä d-ulotteinen y t = (y 1t,..., y dt ) riippuu omasta historiastaan ja k-ulotteisesta aikasarjasta (x t ) t T, x t = (x 1t,..., x kt ), t T, epälineaarisesti funktioiden f ja g kautta. Käytännössä joudutaan usein käyttämään tämänkaltaisia prosesseja, mutta yleisen teorian kehittäminen niille on vaikeaa.
Sisältö 1 Kalmanin suodatin
Dynaamisen systeemin tila-avaruusesitys Usein halutaan ennustaa tai käyttää ennustamiseen prosessia (tai tilaa) x, josta ei saada suoria havaintoja, mutta käytettävissä on havaintoja prosessista y, joka riippuu tilasta x. Tällaisessa tapauksessa on hyödyllistä kirjoittaa prosessi tila-avaruusesityksen avulla.
Dynaamisen systeemin tila-avaruusesitys Tarkastellaan MA(1)-prosessia y t = ɛ t + θ 1 ɛ t 1. Määritellään tila-vektori x t ja kohina v t+1 asettamalla [ ] [ ] ɛt ɛt+1 x t = ja v t+1 =. 0 ɛ t 1 Silloin ja x t+1 = F x t + v t+1, F = [ ] 0 0 1 0 y t = H x t, missä H = [ 1 θ ].
Dynaamisen systeemin tila-avaruusesitys Määritelmä Olkoot y t = (y 1t,..., y dt ) ja x t = (x 1t,..., x kt ) satunnaisvektorit. Dynaamisen systeemin tila-avaruusesitys on x t+1 = F x t + v t+1 y t = H x t + w t, missä F ja H ovat k k- ja k d-matriisit ja satunnaisvektorit v = (v 1t,..., v kt ) sekä w = (y 1t,..., y kt ) ovat valkoista kohinaa siten, että E[v t w s ] = 0 kaikilla t ja s E[v t x 1 ] = 0 = E[w tx 1 ], t T. Viimeisestä ehdosta seuraa, että kohinat ovat riippumattomia vektoreista y t ja x t kaikilla t T.
Tila-avaruusesitys Esimerkki ARMA(p, q)-prosessin y t = φ 1 y t 1 +... + φ p y t p + ɛ t + θ 1 ɛ t 1 +... + θ q ɛ t q tila-avaruusesitys on φ 1 φ 2 φ k 1 φ k 1 0 0 0 x t+1 = 0 1 0 0 x t +...... 0 0 1 0 y t = [ 1 θ 1 θ 2 θ k 1 ] x t, missä k = max{p, q + 1} ja ɛ t+1 φ j = 0, kun j > p ja θ j = 0 kun j > q. 0 0. 0
Kalmanin suodatin: Ongelma Halutaan ennustaa tilaa x t+1 = (x 1(t+1),..., x k(t+1) ), mutta käytettävissä on vain havaintoja muuttujasta y t = (y 1t,..., y dt ), joka sisältää kaiken käytettävissä olevan informaation tilasta x t+1. Oletetaan, että systeemillä on tila-avaruusesitys x t+1 = F x t + v t+1 y t = H x t + w t missä y t ja w t ovat d-ulotteisia satunnaismuuttujia, x t+1 ja v t+1 ovat k-ulotteisia satunnaismuuttujia sekä { { Q, t = s R, t = s cov(v t, v s ) = ja cov(w t, w s ) = 0, t s 0, t s.
Esimerkki: GPS paikannus m 1 satelliittia mittaa kohteen pseudoetäisyyksien sekä niiden derivaattojen differenssit kuhunkin satelliittin hetkellä t, ja m 2 kappaletta tukiasemia mittaa etäisyyden kohteeseen, jolloin saadaan mittaustuloksista koostuva vektori y t = (y 1t,..., y dt ), d = 2m 1 + m 2. tila-vektori x t sisältää kohteen sijainnin koordinaatit ξ t ja nopeuden v t, [ ] ξt x t =. v t Tila-avaruusmalli paikannukselle (ja nopeuden mittaamiselle) on x t+1 = F x t + u t y t = h(x t ) + w t, missä h(x t ) on sopivasti valittu epälineaarinen funktio ja u t sekä w t ovat kohinaa.
Kalmanin suodatin Kalmanin suodattimessa ollaan usein kiinnostuttu tilasta x t+1 = (x 1(t+1),...x k(t+1 )), jota pyritään ennustamaan havaintojen y t = (y 1,t,..., y d,t ) avulla. Ennuste tilalle x t+1 hetkellä t on ehdollinen odotusarvo ˆx t+1 t := Ê[x t+1 Y t ], Y t := (y t,..., y 1 ). Kalmanin suodatin laskee ennusteet ˆx 1 (), ˆx 2 1,..., ˆx T T 1 rekursiivisesti ja jokaiseen ennusteeseen liittyy keskineliövirhematriisi P t+1 t := E [ (x t+1 ˆx t+1 t )(x t+1 ˆx t+1 t ) ]
Kalmanin suodatin: algoritmi 1 Alkuarvot (pitää valita): ˆx 1 () = E[x 1 ] P 1 () = E [ (x 1 E[x 1 ])(x 1 E[x 1 ]) ] 2 Rekursiokaavat ennusteelle ˆx t+1 t ja matriisille P t+1 t ovat ˆx t+1 t = F ˆx t t 1 + F P t t 1 H ( H P t t 1 H + R ) 1( y t H ˆx ) t t 1 P t+1 t = ( F K t H ) ( F P t t 1 F HK ) t + K t RK t + Q, missä K t on Kalmanin vahvistus (Kalman gain), K t := F P t t 1 H ( H P t t 1 H + R ) 1. 3 Ennuste ŷ t+1 t saadaan kaavalla ŷ t+1 t = H ˆx t+1 t E [ (y t+1 ŷ t+1 t )(y t+1 ŷ t+1 t ) ] = H P t+1 t H + R. ja
Kalmanin suodattimen yleistys Kalmanin suodattimessakin voidaan luopua lineaarisuusoletuksista, jolloin tila-avaruusesitys on x t+1 = f t (z t, x t ) + v t+1 y t = h t (x t ) + w t, missä x t+1, y t, v t+1 ja w t ovat kuten edellä, z t on eksogeeninen, kaikista muista riippumaton muuttuja, sekä f t ja h t ovat ajasta t, tilasta x t sekä syötteestä z t riippuvia funktioita. Tällöin ennusteet ovat monimutkaisempia, mutta erittäin käyttökelpoisia.
Lähteet: 1 Hamilton, J. (1994): Time Series Analysis, Princeton University Press 2 Ali-Löytty, S. (2004): Kalmanin suodatin ja sen laajennukset paikannuksessa, Diplomityö, TTY