T-61.3040 Signaalien tilastollinen mallinnus, (5 op) syksy 2006 Luennot: Laskuharjoitukset: Petteri Pajunen Ville Viitaniemi 1
Luento 1: 12.9.2006 Yleisiä asioita Johdanto Matematiikan kertausta 2
Luennot ti 14-16 salissa T1 luennoitsija: Petteri Pajunen (Petteri.Pajunen@hut.fi,t613040@cis.hut.fi) vastaanotto: ke 14-15, huone B309, tietotekniikan talo 3
Laskuharjoitukset ke 14-16 salissa T3 (sali T2 II-periodilla), 1. harjoitukset 20.9.2006 tehtävien laskeminen suositeltavaa, kurssin asiat ovat vaikeasti omaksuttavissa ilman tehtävien itsenäistä ratkaisemista pistetehtävien itsenäisestä ratkaisemisesta on mahdollista saada hyvityspisteitä tenttiin harjoitukset pitää DI Ville Viitaniemi 4
Tiedottaminen http://www.cis.hut.fi/opinnot/t-61.3040: mahdolliset muutokset luento- ja harjoitusaikoihin, harjoitustyöohje tiedotuksia mahdollisesti myös uutisryhmässä opinnot.tik.informaatiotekniikka tenttitulokset: infolabran ilmoitustaulu (kansio) sekä news kurssin email-osoite: t613040@cis.hut.fi 5
Kurssin tavoitteita ymmärtää havaintojen mallintamisen perusteet ymmärtää havaintojen tarkastelu satunnaislukuina (satunnaisprosessit) oppia joitakin perusmenetelmiä mallintamiseen (lähinnä lineaariset mallit signaalien yhteydessä) sekä näiden sovelluksia muuta: satunnaisprosessin tehospektrin estimointi, adaptiivisen suodatuksen perusideat (LMS-suodin) 6
Sovelluksia esimerkkejä sovelluksista: moottorin vikadiagnoosi käynnin aikana - perustuu tehospektrin estimointiin pienestä määrästä havaintoja finanssimatematiikka, ekonometria - finanssiaikasarjat satunnaisprosesseina sonar - vedenalaisten signaalien havaitseminen ja suunnanmääritys tehospektrin avulla monet tietoliikennesovellukset 7
Esitiedot perusmatematiikka (matriisit, tn-laskenta), digitaalisen signaalinkäsittelyn perusteet MATLAB, harjoitustyötä varten kurssin kotisivulla prujuja, joissa luetellaan lyhyesti tarvittavia asioita lineaarialgebrasta ja DSP:stä 8
Suorittaminen suorittaminen = harjoitustyö+tentti ilmoittautuminen: http://webtopi.hut.fi 1. tentti joulukuussa 2006, viimeinen syyskuussa 2007 harjoitustyö voimassa viimeiseen syksyn 2006 luentoihin perustuvaan tenttiin saakka joulukuun tenttiä lukuunottamatta tenttiin osallistuminen edellyttää hyväksyttyä harjoitustyötä 9
Harjoitustyö harjoitustyöohje ilmestyy kurssin kotisivulle lokakuun loppuun mennessä toteutetaan MATLAB-kielellä joitakin kurssiin sisältyviä asioita tuloksista kirjoitetaan raportti, joka palautetaan assistentille deadline ilmoitetaan myöhemmin 10
Kurssimateriaali kurssikirja: Monson H. Hayes: Statistical Digital Signal Processing and Modeling, Wiley 1996 kirja sisältää suurimman osan kurssin asioista (n. 90 prosenttia), mutta myös kurssiin kuulumatonta asiaa lisäksi käydään läpi signaalien mallinnuksen näkökulmasta estimointiteorian perusteita kirjan ulkopuolelta. Näistä ja mahdollisesti muista asioista materiaalia kurssin kotisivulla 11
luentokalvot tulevat kurssin kotisivulle kurssin aikana PDF-muodossa kurssista ei ole varsinaista luentomonistetta: luentokalvot ovat laadittu luennolla esitettäväksi opetusmonisteisiin tulevat laskarit ratkaisuineen sekä harjoitustyöohje laskariratkaisut ja työohje tulevat myös kurssin kotisivulle kurssin aikan 12
Kurssin sisältö lyhyesti keskeistä tilastollinen näkökulma mallintamiseen mallintamisen kohteena ovat digitaaliset signaalit poikkeaa DSP:stä tarkastelemalla signaaleja satunnaisprosesseina estimointiteoriaa kurssin tarpeiden laajuudessa 13
tehdään prosesseista yksinkertaistavia oletuksia tästä seuraa, että prosessit voidaan mallintaa lineaaristen siirtoinvarianttien systeemien vasteina mallin muodostavat systeemin parametrit sekä syöteprosessi [ ] syöte [ ] LSI [ ] vaste kun tiedetään syöte sekä LSI-systeemi, niin vaste voidaan muodostaa suodattamalla syötettä 14
signaalien mallintamisen sovelluksena saadaan Wiener-suodin poistaa kohinaa havaitusta prosessista optimaalisesti tietyn kriteerin suhteen suodin tekee kompromissin kohinan vaimentamisen ja signaalin säilyttämisen välillä: vaimennetaan eri taajuuksia sen mukaan kuinka paljon kohinaa on suhteessa signaaliin kompromissi syntyy automaattisesti optimointitehtävän ratkaisuna, toisin kuin esim. ideaalisessa kaistanpäästösuotimessa 15
DSP:ssä signaaleja tarkastellaan usein taajuustasossa Fourier-muunnoksen avulla satunnaisprosessi voidaan esittää tehospektrin avulla taajuustasossa tehospektri voidaan estimoida havainnoista Fourier-muunnoksen avulla tarkastellaan myös Fourier-muunnosta tehokkaampaa tehospektrin estimointia 16
kurssin lopuksi tarkastellaan mm. adaptiivista suodatusta soveltuu tilanteeseen, jossa prosessin ominaisuudet muuttuvat vähitellen ajan funktiona keskitytään perusasioihin, erityisesti LMS-suotimeen joka käyttää gradienttimenetelmää suotimen parametrien adaptiiviseen ratkaisemiseen 17
Johdanto mikä on signaali? a detectable physical quantity or impulse (as a voltage, current, or magnetic field strength) by which messages or information can be transmitted ; Merriam-Webster s Collegiate Dictionary esim. puhe välittyy ilmanpaineen vaihteluina signaalin ei tarvitse olla fyysinen suure, havaittavuus riittää 18
mikä on digitaalinen signaali? signaali = havaittavissa oleva suure käytännössä signaali on eri ajanhetkinä t havaittu suure x(t) kun rajoitutaan havaitsemaan suure x(t) tiettyinä ajanhetkinä (yleensä tasavälisinä, esim. tasatunnein), saadaan diskreettiaikainen signaali koska signaali koostuu havainnoista diskreetteinä ajanhetkinä 19
digitaalinen signaali saa lisäksi diskreetin arvon joka hetkellä t eli x(t) ei ole jatkuva-arvoinen käytännössä kutsumme signaalia digitaaliseksi kun se on havaittu diskreeteillä ajanhetkillä t 1, t 2,... (miksi?) 20
mikä on tilastollinen signaali? kun havaitaan digitaalinen signaali niin tuloksena on yleensä jono reaalilukuja x(0), x(1), x(2),... tällaista signaalia kutsutaan deterministiseksi, koska jokainen x(t) on joku tietty lukuarvo esim. joulukuun keskilämpötila Helsingin Kaisaniemessä vuosina 1900-1999 on sinänsä deterministinen signaali 21
tilastollinen signaali tarkoittaa sitä, että jokainen x(t) on satunnaismuuttuja tehdään oletus: joulukuun keskilämpötila Kaisaniemessä on normaalijakautunut ja tämä jakauma ei muutu eri vuosina esim. x(t) N(µ, σ 2 ) on oletuksen mukainen tilastollinen signaali µ ja σ 2 voitaisiin estimoida havaituista arvoista: näin tulisi mallinnettua lämpötila Kaisaniemessa 22
tilastollista signaalia kutsutaan yleisemmin satunnaisprosessiksi (tai stokastiseksi prosessiksi) em. Kaisaniemen lämpötila on esimerkki satunnaisprosessista hieman mielenkiintoisempiin satunnaisprosesseihin päädytään mm. suodattamalla yksinkertaisia prosesseja, joiden tilastolliset ominaisuudet tunnetaan useimmat kurssilla käsitellyt menetelmät perustuvat tällaisiin satunnaisprosesseihin 23
jatkossa käsitellään satunnaisprosesseja x(n) joiden aikaindeksi valitaan yksinkertaisuuden vuoksi kokonaisluvuksi nämä prosessit ovat satunnaismuuttujajonoja x(0), x(1), x(2),... jos alkuperäinen prosessi on havaittu tasavälisin ajanhetkin, niin aikaindeksin muuttaminen em. tavalla ei aiheuta ongelmia (paitsi aikaskaalan häviämisen) 24
mitä on tilastollinen mallintaminen? suureen θ arvoa ei tunneta tunnetaan havainnot D mitä D kertoo θ:sta? tarvitaan tilastollista mallia 25
voiko havainnoista oppia ilman mallia? ei voi: on oletettava jotakin D:n ja θ:n riippuvuudesta esimerkki: ilmaston lämpeneminen sovitetaan dataan joko suora tai 10. asteen polynomi vaikka käytössä on samat havainnot, niin ennusteet eroavat pelkät havainnot eivät kerro kumpi malli on parempi 26
mikä on tilastollinen malli? esitetään havaintojen riippuvuus θ:sta todennäköisyysjakauman avulla oleellista tuntea havaintojen D jakauma, kun oletetaan θ tunnetuksi esimerkki: θ = Kaisaniemen keskilämpötila (oletetaan varianssiksi σ 2 = 9) havaittu keskilämpötila on x(n) N(θ, 9) θ:n voi estimoida esimerkiksi laskemalla havaittujen lämpötilojen keskiarvon keskiarvo on todennäköisesti lähellä arvoa θ 27
jos havaintojen jakauma ei riippuisi θ:sta niin keskiarvon laskeminen olisi hyödytöntä ilman mallia ei siis voida estimoida θ:n arvoa 28
yleisemmin jakaumaa p(d θ) kutsutaan uskottavuusfunktioksi, mikäli se ajatellaan θ:n funktioksi sen avulla voidaan estimoida θ (ts. valitaan sellainen arvo että tuloksena saatu jakauma sopii hyvin havaintoihin) tällä kurssilla ei käsitellä mallintamista yleisesti, vaan keskitytään satunnaisprosesseihin kuitenkin perusajatus menetelmien taustalla on sama kuin yllä esitettiin 29
Yhtälöryhmät muotoa Ax = b, halutaan ratkaista x 1. A on neliömatriisi: A = 0: yksi ratkaisu x = A 1 b ( A on A:n determinantti) A = 0: joko nolla tai ääretön määrä ratkaisuja 30
2. A matala ja leveä (vähemmän yhtälöitä kuin tuntemattomia): yleensä ääretön määrä ratkaisuja, voidaan valita esim. ratkaisu jolla on pienin normi 3. A kapea ja korkea (enemmän yhtälöitä kuin tuntemattomia): yleensä ei ratkaisua, valitaan esim. min b Ax 2 demo: lineq.r 31
Funktion ääriarvoista jatkossa minimoidaan usean muuttujan reaaliarvoisia funktioita minimoitava funktio on keskimääräinen neliöllinen virhe (määritellään myöhemmin) funktion argumentit ovat kompleksiarvoisia muuttujia 32
olkoon f (z) reaaliarvoinen, missä z on kompleksiarvoinen parametri jos f (z) voidaan derivoida z:n suhteen niin ääriarvot löytyvät derivaatan nollakohdista ääriarvo ei välttämättä ole funktion f (z) maksimi tai minimi, edes lokaali sellainen minimit ja maksimit ovat kuitenkin ääriarvoja ellei ole rajoitusehtoja (reunapisteet tms.) 33
kompleksisen derivaatan määritelmä on tuttu: lim δz 0 f (z + δz) f (z) δz = f (z) jos raja-arvo on olemassa ja äärellinen, niin f (z):aa kutsutaan analyyttiseksi 34
kompleksikonjugaatti z ei ole analyyttinen (derivoituva) z:n funktio monet optimontitehtävät tällä kurssilla ovat muotoa min e(a 1, a 2,... ) 2, missä e(a 1,... ) = x(n) + a 1 x(n 1) +... koska z 2 = zz niin derivoitavassa lausekkeessa esiintyy argumenttien kompleksikonjugaatteja 35
minimoitavan funktion e(a 1,... ) 2 argumentit ovat kompleksiarvoiset muuttujat a k, a k, k = 1, m voidaan osoittaa seuraava tulos: oletus: f (z, z ) on reaaliarvoinen sekä analyyttinen z:n ja z :n suhteen mikäli ne tulkitaan riippumattomiksi muuttujiksi silloin f :n ääriarvot saadaan derivoimalla f jommankumman argumentin suhteen ja asettamalla derivaatta nollaksi esim. derivoitaessa z :n suhteen z tulkitaan vakioksi 36
monen muuttujan reaaliarvoiselle funktiolle f (z 1, z1, z 2, z2,..., z n, z n) pätee vastaava tulos: ol: f R on analyyttinen argumenttiensa suhteen mikäli ne tulkitaan riippumattomiksi muuttujiksi ääriarvot derivoimalla esim. z1,..., z n:n suhteen ja asettamalla derivaatat nolliksi 37
yhteenveto: kurssilla yleensä minimoidaan reaaliarvoista funktiota muotoa e(z) 2, missä z on kompleksiarvoinen muuttuja derivoidaan z :n suhteen pitäen z:aa vakiona ja asetetaan derivaatta nollaksi yleensä vain yksi derivaatan nollakohta: tämä on globaali minimi koska e(z) 2 on jatkuva, ei-negatiivinen ja kasvaa rajatta kun e(z) kasvaa 38
Luento 2: 19.9.2006 Todennäköisyyslaskentaa Estimointiteoriaa 39
Todennäköisyyslaskentaa satunnaisprosessi on jono satunnaismuuttujia x(0), x(1), x(2),... satunnaismuuttuja x on joukko arvoja Ω todennäköisyyksineen Pr[S] [0, 1] missä S Ω voi olla diskreetti (kolikonheitto), jatkuva-arvoinen tai sekoitus näistä satunnaismuuttujan x jakauma on F(a) = Pr[x a] 40
satunnaismuuttujalla voi myös olla tiheysfunktio p(a) = F(a) a jakaumaa voidaan kuvata jakauman parametreillä useimmat voidaan laskea odotusarvon E(x) avulla 41
korvaamalla x jollakin sen funktiolla g(x) voidaan laskea useita parametrejä koska x on satunnaismuuttuja niin myös g(x) on satunnaismuuttuja sen odotusarvo saadaan seuraavasti (olettaen tiheysfunktion p(a) olemassaolo): E(g(x)) = g(a)p(a)da 42
esimerkkejä: var(x) = E(x E(x)) 2, varianssi r xy = E(xy ), korrelaatio J = E(x ˆx) 2, keskimääräinen neliöllinen virhe (MSE) viimeinen esimerkki liittyy estimointiin, missä halutaan löytää sellainen ˆx joka on mahdollisimman lähellä satunnaismuuttujaa x 43
satunnaisprosessin jakauma ei määräydy pelkästään muuttujien x(0), x(1),... jakaumista usein x(n) ja x(n k) riippuvat toisistaan, tämä riippuvuus ei näy x(n):n ja x(n k):n jakaumissa satunnaismuuttujien x 1 ja x 2 yhteisjakauma ja tiheysfunktio: F(a, b) = Pr[x 1 a, x 2 b], p(a, b) = 2 F(a, b) a b useamman muuttujan yhteisjakauma vastaavalla tavalla 44
satunnaisprosessi voitaisiin mallintaa arvioimalla muuttujien x(0), x(1),..., x(n 1) yhteisjakauma vaikkapa histogrammin avulla jos jokainen muuttuja x(n) diskretoidaan kymmeneen eri arvoon niin yhteisjakaumassa on 10 N lokeroa esim. arvolla N = 20 lokeroita on 10 20, mikä on varsin suuri luku havaintoja ei ole yleensä tarpeeksi tällaisen histogrammin laskemiseksi 45
yksinkertaisempaa tarkastella yhteisjakaumaa kuvaavia parametrejä satunnaismuuttujien x ja y korrelaatio on r xy = E(xy ) ja kovarianssi on c xy = Cov(x, y) = E ([x E(x)][y E(y)] ) = E(xy ) E(x) E(y ) kun E(x) = E(y) = 0 niin r xy = c xy 46
x ja y ovat (tilastollisesti) riippumattomat jos p xy (a, b) = p x (a)p y (b) jos satunnaisprosessin arvot x(n) ovat toisistaan riippumattomia, niin em. histogrammiesimerkissä tarvitaan N kappaletta 10-lokeroista histogrammia samantyyppinen mutta heikompi oletus on korreloimattomuus x ja y ovat korreloimattomat jos E(xy ) = E(x)E(y ) 47
riippumattomuus korreloimattomuus korreloimattomuus riippumattomuus x ja y ovat ortogonaaliset jos E(xy ) = 0 kun E(x) = E(y) = 0 niin ortogonaalisuus korreloimattomuus 48
normaalijakautuneen satunnaismuuttujan tiheysfunktio on p(t) = 1 { σ 2π exp (t m x) 2 } 2σ 2 normaalijakauman ominaisuuksia, x ja y yhdessä normaalijakautuneet: lineaarikombinaatio ax + by on norm. jakautunut riippumattomuus korreloimattomuus optimaalinen neliövirheen minimoiva estimaattori ŷ = f (x) on lineaarinen x:n funktio gauss.r 49
Estimointiteoriaa mallintamisen tavoitteena on saada tietoa tuntemattomasta suureesta θ datan D avulla yleensä θ:n arvoa ei voida ratkaista tarkkaan D:n avulla usein on käytännöllistä (mutta epätäsmällistä) valita jokin yksittäinen arvo θ:lle todennäköisyysmallin ja havaintojen avulla tämä voidaan tehdä estimoimalla θ:n arvo havainnoista 50
estimointi tehdään estimaattorin avulla: se on jokin funktio havainnoista, jotka ajatellaan satunnaismuuttujiksi estimaattori on myös satunnaismuuttuja estimaattorin toivotaan olevan jossakin mielessä lähellä estimoitavaa parametria θ 51
estimaattorilla on jakauma sekä jakaumasta johdettavia tunnuslukuja (esim. odotusarvo ja varianssi) estimaatti: estimaattori, jossa satunnaiset havainnot on korvattu havaituilla lukuarvoilla ts. estimaatti on estimaattorin realisaatio (lukuarvo) kuinka valitaan hyvä estimaattori? 52
ei oikeastaan mitenkään, mikäli ei ole muuta tietoa kuin tn-malli ja havainnot tämä johtuu siitä, että yhden tietyn arvon valitseminen on aina väärä vastaus mikäli θ:lla voi olla useita eri arvoja parhaan väärän vastauksen valitseminen vaatii muutakin tietoa kuin tilastollisen mallin tällä kurssilla tyydytään valitsemaan estimaattorit tietyn kustannusfunktion avulla 53
esimerkki: mallinnetaan satunnaisprosessi x(n) = A + v(n), n = 0, 1,..., N 1, missä v(n) N(0, σ 2 ) kuinka A voidaan estimoida havainnoista x(n)? vaikka näin:  = x(5) + 3. Tämä on estimaattori, koska se on havaintojen funktio Huom! x(5) on tässä satunnaismuuttuja, joten myös  on satunnaismuuttuja 54
 = x(5) + 3 ei taida olla hyvä estimaattori havaintoon lisätty vakio 3 vie estimaattoria turhaan pois oikeasta arvosta entä  = x(5)? Nyt on voimassa E(Â) = E(x(5)) = A vaikuttaa paremmalta koska estimaattori saa keskimäärin oikean arvon 55
