Ennustaminen ARMA malleilla ja Kalmanin suodin MS-C2128 Ennustaminen ja Aikasarja-analyysi, Lauri Viitasaari Matematiikan ja systeemianalyysin laitos Perustieteiden korkeakoulu Aalto-yliopisto Syksy 2017
Viikko 5: Ennustaminen ARMA malleilla ja Kalmanin suodatin 1 Ennustamisesta 1 Ennustaminen ARMA malleilla 2 Eksponentiaalinen tasoitus 2 Kalmanin suodatin
Sisältö 1 Ennustamisesta 2 Kalmanin suodatin
Ennustaminen ARMA-mallilla: Idea Ennustetaan aikasarjan x t, t =..., 2, 1, 0, 1, 2,... arvoa x t+s perustuen havaintoihin ajanhetkeen t asti, eli havaintoihin..., x t 2, x t 1, x t Ennusteeksi ˆx t+s t saadaan siis jokin funktio arvoista..., x t 2, x t 1, x t Tarkoituksena on siis etsiä jokin funktio arvoista..., x t 2, x t 1, x t siten, että ollaan mahdollisimman lähellä arvoa x t+s Optimaalinen ennuste (keskineliövirheen mielessä) saadaan ehdollisesta odotusarvosta ˆx t+s t := Ê[ x t+s x t, x t 1,... ]
Ennustaminen ARMA-mallilla: Idea Oletetaan, että prosessilla (x t ) t T on MA-esitys x t = ψ j L j ɛ t, ψ 0 = 1, ψ j <, j=0 ja ollaan havaittu prosessi (ɛ t ) t T ajanhetkeen t asti, eli meillä on havainnot ɛ t, ɛ t 1, ɛ t 2... Silloin x t+s = ɛ t+s + ψ 1 ɛ t+s 1 +... + ψ s 1 ɛ t+1 + ψ s ɛ t + ψ s+1 ɛ t 1 +... j=0 ja ajanhetkellä t tehty optimaalinen ennuste (keskineliövirheen mielessä) on ˆx t+s t := Ê[ x t+s ɛ t, ɛ t 1,... ] = ψ s ɛ t +ψ s+1 ɛ t 1 +ψ s+2 ɛ t 2 +... Ennusteen keskineliövirhe on E [( x t+s ˆx t+s t ) 2 ] = ( 1 + ψ 2 1 + ψ 2 2 +... + ψ2 s 1) σ 2.
Ennustaminen ARMA-mallilla Yleensä prosessin (ɛ t ) t T sijaan on havaittu (stationaarinen) prosessi (x t ) t T, ( 1 φ1 L... φ p L p) x t = ( 1 + θ 1 L +... + θ q L q) ɛ t eikä MA( )-esitystä ole aina mielekästä käyttää ennustamiseen. Kääntyvyys kuitenkin takaa sen, että on yhdentekevää havaitaanko (x t ) t T vai (ɛ t ) t T. Silloin s-askeleen ennusteeksi hetkellä t saadaan φ 1ˆx t+s 1 t + φ 2ˆx t+s 2 t +... + φ pˆx t+s p t ˆx t+s t = +θ s ɛ t + θ s+1 ɛ t 1 +... + θ q ɛ t+s q s = 1, 2,..., q, φ 1ˆx t+s 1 t + φ 2ˆx t+s 2 t +... + φ pˆx t+s p t s q + 1, missä ˆx τ t = x τ, kun τ t ja termit ɛ t voi laskea rekursiivisesti kaavalla ɛ t = x t ˆx t t 1.
Ennustaminen ARMA-mallilla Huom Jos ennustetaan pitkälle, eli s > q, niin ennuste ei ota enää liukuvaa keskiarvoa huomioon, koska havaintoja sen laskemiseen ei ole. Edellä oletettiin, että havaintoja on äärettömän pitkälle historiaan. Käytännössä voidaan antaa havaitsemattomille arvoille arvot 0. Tämä toimii hyvin, jos havaintoja on paljon ja kertoimet θ i ja ψ i ovat suhteellisen pieniä.
ARMA-mallin ennusteen optimaalisuus Jos aikasarja x t on realisaatio ARMA(p, q)-prosessista (tunnetuilla) parametreilla φ 1, φ 2,..., φ p, θ 1, θ 2,..., θ q, niin ennuste ˆx t+s t on optimaalinen siinä mielessä, että se minimoi keskineliövirheen MSE(ˆx t+s t ) = E [( x t+s ˆx t+s t ) 2 ]. ARMA(p, q)-prosessin parametreja ei yleensä tunneta, vaan ne on estimoitava havainnoista.tällöin ennusteen keskineliövirheen kaavaan tulee korjaustekijä, joka riippuu estimointivirheestä ja optimaalisuustulos ei tarkasti ottaen enää pidä paikkaansa, mutta on kuitenkin suuntaa-antava.
ARMA-mallin ennusteen ominaisuudet Ennustefunktio ˆx t+s t (argumenttina ennushorisontti s) noudattaa jossain mielessä määritetyn ARMA-mallin autokorrelaatio-funktion muotoa I ˆx t+s t 0 eksponentiaalista vauhtia, jos kyseessä puhdas AR-malli tai sekamalli. II ˆx t+s t katkeaa kohdassa s = q, jos mallina on MA(q)-malli Näin ollen ARMA-mallin ennusteen hyödyllisyys häviää ennustehorisontin kasvaessa, joten ennustaminen ARMA-mallilla on olennaisesti lyhyen ajan ennustamista.
Eksponentiaalinen tasoitus Ad-hoc ennustemenetelmä, jolla ei ole vankkaa tilastotieteellistä pohjaa. Vrt. ARMA-mallit, joissa ensin oletetaan tietynlainen stokastinen prosessi, estimoidaan sen parametrit ja käytetään estimoitua mallia ennustamiseen. Eksponentiaalinen tasoitus alkaa ennusteesta. Laajasti käytetty Helppo toteuttaa Empiirinen havainto: Antaa robusteja ennusteita (eli suhteellisen hyviä ennusteita) erilaisille stokastisille prosesseille, vaikka ei olekaan yleensä optimaalinen ennuste.
Yksinkertainen eksponentiaalinen tasoitus Ennustetaan x t+1 :tä havaintojen x t, x t 1, x t 2,... painotetulla summalla ˆx t+1 t = w i x t i i=0 Painot w i = α(1 α) i, 0 < α < 1 pienenevät eksponentiaalisesti Nimi eksponentiaalinen tasoitus Tasoitusparametri α. Ennuste voidaan konstruoida päivityskaavalla ˆx t+1 t = αx t + (1 α)ˆx t t 1 = αˆɛ t + ˆx t t 1, missä ˆɛ t = x t ˆx t t 1 on askeleen t ennustevirhe.
Yksinkertainen eksponentiaalinen tasoitus: Tulkinta ˆx t+1 t = αx t + (1 α)ˆx t t 1 Voidaan osoittaa että yksinkertainen eksponentiaalinen tasoitus on optimaalinen ennuste, jos x t on ARIMA(0,1,1) prosessi: Dx t on MA(1)-prosessi Dx t = x t x t 1 = ɛ t + θ 1 ɛ t 1, (ɛ) t T WN(0, σ 2 ) Huom Päivitysparametrin arvo on α = θ 1 + 1 Todistus: Harjoitustehtävä. Ehto MA(1) prosessin käännettävyydelle on θ 1 < 1, joten estimoitu MA(1)-malli voi implikoida päivitysparametrille arvon α (0, 2).
Yksinkertainen eksponentiaalinen tasoitus: Tulkinta ˆx t+1 t = αx t + (1 α)ˆx t t 1 Voidaan osoittaa että yksinkertainen eksponentiaalinen tasoitus on optimaalinen ennuste, jos x t on kohinainen satunnaiskävely, eli prosessi: x t = m t + ɛ t, missä m t = m t 1 + η t, on satunnaiskävely ja (ɛ t ) t T IID(0, σ 2 1), (η t ) t T IID(0, σ 2 2) Optimaalinen α riippuu signaali-kohina-suhteesta var(ɛt ) var(η t ). Todistuksessa käytetään Kalman-suodatinta, jota käsitellään myöhemmin. Taso m t on estimoitava havainnoista x t : m t = αx t + (1 α)m t 1 ja ˆx t+1 t = m t.
Kaksinkertainen eksponentiaalinen tasoitus Kaksinkertaisessa eksponentiaalisessa tasoituksessa päivitetään tason m ja trendin β estimaatteja: ˆx t+l t = m t + lβ t m t = α 1 x t + (1 α 1 )(m t 1 + β t 1 ) β t = α 2 (m t m t 1 ) + (1 α 2 )β t 1. Sopivilla parametreilla α i tämä on optimaalinen ARIMA(0,2,2) mallille. Voidaan kirjoittaa missä ˆɛ t = x t ˆx t t 1. m t = m t 1 + β t 1 + α 1ˆɛ t β t = β t 1 + α 1 α 2ˆɛ t,
Eksponentiaalinen tasoitus - Kommentteja Eksponentiaalista tasoitusta sovelletaan usein käyttämällä kiinteitä tasoitusparametreja Joskus tasoitusparametrit estimoidaan havainnoista, mikä parantaa mallin sopivuutta havaintoihin SARIMA-mallien käyttöä suositellaan, jos mahdollista Ei arvattuja vakioita (vrt. tasoitusparametrit α i ) vaan parametrit estimoidaan aineistosta. Eksponentiaalinen tasoitus tuottaa yhtä hyviä ennusteita, jos aikasarja todellakin on käytettyä eksponentiaalista tasoitusmenetelmää vastaavan SARIMA-prosessin generoima: Yksinkertainen eksponentiaalinen tasoitus - ARIMA(0,1,1) Kaksinkertainen eksponentiaalinen tasoitus - ARIMA(0,2,2)
Sisältö 1 Ennustamisesta 2 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 = (w 1t,..., w dt ) ovat valkoista kohinaa.
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. Oletetaan lisäksi, että v t, w t, ja x 1 ovat keskenään riippumattomia kaikilla t 1
Esimerkki: GPS paikannus m 1 satelliittia mittaa kohteen pseudoetäisyyksien sekä niiden derivaattojen differenssit kuhunkin satelliittiin 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 1t,..., y dt ) avulla. Ennuste tilalle x t+1 hetkellä t on ehdollinen odotusarvo ˆx t+1 t := E[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
Ensi viikolla: Vierailijaluento Tarja Siren (Finanssivalvonta): Ennustaminen vahinkovakuutuksen näkökulmasta Dynaamiset regressiomallit Kertaus