harha = estimaattorin systemaattinen virhe odotusarvon mielessä edellä estimaattorin  = x(5) + 3 antamat estimaatit poikkeavat keskimäärin 3:lla oikeasta arvosta parametrin θ estimaattori on harhaton jos E( ˆθ) = θ esimerkissä  = x(5) on harhaton estimaattori 56
kun estimaattori ˆθ N on muodostettu N:n havainnon funktiona ja lim E( ˆθ N ) = θ N niin estimaattori ˆθ N on asymptoottisesti harhaton huom! ei ole mitään yleistä perustetta harhattoman estimaattorin paremmuudelle. Joskus harhainen estimaattori voi olla parempi kuin harhaton. 57
onko harhaton  = x(5) hyvä estimaattori? varianssi var(â) = var(x(5)) = σ 2 on suuri muodostetaan harhaton estimaattori varianssi on nyt σ 2 /N  = 1 N N 1 i=0 x(i) 58
estimaattorin ˆθ keskimääräinen neliöllinen virhe (MSE): E( ˆθ θ) 2 se voidaan kirjoittaa muotoon var( ˆθ) + [E( ˆθ) θ] 2 = varianssi + (harha) 2 harhattomalle estimaattorille MSE on sama kuin varianssi 59
MSE sisältää näppärästi sekä harhan että varianssin valitaanko aina estimaattori, joka minimoi MSE:n? ei, sillä MSE:n minimoiva estimaattori voi riippua estimoitavasta parametrista. Tällöin estimaattori ei ole toteutettavissa lisäksi MSE:n minimoiva estimaattori on usein epälineaarinen 60
estimaattori, joka minimoi MSE:n on ehdollinen odotusarvo eli E(θ x), missä x symboloi havaintoja yleisesti tämä on vaikea laskea ja voi olla mahdoton toteuttaa erikoistapaus: mikäli θ:n ja x:n yhteisjakauma on normaalijakauma niin silloin ehdollisella odotusarvolla on tiettyjä ominaisuuksia 61
F(θ, x) normaalijakauma = E(θ x) on 1. harhaton 2. pienin varianssi kaikista estimaattoreista 3. lineaarinen x:n funktio 4. normaalijakautunut 5. yksikäsitteinen 62
normaalijakaumaoletus on harvoin järkevä voidaan myös tarkastella kaikkia lineaarisia estimaattoreita ja valita niistä se, joka minimoi MSE:n jatkossa päädytään samoihin menetelmiin riippumatta siitä kumpi oletus tehdään yksinkertaisuuden vuoksi merkinnät noudattavat normaalijakaumaoletusta, mitä ilman kaikki merkinnät eivät pidä paikkaansa! 63
Uskottavuusfunktio havaitaan muuttuja x = A + v, missä v N(0, σ 2 ) x:n tiheysfunktio on normaalijakauman tiheys p(x A) = N(x A, σ 2 ) p(x 0 A) kertoo likimäärin suhteellisen todennäköisyyden tapahtumalle x 0 ɛ x x 0 + ɛ parametrin A funktiona p(x A) on uskottavuusfunktio 64
havaitaan x = x 0 ja lasketaan p(x 0 A) jollakin A:n arvolla pieni p(x 0 A): epätodennäköistä että olisi havaittu x 0 tällä A:n arvolla suuri p(x 0 A): todennäköistä että on havaittu x 0 vertailu pitäisi suorittaa eri arvojen x 0 välillä samalla A:n arvolla 65
käytännössä A vaihtelee, mutta x 0 ei vaihtele esim. arvoa p(x 0 A) pitää verrata esim. arvoon p(x 0 A 1 ) siksi puhutaan uskottavuudesta eikä todennäköisyydestä: kyseessä ei ole muuttujan A tn-jakauma uskottavuusfunktion p(x A):n muoto kertoo estimoinnin tarkkuudesta terävä piikki tekee useimmat A:n arvot epäuskottaviksi like.r 66
toinen derivaatta kertoo funktion kaarevuudesta: log p(x A) = log 2πσ 2 1 (x A)2 2σ2 log p(x A) A = 1 (x A) σ2 log p(x A) AA = 1 σ 2 pieni σ 2 tarkkuus = suuri kaarevuus ja estimoinnin 67
koska estimaattorin  = x varianssi on σ 2 niin saadaan σ 2  = 1 E{ 2 log p(x A) A 2 } odotusarvo johtuu siitä, että yleisesti kaarevuuden lauseke riippuu havainnoista jotka ovat satunnaismuuttujia ylläoleva esimerkki havainnollisti sen, että parhaan estimaattorin varianssi voitiin kirjoittaa kaarevuuden avulla 68
harhattoman estimaattorin varianssi σ on rajoitettu 2ˆθ alhaalta. Alaraja on Cramer-Raon alaraja: σ 2ˆθ 1 E{ 2 log p(x θ) θ 2 } Derivaatta lasketaan parametrin θ todellisessa arvossa, odotusarvo otetaan p(x θ):n suhteen. alarajassa esiintyvä nimittäjä E{ 2 log p(x θ) } on θ 2 Fisher-informaatio, jonka kasvaessa CR-alaraja pienenee 69
uskottavuusfunktiota voi käyttää suoraan estimointiin valitaan θ niin että uskottavuusfunktio maksimoituu tämä θ:n arvo tekee havainnot mahdollisimman todennäköisiksi valitun mallin mukaan tätä menetelmää kutsutaan suurimman uskottavuuden menetelmäksi ja vastaavaa estimaattoria ML-estimaattoriksi 70
yleisemmin voidaan ajatella, että tilastollinen malli on yhteisjakauma p(θ, x) riittää valita p(x θ) sekä priori p(θ) MAP-estimaattori on se θ joka maksimoi posteriorijakauman p(θ x) = p(x θ)p(θ) p(x) ero ML-estimaattoriin on siinä, että uskottavuusfunktio kerrotaan priorilla p(θ) 71
Ortogonaalisuusperiaate satunnaismuuttujat voidaan ajatella vektoreiksi sisätuloavaruudessa: 1. satunnaismuuttujien lineaarikombinaatiot ovat satunnaismuuttujia 2. sisätuloksi kelpaa x y = E(xy ) MSE voidaan ajatella vektorin x ˆx sisätuloksi itsensä kanssa,koska se on (x ˆx) (x ˆx) = E( x ˆx 2 ) 72
miten vektoriavaruudet liittyvät estimointiin? ortogonaalisuusperiaate antaa hyvin käyttökelpoisen tavan ratkaista ongelmia joissa minimoidaan MSE:tä se pätee yleisesti sisätuloavaruuksissa (vektoriavaruus, jossa on sisätulo) 73
olkoon vektorit x 1,..., x k jossakin vektoriavaruudessa jossa on sisätulo x i x j havaitaan y = i=1 k a ix i + e ortogonaalisuusperiaate sanoo, että jos minimoidaan virheen normin neliö e e niin silloin virhe on ortogonaalinen jokaisen vektorin x i kanssa siis min e e = e x i = 0 kaikilla i = 1, 2,..., k 74
sovelletaan tilastolliseen malliin y = k i=1 a i x i + e estimoidaan ŷ = i=1 k a ix i ratkaistaan kertoimet a i niin että MSE E( y ŷ 2 ) minimoituu silloin E((y ŷ)xi ) = 0 kaikilla i = 1, 2,..., k kun kertoimet a i on valittu edellisen kohdan mukaan 75
esimerkki: estimoidaan muuttujaa y estimaattorilla ŷ = f (x) halutaan löytää hyvä estimaattori y= suure joka halutaan mallintaa x= suure joka voidaan havaita ŷ=suure joka voidaan laskea, kun x on havaittu 76
valitaan hyvä, niin että minimoidaan odotusarvoa E((y ŷ) 2 ), MSE rajoitutaan tarkastelemaan lineaarista estimaattoria ŷ = ax + b silloin E((y ŷ) 2 ) = E((y ax b) 2 ) 77
ratkaistaan a ja b neliövirheen derivaatan nollakohdista: J a = 2 E((y ax b)x) = 0 E((y ŷ)x) = 0 J b = 2 E(y ax b) = 0 E(y) = E(ŷ) nämä yhtälöt voidaan tulkita ortogonaalisuusehdoiksi: virhe y ŷ on ortogonaalinen niiden muuttujien (x ja vakio 1) kanssa joiden avulla yritetään mallintaa y ts. E(ex) = 0 ja E(e1) = 0, missä e = y ŷ 78
ortogonaalisuusehdot voidaan ratkaista ja saadaan MSE:n minimoiva estimaattori jatkossa kurssilla törmätään usein tilanteeseen jossa voidaan soveltaa ortogonaalisuusperiaatetta aina selviää kuitenkin derivoimalla, mutta ortogonaalisuusperiaatteen käyttö on huomattavasti helpompaa lin.r 79
Luento 3: 26.9.2006 Johdanto ARMA-prosesseihin 80
Johdanto ARMA-prosesseihin tarkastellaan ARMA-prosesseja esimerkkien avulla opetellaan samalla tarvittavia laskutekniikoita jatkossa perustellaan ARMA-prosessien käyttö tarkemmin 81
Kohina satunnaisprosessi v(n), jota on vaikea ennustaa oletetaan aluksi kohina normaalijakautuneeksi: v(n) N(0, σ 2 ), n = m = v(n), v(m) korreloimattomia erikoistapaus valkoisesta kohinasta, yleisesti ei tarvitse olla normaalijakautunut 82
v(n) on siis jono korreloimattomia, normaalijakautuneita satunnaismuuttujia tärkeä ominaisuus: havaitut arvot v(n 1), v(n 2),... eivät auta ennustamaan arvoa v(n) tämä johtuu korreloimattomuudesta ja normaalijakautuneisuudesta pelkkä korreloimattomuus = kohina on lineaarisesti ennustamatonta (laskaritehtävä) 83
ehdollinen jakauma: p(v(n) v(n 1), v(n 2),... ) tulkinta: miten v(n) on jakautunut, kun tunnetaan arvot v(n 1), v(n 2),... normaalijakautuneelle kohinalle p(v(n) v(n 1),... ) = p(v(n)) 84
ehdollisista jakaumista voidaan laskea parametreja kuten ehdollinen odotusarvo ja varianssi normaalijakautuneen kohinan v(n) ehdollinen jakauma voidaan esittää odotusarvon ja varianssin avulla: E(v(n) v(n 1),... ) = E(v(n)) = 0 var(v(n) v(n 1),... ) = var(v(n)) = σ 2 85
kohinan arvoja voidaan laskea yhteen ja muodostaa summaprosessi se toteuttaa ehdon M(n) = n v(i) i=0 E(M(n) M(n 1), M(n 2),... ) = M(n 1) tämän ehdon totetuttavia prosesseja voidaan käyttää sovelluksissa, joissa paras arvaus tulevasta arvosta on viimeisin havainto (finanssiaikasarjat) 86
AR-prosessi yleensä halutaan ennustaa tulevia arvoja havaintojen avulla (kohina ei siis kelpaa) määritellään satunnaisprosessi differenssiyhtälönä x(n) = ax(n 1) + v(n), v(n) norm. kohinaa tämä määrää satunnaisprosessin x(n), n = 0, 1, 2,... (sovitaan x( 1) = 0) 87
prosessia voidaan simuloida seuraavasti: 1. valitaan alkuarvo x( 1) = 0 ja asetetaan n = 0 2. arvotaan kohinan arvo v(n) 3. lasketaan x(n) = ax(n 1) + v(n) (x(n 1) on laskettu aiemmin) 4. asetetaan n := n + 1 ja jatketaan kohdasta 1 88
em. prosessi on esimerkki AR-prosessista valitaan muutamia parametrin a arvoja ja simuloidaan vastaavat AR(1)-prosessit erikoistapauksena arvolla a = 0 saadaan tulokseksi kohinaprosessi demo: ar_1.r 89
yleisemmin AR(p)-prosessi voidaan kirjoittaa x(n) = p k=1 a(k)x(n k) + v(n), v(n) norm. kohinaa p on prosessin asteluku (käytännössä p <, mutta periaatteessa voi olla p = ) AR(p) simuloidaan kuten AR(1), mutta tarvitaan useampi alkuarvo (x(n) = 0 kun n < 0) 90
termi AR tulee sanasta autoregressive prosessin arvo x(n) muodostetaan lineaarisena regressiona p:stä edellisestä arvosta AR-prosessia vastaava malli on lineaarinen aiempien arvojen suhteen 91
MA-prosessi lineaarinen malli voidaan myös muodostaa aiempien kohinan arvojen suhteen esimerkki: x(n) = b(0)v(n) + b(1)v(n 1) onko hyödyllistä laskea kohinan arvoja yhteen? ts. onko myös x(n) kohinaa? 92
tarkistetaan asia prosessille x(n) = v(n) v(n 1) on selvää, että x(n) on normaalijakautunut odotusarvolla nolla lasketaan peräkkäisten arvojen korrelaatio (tarkista itse välivaiheet): E(x(n)x (n 1)) = σ 2 < 0 prosessi x(n) ei siis ole kohinaa 93
termi MA tulee sanoista moving average: lasketaan liukuvaa keskiarvoa kohinasta yleisesti MA(q)-prosessi on x(n) = q b(k)v(n k) k=0 missä v(n) on valkoista kohinaa simulointi helppoa: simuloi kohinaa ja laske x(n) demo: ma_1.r 94
lineaarisesti voi yhdistellä samaan aikaan sekä aiempia arvoja että kohinaa saadaan ARMA(p, q)-prosessi x(n) = p k=1 a(k)x(n k) + q b(l)v(n l), v(n) norm. kohinaa l=0 malli on lineaarinen parametrien a(k) ja b(l) suhteen demo: arma_11.r 95
Esitys z-tasossa signaalinkäsittelyssä tarkasteltiin z-muunnosta prosessin arvon x(n) kertominen z k :llä vastaa viivettä aikatasossa: z 1 x(n) = x(n 1). z k x(n) = x(n k) tulkitaan z k :t symboleina, jotka suorittavat prosessin viivästämisen 96
z k :n avulla voidaan kirjoittaa MA- ja AR-prosessit lyhyesti: x(n) = B(z)v(n) = (b(0) + b(1)z 1 + + b(q)z q )v(n) A(z)x(n) = v(n) (1 + a(1)z 1 + + a(p)z p )x(n) = v(n) 97
ARMA(p,q)-prosessi voidaan kirjoittaa x(n) = B(z) A(z) v(n) tämä on hieman epätäsmällistä, koska z k tulkittiin vain symboliksi, jolla kertominen aiheuttaa prosessiin viiveen esitys B(z)/A(z) voidaan perustella z-muuntamalla ARMA-prosessin differenssiyhtälö 98
polynomit A(z) ja B(z) määräytyvät parametreistä a(1),..., a(p), b(0),..., b(q) kun parametrit tunnetaan, niin vastaava ARMA-prosessi on täysin määrätty (jos kohina on normaalijakautunutta) ovatko eri parametrien määräämät ARMA-prosessit aina eri satunnaisprosesseja? eivät ole: prosesseja voidaan muuntaa niin, että parametrien arvot muuttuvat mutta prosessi ei muutu 99
esimerkki: muunnetaan AR(1)-prosessi x(n) = a(1)x(n 1) + v(n) (1) yhtälöön (1) voidaan sijoittaa x(n 1) = a(1)x(n 2) + v(n 1) saadaan x(n) = a 2 (1)x(n 2) a(1)v(n 1) + v(n) 100
toistamalla sama k kertaa saadaan ARMA(k, k 1)-prosessi x(n) = ( a(1)) k x(n k) + ( a(1)) k 1 v(n k + 1) + ( a(1)) k 2 v(n k + 2) + + v(n) jos a(1) on itseisarvoltaan alle yksi niin x(n) = ( a(1)) k v(n k) k=0 joka voidaan tulkita MA( )-prosessiksi 101
muunnoksen AR(1) MA( ) voi tehdä myös suoremmin kirjoitetaan AR(1)-prosessi polynomin A(z) avulla: x(n) = 1 A(z) v(n) = 1 v(n) 1 + a(1)z 1 termi 1 1+a(1)z 1 voidaan kehittää sarjaksi z 1 suhteen 102
helpohkosti saadaan 1 1 + a(1)z 1 = 1 + ( a(1))z 1 + ( a(1)) 2 z 2 +... silloin saadaan kirjoitettua AR(1)-prosessi muodossa x(n) = ( a(1)) k v(n k) k=0 kuten edellä 103
monimutkaisemmat muunnokset vaativat hankalampia laskutoimituksia joista esimerkki laskareissa oleellista on se, että AR-prosessi voidaan vaihtaa MA-prosessiksi ja päinvastoin tosin parametrien lukumäärä yleisesti vaihtuu äärellisestä äärettömäksi 104
voivatko ARMA-prosessin parametrit olla mitä tahansa lukuja? demo: x(n) = 1.1x(n 1) + v(n) (ar_infty.r) prosessi räjähtää kohti ääretöntä, koska prosessi ei ole väljässä mielessä stationäärinen (tarkemmin jatkossa) AR-prosessin määräävä systeemi 1/A(z) ei ole stabiili, koska sillä on napa yksikköympyrän ulkopuolella: z = 1.1 105
stabiilius ei seuraa siitä, että parametrien itseisarvot ovat ykköstä pienempiä demo: x(n) = 0.7x(n 1) + 0.6x(n 2) + v(n) (ar_infty2.r) myöhemmin nähdään, että laaja joukko satunnaisprosesseja voidaan aina esittää stabiilina ARMA-prosessina 106
eri malleilla on tiettyjä etuja: AR: helppo ratkaista parametrit MA: helppo laskea prosessin statistiikkoja ARMA: usein pienin parametrien lukumäärä mikäli jossakin sovelluksessa voidaan olettaa, että jokin ylläolevista malleista on sopiva niin muunnosesimerkit osoittivat että periaatteessa mallin voi valita näistä vapaasti 107
Sinisignaali ARMA-prosessien lisäksi jatkossa käsitellään sinisignaaleja nämä ovat satunnaisprosesseja sopivasti määriteltynä yksinkertaisin sinisignaali on prosessi x(n) = A sin(nω + φ) mikä tästä tekee satunnaisprosessin? 108
jos amplitudi A, taajuus ω ja vaihe φ ovat vakioita niin kyseessä ei ole satunnaisprosessi oletetaan amplitudi ja taajuus vakioiksi sensijaan vaihe φ oletetaan tasajakautuneeksi välillä [0, 2π) huom! vaihe on satunnaisuudesta huolimatta sama joka hetkellä n 109
yksi realisaatio saadaan simuloimalla φ:n arvo kerran ja laskemalla x(n) = A sin(nω + φ) simuloitu sinisignaali näyttää siis tarkalleen deterministiseltä sinisignaalilta vaiheen satunnaisuus ainoastaan siirtää siniä aika-akselilla 110
kompleksinen sinisignaali on x(n) = A exp(jnω), A = A exp(jφ) A on kompleksiluku joka sisältää vaiheen φ sekä reaalisen amplitudin A käytetään aina kompleksisia sinisignaaleja, koska reaalinen sini voidaan kirjoittaa sin(ω) = 1 [exp(jω) exp( jω)] 2j 111
siis yhtä reaalista sinisignaalia taajuudella ω vastaa kaksi kompleksista siniä taajuuksilla ±ω myöhemmin nähdään, kuinka voidaan estimoida kompleksisten sinisignaalien taajuuksia kun taajuudet tunnetaan niin amplitudit ja vaiheet on vielä ratkaistava ratkaisu kompleksisille sinisignaaleille riittää 112
oletetaan, että havaitaan x(n) = A cos(nω + φ) + v(n) ja että taajuus ω tunnetaan ratkaistaan amplitudi ja vaihe minimoimalla n [x(n) A cos(nω + φ)] 2 vaihe φ on kosinifunktion sisällä, joten ei saada suoraan lineaarista ratkaisua (paitsi jos lasketaan kosini auki) 113
voidaan kirjoittaa x(n) = 1 2 A exp(jnω) + 1 2 A exp( jnω) + v(n) nyt on minimoitava n [ x(n) 1 2 A exp(jnω) 1 ] 2 2 A exp( jnω) tuntematon kompleksiarvoinen muuttuja A voidaan ratkaista tästä lineaarisesti 114
useimmiten tarkastellaan sinisignaalien summaa johon on lisätty valkoista kohinaa: x(n) = L k=1 A k exp(jnω k ) + v(n) jokainen vaihe φ k (sisältyy amplitudiin A k = A k exp(jφ k )) on tasajakautunut ja riippumaton muista vaiheista mallin tekee mielenkiintoiseksi useat sovellukset joissa taajuuksien estimointi ei onnistu riittävän hyvin Fourier-muunnokseen perustuvilla menetelmillä 115
Luento 4: 3.10.2006 Autokorrelaatio Ergodisuus 116
Satunnaisprosessin jakauma esimerkki: normaalijakautunut valkoinen kohina x(n) N(0, σ 2 ) x(m), x(n) korreloimattomia kun m = n simulointi: x(n) normaalijakaumasta N(0, σ 2 ) välittämättä aiemmista arvoista x(n 1),... 117
toinen prosessi y(n) = a, missä a N(0, σ 2 ) simulointi: arvotaan a kerran ja asetetaan y(n) = a kaikilla n jakaumat p(x(n)) ja p(y(n)) ovat samat kuitenkin prosessit ovat hyvin erilaisia (y(n):n realisaatio on vakio) 118
Satunnaisprosessin määräävät yhteisjakaumat jotta prosessi on täysin määrätty, niin on tiedettävä jokaisen joukon {x(n 1 ), x(n 2 ),..., x(n k )} yhteisjakauma, missä k 1 ja n 1,..., n k ovat kokonaislukuja diskreettiaikainen prosessi määräytyy em. yhteisjakaumista yksikäsitteisesti 119
yhteisjakaumien suora käsittely hankalaa (histogrammiesimerkki aiemmin) käytännössä tehdään yksinkertaistavia oletuksia, kuten kohinan tapauksessa korreloimattomuus ARMA, sinisignaalit: parametrinen malli prosessille, jolloin riittää tarkastella parametrien arvoja 120
tehdään hieman yleisempi oletus: prosessin on oltava tilastollisilta ominaisuuksiltaan samanlainen joka hetkellä n tehdään oletus täsmällisesti ensi viikolla oletuksen avulla voidaan perustella mm. ARMA-prosessien käyttö keskeinen tarvittava prosessia kuvaava tunnusluku on autokorrelaatio 121
Autokorrelaatio autokorrelaatio on korrelaatio prosessin arvojen välillä eri hetkillä se määritellään odotusarvona r x (k, l) = E(x(k)x (l)) kuvaa prosessin arvojen keskinäistä riippuvuutta eri ajanhetkillä 122
yleisemmin voidaan määritellä autokovarianssi c x (k, l) = E[x(k) E(x(k))][x(l) E(x(l))] sama kuin autokorrelaatio jos E(x(n)) = 0 huom! Kirjallisuudessa autokorrelaatioksi kutsutaan joskus jotain muuta kuin r x (k, l):ää luennoilla ja kurssikirjassa r x (k, l) on autokorrelaatio 123
eri prosesseille x(n) ja y(n) voidaan myös määritellä niiden välistä riippuvuutta kuvaava statistiikka ristikorrelaatio: r xy (k, l) = E(x(k)y (l)) r xy (k, l) = 0 kaikilla k, l merkitsee että prosessit x(n) ja y(n) ovat korreloimattomat 124
autokorrelaatiot määräävät täysin nollakeskiarvoisen normaalijakautuneen prosessin tosin edelleen ongelma: lukuja r x (k, l) on liikaa koska ei voida estimoida odotusarvoa E(x(k)x (l)) havainnoista tämä siksi että on havaittu vain yksi x(k) ja yksi x(l)! 125
autokorrelaatio r x (k, l) kertoo miten k l aikayksikön päässä olevat arvot riippuvat toisistaan jos k ja l muuttuvat yhtä paljon, niin riippuvuus voi yleisesti muuttua mielivaltaisesti esim. r x (10, 5):lla ja r x (5, 0):lla ei tarvitse olla mitään yhteyttä 126
usein on luontevaa olettaa, että prosessin arvojen välinen riippuvuus määräytyy siitä kuinka kaukana arvot ovat aika-akselilla valitaan aikavälin suuruudeksi esim. 5 silloin r x (5, 0), r x (10, 5), r x (42, 37) kertovat kaikki jotakin samasta asiasta oletetaan tämä eksplisiittisesti: oletetaan, että kaikilla k, l on voimassa r x (k, l) = r x (k + m, l + m) kun m on mielivaltainen kokonaisluku 127
oletuksen mukaan autokorrelaatio on määrätty kun tunnetaan aikaväli k l silloin voidaan kirjoittaa lyhyesti r x (k) = r x (k, 0) oletusta tarvitaan ARMA-prosessin autokorrelaatioiden laskemiseksi 128
Valkoisen kohinan autokorrelaatio normaalijakautunut valkoinen kohina: v(n) N(0, σ 2 ) 0 kun k = l r v (k, l) = var(v(k)) = σ 2 kun k = l autokorrelaatio määräytyy vain erotuksesta k l 129
ARMA-prosessi on suodatettua valkoista kohinaa kohina suodatetaan lineaarisen siirtoinvariantin systeemin läpi tästä nähdään helposti että myös ARMA-prosessin autokorrelaatio r x (k, l) määräytyy erotuksesta k l ARMA-prosessille riittää siis laskea autokorrelaatio r x (k) = r x (k, 0) = r x (k + l, l) 130
lasketaan MA(q)- ja AR(p)-prosessien autokorrelaatiot yleisen ARMA(p, q)-prosessin autokorrelaatiot on johdettu kirjassa: tulokset katsotaan myöhemmin huom! Oletetaan kohinan varianssiksi σ 2 = 1 ARMA-prosesseille tämä ei ole rajoitus koska MA-kertoimilla b(0), b(1),... saadaan varianssi mielivaltaiseksi 131
MA-prosessin autokorrelaatio MA( )-prosessin differenssiyhtälö on x(n) = b(l)v(n l) l=0 asettamalla kertoimet b(l) nolliksi kun l > q tämä sisältää kaikki MA(q)-prosessit kerrotaan differenssiyhtälö oikealta arvolla x (n k) ja otetaan odotusarvo 132
uusi differenssiyhtälö: x(n)x (n k) = b(l)v(n l)x (n k) l=0 odotusarvon laskeminen on helppoa lineaarisuuden ansiosta: E(x(n)x (n k)) = b(l) E(v(n l)x (n k)) l=0 kaikki odotusarvot ovat korrelaatioita 133
tulos: r x (k) = b(l)r vx (k l) l=0 muistisääntö: kun syötteenä on r vx (k) ja vasteena r x (k) niin nämä toteuttavat saman differenssiyhtälön kuin v(n) ja x(n) 134
lasketaan ristikorrelaatio: r vx (k l) = E(v(n + k l)x (n)) = E(v(n + k l)[ = m=0 b (m)v (n m)]) b (m) E(v(n + k l)v (n m)) m=0 kohinan v(n) ainoa nollasta poikkeava autokorrelaatio on r v (0) = σ 2 = 1 saadaan r vx (k l) = b (l k) 135
silloin r x (k) = b(l)b (l k) l=0 jos kyseessä on MA(q)-prosessi niin saadaan r x (k) = q l=k b(l)b (l k) = q k l=0 b(l + k)b (l) 136
AR-prosessin autokorrelaatio kerrotaan AR(p)-prosessin differenssiyhtälö x(n) = p l=1 a(l)x(n l) + b(0)v(n) oikealta arvolla x (n k) ja otetaan odotusarvo tuloksena saadaan r x (k) + p l=1 a(l)r x (k l) = b(0)r vx (k) saadaan jälleen sama differenssiyhtälö, syötteenä r vx 137
ja vasteena r x 138
koska r vx (k) = E(v(n)x (n k)), niin tämä on nolla kun k > 0 johtuu siitä että kohina v(n) ei korreloi aiempien arvojen kanssa voidaan ajatella AR-prosessia kausaalisena systeeminä: v(n) arvotaan hetkellä n eikä tulokseen vaikuta mikään aiemmin tapahtunut 139
koska r vx (0) = E(v(n)x (n)) = b (0) niin saadaan b(0) 2 kun k = 0 r x (k) + a(l)r x (k l) = 0 kun k > 0 p l=1 tämä kaava ja vastaava MA( )-prosessin kaava ovat erikoistapauksia Yule-Walker yhtälöistä jotka käsitellään myöhemmin 140
AR-prosessilla on äärettömän monta nollasta poikkeavaa autokorrelaatiota esim. AR(1): r x (k) = a(1)r x (k 1) kun k > 0 toisaalta MA(q)-prosessin autokorrelaatioista korkeintaan q + 1 kappaletta poikkeavat nollasta demo: arma_rx.r 141
miksi autokorrelaatio r x (k) on tärkeä? nollakeskiarvoinen normaalijakautunut prosessi x(n) määräytyy täysin autokorrelaatioista oletetaan, että r x (k, l) riippuu vain erotuksesta k l silloin x(n) on täysin määrätty kun tunnetaan autokorrelaatiojono r x (0), r x (1), r x (2),... 142
Autokorrelaatiomatriisi kun oletetaan, että r x (k, l) riippuu vain erotuksesta k l niin tarvitaan r x (k) = r x (k, 0) nämä luvut kootaan usein autokorrelaatiomatriisiin: r x (0) r x ( 1)... r x ( M) r x (1) r x (0)... r x ( M + 1) R x =.... r x (M) r x (M 1)... r x (0) 143
voidaan myös kirjoittaa r x (0) r x(1)... r x(m) r x (1) r x (0)... r x(m 1) R x =.... r x (M) r x (M 1)... r x (0) jos merkitään prosessin arvoja vektorina x = [x(0),..., x(m)] T niin autokorrelaatiomatriisi on R x = E(xx H ) 144
R x :n ominaisuuksia: R x on hermiittinen, eli [R x ] ij = ([R x ] ji ) koska r x (i j) = E(x(i)x (j)) = E(x (j)x(i)) = r x(j i) R x on Toeplitz-matriisi eli [R x ] ij riippuu vain erotuksesta i j (seuraa suoraan autokorrelaation oletetusta ominaisuudesta) R x on positiivisemidefiniitti (laskareissa) 145
Ergodisuus satunnaismuuttujien tunnusluvut, kuten odotusarvo ja autokorrelaatio, määritellään otoskeskiarvoina eli esim. m x = E(x(n)) otoskeskiarvo lasketaan muuttujan x(n) jakaumasta nimen otoskeskiarvo selitys: voidaan ajatella, että on käytettävissä monta otosta prosessin arvosta x(n) näistä voidaan laskea keskiarvo, joka estimoi odotusarvoa E(x(n)) 146
nämä kuvitteelliset otokset hetkellä n ovat satunnaismuuttujan x(n) realisaatioita otoskeskiarvoina laskettavat parametrit ovat x(n):n jakauman funktioita ergo1.r 147
otoksia ei käytännössä ole olemassa, havaitaan vain yksi x(n) yhden havainnon avulla on vaikea estimoida parametreja toisaalta havaitaan prosessista arvot x(0), x(1),... prosessin parametrit täytyy estimoida aikakeskiarvoina havainnoista 148
esimerkki: odotusarvon E(x(n)) = m x estimointi, kun oletetaan että E(x(n)) on sama kaikilla n ˆm x (n) = L 1 L i=1 x i(n), otoskeskiarvo, sama hetki n ˆm x (N) = N 1 N 1 n=0 x(n), aikakeskiarvo, eri hetket n aikakeskiarvo ei välttämättä suppene kohti todellista arvoa m x kun N kasvaa! 149
esimerkki: x(n) = Av(n), v(n) N(0, 1) p(a = 1) = p(a = 2) = 0.5 varianssin otoskeskiarvo on 5/2 varianssin aikakeskiarvo suppenee kohti lukua 1 tai 4 150
esimerkki: x(n) = A missä p(a = 1) = p(a = 1) = 0.5 otoskeskiarvo on nolla, mutta aikakeskiarvo on ±1. arvotaan nyt A(n) uudestaan joka hetki (kolikonheitto) otoskeskiarvo on nolla ja aikakeskiarvo lähestyy nollaa kun N. ergo_est.r 151
havainnoista saadaan aikakeskiarvo, mutta halutaan tietää otoskeskiarvo tässä yhteydessä sitä ominaisuutta, että aikakeskiarvo suppenee otoskeskiarvoon kutsutaan ergodisuudeksi ergodisuuden toteaminen on käytännössä vaikeaa teoriassa ergodisuuslauseiden avulla 152
oletukset: x(n) normaalijakautunut, E(x(n)) = m x kaikilla n, r x (k, l) riippuu vain erotuksesta k l aikakeskiarvo: ˆm x (N) = 1 N N 1 n=0 x(n) otoskeskiarvo: m x ˆm x (1), ˆm x (2),... on jono satunnaismuuttujia prosessi x(n) on ergodinen odotusarvon suhteen jos lim E ˆm x(n) m x 2 = 0 N 153
Ergodisuuslauseet x(n) kuten edellä ja c x (k) on sen autokovarianssi 1. Ergodisuuslause 1: satunnaisprosessi x(n) on ergodinen odotusarvon suhteen jos ja vain jos lim N 1 N N 1 k=0 c x (k) = 0 2. Ergodisuuslause 2: satunnaisprosessi x(n) on ergodinen odotusarvon suhteen jos lim c x(k) = 0 k 154
oleelliset muistettavat asiat ergodisuudesta: aikakeskiarvot eivät aina toimi ergodisuuslauseiden ja esimerkkien mukaan aikakeskiarvot eivät toimi kun ajallisesti kaukana olevat prosessin arvot korreloivat liian voimakkaasti käytännössä ergodisuuden varmistaminen lienee mahdotonta havaintojen avulla 155
Luento 5: 10.10.2006 Stationäärisyys Satunnaisprosessien suodatus Tehospektri 156
Stationäärisyys ARMA-prosesseilla on seuraavat ominaisuudet: odotusarvo E(x(n)) = 0 (esim. MA( )-esityksen avulla) autokorrelaatio r x (n, n k) on sama kaikilla n kun k pysyy vakiona odotusarvo ja autokorrelaatio eivät riipu ajanhetkestä n 157
prosessi x(n) on täysin määrätty kun tunnetaan jokaisen joukon {x(n 1 ),..., x(n k )} jakauma mitä tapahtuu jos siirretään hetkiä n 1,..., n k aika-akselilla saman verran? yleisesti mitä tahansa: ei ole mitään syytä, että uudella jakaumalla olisi mitään tekemistä vanhan kanssa 158
joissakin sovelluksissa on luontevaa olettaa, ettei jakauma muutu oletus: jos valitaan mitkä tahansa ajanhetket n 1,..., n k niin kaikkien joukkojen {x(n 1 + m),..., x(n k + m)}, m N jakauma on sama tätä oletusta kutsutaan tiukassa mielessä stationäärisyydeksi (SSS, strict-sense stationary) 159
esimerkiksi normaalijakautunut valkoinen kohina on SSS-prosessi nimensä mukaisesti SSS on vahva oletus ARMA-prosessit voidaan perustella hieman heikompien oletusten avulla nämä oletukset koskevat prosessin odotusarvoa ja autokorrelaatioita 160
prosessi x(n) on väljässä mielessä stationäärinen (WSS, wide sense stationary) jos 1. odotusarvo on vakio: E(x(n)) = m x 2. autokorrelaatio ei riipu ajasta: r x (n, m) = r x (n + k, m + k) kaikilla k N 3. kovarianssi on äärellinen: c x (0) < 161
nollakeskiarvoiselle prosessille c x (0) = r x (0) jos x(n) on WSS-prossesi ja E(x(n)) = 0 niin r x (k) r x (0) = c x (0) < kaikki autokorrelaatiot ovat siis äärellisiä ja itseisarvoltaan pienempiä kuin prosessin varianssi r x (0) 162
vaikka SSS on vahva oletus, niin aina ei päde SSS = WSS WSS: äärellinen kovarianssi, SSS: voi olla ääretön kovarianssi on selvää ettei myöskään WSS = SSS normaalijakautuneelle prosessille WSS SSS 163
mitkä ARMA-prosessit x(n) ovat WSS-prosesseja? riittää todeta, että r x (0) < aloitetaan MA( )-prosessista x(n) = b(k)v(n k) k=0 koska kohina v(n) on korreloimatonta, niin varianssi on r x (0) = b 2 (k) k=0 164
saadaan siis ehto MA-prosessin WSS-ominaisuudelle: b 2 (k) < k=0 kaikki MA(q)-prosessit ovat WSS-prosesseja kun q < johtuu siitä, että äärellinen määrä kertoimia tekee em. summasta äärellisen 165
kaikki AR(p)-prosessit eivät ole WSS vaikka p < esim. AR(1)-prosessi x(n) = 1.1x(n 1) + v(n) on MA-prosessina x(n) = (1.1) k v(n k) k=0 silloin b(k) = (1.1) k joten k=0 b2 (k) = 166
AR(p)-prosessi on WSS, jos polynomin A(z) nollat ovat yksikköympyrän sisällä seuraa siitä, että silloin systeemin 1/A(z) navat ovat yksikköympyrän sisällä kirjoittamalla 1/A(z) = b(0) + b(1)z 1 + b(2)z 2 +... saadaan z 1 :n polynomi, jonka suppenemisalueeseen kuuluu yksikköympyrä DSP: LSI-systeemille pätee stabiilisuus yksikköympyrä kuuluu suppenemisalueeseen stabiilisuus tarkoittaa, että k b(k) < 167
edelleen seuraa k b 2 (k) <, koska b 2 (k) < b(k) kun b(k) < 1. Jostakin indeksistä alkaen on oltava b(k) < 1, muuten summa k b(k) ei suppene siis AR(p) on WSS, jos A(z):n nollat ovat yksikköympyrän sisällä 168
ARMA(p, q)-prosessi on WSS jos A(z):n nollat ovat yksikköympyrän sisällä ja q < perustelu: A(z):n ehdosta seuraa, että polynomin 1/A(z) = b(0) + b(1)z 1 +... kertoimet suppenevat itseisesti silloin myös polynomin B(z)/A(z) kertoimet suppenevat itseisesti, joten prosessi on WSS polynomin B(z) yksikköympyrän ulkopuoliset nollat voidaan peilata kuvauksella z 1/z kuten DSP:ssä, kun halutaan minimivaiheinen systeemi 169
Satunnaisprosessien suodatus ARMA-prosessin tulkinta: suodatetaan valkoista kohinaa suodatin on lineaarinen ja siirtoinvariantti aiemmin laskettiin ARMA-prosessin autokorrelaatiot nähtiin, että tietyt korrelaatiot toteuttavat saman differenssiyhtälön kuin ARMA-prosessi 170
oletetaan, että h(n) on LSI-suotimen impulssivaste deterministisen signaalin x(n) vaste voidaan laskea konvoluutiona y(n) = x(n) h(n) = k= h(k)x(n k) jos suodin on stabiili niin silloin k= h(k) < 171
voidaan myös suodattaa satunnaisprosessi x(n) LSI-systeemin h(n) avulla oletetaan, että systeemi h(n) on stabiili jos syöte on satunnaisprosessi, niin myös vaste on satunnaisprosessi jokainen prosessin x(n) realisaatio suodattuu prosessin y(n) realisaatioksi tämä määrää prosessin y(n) jakauman 172
oletetaan, että prosessi x(n) on WSS-prosessi WSS-prosessin mielenkiintoiset parametrit ovat odotusarvo E(x(n)) = m x ja autokorrelaatio r x (k) jos prosessi on lisäksi normaalijakautunut, niin prosessi määräytyy täysin tarkastellaan siis mitä odotusarvolle ja autokorrelaatiolle tapahtuu LSI-suodatuksessa 173
suodatetun prosessin y(n) = x(n) h(n) odotusarvo on m y = E(y(n)) = E( = k= k= h(k) E(x(n k)) h(k)x(n k)) k= = m x k= h(k) = m x h(k) exp( j0k) = m x H(exp(j0)) Fourier-muunnoksen avulla 174
stabiilisuusoletus h(k) < tarvitaan jotta summa k h(k) suppenisi edellä nähtiin, että jos ARMA-prosessin systeemin navat ovat yksikköympyrän sisällä ja q < niin systeemin impulssivaste suppenee itseisesti eli on stabiili 175
vastaavasti voidaan laskea autokorrelaation suodattuminen eri tavoin: r yx (k) = h(k) r x (k) (1) r y (k) = h(k) r xy (k) (2) r y (k) = h(k) h ( k) r x (k) (3) 1 ja 2: lasketaan vasen puoli odotusarvona, sijoitetaan y = h x ja viedään odotusarvo konvoluutiosumman sisään 3 saadaan kaavojen 1 ja 2 avulla 176
yhteenvetona saadaan rx(k) h(k) ryx(k) h*(-k) ry(k) rh(k)=h(k)*h*(-k) 177
Satunnaisprosessit taajuustasossa deterministinen signaali voidaan Fourier-muuntaa (tai z-muuntaa) ja siirtyä taajuustasoon signaali voidaan silloin esittää taajuuden funktiona muunnos kertoo jotakin signaalin sisältämistä taajuuksista 178
esim. sinisignaalin muunnos on taajuuden suhteen lokalisoitunut tämä voidaan tulkita siten, että signaali sisältää täsmälleen yhtä taajuutta ajassa lokalisoidun signaalin muunnos on taajuustasossa leveä eli se sisältää useita taajuuksia demo: fouriersignals.r 179
satunnaisprosessi voidaan Fourier-muuntaa, mutta tuloksena on uusi satunnaisprosessi jos Fourier-muunnetaan lukujono r x (k) niin satunnaisuus häviää, mutta oleellinen informaatio säilyy ainakin nollakeskiarvoisille normaalijakautuneille WSS-prosesseille jos prosessi ei ole WSS-prosessi, niin jono r x (k) ei ole riittävä kuvaus prosessista 180
autokorrelaation avulla voidaan määritellä WSS-prosessin tehospektri P x (exp(jω)) = r x (k) exp( jkω) k= mikä on autokorrelaatiofunktion diskreettiaikainen Fourier-muunnos koska muunnetaan determinististä signaalia r x (k) niin muunnoksen tulos on myös deterministinen px.r 181
ominaisuuksia: koska r x (k) = r x( k) niin P x (exp(jω)) = Px (exp(jω)), (P x on reaaliarvoinen) jos x(n) on reaaliarvoinen niin r x (k) = r x ( k) ja P x (exp(jω)) = P x (exp( jω)), (P x on symmetrinen) 182
mitä LSI-suodatus tekee tehospektrille? konvoluutioteoreema = konvoluutiot muuttuvat tuloiksi taajuustasossa Fourier-muunnetaan r y (k) = r x (k) h(k) h ( k) tulokseksi saadaan (tarkista, DSP:stä tuttua) P y (exp(jω)) = P x (exp(jω)) H(exp(jω)) 2 183
impulssivasteen muunnos H(exp(jω)) on taajuusvaste suuri arvo H 2 >> 1 taajuudella ω 0 tarkoittaa, että vaste y(n) sisältää enemmän tehoa taajuuden ω 0 ympäristössä kuin syöte x(n) pieni arvo H 2 << 1 kertoo luonnollisesti päinvastaista 184
valkoisen kohinan v(n) tehospektri: olkoon silloin tehospektri on var(v(n)) = r v (0) = σ 2 P v (exp(jω)) = k r v (k) = 0 kun k = 0 r v (k) exp( jωk) = r v (0) exp( jω0) = σ 2 185
valkoinen kohina sisältää saman verran tehoa kaikilla taajuuksilla tästä tulee nimi valkoinen kohina, koska valkoinen valo sisältää tavallaan kaikkia värejä tasaisesti muita kohinoita: P x ω 2 Brown noise P x ω 1 Pink noise P x ω Blue noise P x ω 2 Purple noise 186
ARMA-prosessin x(n) tehospektri saadaan kaavan r x (k) = h(k) h ( k) r v (k) avulla syöte v(n) on valkoista kohinaa varianssilla 1 ARMA-prosessin x(n) tehospektri on P x (exp(jω)) = H(exp(jω)) 2 P v (exp(jω)) = H(exp(jω)) 2 = B(exp(jω))/A(exp(jω)) 2 px3.r 187
tehospektriä kutsutaan myös spektritiheydeksi (PSD, power spectral density) nimitys johtuu siitä, että integroimalla tehospektri jonkin taajuuskaistan yli saadaan luku joka kertoo kaistan sisältämän tehon valitaan H ideaaliseksi kaistanpäästösuotimeksi kaistalla [ω 1, ω 2 ] 188
tavoitteena on suodattaa kaistan ulkopuolinen osuus pois x(n):stä ja laskea suodattuneen prosessin teho halutaan siis vasteen y(n) = h(n) x(n) teho: E( y(n) 2 ) = r y (0) koska tehospektri on jonon r y (k) Fourier-muunnos niin käänteismuunnoksella saadaan r y (0) = 1 2π 2π 0 P y (exp(jω))dω 189
kirjoitetaan teho x(n):n tehospektrin avulla: r y (0) = 1 2π 2π 0 H 2 P x (exp(jω))dω koska H 2 = 1 päästökaistalla niin nähdään, että teho päästökaistalla on integraali r y (0) = 1 2π ω2 ω 1 P x (exp(jω))dω siis integroimalla kaistan yli tehospektriä voidaan laskea prosessin teho ko. kaistalla 190
Yule-Walker yhtälöt aiemmin laskettiin yhteys AR- ja MA-prosessien autokorrelaatioiden ja prosessien parametrien välille yleinen ARMA-prosessi jäi käsittelemättä tässä tapauksessa yhtälöiden johtaminen on hankalampaa ohitetaan suurin osa johdosta ja nojataan aiempiin tuloksiin 191
oletetaan, että h(n) on stabiilin ARMA(p, q)-prosessin impulssivaste kohinan v(n) vasteena saatavan ARMA(p, q)-prosessin differenssiyhtälö: x(n) + p k=1 a(k)x(n k) = q b(l)v(n l) l=0 kuten aiemmin saadaan sama yhtälö korrelaatioille: r x (k) + p m=1 a(m)r x (k m) = q b(l)r vx (k l) l=0 192
AR- ja MA-tapauksissa ristikorrelaatio r vx (k) yksinkertaistui saatiin helposti yksinkertaistettua nyt ei yksinkertaistu kovin paljon, mutta jotakin voidaan tehdä differenssiyhtälön oikea puoli voidaan kirjoittaa muotoon c q (k) = q k l=0 tämä on nolla, kun k > q b(l + k)h (l) 193
saadaan ARMA(p, q)-prosessin Yule-Walker yhtälöt c q (k), k = 0, 1,..., q r x (k) + a(m)r x (k m) = 0, k > q p m=1 194
r x (0) r x ( 1)... r x ( p) r x (1) r x (0)... r x ( p + 1)...... r x (q) r x (q 1)... r x (q p)............ r x (q + 1) r x (q)... r x (q p + 1)...... r x (p + q + 1) r x (p + q)... r x (q + 1) 1 a p (1) a p (2). a p (p) = c q (0) c q (1) c q (2). c q (q)... 0. 0 195
huom! kertoimet c q (k) sisältävät tuloja b(l + k)h (l) b(l + k) on kerroin joka yleensä halutaan ratkaista mutta h (l) määräytyy systeemistä H(z) = B(z)/A(z) systeemi riippuu parametreistä a(k), b(l)! siis ARMA- ja MA-prosessien Yule-Walker yhtälöt ovat epälineaarisia parametrien b(l) suhteen 196
koska AR-prosessille q = 0, niin ainoa kerroin c 0 (0) = b(0) 2 kuten aiemmin AR-prosessin YW-yhtälöt arvoilla k = 1, 2,... ovat lineaarisia parametrien a(m) suhteen jatkossa nähdään että AR-prosessien (ja ARMA-prosessin AR-osan) ratkaiseminen on helppoa 197
Luento 6: 17.10.2006 Woldin hajotelma ARMA-prosessin ratkaisu 198
Woldin hajotelma tähän asti on tarkasteltu ARMA-prosesseja sekä sinisignaaleja sopivin parametrein molemmat ovat WSS-prosesseja onko tässä vain pieni osa kaikista mahdollisista WSS-prosesseista? Woldin hajotelma kertoo, että näiden prosessien avulla voidaan mallintaa WSS-prosessi 199
Woldin hajotelman johto on melko tekninen se perustuu kuitenkin geometriseen konstruktioon, josta saadaan mm. valkoinen kohina ohitetaan tekniset yksityiskohdat (kts. viite kurssin kotisivulla) esitetään hajotelman geometrinen idea sekä tärkeimmät ominaisuudet 200
Satunnaisprosessi vektoriavaruudessa määritellään avaruus H = {x : E(x) = 0, E( x 2 ) < } koska x, y H = ax + by H niin H on vektoriavaruus sisätulolla E(xy ) varustettuna H on myös Hilbert-avaruus 201
satunnaisprosessi x(n) voidaan esittää jonona vektoreita H:ssa:..., x( 2), x( 1), x(0), x(1), x(2), H mikä tahansa satunnaisprosessi x(n) jolle E(x(n)) = 0 ja var(x(n)) < voidaan esittää jonona H:n vektoreita 202
Woldin hajotelma perustuu projektioon ˆx(n) = P(x(n) x(n 1), x(n 2),... ) = b(1)x(n 1) + b(2)x(n 2) +... kertoimet b(k) määräytyvät siten, että projektio on MSE:n minimoiva lineaarinen estimaattori estimointivirhe on e(n) = x(n) ˆx(n), jota kutsutaan tässä yhteydessä innovaatioksi 203
ortogonaalisuusperiaate = e(n) on ortogonaalinen kaikkien arvojen x(n 1), x(n 2),... kanssa lisäksi innovaatio e(n) on lineaarikombinaatio prosessin arvoista: e(n) = x(n) ˆx(n) = x(n) b(1)x(n 1) b(2)x(n 2)... 204
innovaatiot e(n) eivät korreloi e(n) ortogonaalinen arvojen x(n 1), x(n 2),... kanssa e(n k) (oletetaan k > 0) on lineaarikombinaatio arvoista x(n k), x(n k 1),... siis e(n k) on lineaarikombinaatio e(n):n kanssa ortogonaalisista muuttujista 205
innovaation e(n) odotusarvo on nolla, koska se on lineaarikombinaatio H:n vektoreista koska E(e(n)) = 0 niin ortogonaalisuus on sama kuin korreloimattomuus siis innovaatiot e(n), n N ovat nollakeskiarvoisia, korreloimattomia muuttujia 206
Woldin hajotelman idea: prosessi x(n) H voidaan melkein kirjoittaa x(n) b n (k)e(n k) k=0 perustelu : x(n) voidaan kirjoittaa x(n) = x(n) ˆx(n) + ˆx(n) = e(n) + ˆx(n) = e(n) + P(x(n) x(n 1),... ) = e(n) + b(1)x(n 1) + b(2)x(n 2) +... 207
mutta myös x(n 1) saadaan esitettyä muodossa x(n 1) = e(n 1) + c(1)x(n 2) + c(2)x(n 3) +... siis x(n) = e(n) + b(1)e(n 1) + d(2)x(n 2) +... jatkamalla saadaan Woldin hajotelma 208
kirjoitetaan Woldin hajotelma muodossa x(n) = b n (k)e(n k) + s(n) k=0 ennustettava prosessi s(n) määräytyy hajotelmasta s(n) voidaan ennustaa virheettä lineaarikombinaationa muuttujista x(n 1), x(n 2),... 209
lasketaan P(s(n) x(n 1),... ) = P(x(n) P on lineaarinen ja P(x(n)... ) = ˆx(n) b(k)e(n k) x(n 1),... ) k=0 P(e(n)... ) = P(x(n) ˆx(n)... ) = 0 P(e(n k)... ) = e(n k) kun k > 0 210
silloin saadaan P(s(n)... ) = ˆx(n) 0 b(k)e(n k) k=1 = (x(n) ˆx(n)) + x(n) = x(n) = s(n) b(k)e(n k) k=0 b(k)e(n k) k=1 211
Woldin hajotelman ominaisuuksia kirjassa (s. 107) sanotaan että Woldin hajotelma pätee yleisille prosesseille (general random process) pitää paikkansa, mutta tietyt hajotelman ominaisuudet voimassa vain WSS-prosesseille erityisesti Woldin hajotelman kertoimet b n (k) voivat riippua ajasta jos prosessi ei ole WSS! käydään läpi WSS-prosessin Woldin hajotelman ominaisuudet 212
1. valkoinen kohina e(n) on nollakeskiarvoista, korreloimatonta ja sen varianssi on vakio σ 2 < 2. säännöllinen prosessi x(n) s(n) = b(k)e(n k) k=0 on MA-prosessi, jonka kertoimet ovat yksikäsitteiset, b(0) = 1, b 2 (k) < 3. B(z):n nollat toteuttavat ehdon z 1 213
4. ennustettava prosessi s(n) voidaan ennustaa ilman virhettä lineaarisesti aiemmista arvoista mielivaltaisen kauas: s(n) = P(s(n) x(n k),... ) kaikilla k = 1, 2,... 5. korreloimattomattomuus: säännöllinen prosessi x(n) s(n) ja ennustettava prosessi s(n) ovat korreloimattomat 214
Woldin hajotelman tulkinta Woldin hajotelman merkitys on siinä, että hyvin kevyin oletuksin (WSS) saadaan prosessi x(n) kahden korreloimattoman prosessin summana: säännöllinen prosessi on MA( )-prosessi b(k)e(n k) k=0 Tämä osa voidaan yleisesti mallintaa ARMA-prosessina 215
ennustettava prosessi s(n) ei sovi mallinnettavaksi ARMA-prosessina ennustettavan prosessin tehospektri on summa impulsseja P s (exp(jω)) = m S k δ(ω ω k ) k=1 kun m < niin tällainen prosessi voidaan mallintaa sinisignaalien avulla 216
WSS-prosessin mallintamiseksi riittää teoriassa löytää ennustettava osa s(n) ja mallintaa loppu ARMA-prosessina tässä mielessä ARMA-prosessit ja sinisignaalit ovat riittävän laaja luokka malleja säännöllisille WSS-prosesseille lisäksi Woldin hajotelmasta nähdään, että ARMA-prosessin määräävä systeemi on kausaalinen ja stabiili 217
Innovaatioesitys olkoon Q(z) kausaalinen ja stabiili systeemi, jolla on kausaalinen ja stabiili käänteissuodin 1/Q(z) jos x(n) saadaan suodattamalla valkoista kohinaa suotimen Q(z) läpi, niin suodattamalla x(n) suotimen 1/Q(z) läpi saadaan valkoista kohinaa tätä kutsutaan säännöllisen prosessin x(n) innovaatioesitykseksi rationaaliselle Q(z):lle riittää, että systeemin nollat ja navat ovat yksikköympyrän sisällä 218
innovaatioesityksestä saadaan säännöllisen prosessin x(n) spektraalihajotelma: P x ((z)) = σ 2 Q(z)Q (1/z ) polynomi Q(z) on minimivaiheinen systeemi: jos Q(z) on rationaalinen systeemi niin sen navat ja nollat ovat yksikköympyrän sisällä lisäksi Q(z):n vakiotermi on yksi: Q(z) = 1 + q(1)z 1 +... 219
ARMA-prosessin ratkaiseminen Yule-Walker yhtälöt määräävät yhteyden ARMA-prosessin parametrien ja autokorrelaatioiden välillä käytännössä autokorrelaatiot r x (k) estimoidaan datasta ja halutaan ratkaista parametrit AR(p)-mallin osalta tämä sujuu helposti jos malli sisältää MA(q)-osan niin tilanne on hankalampi 220
AR-prosessin ratkaiseminen autokorrelaatioista oletetaan, että tunnetaan autokorrelaatiot r x (k) missä x(n) on AR(p)-prosessi halutaan ratkaista parametrit a(1),..., a(p) Yule-Walker yhtälöt ovat lineaariset kerrointen suhteen 221
YW-yhtälöt AR(p)-prosessille: r x (k) + p m=1 a(m)r x (k m) = b(0) 2, k = 0 0, k > 0 otetaan mukaan ne yhtälöt, missä k = 1, 2,..., p hieman järjestelemällä saadaan yhtälöryhmä r x (0) r x(1)... r x(p 1) a p (1) r x (1) r x (0)... r x(p 2) a p (2).... r x (p 1) r x (p 2)... r x (0) a p (p) 222 = r x (1) r x (2). r x (p)
merkitään lyhyesti matriisimuodossa R x a = r x missä r x = [r x (1),..., r x (p)] T ja a = [a(1),..., a(p)] T ratkaisu saadaan käänteismatriisilla kertomalla: a = R 1 x r x 223
YW-yhtälöstä arvolla k = 0 seuraa r x (0) + p m=1 a(m)r x ( m) = b(0) 2 kerrointa b(0) ei saada yksikäsitteisesti, koska malli sisältää informaation ainoastaan kohinan varianssista b(0) voidaan valita positiiviseksi reaaliluvuksi b(0) = b(0) 2 224
MA-prosessin ratkaiseminen autokorrelaatioista oletetaan, että x(n) on MA(q)-prosessi halutaan ratkaista parametrit b(0),..., b(q) Yule-Walker yhtälöt ovat epälineaariset kerrointen suhteen parametrejä ei voida ratkaista lineaarisesti 225
käytetään hyväksi spektraalihajotelmaa MA-prosessin tehospektri z-muunnoksena on P x (z) = q r x (k)z k k= q tässä käytettiin hyväksi Yule-Walker yhtälöiden tietoa siitä että r x (k) = 0 kun k > q 226
muodostetaan tehospektrille spektraalihajotelma P x (z) = σ 2 0 Q(z)Q (1/z ) = B(z)B (1/z ) spektraalihajotelmasta saadaan prosessille malli B(z) = σ 0 Q(z) = σ 0 q q(k)z k k=0 mistä voidaan ratkaista parametrit b(k) 227
esimerkki: oletetaan, että MA(1)-prosessilla on autokorrelaatiojono r x (0) = 17, r x (±1) = 4, muulloin r x (k) = 0 tehospektri on silloin P x (z) = 4z + 17 + 4z 1 228
muodostetaan spektraalihajotelma σ 2 0 (1 az 1 )(1 a z) = σ 2 0 (1 + a 2 ) σ 2 0 (az 1 + a z) = 4z + 17 + 4z 1 = σ 2 0 σ 2 0 = 1, a = 4 tai = 16, a = 1/4 saadaan joko H(z) = B(z) = 1 + 4z 1 tai B(z) = 4 + z 1 229
ARMA-prosessin ratkaiseminen autokorrelaatioista ARMA(p, q)-prosessin YW-yhtälöt ovat r x (k) + p m=1 missä c q (k) = 0 kun k > q a(m)r x (k m) = c q (k), k = 0, 1,... ratkaistaan AR-osa yhtälöiden k = q + 1,..., q + p avulla samoin kuin AR(p)-prosessin ratkaisussa 230
oletetaan, että AR-osa on ratkaistu ja A(z) tunnetaan YW-yhtälöistä r x (k) + m a(m)r x (k m) = c q (k), k = 0,..., q voidaan laskea kertoimet c q (k), koska autokorrelaatiot ja parametrit a(m) tunnetaan nyt tunnetaan polynomit A(z) ja C(z) = c q (0) + c q (1)z 1 + + c q (q)z q 231
YW-yhtälöistä seuraa, että r x (k) on vaste kun suodatetaan jono c q (k) systeemin 1/A(z) läpi z-muuntamalla saadaan P x (z) = 1 A(z) C(z) P x (z) on ARMA-prosessin tehospektri, joka voidaan kirjoittaa myös muotoon P x (z) = B(z)B (1/z ) A(z)A (1/z ) näistä esityksistä seuraa, että B(z)B (1/z ) = C(z)A (1/z ) 232
tunnetut polynomit ovat A (1/z ) = 1 + a (1)z + a (2)z 2 +... C(z) = c q (0) + c q (1)z 1 + + c q (q)z q tulo B(z)B (1/z ) on konjugaattisymmetrinen z:n positiivisten ja negatiivisten potenssien suhteen riittää siis tuntea z:n negatiiviset potenssit ja vakiotermi 233
koska A (1/z ) ei sisällä z:n negatiivisia potensseja, niin A (1/z )(c q (0) + c q (1)z 1 + + c q (q)z q ) sisältää kaikki B(z)B (1/z ):n negatiiviset potenssit positiiviset potenssit ratkaistaan konjugaattisymmetrian avulla 234
on siis ratkaistu polynomi B(z)B (1/z ) tämä vastaa MA(q)-prosessin ratkaisua, jossa tunnettiin P x (z), joka on yhtäsuuri kuin B(z)B (1/z ) polynomi B(z) eli MA(q)-prosessin systeemi voidaan nyt ratkaista kuten aiemmin spektraalihajotelman avulla 235
2. tenttijaksolla ei opetusta: - ti 31.10. ei luentoa - ke 1.11. ei laskareita laskarit 8.11. alkaen salissa T2 236
Luento 7: 24.10.2006 Satunnaisprosessin ennustaminen Autokorrelaatioiden estimointi 237
Lineaarinen ennustaminen keskeinen satunnaisprosessien mallintamisen sovellus on ennustaminen kuten mallintamisessa yleensä, halutaan tietoa havaitsemattomista arvoista havaittujen arvojen avulla lineaarinen ennustaminen liittyy läheisesti AR-prosessiin 238
hetkellä n 1 on havaittu arvot x(n 1), x(n 2), x(n 3),... halutaan ennustaa arvo x(n) muodostetaan ennuste lineaarisesti havaittujen arvojen x(n 1),..., x(n p) avulla: ˆx(n) = p k=1 a(k)x(n k) 239
parametrit a(k) valitaan niin, että ennuste on mahdollisimman hyvä (ei yksikäsitteistä mittaria) jos minimoidaan MSE E( e(n) 2 ), niin ennustevirhe e(n) = x(n) ˆx(n) on ortogonaalinen muuttujien x(n 1),..., x(n p) kanssa seuraa samat YW-yhtälöt kuin AR(p)-prosessille (tarkista) siis AR-prosessi on MSE:n minimoiva lineaarinen ennustin 240
voidaan myös ennustaa ajassa taaksepäin: ˆx(n p) = f (1)x(n p + 1) f (p)x(n) ortogonaalisuusperiaate antaa YW-yhtälöt, missä korvataan r x (k) r x ( k) teoriassa nämä YW-yhtälöt sisältävät saman informaation parametreistä kuin AR-prosessin YW-yhtälöt käytännössä näin ei ole (nähdään autokorrelaation estimoinnin yhteydessä) 241
ARMA-prosessien ennustaminen halutaan tietoa muuttujasta x(n) havaintojen x(n 1), x(n 2),... avulla tilastollisen mallintamisen avulla saadaan tietoa muuttujien tn-jakaumista yleisesti halutaan siis laskea p(x(n) x(n 1), x(n 2),... ) ehdollinen jakauma kertoo, mitä tiedetään muuttujasta x(n) tn-mallin ja havaintojen avulla 242
tällä kurssilla rajoitutaan tarkastelemaan odotusarvoja ja autokorrelaatioita yleisten jakaumien sijaan oletetaan jälleen ARMA-prosessi normaalijakautuneeksi tavoitteena on ratkaista ehdolliset tunnusluvut E(x(n) x(n 1), x(n 2),... ) var(x(n) x(n 1), x(n 2),... ) 243
ilman normaalijakaumaoletusta E(x(n) x(n 1), x(n 2),... ) ei välttämättä ole lineaarinen voidaan kuitenkin rajoittua lineaarisiin ennusteisiin tulokset ovat samat kuin normaalijakaumaoletuksella oletetaan merkintöjen yksinkertaistamiseksi prosessit normaalijakautuneiksi 244
esimerkki: x tasajakautunut välille [ 1, 1] ja z = x 2 1/3 saadaan helposti E(x) = E(z) = 0 E(xz) = E(x 3 1/3x) = E(x 3 ) = 0 E(z x) = x 2 1/3, ei identtisesti nolla MSE:n minimoiva lineaarinen ennuste on kuitenkin ẑ = 0x 245
ennustetaan AR-prosessi yhden aikayksikön päähän AR(p)-prosessin ehdollinen odotusarvo ja varianssi: E(x(n) x(n 1),..., x(n p)) = p a(k)x(n k) k=1 var(x(n) x(n 1),..., x(n p)) = b(0) 2 ( ei riipu n:stä) em. tulokset helposti differenssiyhtälöstä x(n) = a(k)x(n k) + b(0)v(n) 246
MA-prosessin ennustaminen on käyty läpi laskareissa ehdollinen odotusarvo on lineaarikombinaatio kohinasta ja varianssi riippumaton n:stä: E(x(n + k) x(n),... ) = q l=k b(l)v(n + k l) var(x(n + k) x(n),... ) = min(k 1,q) l=0 b 2 (l) ( ei riipu n:stä) v(n k) kun k 0 saadaan suodattamalla x(n k), k 0 kausaalisen systeemin 1/B(z) läpi 247
AR(1)-prosessin ennusteet saadaan MA( )-prosessin ennusteista jos x(n) = ax(n 1) + b(0)v(n), niin x(n) = b(0) ( a) k v(n k) k=0 248
saadaan MA-prosessia koskevista tuloksista E(x(n + k) x(n),... ) = b(0) l=k = ( a) k b(0) = ( a) k x(n) ( a) l v(n + k l) l=0 ( a) l v(n l) var(x(n + k) x(n),... ) = b(0) 2 k 1 ( a) 2l ( ei riipu n:stä) l=0 249
ARMA(p, q) kun p, q 1 ja AR(p) kun k, p > 1 ovat hankalia suljetussa muodossa jos halutaan laskea ennusteita numeerisesti niin se voidaan tehdä rekursiivisten kaavojen avulla nämä perustuvat tila-avaruusesitykseen (state space representation), josta on yleisempääkin hyötyä kirjan luvussa 7.4 Discrete Kalman Filter on jonkun verran tähän liittyvää asiaa (kurssin ulkopuolelta) 250
muunnetaan ARMA(p, q)-prosessi vektorimuotoiseksi AR(1)-prosessiksi esim. ARMA(2, 1)-prosessi voidaan kirjoittaa x(n) x(n 1) = v(n) a(1) a(2) b(1) 1 0 0 0 0 0 x(n 1) b(0) x(n 2) + 0 v(n) v(n 1) 1 251
huomataan, että merkitsemällä x(n) y(n) = x(n 1) v(n) voidaan vektorimuotoinen AR(1)-prosessi kirjoittaa y(n) = Ay(n 1) + bv(n) tämä näyttää AR(1)-prosessin differenssiyhtälöltä 252
ennustaminen sujuu muodollisesti samoin kuin AR(1)-prosessille E(y(n + k) y(n),... ) = A k y(n) var(y(n + 1) y(n),... ) = bb H var(y(n + 2) y(n),... ) = bb H + Abb H A H var(y(n + k) y(n),... ) = demo: ar4predict.r k 1 l=0 A l bb H (A H ) l 253
Autokorrelaatioiden estimointi aiemmin nähtiin miten ratkaistaan ARMA-parametrit tunnetuista autokorrelaatioista r x (k) käytännössä havaitaan yksi prosessin realisaatio x(0),..., x(n) autokorrelaatiot on estimoitava havainnoista estimoitujen autokorrelaatioiden avulla voidaan ratkaista ARMA-prosessin parametrit 254
estimoidaan autokorrelaatio r x (k) havainnoista x(0),..., x(n) koska estimoidaan odotusarvoa E(x(n)x (n k)) niin estimaatit ovat keskiarvoja pareista x(n)x (n k) 255
yksi mahdollinen estimaatti on ˆr x (k) = 1 N k + 1 N n=k x(n)x (n k), 0 k N k:n kasvaessa summan termien lukumäärä pienenee, koska havaintojonoon ei mahdu monta paria x(n), x(n k) kun k on suuri estimaattori on kuitenkin harhaton: E(ˆr x (k)) = 1 N k + 1 N E(x(n)x (n k)) = r x (k) n=k 256
teoriassa autokorrelaatioista muodostettu autokorrelaatiomatriisi on aina positiivisemidefiniitti tämä tarkoittaa, että v H R x v 0 kaikilla v käytännössä autokorrelaatiomatriisi muodostetaan sijoittamalla sinne estimoituja arvoja ˆr x (k) em. estimaattorin avulla saatavat autokorrelaatiomatriisit eivät välttämättä ole positiivisemidefiniittejä 257
tarkistetaan laskemalla esimerkki: kun x = (5, 4, 5) ja N = 2, niin ˆr x (0) = ˆr x (1) = ˆr x (2) = 1 2 0 + 1 1 2 1 + 1 1 2 2 + 1 2 n=0 2 n=1 2 n=2 x 2 (n) = 1 (25 + 16 + 25) = 22 3 x(n)x (n 1) = 1 (20 + 20) = 20 2 x(n)x (n 2) = 5 5 = 25 258
saadaan matriisi R = 22 20 25 20 22 20 25 20 22 matriisilla R on ominaisarvo λ = 3, joten R ei voi olla positiivisemidefiniitti (pitäisi olla λ 0 kaikille λ) 259
estimoimalla R x kuten edellä tehospektri voi saada negatiivisia arvoja autokorrelaatiomatriisi voi saada negatiivisia ominaisarvoja positiivisemidefiniitti autokorrelaatiomatriisi saadaan mm. seuraavilla menetelmillä: 1. autokorrelaatiomenetelmä: ei harhaton, R x on Toeplitz 2. kovarianssimenetelmä: harhaton, R x ei Toeplitz 260
Autokorrelaatiomenetelmä autokorrelaatiomenetelmässä estimoidaan autokorrelaatiot estimaattina ˆr x (k) = 1 N + 1 N n=k x(n)x (n k) ei ole harhaton, koska summassa on 1 N k+1 termiä, mutta normalisointitermi on 1 N+1 on kuitenkin asymptoottisesti harhaton (kiinteä k, N ) 261
tärkein ominaisuus on estimoidun autokorrelaatiomatriisin positiivisemidefiniittisyys on siis oltava voimassa v H ˆR x v 0 kaikilla vektoreilla v tämä nähdään helposti datamatriisin avulla 262
laitetaan havainnot matriisiin X = x(0) 0... 0 x(1) x(0)... 0 x(2) x(1)... 0.... x(n) x(n 1)... x(n M + 1) 0 x(n)... x(n M).... 0 0... x(n) 263
estimoitu korrelaatiomatriisi on (tarkista) jolle ˆR x = 1 N + 1 XH X v H ˆR x v = 1 N + 1 vh X H Xv = 1 N + 1 (Xv)H Xv = 1 N + 1 Xv 2 0 siis ˆR x on positiivisemidefiniitti (käytännössä useimmiten positiividefiniitti) 264
autokorrelaatiomenetelmän ominaisuuksia: ˆR x on positiivisemidefiniitti ja Toeplitz (Toeplitz-matriisin kääntäminen on tehokkaampaa kuin yleisen matriisin) näin muodostettu AR-malli on stabiili eli navat ovat yksikköympyrän sisällä. Todistus kirjassa Levinson-Durbin rekursion yhteydessä (kurssin alueen ulkopuolella) 265
voidaan ajatella että tulos saadaan nollaamalla signaali indeksien n = 0, 1,..., N ulkopuolella ikkunafunktion w R (n) avulla (suorakaideikkuna) signaalin nollaaminen on melko mielivaltainen toimenpide eikä se välttämättä aina tuota hyviä tuloksia voidaan käyttää myös muita ikkunafunktioita kuin w R (n):ää 266
Kovarianssimenetelmä autokorrelaatiomenetelmässä tavallaan asetetaan x(n) = 0 kun n < 0 tai n > N voidaan myös välttää olettamasta mitään havaitsemattomista arvoista otetaan jokaiseen estimaattiin ˆr x (k) yhtä monta havaittua termiä x(n)x (n k) 267
saadaan estimaatti autokorrelaatiolle (k, l [0, p]) ˆr x (k, l) = 1 N p + 1 N n=p x(n l)x (n k) estimaatti on harhaton, koska termien lukumäärä on vakio huom! osa havainnoista jää käyttämättä, esim. ˆr x (0, 0) ei sisällä termiä x(0)x (0) kun p > 0 268
onko estimoitu autokorrelaatiomatriisi Toeplitz? laskemalla auki ˆr x (k + 1, l + 1) nähdään helposti, että se ei aina ole ˆr x (k, l) silloin matriisi ei ole Toeplitz joten YW-yhtälöiden ratkaiseminen ei ole yhtä tehokasta kuin autokorrelaatiomenetelmällä 269
kovarianssimenetelmän datamatriisi on x(p) x(p 1)... x(0) x(p + 1) x(p)... x(1) X =.... x(n) x(n 1)... x(n p) tästä voidaan estimoida autokorrelaatiomatriisi ˆR x = 1 N p + 1 XH X positiivisemidefiniittisyys todetaan kuten edellä autokorrelaatiomenetelmässä 270
kovarianssimenetelmää voi parantaa tekemällä estimointi ajassa sekä eteen- että taaksepäin tätä kutsutaan muunnetuksi kovarianssimenetelmäksi (modified covariance) voi olla yllättävää että tulokset muuttuvat kun katsotaan samaa dataa takaperin katsotaan esimerkin avulla miten tämä tapahtuu 271
havaitaan x = [1, 2, 3, 4] ja estimoidaan kovarianssimenetelmällä 2 2-matriisi ˆR x, f w saadaan X = 2 1 3 2 4 3 saadaan ˆR x, f w = 1 2 XH X = 29 20 20 14 272
käännetään havainnot, eli havaitaan x = [ 4, 3, 2, 1] autokorrelaatiot ovat teoriassa samat, koska havainnot ovat reaalisia nyt saadaan X = 3 4 2 3 1 2 estimoitu autokorrelaatiomatriisi on ˆR x,bw = 1 2 XH X = 14 20 20 29 273
koska ˆR x, f w = ˆR x,bw niin voidaan käyttää molempia estimaatteja hyödyksi laskemalla näistä keskiarvo saadaan muunnettu kovarianssimenetelmä: ˆR x = 1 2 ˆR x, f w + 1 2 ˆR x,bw tulos ei ole Toeplitz-matriisi, mutta matriisilla ˆR x on tietynlainen rakenne on olemassa yleistä matriisinkääntöä tehokkaampi menetelmä, jolla YW-yhtälöt voidaan ratkaista käytettäessä em. autokorrelaatiomatriisia 274
autokorrelaatiomenetelmä käytetään kaikki näytteet eri k, eri määrä termejä x(n):n nollaus Toeplitz stabiili AR harhainen pos. semidefiniitti kovarianssimenetelmä ei käytetä kaikkia näytteitä aina yhtä monta termiä ei nollausta ei Toeplitz ei välttämättä stabiili harhaton pos. semidefiniitti demo: finite.r 275
Luento 8: 7.11.2006 Wiener-suodatus 276
Kohinaiset signaalit aiemmin ennustettiin prosessia x(n) edellisistä havainnoista voidaan myös ennustaa prosessia d(n) jota ei havaita, mutta se riippuu havaitusta prosessista x(n) yleisesti voidaan kirjoittaa x(n) = d(n) + v(n) prosesseja ja niiden välistä riippuvuutta koskevin oletuksin voidaan estimoida d(n) havaitun prosessin x(n) avulla 277
Wiener-suodatus voidaan tulkita kohinanpoistoksi, koska kiinnostava prosessi d(n) havaitaan niin, että siihen on lisätty kohinaa v(n) tässä yhteydessä kohina ei aina tarkoita valkoista kohinaa: prosessi v(n) voi periaattessa olla millainen tahansa sitä voidaan kutsua kohinaksi, koska se sisältää havaitusta prosessista sen osan joka halutaan suodattaa pois 278
esimerkkejä: puhesignaali: mikrofoniin saapuva signaali x(n) voi sisältää kaikuja sekä kohinaa sydänäänten mittauksessa sydämen sykkeen lisäksi hengitysääniä sekä kehon ulkopuolisia ääniä kuva- ja videosignaalit voivat sisältää kohinaa, joka heikentää kuvanlaatua 279
Wiener-suodatus prosessin d(n) ennustaminen voidaan ajatella kohinan v(n) suodattamisena DSP:stä tutuilla päästösuotimilla voi poistaa kohinaa, mutta parhaan suotimen valinta ei ole triviaalia Wiener-suodin on MSE:n mielessä optimaalinen suodin, joka estimoi d(n):n havainnoista x(n) = d(n) + v(n) 280
verrataan ennustamista ja Wiener-suodatusta lineaarinen ennustaminen (AR(p)-prosessi): ˆx(n) = p a(k)x(n k), k=1 tunnettava r x (k) lineaarinen Wiener-suodatus: ˆ d(n) = p 1 k=0 w(k)x(n k), tunnettava r x (k), r dx (k) 281
Erikoistapauksia: Sovellus havaitaan estimoidaan ennustaminen x(n) = d(n) + v(n) d(n + k), k > 0 tasoitus x(n) = d(n) + v(n) d(n k), k > 0 lin. ennustaminen x(n) = d(n 1) d(n) dekonvoluutio x(n) = d(n) g(n) + v(n) d(n) 282
Optimaalinen FIR-suodin ratkaistaan aluksi Wiener-suodin, jonka impulssivaste on äärellinen (FIR-suodin): W(z) = p 1 w(n)z n n=0 oletetaan korrelaatiot r x (k), r d (k) ja r dx (k) tunnetuiksi x(n) ja d(n) ovat WSS-prosesseja ja r dx (k) < ei riipu hetkestä n 283
Wiener-suodin aikatasossa on siis ˆ d(n) = p 1 l=0 w(l)x(n l) ortogonaalisuusperiaatetta varten todetaan, että ˆ d(n) on lineaarikombinaatio arvoista x(n), x(n 1),..., x(n p + 1) 284
Wiener-suodin ratkaistaan minimoimalla MSE ε = E( e(n) 2 ) = E( d(n) ˆ d(n) 2 ) e(n) on lineaarikombinaatio arvoista d(n) ja x(n),..., x(n p + 1) silloin E( e(n) 2 ) tulee sisältämään auto- ja ristikorrelaatioita ortogonaalisuusperiaatteen avulla nähdään, että riittää tuntea r x (k):t ja r dx (k):t 285
Optimaalisen FIR-suotimen ratkaisu ortogonaalisuusperiaate antaa ortogonaalisuusehdot E(e(n)x (n k)) = E(d(n)x (n k)) p 1 l=0 w(l) E(x(n l)x (n k)) =0, k = 0, 1,..., p 1 286
merkitsemällä odotusarvot korrelaatioiksi saadaan Wiener-Hopf yhtälöt: p 1 l=0 w(l)r x (k l) = r dx (k), k = 0, 1,..., p 1 287
yhtälöt matriisimuodossa ovat R x w = r dx eli r x (0) r x(1)... r x(p 1) w(0) r x (1) r x (0)... r x(p 2) w(1).... r x (p 1) r x (p 2)... r x (0) w(p 1) = r dx (0) r dx (1). r dx (p 1) ratkaisu on w = R 1 x r dx 288
edellä saadaan parametrit, joilla MSE minimoituu lasketaan virheen E( e(n) 2 ) minimiarvo: E( e(n) 2 ) = E(e(n)(d(n) ˆ d(n)) ) = E(e(n)d (n)) (ortogonaalisuusehdot) = E(d(n)d (n)) p 1 l=0 w(l) E(x(n l)d (n)) 289
odotusarvot korrelaatioina ja w = R 1 x r dx antaa tuloksen E( e(n) 2 ) = r d (0) p 1 l=0 w(l)r dx (l) = r d (0) r H dx w = r d (0) rdx H R 1 x r dx tulos pätee vain silloin kun w on optimaalinen Wiener-suotimen ratkaisu 290
WH-yhtälöt antavat ratkaisun korrelaatioiden r x (k) ja r dx (k) funktiona autokorrelaatiot r x (k) voidaan estimoida havainnoista kuten ARMA-prosesseja ratkaistaessa r dx (k):n estimointi on yleisesti mahdotonta, koska d(n):ää ei havaita millään hetkellä n 291
ratkaisu vaatii tapauskohtaisia lisäoletuksia esimerkki: x(n) = d(n) + v(n), missä nollakeskiarvoinen v(n) ei korreloi d(n):n kanssa usein realistinen oletus, jos kohinan aiheuttaja ei voi riippua d(n):stä esim. puhesignaali ja ilmastointilaitteen kohina sopivat em. oletuksiin 292
lasketaan r x (k) ja r dx (k) em. oletuksin saadaan r dx (k) = E(d(n)x (n k)) = E(d(n)d (n k)) + E(d(n)v (n k)) = E(d(n)d (n k)) (d ja v eivät korreloi) = r d (k) 293
lisäksi saadaan r x (k) = E(x(n + k)x (n)) = r d (k) + r v (k) + r dv (k) + r vd (k) = r d (k) + r v (k) koska d(n) ja v(n) ovat korreloimattomia 294
saadaan Wiener-Hopf yhtälöt (R d + R v )w = r d missä r d = [r d (0), r d (1),..., r d (p 1)] T jos kohina on valkoista kohinaa niin saadaan (R d + σ 2 I)w = r d 295
matriisi R d + R v = R x estimoidaan havainnoista tarvitaan lisäoletuksia, jotta saadaan r d esimerkki: havaitaan x(n) = A sin(ωn + φ) + v(n) missä v(n) on normaalijakautunutta valkoista kohinaa varianssilla σ 2 demo: wfilt.r 296
esimerkki: lineaarinen ennustaminen, d(n) = x(n + 1) WH-yhtälöissä esiintyy r dx joka on nyt r dx (k) = E(d(n)x (n k)) = E(x(n + 1)x (n k)) = r x (k + 1) 297
päästään eroon d(n):stä ja saadaan Wiener-Hopf yhtälöt r x (0) r x(1)... r x(p 1) r x (1) r x (0)... r x(p 2)... r x (p 1) r x (p 2)... r x (0) w(0) w(1). w(p 1) = r x (1) r x (2). r x (p) 298
virheen minimiarvoksi saadaan ε = r x (0) p 1 l=0 w(l)r x(l + 1) nämä vastaavat YW-yhtälöitä AR-mallille huom! kerrointen merkit ovat vaihtuneet koska AR-mallin ja Wiener-suotimen vastaavuus on a(k) w(k) 299
esimerkki: kohinaisen signaalin ennustaminen ( d(n ˆ + 1) = w(0)x(n) +... ) oletetaan d ja v korreloimattomiksi: r x (k) = E(x(n)x (n k)) = r d (k) + r v (k) r dx (k) = E(d(n + 1)x (n k)) = E(d(n + 1)d (n k)) = r d (k + 1) ainoa ero kohinattomaan tapaukseen on r v :n lisääminen r d :hen 300
matriisimuodossa saadaan Wiener-Hopf yhtälöt (R d + R v )w = r dx missä r dx = [r d (1), r d (2),..., r d (p)] T kuten kohinattomassa tapauksessa demo: wpred.r 301
esimerkki: kohinanpoisto havaitun kohinan avulla mitataan mikrofonilla puhesignaalia d(n) mikrofoniin saapuu kohinainen signaali x(n) = d(n) + m(n) tavoitteena estimoida d(n) 302
oletetaan, että kohinan aiheuttaa jokin kohinalähde s(n) joka voidaan havaita suoraan mikrofoniin saapuva kohina m(n) on muuttunut matkan varrella siis m(n) = s(n), mutta prosessit eivät ole korreloimattomia 303
ongelma voidaan ratkaista estimoimalla mikrofonin kohina m(n) jos tämä onnistuu hyvin, niin silloin mikrofonin mittaamasta signaalista x(n) = d(n) + m(n) voidaan yksinkertaisesti vähentää estimoitu m(n) mikrofonin kohinan estimoinnin tekee mahdolliseksi prosessin s(n) suora havaitseminen 304
nyt havaittu prosessi on s(n) ja haluttu prosessi m(n) yleiset WH-yhtälöt: R x w = r dx sijoittamalla s x, m d saadaan WH-yhtälöt R s w = r ms R s voidaan estimoida suoraan havainnoista 305
lasketaan ristikorrelaatio auki: r ms (k) = E(m(n)s (n k)) = = E(x(n)s (n k)) E(d(n)s (n k)) = r xs (k) (s ja d korreloimattomia) siis myös r ms = r xs voidaan estimoida havainnoista m(n) saadaan Wiener-suotimen w = R 1 s r xs avulla 306
kokeillaan käytännössä: d(n) = sin(nω 0 + φ) m(n) = a 1 (1)m(n 1) + a 1 (2)m(n 2) + g(n) s(n) = a 2 (1)s(n 1) + a 2 (2)s(n 2) + g(n) AR(2)-prosessit m(n) ja s(n) korreloivat, koska g(n) on sama kummallekin prosessille demo: noisec.r 307
Optimaalinen IIR-suodin kausaalinen FIR-suodin: h(n) = 0 kun n < 0 tai n > p 1 yleisesti LSI-suodin on ei-kausaalinen IIR-suodin tällöin impulssivaste voi poiketa nollasta kaikilla n:n arvoilla ratkaistaan ei-kausaalinen IIR Wiener-suodin 308
virhesignaali ja MSE ovat e(n) = d(n) ˆ d(n) = d(n) ε = E( e(n) 2 ) l= h(l)x(n l) WH-yhtälöt seuraavat ortogonaalisuusperiaatteesta 309
ortogonaalisuusehdot: E(e(n)x (n k)) = 0; < k < erona FIR-tapaukseen ääretön määrä yhtälöitä sijoittamalla virhesignaali ortogonaalisuusehtoon saadaan l= h(l)r x (k l) = r dx (k); < k < 310
ortogonaalisuusehto on konvoluutio h(k) r x (k) = r dx (k), < k < z-muuntamalla molemmat puolet saadaan H(z)P x (z) = P dx (z) = H(z) = P dx(z) P x (z) (IIR Wiener-suodin) 311
esimerkki: x(n) = d(n) + v(n), E(v(n)) = 0 ja v, d eivät korreloi silloin r x (k) = r d (k) + r v (k) joten P x (z) = P d (z) + P v (z) ristikorrelaatio on r dx (k) = r d (k) mistä saadaan P dx (z) = P d (z) 312
IIR Wiener-suodin on H(z) = P d (z) P d (z) + P v (z) tulkinta tehon muuttumisesta taajuudella ω: P d (exp(jω)) << P v (exp(jω)): H(exp(jω)) 0, ω suodattuu pois P d (exp(jω)) >> P v (exp(jω)): H(exp(jω)) 1, ω:n teho säilyy demo: iirw.r 313
Luento 9: 14.11.2006 Tehospektrin estimointi epäparametrisilla menetelmillä 314
WSS-prosessin x(n) autokorrelaatiot voidaan esittää taajuustasossa tehospektrinä kumpikin esitys sisältää saman informaation WSS-prosessista monissa sovelluksissa taajuusesitys on hyödyllisempi esim. sähkömoottorin vikadiagnoosi: jotkut viat näkyvät tiettyjen taajuuksien tehon lisääntymisenä 315
esimerkki: beamforming, direction of arrival havaitaan signaali tason pisteissä (0, 0), (1, 0), (2, 0),..., (m, 0) tunnetulla vakionopeudella ja -taajuudella kaukaa saapuva sinisignaali saapuu eri ajanhetkinä pisteisiin viive riippuu saapuvan signaalin suunnasta ja muuttaa sensorien havaitsemaa taajuutta estimoimalla taajuus voidaan ratkaista signaalin saapumissuunta 316
kerrataan WSS-prosessin x(n) tehospektrin määritelmä: P x (exp(jω)) = r x (k) exp( jωk) k= jos autokorrelaatioiden oikeat arvot tunnetaan, niin tehospektri määräytyy niistä täsmällisesti käytännössä tunnetaan vain havainnot x(0),..., x(n 1) tehospektrin arvo P x (exp(jω)) joudutaan estimoimaan havaintojen avulla 317
ilmeinen tapa estimoida P x on käyttää estimoituja autokorrelaation arvoja estimoidaan autokorrelaatiot autokorrelaatiomenetelmällä tehospektri saadaan Fourier-muuntamalla estimoidut arvot ˆr x (k) tätä estimaattia kutsutaan periodogrammiksi (muunnetaan kaikki havainnoista estimoitavissa olevat autokorrelaatiot) 318
Periodogrammi perustuu suoraan tehospektrin määritelmään epäparametrinen menetelmä: ei oleteta muuta kuin WSS ja ergodisuus menetelmällä on joitakin oleellisia heikkouksia näitä voidaan jonkin verran lieventää periodogrammin muunnelmilla demo: sunspots.r 319
estimoidaan autokorrelaatiot havainnoista x(0), x(1),..., x(n 1) autokorrelaatiomenetelmä antaa estimaatit ˆr x (k) = 1 N N 1 k n=0 x(n + k)x (n), k = 0, 1,..., N 1 estimaattien määrää rajoittaa havaintojen lukumäärä 320
koska autokorrelaatio on konjugaattisymmetrinen niin saadaan ˆr x ( k) = ˆr x(k), k = 1, 2,..., N 1 asettamalla loput autokorrelaatiot nolliksi saadaan ˆr x (k) = 1 N N 1 k n=0 x(n + k)x (n) k = 0, 1,..., N 1 ˆr x( k) k = 1, 2,..., N + 1 0 k N 321
jokainen arvo ˆr x (k), k N on nyt määrätty nollasta poikkeavia autokorrelaatioita on äärellinen määrä, joten voidaan käytännössä laskea estimoidun autokorrelaatiojonon Fourier-muunnos tuloksena saadaan periodogrammi ˆP x (exp(jω)) = N 1 k= N+1 ˆr x (k) exp( jωk), ω ( π, π] 322
periodogrammin voi laskea helposti FFT-algoritmin avulla merkitään havaintoja äärettömänä lukujonona x(n) 0 n < N x N (n) = 0 muulloin autokorrelaatiomenetelmä saadaan konvoluutiona (tarkista) ˆr x (k) = 1 N n= x N (n + k)x N (n) = 1 N x N(k) x N ( k) 323
Fourier-muunnetaan autokorrelaatiot ˆr x (k) = 1 N x N(k) x N ( k): ˆP x = 1 N X NX N = 1 N X N 2 missä X N = N 1 n=0 x(n) exp( jnω) (jonon x N Fourier-muunnos) periodogrammi FFT-algoritmin avulla: x(n) FFT X N (k) 1 N X N(k) 2 = ˆP x (exp(j2πk/n)) 324
esimerkki: valkoisen kohinan v(n) tehospektri tehospektrin määritelmä = P v on vakio: P v (exp(jω)) = r v (k) exp( jωk) = r v (0) exp( jω0) = σv 2 simuloidaan valkoista kohinaa ja lasketaan periodogrammi demo: whitenoise.r 325
periodogrammi toimi huonosti ainakin pienellä määrällä havaintoja kannattaako havaintojen lukumäärää lisätä kuten yleensä estimoinnissa? otetaan estimointikriteeriksi jälleen MSE = varianssi + harhan neliö tarvitaan periodogrammin odotusarvo ja varianssi 326
estimoidun autokorrelaation odotusarvo on E(ˆr x (k)) = N k N r x(k) = w B (k)r x (k) missä esiintyy Bartlett-ikkuna N k N w B (k) =, k N 0, k > N 327
koska periodogrammi on ˆr x (k):n Fourier-muunnos, niin konvoluutioteoreema antaa E( ˆP x (exp(jω))) = 1 2π P x(exp(jω)) W B (exp(jω)) W B (exp(jω)) = 1 ( ) sin(nω/2) 2 N sin(ω/2) periodogrammi ei ole harhaton, koska E( ˆP x ) = P x kun N < 328
W B (exp(jω)) 2πδ(ω) kun N (johto: Parsevalin kaavalla käyttäen suorakaideikkunaa sekä laskemalla π ɛ W B(exp(jω))dω:lle yläraja) δ(ω) toteuttaa x(ω) = x(ω) δ(ω) kaikille x(ω) silloin 1 2π P x 2πδ(ω) = P x δ(ω) = P x joten periodogrammi on asymptoottisesti harhaton demo: bartdft.r 329
esimerkki: kohinainen sinisignaalin x(n) = A sin(nω 0 + φ) + v(n), A = 5, ω 0 = 0.4π oikea autokorrelaatio on r x (k) = A2 2 cos(kω 0) + σ 2 δ(k) oikea tehospektri on P x = 1 2 πa2 (δ(ω ω 0 ) + δ(ω + ω 0 )) + σ 2 330
simuloidaan 50 realisaatiota (arvotaan vaihe uudelleen) ja lasketaan niistä periodogrammien keskiarvo kun N = 64 ja N = 1024 huomataan että suuremmalla näytemäärällä periodogrammi antaa paremman estimaatin demo: bartsin1.r 331
toistetaan kahdelle sinisignaalille x(n) = A 1 sin(nω 1 + φ 1 ) + A 2 sin(nω 2 + φ 2 ) + v(n) kun Bartlett-ikkuna on leveämpi kuin sinien taajuuksien erotus, niin periodogrammista ei erota kahta sinisignaalia Bartlett-ikkunan leveys ja siten periodogrammin resoluutio on verrannollinen lukuun 1/N demo: bartsin2.r 332
Periodogrammin varianssi nähtiin, että E( ˆP x ) P x kun N kasvaa rajatta mitä tapahtuu varianssille var( ˆP x ) kun N? voidaan osoittaa että normaalijakautuneen valkoisen kohinan (varianssi σ 2 ) periodogrammin varianssi on var[ ˆP v (exp(jω))] = σ 4 = Pv 2 (exp(jω)) normaalijakautuneelle prosessille x(n) pätee likimain var[ ˆP x ] P 2 x 333
periodogrammin varianssi ei siis pienene N:n kasvaessa! tämä on yllättävä ominaisuus, josta seuraa ongelmia periodogrammia voidaan parantaa varianssin pienentämiseksi, mutta samalla muut ominaisuudet huononevat demo: periovar.r 334
Parannetut epäparametriset menetelmät periodogrammi perustuu suoraan tehospektrin määritelmään menetelmää voidaan muuttaa autokorrelaatioiden estimoinnin osalta sekä havainnot voidaan jakaa lyhyempiin jonoihin saadaan muunnelmia, joiden varianssi pienenee havaintojen lukumäärän kasvaessa periodogrammista 335
koska muunnelmat perustuvat autokorrelaatioiden Fourier-muunnokseen, niin näiden menetelmien ominaisuuksia voidaan arvioida käyttäen periodogrammin ominaisuuksia hyväksi: varianssi ei riipu N:stä resoluutio on verrannollinen lukuun 1/N koska muunnetuissa menetelmissä Fourier-muunnetaan autokorrelaatioita, jotka on yleensä estimoitu vain osasta havaintoja niin N korvataan käytettyjen havaintojen lukumäärällä L < N 336
periodogrammissa resoluutio paranee kun N kasvaa varianssi ei pienene kun N kasvaa, mutta se ei myöskään kasva kun N pienenee jos havaintoja on tarpeeksi, niin voidaan laskea havainnoista monta periodogrammia kuten estimoinnissa yleensä, varianssia voidaan pienentää keskiarvoistamalla riippumattomia (tai korreloimattomia) havaintoja 337
Bartlett-menetelmä jaetaan N havaintoa K:hon jonoon, joissa on L = N/K havaintoa esim. N = 10, K = 2: x 1 (n) = x(n) x 2 (n) = x(n + 5), n = 0, 1,..., 4 jokaiselle jonolle lasketaan oma periodogrammi ˆP (i) x (exp(jω)) = 1 L L 1 n=0 338 x i (n) exp( jωn) 2
estimoidaan tehospektri keskiarvona osajonojen periodogrammeista: ˆP x (exp(jω)) = 1 K K i=1 ˆP x (i) (exp(jω)) tätä kutsutaan Bartlett-menetelmäksi 339
Bartlett-periodogrammin odotusarvo on 1 2π P x W B, missä W B on Bartlett-ikkuna L:lle havainnolle olettamalla että osajonot eivät korreloi saadaan var{ ˆP x (exp(jω))} = 1 K var{ ˆP x (i) (exp(jω))} 1 K P2 x (exp(jω)) likiarvo, koska x(n) ei ole valkoista kohinaa ja osajonot eivät käytännössä ole korreloimattomia demo: bwnoise.r, bwsin.r 340
Welchin menetelmä Bartlettin menetelmässä tehdään kompromissi resoluution (osajonon pituus) ja varianssin (osajonojen lukumäärä) välillä Welchin menetelmässä lisätään Bartlett-menetelmään kaksi heuristiikkaa: osajonot voivat olla päällekkäisiä osajonot ikkunoidaan mv. ikkunafunktiolla 341
N havaintoa jaetaan L:n pituisiksi osittain päällekkäisiksi osajonoiksi x i (0), x i (1),..., x i (L 1), i = 1,..., K K > N/L päällekkäisyydestä johtuen jokainen osajono ikkunoidaan funktiolla w(n), n = 0, 1,..., L 1 jonosta x i (n)w(n) lasketaan periodogrammi 342
tämä periodogrammi on ˆP x (i) = 1 L 1 LU w(k)x i (k) exp( jkω) k=0 jotta periodogrammin odotusarvo olisi oikein normalisoitu, tarvitaan termi U = 1 w(n) 2 = 1 W(exp(jω)) 2 dω L 2πL L 1 n=0 Welchin estimaatti on periodogrammien keskiarvo 2 ˆP W = 1 K 343 K i=1 P (i) x
sen odotusarvo on konvoluutio E( ˆP W (exp(jω))) = 1 2πLU P x(exp(jω)) W(exp(jω)) 2 Welchin menetelmä on asymptoottisesti harhaton L:n kasvaessa varianssi verrannollinen lukuun 1/K (K > N/L joten tässä mielessä varianssi pienenee enemmän kuin Bartlett-menetelmässä. Toisaalta osajonojen päällekkäisyys lisää varianssia) 344
Blackman-Tukeyn menetelmä periodogrammissa estimoidaan kaikki mahdolliset autokorrelaatiot kun k on suuri, niin ˆr x (k) estimoidaan pienestä määrästä termejä x(n + k)x (n) vähennetään näiden estimaattien vaikutusta tehospektrin estimointiin tämä voidaan tehdä autokorrelaation ikkunoinnilla 345
Blackman-Tukeyn menetelmässä valitaan konjugaattisymmetrinen ikkunafunktio w(k) autokorrelaatioille: ˆP BT (exp(jω)) = M k= M ˆr x (k)w(k) exp( jωk) BT:ssä siis Fourier-muunnetaan tuloa ˆr x (k)w(k) joten konvoluutioteoreema antaa ˆP BT (exp(jω)) = 1 2π ˆP x (exp(jω)) W(exp(jω)) 346
ˆP BT on ikkunalla W konvoloitu periodogrammi, ei siis oikea tehospektri periodogrammi tasoittuu konvoluutiossa, koska funktio W(exp(jω)) ei ole impulssi ikkunafunktiolta w(k) vaaditaan konjugaattisymmetrian lisäksi ominaisuutta W(exp(jω)) 0 kaikilla ω 347
jos N >> M niin voidaan likimain arvioida Blackman-Tukeyn menetelmän odotusarvoksi E( ˆP BT ) 1 2π P x(exp(jω)) W(exp(jω)) jos N on suuri ja myös M on riittävän suuri niin varianssi on likimain var( ˆP BT ) P 2 x 1 N M k= M w 2 (k) 348
Epäparametristen menetelmien vertailu tarkastellaan eri menetelmiä kahden kriteerin suhteen: V = var{ ˆP x (exp(jω))} E 2 { ˆP x (exp(jω))} ω = resoluutio V ei muutu jos ˆP x kerrotaan mielivaltaisella vakiolla merkitään M = V ω, joka on kompromissi varianssin ja resoluution välillä 349
Normalisoitu Resoluutio varianssi V ω M Periodogrammi ˆP x 1 1/N 1/N Bartlett ˆP B 1/K K/N 1/N Welch ˆP W 1/K 1/L 1/N Blackman-Tukey ˆP BT M/N 1/M 1/N 350
Luento 10: 21.11.2006 Parametriset tehospektrin estimointimenetelmät 351
periodogrammi ja muut Fourier-menetelmät: oletetaan prosessin olevan WSS ja ergodinen autokorrelaation suhteen periodogrammin resoluutio on luokkaa 1/N, kun on käytettävissä N havaintoa tällöin esim. kaksi sinisignaalia, joiden taajuuksien erotus on pienempi kuin 1/N eivät erotu periodogrammissa lisäksi periodogrammin varianssi on suuri 352
parametrisissa menetelmissä estimoitavien suureiden määrä ei kasva kun havaintojen lukumäärä N kasvaa mikäli oletetaan prosessille x(n) jokin parametrinen malli niin usein voidaan laskea tehospektri mallin parametrien funktiona erityisesti sinisignaalimallin avulla saadaan tehokkaita menetelmiä sinisignaalien taajuuksien estimointiin katsotaan aluksi kaksi parametrista menetelmää, joita ei johdeta prosessin mallista 353
Minimum variance-menetelmä halutaan laskea prosessin x(n) teho taajuudella ω i eli P x (exp(jω i )) suodatetaan x(n) kaistanpäästösuotimella g i (n) jonka päästökaista on ω i ± /2 vasteen y i (n) = x(n) g i (n) tehospektri on P yi = P x G i 2 354
suodatetun prosessin y i (n) kokonaisteho on likimain E( y i (n) 2 ) = 1 2π ωi + /2 ω i /2 P x (exp(jω i )) 2π P x (exp(jω))dω tämän avulla saadaan tehospektrin arvo ˆP x (exp(jω i )) = E( y i(n) 2 ) /2π 355
oletetaan, että g i (n) on p + 1 kertoiminen FIR-suodin minimum variance-menetelmä: valitaan g i (n) niin, että teho E( y i (n) 2 ) on mahdollisimman pieni ehdolla G i (exp(jω i )) = 1 tehospektrin MV-estimaatti on E( y i (n) 2 )/( /2π) lasketaan päästökaistan leveys niin, että tulokset ovat oikein valkoiselle kohinalle 356
merkitään g i = [g i (0), g i (1),..., g i (p)] T e i = [1, exp(jω i ), exp(j2ω i ),..., exp(jpω i )] T on ratkaistava optimointitehtävä min E( y i (n) 2 ) = gi H R x g i, gi H e i = 1 357
ratkaisu (johto kirjassa) on g i = min gi E( y i (n) 2 ) = R 1 x e i ei H R 1 x e i 1 ei H R 1 x e i alin kaava on tarvittava suodatetun signaalin teho 358
valkoiselle kohinalle saadaan ˆP x = E( y i(n) 2 ) /2π = 2π/ ei H R 1 = σ2 2π/ e i ei H e i x = σ2 2π/ p + 1 vaaditaan ˆP x = P x = σ 2 : silloin 2π/ = p + 1 käytetään tätä yleisessä Minimum Variance-ratkaisussa: ˆP MV (exp(jω i )) = E( y i(n) 2 ) /2π = p + 1 ei H R 1 x e i 359
Maximum entropy-menetelmä periodogrammissa estimoitiin autokorrelaatiot ˆr x (k), k < N loput autokorrelaatiot asetettiin nolliksi tuntemattomien suureiden asettaminen nollaksi ei ole välttämättä optimaalista toinen tapa: valitaan ˆr x (k), k N niin että saatu autokorrelaatiojono vastaa mahdollisimman satunnaista prosessia 360
mitataan satunnaisuutta entropian avulla (ei käsitellä tarkemmin tällä kurssilla) voidaan osoittaa, että normaalijakautuneelle WSS-prosessille x(n) entropian maksimoivat estimaatit ˆr x (k), k > p saadaan AR(p)-prosessin avulla YW-yhtälöt voidaan ratkaista kun tunnetaan arvot 361
r x (0),..., r x (p): r x (0) r x(1)... r x(p) r x (1) r x (0)... r x(p 1)...... r x (p) r x (p 1)... r x (0) 1 a p (1). a p (p) = b(0) 2 0. 0 autokorrelaatiot r x (p + 1), r x (p + 2),... saadaan YW-yhtälöistä ratkaistujen parametrien a p (k) avulla 362
prosessin x(n) tehospektrin estimaatti on ˆP mem (exp(jω)) = b(0) 2 1 + p k=1 a p(k) exp( jkω) 2 tämä on samalla AR(p)-prosessin tehospektri perustelu yleisempi kuin oletus AR-mallista mahdollisimman satunnaisen prosessin tehospektri kun osa autokorrelaatioista tunnetaan 363
ylläoleva tarkastelu perustui siihen, että oletetaan estimoidut autokorrelaation arvot oikeiksi kuten aiemmin, autokorrelaatiot on estimoitava havainnoista ja tämä voidaan tehdä mm. autokorrelaatio- ja kovarianssimenetelmillä yleisesti ottaen kovarianssimenetelmän avulla saadaan parempi resoluutio kuin autokorrelaatiomenetelmällä autokorrelaatiomenetelmän etuna on matriisin R x Toeplitz-rakenne, mitä voidaan käyttää hyväksi AR-prosessin parametrien ratkaisussa 364
esimerkki: estimoidaan AR(4)-prosessin tehospektri eri menetelmillä. Prosessin generoivan systeemin navat ovat pisteissä z 1,2 = 0.98 exp(±j(0.2π)) z 3,4 = 0.98 exp(±j(0.3π)) Näytteitä on N = 128 kappaletta. demo: mem.r 365
Taajuusestimointi tarkastellaan kompleksista sinisignaalimallia x(n) = p i=1 A i exp(jnω i ) + v(n), A i = A i exp(jφ i ) taajuudet ω i, amplitudit A i tuntemattomia vakioita vaiheet φ i korreloimattomia ja tasajakautuneita välille [ π, π) 366
prosessin x(n) tehospektri on P x = p 2π A i 2 δ(ω ω i ) + σ 2 i=1 tehospektrissä on siis impulssi δ sinisignaalin taajuuden ω i kohdalla muualla tehospektrin arvo on kohinan varianssi σ 2 367
taajuudet ω i voitaisiin estimoida esim. periodogrammista huippukohtien avulla periodogrammin huonon resoluution takia tämä ei ole välttämättä hyvä ratkaisu prosessin mallin avulla saadaan sinisignaalien tapauksessa huomattavasti parempia menetelmiä 368
yksi sinisignaali kohinassa: x(n) = A 1 exp(jnω 1 ) + v(n) = s(n) + v(n), var(v(n)) = σ 2 v tarkastellaan M:ää peräkkäistä arvoa prosesseista hetkellä n peräkkäiset havainnot sinistä s(n) muodostavat vektorin s(n) = A 1 [e jnω 1, e j(n 1)ω 1,..., e j(n M+1)ω 1 ] T 369
hetkellä n + 1 saadaan s(n + 1) = A 1 [e j(n+1)ω 1, e jnω 1,..., e j(n M+2)ω 1 ] T = exp(jω 1 )s(n) vektorit s(n) ja s(n + 1) ovat samansuuntaisia vektorin suunta riippuu taajuudesta ω 1 370
jatkossa tarvitaan signaalivektoria e i = [ ] T 1, e jω i, e j2ω i,..., e j(m 1)ω i joka voidaan ajatella sinisignaaliksi taajuudella ω i ja kompleksisella amplitudilla A = 1 yhden sinin tapauksessa tämä vektori määrää aliavaruuden, jossa prosessin kohinaton osa sijaitsee (aikaindeksi toisinpäin kuin esimerkissä edellä) 371
prosessin x(n) autokorrelaatio on r x (k) = P 1 exp(jkω 1 ) + σ 2 v δ(k) = r s (k) + r n (k), P 1 = A 1 2 autokorrelaatiomatriisi R x voidaan esittää summana R x = R s + R n ts kohinaisen sinisignaalin autokorrelaatio voidaan jakaa signaalin ja kohinan autokorrelaatioihin 372
käyttämällä signaalivektoria voidaan kirjoittaa R s = A 1 2 e 1 e H 1 tämä on helppo tarkistaa laskemalla auki alkio R s [k, l] = A 1 2 [e 1 ] k [e 1 ] l = A 1 2 exp(j(k l)ω 1 ) = r s (k l) 373
matriisin R s ominaisuuksia (yksi sini): 1. matriisilla R s on yksi nollasta poikkeava ominaisarvo λ1 s = MP 1 2. vastaava ominaisvektori v 1 on e 1 3. ominaisvektorit v 2,..., v M ovat ortogonaalisia e 1 :n kanssa 4. vastaavat ominaisarvot λ s 2,..., λs M ovat nollia 374
R x :llä on samat ominaisvektorit kuin R s :llä: R x v i = (R s + σ 2 v I)v i = (λ s i + σ2 v )v i samalla saatiin ominaisarvot λ i = λ s i + σ2 v siis suurin ominaisarvo on λ max = MP 1 + σ 2 v ja kaikki muut ominaisarvot ovat σ 2 v 375
ominaisarvot ja -vektorit sisältävät tarvittavan tiedon tehon P 1, varianssin σ 2 v, ja taajuuden ω 1 estimoimiseksi: 1. laske matriisin R x ominaisarvot ja -vektorit. Suurin ominaisarvo on MP 1 + σ 2 v ja loput ovat σ 2 v 2. kohinan varianssi on σ 2 v = λ min ja sinisignaalin teho on P 1 = 1 M (λ max λ min ) 3. sinisignaalin taajuus ω 1 voidaan ratkaista suurinta ominaisarvoa vastaavasta ominaisvektorista v max, joka on v max [1, exp(jω 1 ),..., exp(j(m 1)ω 1 )] T 376
kaksi sinisignaalia: x(n) = A 1 exp(jnω 1 ) + A 2 exp(jnω 2 ) + v(n) autokorrelaatiofunktio on r x (k) = P 1 exp(jkω 1 ) + P 2 exp(jkω 2 ) + σvδ(k) 2 autokorrelaatiomatriisi voidaan kirjoittaa summana R x = P 1 e 1 e1 H + P 2e 2 e2 H + σ2 v I 377
kokoamalla vektorit e i ja tehot P i matriiseihin E = [e 1, e 2 ], P = P 1 0 0 P 2 voidaan kirjoittaa R x = EPE H + σv 2 I = R s + R n missä R s = EPE H 378
matriisilla R x on M ominaisarvoa λ 1 λ 2 λ 3 λ M 0 koska matriisilla R s on vain kaksi nollasta poikkeavaa ominaisarvoa niin λ 1 ja λ 2 ovat suurempia kuin σ 2 v muut ominaisarvot ovat λ 3 = = λ M = σ 2 v 379
kahta suurinta ominaisarvoa vastaavat signaaliominaisvektorit v 1 ja v 2 virittävät signaalialiavaruuden kohinaominaisvektorit v 3,..., v M virittävät M 2 ulotteisen kohina-aliavaruuden avaruudet ovat ortogonaalisia koska R x on hermiittinen matriisi eli sen ominaisvektorit muodostavat ortonormaalin joukon 380
onko v 1 samansuuntainen kuin e 1, kuten yhden sinin tapauksessa? yleensä ei: kuitenkin e 1 ja e 2 kuuluvat v 1 :n ja v 2 :n virittämään signaalialiavaruuteen tästä seuraa, että e 1 ja e 2 ovat ortogonaalisia ominaisvektoreiden v 3,..., v M kanssa 381
tarkistetaan, että e 1 ja e 2 kuuluvat signaalialiavaruuteen koska signaalialiavaruuden virittävät ortogonaaliset vektorit v 1 ja v 2, niin aliavaruuden dimensio on 2 koska R s v i = λ i v i niin v i = 1 P 1 e 1 (e1 H λ v i) + 1 P 2 e 2 (e2 H i λ v i) i = c 1 e 1 + c 2 e 2, i = 1, 2 niin molemmat vektorit v 1, v 2 voidaan esittää lineaarikombinaationa vektoreista e 1, e 2 382
silloin vektorit v 1, v 2 kuuluvat signaalivektorien virittämään aliavaruuteen mutta tämän aliavaruuden dimensio on myös 2 joten sen täytyy olla sama aliavaruus jonka vektorit v 1, v 2 virittävät tästä seuraa myös että e 1, e 2 ovat ortogonaalisia kohina-ominaisvektoreiden kanssa 383
yleinen tapaus, p sinisignaalia: x(n) = p i=1 A i exp(jnω i ) + v(n) r x (k) = p i=1 R x = R s + R n = R x = EPE H + σ 2 v I P i exp(jkω i ) + σ 2 vδ(k) p i=1 P i e i e H i + σ 2 v I 384
muutettaessa sinien lukumäärä 2 p ei tapahdu mitään yllättävää: R x :n ominaisvektorit v 1,..., v p virittävät signaalialiavaruuden joka sisältää kaikki signaalivektorit e 1,..., e p ominaisarvot λ 1,..., λ p > σv 2 loput ominaisarvot λ p+1 = λ p+2 = = λ M = σv 2 signaalivektorit e 1,..., e p ovat ortogonaalisia ominaisvektoreiden v p+1, v p+2,..., v M virittämän kohina-aliavaruuden kanssa 385
Pisarenkon menetelmä oletetaan, että tunnetaan sinisignaalien lukumäärä p (voidaan myös estimoida havainnoista) estimoidaan R x kokoa p + 1 p + 1 kohina-aliavaruus on silloin yhden vektorin v p+1 virittämä kaikki signaalivektorit ovat ortogonaalisia vektorin v p+1 kanssa 386
tästä saadaan Pisarenkon menetelmä. Lasketaan pseudospektri ˆP PHD (exp(jω)) = 1 e H v p+1 2 missä e = [1, exp(jω),..., exp(jpω)] T termi e H v p+1 2 mittaa signaalivektorin e projektiota kohina-aliavaruuteen 387
kun ω = ω i jollain i {1,..., p} niin projektio on nolla muulloin projektio on itseisarvoltaan positiivinen pseudospektriin ilmestyy piikkejä oikeiden taajuuksien kohdalle, koska projektioista lasketaan käänteisluku pseudospektri siis ilmaisee sinisigaalien taajuudet, mutta ei ole varsinainen tehospektrin estimaatti 388
MUSIC-menetelmä Pisarenko: yksi kohinaominaisvektori MUSIC (multiple sinusoid classification): useita kohinaominaisvektoreita korrelaatiomatriisi on kokoa M M, missä M > p silloin on M p kohinaominaisvektoria v p+1,..., v M jotka ovat kaikki ortogonaalisia signaalivektoreiden e 1,..., e p kanssa 389
saadaan MUSIC-estimaattori ˆP MU (exp(jω)) = 1 M i=p+1 eh v i 2 nyt nimittäjässä mitataan signaalivektorin projektio M p ulotteiseen kohina-aliavaruuten jälleen oikeilla taajuuksilla projektio on teoriassa nolla 390
Amplitudien ja vaiheiden estimointi Pisarenko ja MUSIC antavat pseudospektrin, josta voidaan estimoida sinisignaalien taajuudet signaalimalli on x(n) = p i=1 A i exp(jnω i ) + v(n) missä nyt oletetaan taajuudet tunnetuiksi 391
saadaan yhtälöryhmä x(n) x(n 1). = e jnω 1... e jnω p e j(n 1)ω 1... e j(n 1)ω p... A 1 A 2. A p + v(n) v(n 1). eli x = EA + v minimoidaan x EA 2 = v 2, mikä vastaa ylimäärätyn lineaarisen yhtälöryhmän ratkaisua A = (E H E) 1 E H x 392
koska taajuudet on ratkaistu niin matriisi E tunnetaan tuloksena on vektori, jonka komponentit ovat A i = A i exp(jφ i ) ts. amplitudi on A i :n moduli ja vaihe on A i :n vaihe demo: music.r 393
Luento 11: 28.11.2006 Adaptiivinen suodatus 394
tähän asti käsitellyt menetelmät edellyttävät että prosessi on stationäärinen (WSS) ja ergodinen estimointi voidaan silloin suorittaa aikakeskiarvojen avulla käyttäen kaikkia havaintoja x(0), x(1),..., x(n 1) monissa sovelluksissa ei stationäärisyyttä aina voida olettaa 395
esimerkkejä: puhesignaali: esim. vokaalin taajuus ja/tai voimakkuus voi muuttua vokaalin lausumisen aikana sähkömoottorista mitattavan signaalin taajuus muuttuu, mikäli moottorin pyörimistaajuus muuttuu 396
oletus prosessi on epästationäärinen on sellaisenaan aivan liian heikko tarvitaan tarkempia oletuksia, jotka ovat yleensä sovelluskohtaisia melkein WSS : tilastolliset ominaisuudet muuttuvat hitaasti ajan funktiona helppo ratkaisu: tarkastellaan prosessia paloittain ja oletetaan palat WSS-prosesseiksi 397
vaikka paloittain estimointi onnistuisi niin estimoidut arvot muuttuvat hyppäyksinä monissa sovelluksissa tämä voi olla ei-toivottu ominaisuus jos kuitenkin mielenkiinnon kohteena olevat parametrit eivät muutu ajan funktiona, niin tällöin prosessin paloittelu saattaa riittää 398
esimerkki: x(n) = a(1, n)x(n 1) a(2)x(n 2) + v(n) a(1, n) muuttuu ajan funktiona, mutta a(2) on vakio aiemmat menetelmät eivät toimi, koska a(1) ei pysy vakiona paloittain mallinnus antaa useita estimaatteja a(2):lle, joista voidaan laskea keskiarvo demo: nonwss.r 399
yleensä ollaan kiinnostuneita kaikista parametreistä lisäksi usein halutaan seurata hitaita muutoksia tasaisesti joten paloittelu ei ole tyydyttävä ratkaisu tarkastellaan siis miten voidaan käsitellä prosesseja jotka oletetaan epästationäärisiksi, mutta muutokset ovat hitaita 400
stationäärinen Wiener-suodin ˆ d(n) = p w(k)x(n k) k=0 ratkaistiin Wiener-Hopf yhtälöistä R x w = r dx x(n) ja d(n) oletettiin olevan yhdessä WSS 401
WSS-oletuksesta seuraa, että muuttujien d(n), x(n), x(n 1),..., x(n p) korrelaatiot eivät riipu hetkestä n: silloin ratkaisu ei riipu hetkestä n luovutaan WSS-oletuksesta: silloin ratkaisu voi muuttua kun n muuttuu teoriassa voidaan kuitenkin ratkaista Wiener-suodin jokaisella hetkellä n 402
merkitään riippuvuus n:n arvosta eksplisiittisesti: missä ˆ d(n) = w T n x n w n = [w n (0), w n (1),..., w n (p)] T x n = [x(n), x(n 1),..., x(n p)] T WH-ratkaisu w n = R 1 x r dx on sama kuin aiemmin, mutta se on määritelty erikseen joka hetkellä n ratkaisua ei voida käytännössä laskea, koska aikakeskiarvoja ei voida käyttää 403
yritetään ratkaista Wiener-suodin w n adaptiivisesti: w n+1 = w n + w n, missä w n on ratkaisu hetkellä n vaaditaan, että kun prosessi on WSS, niin tulee olla voimassa lim w n = R 1 n x r dx w n määräytyy ainoastaan havainnoista pystytään seuraamaan epästationäärisyyden aiheuttamia muutoksia 404
minimoidaan virhettä s(n) = E( e(n) 2 ), e(n) = d(n) ˆ d(n) kuten WSS-tapauksessa, saadaan WH-yhtälöt R x (n)w n = r dx (n) missä kaikki suureet riippuvat ajanhetkestä n autokorrelaatiomatriisin R x (n) alkiot ovat R x (n) ij = E[x(n j + 1)x (n i + 1)] 405
Gradienttimenetelmä ratkaistaan korjaustermi w n virheen gradientin avulla oletetaan, että w n on ratkaisu hetkellä n lasketaan w n+1 lisäämällä w n :ään termi, joka pienentää virhettä s(n) = E( e(n) 2 ) virheen gradientti [ s(n) = w n (0) s(n), ] T w n (1) s(n),..., w n (p) s(n) osoittaa sen suunnan mihin liikuttaessa virhe kasvaa nopeimmin 406
siirretään vektoria w n poispäin gradientin osoittamasta suunnasta eli siihen suuntaan, missä virhe pienenee nopeimmin: w n+1 = w n µ s(n) positiivinen askelpituus µ määrää kuinka paljon siirrytään negatiivisen gradientin suunnassa 407
yhteenvetona saadaan gradienttimenetelmä: 1. valitse alkuarvo w 0 ja askelpituus µ > 0 2. laske gradientti s(n) vektorin w n avulla 3. laske seuraava vektori: w n+1 = w n µ s(n) 4. kasvata n:ää yhdellä ja palaa kohtaan 2 408
gradientti voidaan laskea derivoimalla w:n kompleksikonjugaatin suhteen: s(n) = E( d(n) wn T x n 2 ) = E( d(n) wn T x n 2 ) = E(e(n) (d(n) wn T x n ) ) = E(e(n)xn) sijoittamalla saadaan päivityssääntö w n+1 = w n + µ E(e(n)x n) 409
Gradienttimenetelmän tasapainopiste olettamalla WSS saadaan s(n) = E(e(n)x n) = r dx R x w n ja w n+1 = w n + µ(r dx R x w n ) jos w n = R 1 x r dx eli WH-ratkaisu niin silloin w n+1 = w n siis ratkaisussa pysytään jos sinne ensin päästään 410
Gradienttimenetelmän konvergenssi tietyin ehdoin em. algoritmi todella pääsee Wiener-Hopf ratkaisuun: mikäli askelpituus toteuttaa yhtälön 0 < µ < 2 λ max missä λ max on autokorrelaatiomatriisin R x suurin ominaisarvo, niin lim w n = R 1 n x r dx 411
siis riittävän pienellä askelpituudella µ päädytään Wiener-Hopf ratkaisuun tulos pätee vain, kun x(n) ja d(n) ovat yhdessä WSS epästationäärisen prosessin tapauksessa suppenemista ei voida osoittaa 412
gradienttimenetelmän merkitys on siinä, että voidaan osoittaa suppeneminen korjaustermiä w n = µ E(e(n)xn) ei kuitenkaan voida laskea havainnoista epästationäärisessä tapauksessa aiemmin vaadittiin, että adaptiivisen suotimen korjaustermi on voitava laskea havainnoista korvataan odotusarvo sen estimaatilla, joka on muodostettu aikakeskiarvona jo havaituista suureista 413
valitsemalla L havaintoa saadaan estimoitua E(e(n)x n) = 1 L L 1 l=0 e(n l)x n l sijoittamalla gradienttimenetelmään saadaan w n+1 = w n + µ L L 1 l=0 e(n l)x n l 414
LMS-algoritmi kun L = 1 niin saadaan LMS-algoritmi w n+1 = w n + µe(n)x n yksi komponentti kerrallaan saadaan w n+1 (k) = w n (k) + µe(n)x (n k) mistä nähdään LMS-algoritmin yksinkertaisuus. Yksi iteraatio vaatii ainoastaan p + 1 kertolaskua ja p + 1 yhteenlaskua. 415
ero gradienttimenetelmään: s(n) = E(e(n)x n) ˆ s(n) = e(n)x n (Gradienttimenetelmä) (LMS) LMS ei siis etene aina oikeaan suuntaan: toisaalta E( ˆ s(n)) = E(e(n)xn) = s(n) joten keskimäärin LMS etenee negatiivisen gradientin suunnassa 416
tarkastellaan LMS-algoritmin etenemistä eri kertoimilla µ valitaan alkuarvoiksi parametreille nollat oikea ratkaisu on w(1) = 1.5 ja w(2) = 0.6 verrataan askelpituuksia µ 1 = 0.002 ja µ 2 = 0.01 demot: lms1.r ja lms2.r 417
demoista päätellen LMS-algoritmi suppenee kohti oikeita arvoja suppenemisnopeus näyttää riippuvan askelpituudesta konvergenssin jälkeen eri askelpituuksilla LMS-algoritmi heiluu enemmän tai vähemmän oikean arvon ympärillä 418
LMS-algoritmissa w n on satunnaisvektori (riippuu e(n):stä ja prosessista x(n)) oletetaan että x(n) ja d(n) ovat yhdessä WSS halutaan tietää millä ehdoilla LMS-algoritmi konvergoi keskimäärin kohti Wiener-Hopf ratkaisua eli milloin w = R 1 x r dx lim E(w n) = w n 419
otetaan odotusarvo päivityssäännöstä: E(w n+1 ) = E(w n + µe(n)xn) ) = E(w n ) + µ E (d(n)xn) µ E (xnx n T w n ) = E(w n ) + µr dx µ E (xnx n T w n oletetaan, että w n ja x n ovat riippumattomia jolloin E ( xnx n T ) w n = Rx E(w n ) 420
silloin saadaan E(w n+1 ) = E(w n ) + µ(r dx R x E(w n )) tämä on nyt gradienttimenetelmä vektorille E(w n ) silloin saadaan LMS-algoritmin konvergenssitulos: yhdessä WSS ja riippumattomuusoletusten ollessa voimassa LMS-algoritmi suppenee odotusarvon suhteen mikäli 0 < µ < 2/λ max odotusarvon suhteen suppeneminen tarkoittaa, että E(w n ) suppenee kohti oikeaa arvoa w 421
konvergenssitulos on hankala, koska pitäisi laskea matriisin R x suurin ominaisarvo λ max korvataan λ max suuremmalla arvolla sillä tällöin µ on varmasti vaaditulla välillä matriisin jälki tr(r x ) = i λ i λ max on helppo laskea koska se on diagonaalialkioiden summa korvataan λ max R x :n jäljellä 422
WSS-prosessille x(n) matriisi R x on Toeplitz ja sen jälki on silloin (p + 1)r x (0) = (p + 1) E( x(n) 2 ) saadaan 0 < µ < 2 (p + 1) E( x(n) 2 ) varianssi E( x(n) 2 ) on huomattavasti yksinkertaisempi statistiikka estimoida kuin λ max 423
LMS-algoritmin varianssista virhesignaalilla on jokin varianssi vaikka tilanne olisi stationäärinen ja ratkaisu optimaalinen merkitään tätä varianssia s min koska LMS-algoritmi muuttaa jatkuvasti ratkaisua w n niin tästä aiheutuu lisää varianssia merkitään kokonaisvarianssia E( e(n) 2 ) = s min + s ex (n) 424
hetkellä n < LMS-algoritmi ei ole välttämättä supennut oikeaan ratkaisuun oletetaan, että LMS-algoritmi suppenee ja merkitään suppenemisen jälkeistä ylimääräistä varianssia s ex ( ) tämä aiheutuu pelkästään oikean ratkaisun ympärillä tapahtuvasta vaihtelusta merkitään autokorrelaatiomatriisin ominaisarvoja λ 0, λ 1,..., λ p 425
oletetaan prosessi WSS-prosessiksi ja merkitään x = µ p k=0 λ k 2 µλ k silloin s min + s ex ( ) = s min 1 1 x kun x < 1 ja 0 < µ < 2/λ max kun µ << 2/λ max niin x 1 2 µ tr R x 426
voidaanko ylimääräisestä varianssista päästä eroon muuttamalla µ:ta? jos µ << 2/ tr(r x ) niin s ex ( ) 1 2 µs min tr(r x ) toisin sanoen ylimääräinen varianssi on tässä tapauksessa suoraan verrannollinen askelpituuteen µ 427
joudutaan tekemään kompromissi konvergenssinopeuden ja ylimääräisen varianssin suhteen pieni µ: hidas konvergenssi, vähän ylimääräistä varianssia suuri µ: nopea konvergenssi, paljon ylimääräistä varianssia 428
Muunnelmia LMS-algoritmista normalisoitu LMS-algoritmi: (estimoidaan E( x(n) 2 ) = 1 p+1 x 2 (n k)) w n+1 = w n + β x n x n 2 e(n) suppeneminen: sopivin oletuksin kun 0 < β < 2 demo: lmsnorm.r 429
leaky LMS: (lisätään valkoista kohinaa varianssilla γ << 1) w n+1 = (1 µγ)w n + µe(n)x n menetelmän odotusarvo on E(w n+1 ) = [I µ(r x + γi)] E(w n ) + µr dx vältytään stabiilisuusongelmilta, joita R x :n nollaominaisarvot voivat aiheuttaa suppeneminen: 0 < µ < 2 λ max +γ 430
esimerkki (Nascimento, Sayed: IEEE Tr SP, Vol 47, No 12, 1999): d(n) = w 1 x(n) + w 2 x(n 1) + v(n), v(n) = 10 2, w 1 = w 2 = 0, x(n) = (n + 1) 1/2 x(n) tunnetaan, halutaan estimoida ˆ d(n) = w 1 x(n) + w 2 x(n 1) kokeillaan µ = 0.1, γ = 0 (LMS) ja µ = 0.1, γ = 0.2 demo: lmsleaky2.r 431
reaaliarvoisilla signaaleilla LMS-algoritmissa esiintyvästä kertolaskusta e(n)x n päästään eroon sign-algoritmilla, jossa virhesignaalista otetaan vain etumerkki huomioon: w n+1 = w n + µx n sgn(e(n)) missä sgn(e(n)) on luvun e(n) etumerkki (±1) 432
etumerkki voidaan myös sijoittaa x n :n ympärille, jolloin saadaan algoritmit w n+1 = w n + µ sgn(x n )e(n) ja w n+1 = w n + µ sgn(e(n)) sgn(x n ) nämä algoritmit ovat yleisesti konvergenssiominaisuuksiltaan huonompia kuin LMS demo: lmssign.r 433
Luento 12: 5.12.2006 Varianssin ennustaminen Unit-root prosessit 434
Varianssin ennustaminen palataan WSS-prosesseihin: 1. odotusarvo on ajasta riippumaton vakio m x = E(x(n)) 2. autokorrelaatiot ovat ajasta riippumattomia, eli voidaan kirjoittaa muodossa r x (k) 3. varianssi on äärellinen: c x (0) < 435
WSS-oletukset koskevat odotusarvoja E(x(n)) ja E(x(n)x (n k)) mallintamisen tärkeä sovellus on tulevien arvojen ennustaminen havaittujen arvojen avulla silloin tarvitaan ehdollisia tunnuslukuja kuten E(x(n) x(n 1), x(n 2),... ) ehdollisuus tarkoittaa, että lasketaan odotusarvo olettaen että pystyviivan oikealla puolella olevien muuttujien arvot tunnetaan 436
aiemmin huomattiin, että ARMA-prosessin ehdollinen odotusarvo riippuu havaituista arvoista tätä voitiin käyttää tulevien arvojen ennustamiseen mutta normaalijakautuneen ARMA-prosessin ehdollinen varianssi on vakio, eli varianssin ennuste on aina sama riippumatta havaituista arvoista 437
AR(1): x(n) = ax(n 1) + b(0)v(n), v(n) N(0, 1) ehdolliset tunnusluvut: E(x(n) x(n 1)) = ax(n 1) var(x(n) x(n 1)) = b 2 (0) E(x(n)) = 0 var(x(n)) = b 2 (0)/(1 a 2 ) huomataan erityisesti, että ehdollinen varianssi ei riipu havainnoista! 438
ehdollinen varianssi on siis vakio: onko tämä WSS-prosessien ominaisuus, vai ainoastaan normaalijakautuneen ARMA-prosessin ominaisuus? esimerkki: määritellään prosessi N(0, 1), kun x(n 1) 0 x(n) N(0, 2), kun x(n 1) < 0 439
ominaisuudet (laskaritehtävä): E(x(n)) = 0 E(x(n) x(n 1)) = 0 var(x(n)) = 1.5 var(x(n) x(n 1)) = 0.5 ( sgn(x(n 1)) + 3) x(n) on WSS-prosessi 440
on siis mahdollista että WSS-prosessissa ehdollinen varianssi riippuu havainnoista onko tämä ristiriidassa Woldin hajotelman kanssa, joka väittää säännöllisten WSS-prosessien olevan ARMA-prosesseja? ei ole: Woldin hajotelmassa valkoinen kohina on korreloimatonta mutta ei välttämättä riippumatonta edellisen esimerkin prosessi on valkoista kohinaa, mutta sen varianssia voidaan ennustaa 441
aiemmin lasketut ARMA-prosessin ehdolliset odotusarvot ja varianssit pitävät paikkansa, koska kohina oletettiin normaalijakautuneeksi prosessiksi em. esimerkki ei määrittele normaalijakautunutta kohinaprosessia vaikka jokainen x(n) on normaalijakautunut yhteisjakauma p(x(n), x(n 1)) ei ole normaalijakauma, koska havaintojen x(n) ja x(n 1) korreloimattomuudesta seuraisi niiden riippumattomuus 442
ARCH-malli ARCH-mallissa ehdollinen varianssi saadaan havainnoista riippuvaksi varianssi mallinnetaan aiempien arvojen avulla parametrisesti ARCH-prosessi saadaan kertomalla valkoinen kohina v(n) ajasta riippuvalla keskihajonnalla [h(n)] 1/2 varianssi h(n) määritellään havaintojen x(n 1), x(n 2),... funktiona 443
ARCH(1)-malli on x(n) = v(n)[h(n)] 1/2 h(n) = a(0) + a(1)x 2 (n 1), a(0) > 0, a(1) 0 kohinan v(n) arvot ovat riippumattomia samoin jakautuneita muuttujia odotusarvolla nolla ja varianssilla 1 lasketaan ehdollinen odotusarvo ja varianssi: E(x(n) x(n 1)) = 0 var(x(n) x(n 1)) = h(n) 444
ehdollinen varianssi on siis suoraan h(n) mikä ei ole havainnoista riippumaton suure koska h(n) = a(0) + a(1)x 2 (n 1), niin suuri arvo x 2 (n 1) aiheuttaa suuren varianssin hetkellä n ja päinvastoin finanssisovelluksissa puhutaan tällöin volatiliteetin klusteroitumisesta (prosessi saa joidenkin ajanhetkien ympäristössä suuria arvoja ja muualla pienempiä arvoja) 445
katsotaan miten ARCH-prosessi käyttäytyy simuloidaan em. prosessia x(n) positiivisilla kertoimilla a(0) = 0.03, a(1) = 1.0 demo: archex.r, asteluku q = 1 demo: archexp.r, asteluku q = 10, a(0) = 0.01, a(1) = = a(10) = 0.1 446
yleisemmin voidaan määritellä ARCH(q)-prosessi x(n) = v(n)[h(n)] 1/2 h(n) = a(0) + q k=1 a(k)x 2 (n k) a(0) > 0, a(1) 0,..., a(q) 0 kohina v(n) määritellään kuten edellä ARCH(1)-mallissa kohinaoletus tarkoittaa, että ehdolliset statistiikat määräytyvät vain h(n):n avulla 447
tulkinta: jos tiedetään aiemmat havainnot, niin havainto x(n) riippuu ainoastaan niiden avulla lasketusta arvosta h(n) (ja luonnollisesti kohinan arvosta v(n)) prosessi h(n) on varianssiprosessi, koska se määrää ARCH(q)-prosessin ehdollisen varianssin hetkellä n jos tunnetaan parametrit a(k), niin varianssi h(n) voidaan laskea havainnoista hetkellä n 1 ARCH-malli siis mahdollistaa varianssin ennustamisen 448
ARCH-malli voidaan yleistää usein eri tavoin varianssifunktio h(n) voi riippua havainnoista myös muilla tavoin kuin edellä esitettiin malliin voidaan lisätä odotusarvon ehdollinen mallintaminen (nyt odotusarvo on nolla) keskitytään tässä vain perusmalliin sekä GARCH-malliin joka määritellään myöhemmin 449
johdetaan menetelmä parametrien a(k) estimoimiseksi oletetaan kohina v(n) normaalijakautuneeksi silloin x(n) on normaalijakautunut ehdolla h(n) mutta prosessi x(n) ei silti ole normaalijakautunut (laskaritehtävä) ratkaistaan ARCH-malli suurimman uskottavuuden menetelmällä 450
maksimoidaan uskottavuusfunktio L(a(0),..., a(q)) = p(x(1),..., x(n) a(0), a(1),..., a(q)) eli todennäköisyys havainnoille kun parametrit tunnetaan havaintojen yhteisjakauma ei ole normaalijakauma (laskaritehtävä) se voidaan kuitenkin laskea normaalijakaumien avulla, koska jokainen x(n) on ehdollisesti normaalijakautunut 451
aloitetaan hetkestä n = 1: x(1) N(0, h(1) = a(0)) lasketaan yhteisjakauma p(x(2), x(1)) = p(x(2) x(1))p(x(1)) = N(x(2) 0, h(2))n(x(1) 0, h(1)) tulos johtuu siitä, että x(2) on normaalijakautunut kun h(2) tunnetaan mutta h(2) määräytyy aiemmasta havainnosta x(1), joten p(x(2) x(1)) on normaalijakauma 452
varianssi h(2) määräytyy parametreistä sekä havainnosta x(1) jakauma p(x(1), x(2), x(3)) on p(x(3) x(2), x(1))p(x(2), x(1)) ensimmäinen jakauma on N(x(3) 0, h(3)) ja jälkimmäinen tuli jo laskettua näin jatkamalla saadaan p(x(1),..., x(n)) normaalijakaumien tulona 453
saadaan uskottavuusfunktio ja logaritminen uskottavuusfunktio (vakiot unohtaen): L = N n=1 N(0, h(n)) l = log L = n l(n) = N 1 2 log h(n) 1 2 x2 (n)/h(n) n=1 uskottavuusfunktion maksimikohdasta voidaan ratkaista parametrit a(k) 454
derivaatta l (n) = 1 2 h h ( x(n)2 h 1) merkitsemällä z(n) = 1 h(n) [1, x2 (n 1),..., x 2 (n q)] T saadaan gradientti a = [a(0), a(1),..., a(q)] T a l(n) = z(n) 2 ( x2 (n) h(n) 1) 455
määritellään matriisi ja vektori Z = [z(1),..., z(n)] f = [ x2 (1) h(1) h(1),..., x2 (N) h(n) h(n) silloin koko uskottavuusfunktion gradientti on ] T l = n l (n) = 1 2 Z f 456
laskemalla toiset derivaatat saadaan Hessin matriisi, jonka alkiot ovat derivaattoja 2 l(n) a(k) a(m) saadaan Hessin matriisi koko uskottavuusfunktiolle muodossa l = 1 2 N (z(n)z T (n)) = 1 2 ZZT n=1 457
gradientin ja Hessin matriisin avulla voidaan käyttää iteratiivista Newtonin menetelmää a i+1 = a i l l ARCH-mallin tapauksessa l = 1 2 ZZT ja l = 1 2 Z f 458
silloin Newtonin iteraatio ARCH(q)-mallin ratkaisemiseksi on a i+1 = a i + (ZZ T ) 1 Z f tässä sekä Z että f riippuvat varianssiprosessista h(n) varianssiprosessi vuorostaan riippuu iteraation aikana muuttuvista parametreistä a i (k) siksi matriisi Z ja vektori f joudutaan laskemaan uudestaan joka iteraatiolla demo: archsolve.r 459
yleisempi GARCH(p, q)-malli saadaan kun varianssiprosessi on h(n) = a(0) + q k=1 a(k)x 2 (n k) + p b(l)h(n l) l=1 tilanne on analoginen ARMA(p, q)-mallien kanssa: varianssia ennustetaan lineaarisesti havaintojen varianssista x 2 (n k) aiemmista variansseista h(n l) GARCH-malli voidaan ratkaista iteroimalla vastaavasti kuin ARCH-malli 460
Unit-root prosessit tähän asti on tarkasteltu WSS-prosesseja sekä hitaasti muuttuvia prosesseja (adaptiivinen suodatus) monissa sovelluksissa tarkastellaan prosesseja jotka sisältävät yksikköjuuren tämä tarkoittaa sitä, että systeemin siirtofunktiolla on napa yksikköympyrällä nämä prosessit ovat epästationäärisiä mutta niillä on ominaisuuksia, jotka tekevät tällaisen prosessin tunnistamisen hankalaksi 461
esimerkki: x(n) = ax(n 1) + b(0)v(n) tämä on AR(1)-prosessi mikäli a < 1 aiemmin nähtiin, että prosessi on epästationäärinen jos a > 1 demo: arunit.r 462
huomataan, että jos a = 1 niin prosessi ei vaikuta epästabiililta kun a = 1 niin x(n) = x(n 1) + b(0)v(n) tällöin prosessi on diskreettiaikainen Brownin liike sillä on ominaisuus E(x(n + k) x(n)) = x(n), eli tuleva arvo on keskimäärin sama kuin viimeisin havaittu arvo 463
yritetään laskea autokorrelaatio (oletetaan b(0) = 1): r x (1) = E(x(n)x (n 1)) = = E(x(n 1)x (n 1)) + E(v(n)x (n 1)) = r x (0) vastaavasti r x (k) = r x (k 1) kun k = 2, 3,... 464
merkitään hetkeksi x(n) = ax(n 1) + v(n): silloin r x (0) = E[x 2 (n)] = a 2 E[x 2 (n 1)] + 1 tästä saadaan r x (0) = 1/(1 a 2 ) koska nyt a 2 = 1 niin varianssista tulee ääretön prosessi ei voi olla WSS, koska päädyttiin äärettömään varianssiin 465
AR(1)-prosessin tehospektri on P x (exp(jω)) = b(0) 2 1 + a(1) exp( jω) 2 sijoittamalla a(1) = 1 saadaan tehospektri P x (exp(jω)) = b(0) 2 2(1 cos(ω)) demo: bmpower.r 466
tehoa vaikuttaisi olevan enimmäkseen matalilla taajuuksilla Brownin liikkeen generoimat havainnot voi helposti sotkea prosessiin jolla on esim. lineaarinen trendi matalat taajuudet aiheuttavat usein pitkiä lineaarisen näköisiä jaksoja tutkitaan miten lineaarisen mallin sovittaminen Brownin liikkeeseen toimii 467
sovitetaan y(n) = an + b + v(n) Brownin liikeeseen ja testataan tilastollisesti onko a = 0 testi käyttää t-statistiikkaa T N 2 joka voidaan estimoida havainnoista (merkitään t) valitaan nollahypoteesi H 0 : a = 0 ja tutkitaan voidaanko se hylätä 468
testi perustuu todennäköisyyteen P(T N 2 t ), missä T N 2 on testistatistiikka nollahypoteesin ollessa voimassa jos tämä todennäköisyys on hyvin pieni, niin voidaan päätellä ettei havaittua arvoa t ole saatu sattumalta tämän katsotaan tukevan oletusta a = 0 ja hypoteesi H 0 voidaan hylätä demo: brownlinear.r 469
tunnetut yksikköjuuret voidaan suodattaa pois jos halutaan tarkastella prosessia x(n) = x(n 1) + b(0)v(n), niin siitä voidaan muodostaa differenssi kertomalla se operaattorilla (1 z 1 ), jolloin saadaan WSS-prosessi y(n) = (1 z 1 )x(n) = x(n) x(n 1) = b(0)v(n) tässä esimerkissä differenssin jälkeen jäisi tehtäväksi vain kohinan varianssin estimointi 470