henri nurminen kuuluvuusalueen estimointi metropolisin ja

HENRI NURMINEN
KUULUVUUSALUEEN ESTIMOINTI
METROPOLISIN JA HASTINGSIN ALGORITMILLA
Kandidaatintyö
Tarkastaja: professori Robert Piché
Palautettu 21.6.2011
II
TIIVISTELMÄ
TAMPEREEN TEKNILLINEN YLIOPISTO
Teknis-luonnontieteellinen koulutusohjelma
NURMINEN, HENRI: Kuuluvuusalueen estimointi Metropolisin ja Hastingsin
algoritmilla
Kandidaatintyö, 26 sivua, 0 liitesivua
Kesäkuu 2011
Pääaine: Matematiikka
Tarkastaja: professori Robert Piché
Avainsanat: kuuluvuusalue, Markovin ketjut, Monte Carlo -menetelmät, Metropolisin ja Hastingsin algoritmi
Tässä työssä pyritään estimoimaan langattoman verkon tukiaseman kuuluvuusaluetta käyttämällä Metropolisin ja Hastingsin algoritmia. Mittausdatana käytetään joukkoa pisteitä,
joissa kuuluvuusalue on kuultu. Yksi mittauspiste sisältää pisteen paikan kaksiulotteisessa koordinaatistossa sekä pisteessä kuultujen kuuluvuusalueitten tunnistenumerot.
Työssä esitellään Markovin ketjujen sekä Metropolisin ja Hastingsin algoritmin keskeisin
teoria. Tärkein tulos on suurten lukujen laki Metropolisin ja Hastingsin algoritmille.
Kuuluvuusaluetta mallinnetaan satunnaisjakaumana, jonka tiheysfunktio kuvaa tukiaseman havaitsemisen todennäköisyyttä. Satunnaismuuttujan jakaumaksi oletetaan kahden
tasajakauman mikstuuri, koska osa mittauksista saattaa olla virheellisiä eli niin sanottuja
ulkolaisia. Virheettömien mittausten jakauma on ellipsin muotoinen ja ulkolaisten ympyrän muotoinen.
Tässä työssä myös mittausjakauman parametreja pidetään satunnaismuuttujina, joten työ
pohjautuu bayesläiseen näkemykseen tilastotieteestä. Metropolisin ja Hastingsin algoritmilla estimoidaan parametrien jakaumien odotusarvoja sekä variansseja. Bayesläisen
päättelyn avulla esitetään myös algoritmi olemassa olevan kuuluvuusalueen päivittämiseen, kun on saatu uusia havaintoja.
Algoritmia testattiin simuloidulla datalla eräissä kriittisissa tilanteissa. Näitä olivat algoritmin sietokyky virheellisille havainnoille, algoritmin toiminta tapauksessa, jossa suuri
osa havainnoista sijaitsee pienessä kuuluvuusalueen osassa, sekä kuuluvuusalueen aikainvariantti päivittäminen uusilla havainnoilla. Algoritmi todettiin laskennallisesti raskaaksi
sekä joissakin tapauksissa jonkin verran epäluotettavaksi. Toisaalta algoritmi on joustava, ja siinä on paljon muokattavia parametrejä, joilla algoritmia voidaan virittää. Sopivilla
parametreilla algoritmi toimii esimerkiksi testatuissa kriittisissä tilanteissa erittäin hyvin.
III
ALKUSANAT
Tämä kandidaatintyö on tehty Tampereen teknillisen teknillisen yliopiston Matematiikan
laitokselle ja sen henkilökohtaisen paikannuksen algoritmien tutkimusryhmälle.
Kiitän työn ohjaajaa ja tarkastajaa professori Robert Pichéä ja TkT Simo Ali-Löyttyä
tutkimukseen ja raporttiin liittyvistä neuvoista ja kommenteista. Lisäksi haluan kiittää
muita paikannusryhmän jäseniä tähän työhön vaikuttaneista ajatuksista ja kommenteista.
Tampere, 21. kesäkuuta 2011
Henri Nurminen
IV
SISÄLLYS
1. Johdanto . . . . . . . . . . . . . . . . . . . . . . . . . .
2. Teoreettinen tausta . . . . . . . . . . . . . . . . . . . . .
2.1 Markovin ketjujen teoriaa . . . . . . . . . . . . . .
2.1.1 Markovin ketjun määritelmä . . . . . . . . . .
2.1.2 Invariantti jakauma . . . . . . . . . . . . . . .
2.1.3 Suurten lukujen laki ja keskeinen raja-arvolause
2.2 Metropolisin ja Hastingsin algoritmi . . . . . . . . .
2.2.1 Erilaisia ehdokasjakaumia . . . . . . . . . . . .
2.2.2 MH-algoritmin testaaminen . . . . . . . . . . .
3. Kuuluvuusalueen estimointi . . . . . . . . . . . . . . . .
3.1 Kuuluvuusalueen malli . . . . . . . . . . . . . . . .
3.2 Alkuarvot ja ehdokasjakaumat . . . . . . . . . . . .
3.3 Uskottavuusfunktio . . . . . . . . . . . . . . . . . .
3.4 Posteriorijakauma . . . . . . . . . . . . . . . . . .
3.5 Keskipisteen ja kovarianssimatriisin laskeminen . .
3.6 Posteriorin aikainvariantti päivittäminen . . . . . . .
4. Algoritmin testausta . . . . . . . . . . . . . . . . . . . .
4.1 Yleistä . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Virheellisen havainnon tunnistus . . . . . . . . . . .
4.3 Havaintopisteen moninkertaistaminen . . . . . . . .
4.4 Posteriorin aikainvariantti päivittäminen . . . . . . .
5. Johtopäätökset . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
4
4
4
5
6
8
11
11
12
12
12
15
16
17
18
20
20
20
22
24
25
V
MERKINNÄT JA SYMBOLIT
A∪B
A∩B
A\B
A⊂B
min A
max A
f :A→B
x
X
X=Y
T
x∈A
{a1 ,a2 , . . . ,an }
N
N0
R
Rn
∞
E
(ai )∞
i=0
(ai )∞
i=0 ⊂ A
(Xi )∞
i=0
(Xi )∞
i=0 ⊂ E
limn→∞ Xn
!n
i=0 Xi
¯
Xn
∀
∃
⇒
⇔
joukkojen A ja B leikkaus
joukkojen A ja B yhdiste
joukkojen A ja B erotus
joukko A on joukon B osajoukko
joukon A pienin alkio
joukon A suurin alkio
funktio, jonka määrittelyjoukko on A ja maalijoukko B
skalaari tai vekrori
satunnaismuuttuja tai satunnaisvektori
satunnaismuuttujalla X on nollamittaista joukkoa lukuun
ottamatta sama tiheysfunktio kuin satunnaismuuttujalla Y
matriisin tai vektorin transpoosi
x on joukon A alkio
alkioitten a1 ,a2 , . . . ,an muodostama joukko
luonnollisten lukujen joukko
N ∪{0}
reaalilukujen joukko
n-ulotteisten reaalivektorien joukko
ääretön
tila-avaruus
jono, jonka alkiot ovat a0 ,a1 , . . . .
jonon alkiot kuuluvat joukkoon A
stokastinen prosessi
stokastinen prosessi, jonka alkioitten
arvoalue on E
stokastisen prosessin (Xi )∞
i=0 raja-arvo
satunnaismuuttujien X0 ,X1 , . . . ,Xn summa
satunnaismuuttujien X0 ,X1 , . . . ,Xn keskiarvo
kaikkikvanttori
olemassaolokvanttori
implikaatio
ekvivalenssi
VI
P(X ∈ A)
P(X ∈ A | Y ∈ B)
E(X)
µπ
Σπ
X ∼π
Tas(a,b)
N(µ,σ 2 )
w ← N(µ,σ 2 )
eig(Σ)
ln
logit
-xH
S(f )
S(X)
"
f (x) dx
A
K(x,y)
π
q(x | y)
r(x,x# )
α(x,x# )
∝
p
$
y1 : n
XF 1 ,XF 2
XF 1,1 ,XF 1,2
S
G
todennäköisyys, että satunnaismuuttuja X kuuluu joukkoon A
todennäköisyys, että satunnaismuuttuja X kuuluu joukkoon A
ehdolla satunnaismuuttuja Y kuuluu joukkoon B
satunnaismuuttujan X odotusarvo
jakauman π odotuarvo
jakauman π kovarianssimatriisi
satunnaismuuttuja X noudattaa tiheysfunktion π
määrittelemää jakaumaa
tasajakauma välillä (a,b)
yksiulotteinen normaalijakauma odotusarvolla µ ja varianssilla σ 2
normaalijakaumasta generoitu luku w
matriisin Σ ominaisarvojen joukko
luonnollinen logaritmi
logit-funktio
euklidinen normi
Heavisiden funktio
funktion f kantaja
satunnaismuuttujan X kantaja
funktion f integraali skalaari- tai vektorimuuttujan x suhteen
joukon A yli
Markovin ketjun siirtymätodennäköisyys pisteestä x pisteeseen y
Markovin ketjun invariantti jakauma, Metropolisin ja Hastingsin
algoritmin kohdejakauma, posteriorijakauma
Metropolisin ja Hastingsin algoritmin ehdokasketjun
siirtymätodennäköisyys pisteestä y pisteeseen x
MH-suhde Metropolisin ja Hastingsin algoritmissa,
nykyinen arvo x, ehdokasarvo x#
ehdokasarvon hyväksymisen todennäköisyys Metropolisin
ja Hastingsin algoritmissa
suoraan verrannollisuus estimoitavien muuttujien suhteen
priorijakauma
uskottavuusfunktio
mittaukset numeroilla 1,2, . . . ,n
ellipsin polttopisteitä kuvaavat satunnaismuuttujat
ellipsin polttopisteen ens. ja toinen komponentti
ellipsin isoakselin pituutta kuvaava satunnaismuuttuja
mittauksen oikeellisuustodennäköisyyttä kuvaava
satunnaismuuttuja
1
1.
JOHDANTO
Nykyisin on käytössä lukuisia liikkuvissa päätteissä toimivia sovelluksia, joissa vaaditaan päätteen maantieteellisen paikan tuntemista. Liikkuvan päätteen paikannus suoritetaan yleensä mittaamalla satelliitin radiolähetyksiä. Esimerkiksi GPS (Global Positioning
System) on tällainen paikannusjärjestelmä. Jos tällaista järjestelmää ei ole käytettävissä
tai liikkuva pääte sijaitsee katvealueella, esimerkiksi sisätiloissa tai tiheään rakennetuilla taajama-alueilla, tarvitaan muita tapoja paikantaa pääte. Muuta kuin satelliittipohjaista
paikannusinformaatiota onkin nykyisin useimmiten saatavilla.
Yksi tapa paikantaa liikkuva pääte on kuuluvuusaluepaikannus, johon tämä työ liittyy. Kuuluvuusalue on maantieteellinen alue, jossa päätelaite kykenee havaitsemaan kuuluvuusalueeseen liittyvän tukiaseman lähettämän langattoman radiosignaalin. Käytännössä kuuluvuusaluepaikannuksessa voidaan käyttää esimerkiksi matkapuhelinverkkojen, tvtai radioverkkojen tai WLAN-verkkojen tukiasemia. Esimerkiksi matkapuhelimet ovat
usein yhteydessä puhelinverkon lisäksi WLAN-verkkoihin.
Tässä työssä ei oleteta kuuluvuusalueita tunnetuiksi, mutta niiden sijaintia ja kokoa
voidaan tietyssä mielessä havainnoida. Tukiasemien yksilöimiseen käytetään ID-numeroita (identity, yksikäsitteinen tunnus). Tietyllä kuuluvuusalueella sijaitsevan liikkuvan
päätteen vastaanottama radiosignaali sisältää kuuluvuusalueen ID:n, ja jos käytössä on tällöin jokin paikannusmenetelmä, pääte voi raportoida sijaintinsa ja havaitsemansa kuuluvuusalueen ID:n tietokantaa ylläpitävälle järjestelmälle. Näin kerätyistä sijainti–ID-vektoreista käytetään tässä työssä nimitystä sormenjälki (fingerprint), ja käytössä on siis suuren määrän sormenjälkiä sisältävä tietokanta.
Kuuluvuusalueitten sijainteja, kokoja ja muotoja ei siis voida tietää tarkasti, ja lisäksi
ne saattavat vaihdella ajan kuluessa jonkin verran esimerkiksi teknisistä taikka luonnon
tai ympäröivän maaston muutosten aiheuttamista syistä. Näin ollen kuuluvuusaluetta on
mielekästä mallintaa todennäköisyysjakaumalla, josta sormenjäljet ovat näytteitä. Kaikkien kuuluvuusalueitten sijainnit, koot ja muodot sisältävää tietokantaa kutsutaan radiokartaksi (radiomap). Tämän kandidaatintyön tarkoituksena on estimoida radiokartan kuuluvuusalueitten parametrit käyttäen havaintoina sormenjälkitietokantaa. Lisäksi halutaan
pystyä päivittämään olemassa olevaa radiokarttaa uusien havaintojen avulla tuntematta
koko sormenjälkitietokantaa.
Käytännössä kuuluvuusalueen jakauman mallinnusta rajoittavat muun muassa liikkuvan päätteen muistin määrä ja laskentakapasiteetti, joten kuuluvuusaluejakauman mal-
1. Johdanto
2
lin on oltava parametrimäärältään ja matemaattisilta ominaisuuksiltaan mahdollisimman
yksinkertainen. Ellipsi on määriteltävissä viidellä parametrilla, ja sillä voidaan approksimoida varsin yleisesti erityisesti kahden akselin suhteen symmetrisiä konvekseja alueita.
Kuuluvuusalueitten muodot eivät kaikissa tapauksissa ole tällaisia, mutta ne ovat silti varsin toimivia yleistyksiä. Ellipsin muotoista aluetta parhaiten mallintavia jakaumia ovat
esimerkiksi ellipsin muotoinen tasajakauma ja moniulotteinen normaali- tai t-jakauma.
Kuuluvuusaluehavaintojen lisäksi sormenjälkitietokanta saattaa sisältää virheellisiä havaintoja. Tämä voi näkyä muista havainnoista huomattavasti poikkeavien havaintojen
määränä, joka on suurempi, kuin sen pitäisi oletetun mallin mukaan olla. Muista havainnoista huomattavasti pokkeavat havainnot ovat usein vaikuttavia, eli ne saattavat häiritä
jakauman estimointia oleellisesti. Siksi voidaan ajatella, että virheelliset havainnot tulevat omasta erillisestä todennäköisyysjakaumastaan ja että havainnolla on tietty todennäköisyys olla virheellinen. Tässä työssä kuuluvuusaluetta mallinnetaan kaksiulotteisen
ellipsin alueelle tasajakautuneen jakauman sekä tietyn virhejakauman mikstuurina.
Koska tietyn kuuluvuusalue-ellipsin parametrien estimaateissa on epävarmuutta ja koska ne ovat lisäksi muuttuvia, ongelmaa on hyvin mielekästä lähestyä bayesläisen päättelyn
kautta. Bayesläisessä tilastotieteessä mittausten lisäksi koko taustalla oleva ilmiö nähdään
satunnaisprosessina ja tarkoituksena on estimoida kiinteitten parametriarvojen sijaan jakaumia. Tässä tapauksessa siis myös kuuluvuusalue-ellipsin sijainti-, koko- ja muotoparametreja tarkastellaan satunnaismuuttujina, joitten jakaumia pyritään estimoimaan.
Bayesläisessä päättelyssä estimoitavalle satunnaismuuttujalle on muodostettava priorijakauma. Priorijakauma sisältää kaiken satunnaismuuttujasta ennen estimointiprosessia saadun tiedon. Saaduista havainnoista lasketaan uskottavuusfunktion (likelihood) arvo, jonka tarkoitus on painottaa priorijakaumaa havaintojen mukaisesti. Kertomalla priori uskottavuudella saadaan posteriorijakauma, joka on bayesläinen ratkaisu estimoitavan
satunnaismuuttujan jakaumalle ehdolla saadut havainnot. Tässä työssä osoitetaan lisäksi,
että saataessa uusia havaintoja vanhaa posterioria voidaan käyttää priorina estimoitaessa uutta posterioria ja uskottavuutta laskettaessa tarvitsee tällöin huomioida vain uudet
mittaukset.
Estimointimenetelmänä tässä työssä käytetään Metropolisin ja Hastingsin algoritmia,
johon tästä eteenpäin viitataan lyhenteellä MH-algoritmi. Se on numeerinen, satunnaislukujen generointiin perustuva näytteistysalgoritmi, jolla siis näytteistetään jakaumaa eli
generoidaan jakauman mukaisesti jakautunut joukko lukuja tai vektoreita. Algoritmilla
voidaan periaatteessa estimoida mitä tahansa jakaumaa, kunhan sen tiheysfunktion arvot
voidaan laskea. Tiheysfunktio saa lisäksi olla normalisoimaton, eli sen ei tarvitse integroitua tai summautua ykköseksi, mikä on merkittävä etu, sillä bayesläisessä päättelyssä jakaumien analyyttisistä muodoista saattaa tulla hyvin monimutkaisia.
MH-algoritmi kuuluu Markovin ketjuun perustuviin Monte Carlo -menetelmiin (MCMCmenetelmät, Markov chain Monte Carlo). Markovin ketju on tietyt ehdot täyttävä satun-
1. Johdanto
3
naismuuttujien jono, ja MH-algoritmin käytännön toteutus perustuu tällaisen jonon pseudosatunnaislukujen avulla generoituun realisoitumaan. Pseudosatunnaisluvut ovat lukuja,
jotka generoidaan täysin deterministisillä algoritmeilla, joitten on osoitettu tuottavan määrättyä jakaumaa hyvin tarkasti noudattavia lukujonoja. Markovin ketjuja ja MCMC-menetelmiä on tutkittu paljon koneellisen laskentakapasiteetin nopean kasvun myötä, mutta tässä työssä esitellään vain MH-algoritmin kannalta keskeisin osa Markovin ketjujen
teoriaa. MH-algoritmin tuottama näyte ei ole korreloimaton, joten perinteisestä suurten
lukujen lauseesta johdetaan Markovin ketjuille oma versio.
4
2.
TEOREETTINEN TAUSTA
2.1
Markovin ketjujen teoriaa
2.1.1
Markovin ketjun määritelmä
Olkoon joukko E ⊂ Rn Borel-joukko, jota kutsumme tila-avaruudeksi.
Määritelmä 2.1.1. Tila-avaruuden E stokastinen prosessi on jono, jonka alkiot ovat satunnaismuuttujia, joiden arvojoukko on tila-avaruus E.
Merkitään stokastista prosessia (Xi )∞
i=0 . Tällöin satunnaismuuttujaa X0 kutsukaan stokastisen prosessin alkutilaksi ja satunnaismuuttujaa Xi stokastisen prosessin i:nneksi tilaksi. Jos tilaa Xi kutsutaan prosessin nykyiseksi tilaksi, niin tila Xi−1 on prosessin edellinen tila ja tila Xi+1 on prosessin seuraava tila.
Markovin ketju on stokastisen prosessin erikoistapaus, jossa ketjun nykyisen tilan jakauma riippuu aikaisemmista tiloista vain edellisen tilan kautta.
Määritelmä 2.1.2. Markovin ketju on stokastinen prosessi (Xi )∞
i=0 , jolle pätee
∀i ∈ N0 : (Xi+1 | X0 : i ) = (Xi+1 | Xi ),
(2.1)
missä satunnaismuuttujien yhtäsuuruus tarkoittaa, että niitten tiheysfunktiot ovat samat
nollamittaista joukkoa lukuun ottamatta.
Markovin ketju on aikahomogeeninen, jos ehdollisen satunnaismuuttujan Xi+1 | Xi jakauma on riippumaton indeksistä i.
Määritellään nyt jatkon kannalta tärkeä kantajan käsite. Satunnaismuuttujalle kantaja
on joukko, jossa on satunnaismuuttujan kaikki ”todennäköisyysmassa”.
Määritelmä 2.1.3. Olkoon funktion f : E → [0,∞) kantaja joukko
S(f ) = {x ∈ E|f (x) > 0}.
(2.2)
Kutsutaan lisäksi satunnaismuuttujan kantajaksi sen tiheysfunktion kantajaa.
Aikahomogeenisen Markovin ketjun määrittelevät alkutila X0 ja funktio K : E ×E →
2. Teoreettinen tausta
5
[0,∞), jolle pätee kaikilla indekseillä i
#
∀x ∈ S(Xi ) : ∀A ⊂ E : P(Xi+1 ∈ A | Xi = x) =
∀x ∈ E \ S(Xi ) : ∀y ∈ E : K(x,y) = 0
"
A
K(x,y) dy
.
(2.3)
Tällöin pätee
∀x ∈ S(Xi ) :
$
E
K(x,y) dy = P(Xi+1 ∈ E | Xi = x) = 1,
joten K(x,·) on tiheysfunktio. Funktiota K kutsutaan Markovin ketjun siirtymätodennäköisyydeksi eli ytimeksi.
2.1.2
Invariantti jakauma
Markovin ketjulla saattaa olla invariantti jakauma. Jos ketjun alkutila tällöin noudattaa
invarianttia jakaumaa, niin ketju säilyttää sen. Formalisoidaan tämä seuraavaksi määritelmäksi.
Määritelmä 2.1.4. Olkoon K aikahomogeenisen Markovin ketjun siirtymätodennäköisyys. Tällöin tiheysfunktio π : E → R on Markovin ketjun invariantti jakauma, jos pätee
$
∀y ∈ E :
π(x)K(x,y) dx = π(y).
(2.4)
E
Kääntyvä ketju säilyttää jakauman myös toiseen suuntaan.
Määritelmä 2.1.5. Aikahomogeeninen Markovin ketju on kääntyvä, jos on olemassa jakauma λ : E → R siten, että
∀x ∈ E : ∀y ∈ E : λ(x)K(x,y) = λ(y)K(y,x).
(2.5)
Tällöin sanotaan, että ketju on kääntyvä jakauman λ suhteen.
Todistetaan nyt MCMC-algoritmien kannalta keskeinen tulos.
Lause 1. Jakauman λ suhteen kääntyvällä Markovin ketjulla on invariantti jakauma, ja
sen invariantti jakauma on λ.
Todistus.
∀y ∈ E :
$
$
λ(x)K(x,y) dx =
λ(y)K(y,x) dx
E
$
= λ(y) K(y,x) dx = λ(y),
E
E
sillä K(y,·) on tiheysfunktio.
2. Teoreettinen tausta
2.1.3
6
Suurten lukujen laki ja keskeinen raja-arvolause
Suurten lukujen laki ja keskeinen raja-arvolause takaavat, että tietyin ehdoin invariantin
jakauman omaavan Markovin ketjun avulla voidaan estimoida kyseisen invariantin jakauman tunnuslukuja. Koska Markovin ketjujen satunnaismuuttujat eivät yleisesti ole riippumattomia, niille on johdettava omat versionsa näistä lauseista.
Selvästikin estimoivan Markovin ketjun tilojen on voitava saada arvoja mistä tahansa
invariantin jakauman kantajan osajoukosta. Tällaista ketjua sanotaan pelkistymättömäksi.
Määritelmä 2.1.6. Markovin ketju (Xi )∞
i=0 , jolla on invariantti jakauma π, on pelkistymätön jakauman π suhteen, jos
∀x0 ∈ E : ∀A ⊂ E : ∃m ∈ N :
$
A
π(t) dt > 0 ⇒ P(Xm ∈ A | X0 = x0 ) > 0. (2.6)
Suurten lukujen lakia varten ketjulle määritellään lisäksi seuraava ominaisuus.
Määritelmä 2.1.7. Markovin ketju (Xi )∞
i=0 , jolla on invariantti jakauma π, on Harrispalautuva jakauman π suhteen, jos sille pätee kaikilla alkutiloilla x0 ∈ E seuraava yhtälö:
$
∀B ⊂ E : ∃n ∈ N :
π(x) dx > 0 ⇒ P(Xn ∈ B | X0 = x0 ) = 1.
(2.7)
B
Pelkistyvyys luonnollisesti seuraa Harris-palautuvuudesta, mutta tavallisesti suurten
lukujen laissa esitetään molemmat ehdot, koska laki pätee tietyin erityisehdoin (ks. [4,
s.32–33]) myös ilman Harris-palautuvuutta. Kutsutaan funktiota f : E → R π-integroituvaksi, jos
$
E
f (x)π(x) dx < ∞,
missä π on tiheysfunktio. Nyt esitetään todistamatta tämän luvun päätulos.
Lause 2 (Suurten lukujen laki Markovin ketjuille). Olkoon (Xi )∞
i=0 aikahomogeeninen
Markovin ketju. Oletetaan, että seuraavat ehdot patevät:
1. Ketjulla on invariantti jakauma π.
2. Ketju on pelkistymätön jakauman π suhteen.
3. Ketju on Harris-palautuva jakauman π suhteen.
Tällöin jokaisella π-integroituvalla funktiolla f : E → R pätee
%
n
1 &
f (Xi ) =
∀x0 ∈ E : P lim
n→∞ n + 1
i=0
$
E
f (x)π(x) dx | X0 = x0
'
= 1,
(2.8)
eli funktion arvoista muodostetun ketjun aritmeettinen keskiarvo suppenee melkein varmasti kohti invarianttia jakaumaa π.
2. Teoreettinen tausta
7
Todistus. Sivuutetaan. Katso artikkeli [4, s.32–33].
p
Seuraus 3. Olkoon (Xi )∞
i=0 ⊂ R lauseen 2 ehdot toteuttava Markovin ketju. Merkitään
n
¯n =
X
1 &
Xi .
n + 1 i=0
Tällöin jos ketjun invariantilla jakaumalla π on odotusarvo µπ , niin
P
(
)
¯
lim Xn = µπ = 1.
(2.9)
n→∞
Todistus. Olkoon funktio fk : Rp → R muuttujavektorin k:nnen komponentin palauttava
funktio, ja olkoon X ∼ π satunnaismuuttuja. Tällöin lauseen 2.8 nojalla pätee
%
n
1 &
∀k ∈ {1,2, . . . ,p} : P lim
fk (Xi ) = E(fk (X))
n→∞ n + 1
i=0
'
= 1.
'
=1
Tästä päätellään, että pätee
%
n
1 &
P ∀k ∈ {1,2, . . . ,p} : lim
fk (Xi ) = E(fk (X))
n→∞ n + 1
i=0
eli


 

f
(X
)
E(f
(X))
1
i
1
n
1 &

 

..
..
P  lim

=
 = 1.
.
.
n→∞ n + 1
i=0
fp (Xi )
E(fp (X))
Tämä on ekvivalentti väite yhtälön (2.9) kanssa.
p
Seuraus 4. Olkoon (Xi )∞
i=0 ⊂ R lauseen 2 ehdot toteuttava Markovin ketju. Merkitään
n
Sn2
1 &
¯nX
¯ nT .
=
Xi XiT − X
n + 1 i=0
Tällöin jos ketjun invariantilla jakaumalla π on kovarianssimatriisi Σπ , niin
P
(
lim
n→∞
Sn2
)
= Σπ = 1.
Todistus. Olkoon funktio fij : Rp×p → R muuttujamatriisin i:nnen rivin ja j:nnen sarakkeen alkion palauttava funktio, ja olkoon satunnaismuuttuja X ∼ π. Tällöin lauseen 2.8
nojalla pätee
%
n
1 &
fij (Xk XkT ) = E(fij (XX T ))
∀i,j ∈ {1,2, . . . ,p} : P lim
n→∞ n + 1
k=0
'
= 1,
2. Teoreettinen tausta
8
joten edelleen pätee
%
n
1 &
fij (Xk XkT ) = E(fij (XX T ))
P ∀i,j ∈ {1,2, . . . ,p} : lim
n→∞ n + 1
k=0
'
= 1.
Tästä päätellään, että väite
%
n
1 &
P lim
Xk XkT = E(XX T )
n→∞ n + 1
k=0
'
= 1.
on tosi. Näin ollen edellisen seurauksen nojalla pätee
%
'
n
1 &
¯ n = µπ
1 = P lim
Xi XiT = E(XX T ), lim X
n→∞ n + 1
n→∞
i=0
%
7
'
6
n
1 &
¯nX
¯ nT = E(XX T ) − µπ µT
Xi XiT − X
= P lim
π
n→∞ n + 1
i=0
(
)
= P lim Sn2 = Σπ .
n→∞
Käytännössä ei voida konstruoida äärettömän pitkää Markovin ketjua, mutta esimerkiksi artikkelissa [3, Luku 4] todistetusta Markovin ketjujen keskeisestä raja-arvolauseesta saadaan arvio estimaatin tarkkuudelle. Tarkkojen virhe-estimaattien laskemisen kannalta arvio ei ole yhtä käyttökelpoinen kuin riippumattomien satunnaismuuttujien tapauksessa, mutta se osoittaa, ettei tila-avaruuden dimensio vaikuta ketjun suppenemisnopeuteen
vaan ketjun korreloituneisuus.
2.2
Metropolisin ja Hastingsin algoritmi
MCMC-algoritmit eli Markovin ketjuun perustuvat Monte Carlo -algoritmit ovat satunnaisalgoritmeja, joilla simuloidaan tunnettua jakaumaa muista jakaumista generoitujen
satunnaislukujen avulla muodostetulla Markovin ketjulla. Tunnetuin MCMC-algoritmi on
Metropolisin ja Hastingsin algoritmi.
Kutsutaan kohdejakaumaksi sitä jakaumaa, jota MH-algoritmilla halutaan simuloida.
Olkoon kohdejakauman tiheysfunktio π : E → R. Olkoon ehdokasketju sellainen Markovin ketju (Qi )∞
i=1 ⊂ E, että siitä voidaan generoida pseudosatunnaisia realisoitumia.
Ehdokasketjun siirtymätodennäköisyyttä pisteestä y pisteeseen x merkitään q(x | y) ja jakaumaa q(· | y) kutsutaan ehdokasjakaumaksi.
Tällöin MH-algoritmi Markovin ketjun generoimiseen on seuraava: Olkoon meillä ketjun nykyinen tila x ∈ S(π). Generoidaan ehdokasjakaumasta q(· | x) luku x# , jota kutsu-
2. Teoreettinen tausta
9
taan ehdokasarvoksi. Kutsutaan nyt MH-suhteeksi lukua
r(x,x# ) =
π(x# )q(x | x# )
aπ(x# )q(x | x# )
=
,
π(x)q(x# | x)
aπ(x)q(x# | x)
(2.10)
missä a on mielivaltainen nollasta poikkeava vakio. Koska a on mielivaltainen, tiheysfunktiot π ja q voivat olla normalisoimattomia. Generoidaan sitten luku u standarditasajakaumasta Tas(0,1). Jos pätee r(x,x# ) > u, niin sanotaan, että ehdokasarvo hyväksytään,
ja asetetaan ketjun seuraavan tilan arvoksi ehdokasarvo. Muutoin ehdokasarvo hylätään
ja asetetaan ketjun seuraavan tilan arvoksi nykyinen tila. Havaitaan, että MH-algoritmissa
ehdokasarvon hyväksymisen todennäköisyys on
#
#
α(x,x ) = P(x hyväksytään | x) = min
8
9
π(x# )q(x | x# )
,1 .
π(x)q(x# | x)
(2.11)
MH-algoritmi tuottaa selvästi Markovin ketjun, sillä seuraava tila riippuu ketjun aikaisemmista tiloista vain nykyisen tilan kautta. Ehdokasjakauman siirtymätodennäköisyys ei
muutu algoritmin suorituksen aikana, joten Markovin ketju on aikahomogeeninen. Todistetaan seuraavaksi, että kohdejakauma π on MH-algoritmin tuottaman Markovin ketjun
invariantti jakauma.
Apulause 5. MH-algoritmin tuottama Markovin ketju on kääntyvä kohdejakauman π suhteen.
Todistus. Kun A ja B ovat tila-avaruuden E mielivaltaisia osajoukkoja, ketjun siirtymistodennäköisyys näitten joukkojen välillä on
$ $
K(A,B) =
K(x,y) dx dy
B
A
= P(Xi+1 ∈ B | Xi ∈ A)
= P(Xi+1 ∈ B, hyväksytään | Xi ∈ A) + P(Xi+1 ∈ B, hylätään | Xi ∈ A)
= Khyv (A,B) + Khyl (A,B).
Jos ehdokasarvoa ei hyväksytä, ketjun seuraavan tilan arvo on sama kuin nykyinen, joten
selvästi yhtälö (2.5) pätee. Tarkastellaan nyt tapausta, jossa ehdokasarvo hyväksytään.
Khyv (A,B) = P(Xi+1 ∈ B, hyväksytään | Xi ∈ A)
= P(Xi# ∈ B, hyväksytään | Xi ∈ A)
$ $
=
q(y | x)α(x,y) dx dy,
B
A
missä Xi# on i:nnettä tilaa vastaava ehdokasarvo. Tästä päätellään, että siirtymistodennäköisyystiheys hyväksyttäessä on Khyv (x,y) = q(y | x)α(x,y). Yhtälön (2.5) vasen puoli
2. Teoreettinen tausta
10
voidaan siis kirjoittaa
π(x)Khyv (x,y) = π(x)q(y | x)α(x,y)
9
8
π(y)q(x | y)
,1
= π(x)q(y | x) min
π(x)q(y | x)
= min {π(y)q(x | y), π(x)q(y | x)} .
Vastaavasti voidaan osoittaa, että pätee
π(y)Khyv (y,x) = min {π(x)q(y | x), π(y)q(x | y)}
= min {π(y)q(x | y), π(x)q(y | x)} ,
joten
π(x)Khyv (x,y) ≡ π(y)Khyv (y,x),
eli MH-algoritmin tuottama Markovin ketju on kääntyvä kohdejakauman π suhteen.
MH-algoritmin määritelmän perusteella on selvää, että MH-algoritmiin liittyvä Markovin ketju on pelkistymätön, jos ehdokasjakauman kantajajoukko sisältää kohdejakauman kantajajoukon eli ehdokasjakaumasta voidaan generoida kaikki tila-avaruuden arvot.
Muotoillaan tämä lauseeksi.
Apulause 6. MH-algoritmin tuottama Markovin ketju on pelkistymätön invariantin jakaumansa π suhteen, jos
∀x ∈ E : S(π) ⊂ S(q(· | x)),
(2.12)
missä q on ehdokasketjun siirtymätodennäköisyys.
Yleisesti Harris-palautuvuus on pelkistymättömyyttä vahvempi ehto, mutta seuraavan
lauseen mukaan MH-algoritmin tapauksessa pelkistymättömyys on riittävä ehto Harrispalautuvuudelle.
Apulause 7. Jos MH-algoritmin tuottama Markovin ketju on pelkistymätön invariantin
jakaumansa π suhteen, niin se on Harris-palautuva jakauman π suhteen.
Todistus. Sivuutetaan. Katso esimerkiksi artikkeli [5, Korollaari 2].
Näin olleen voidaan esittää suurten lukujen laki MH-algoritmille.
Lause 8. MH-algoritmin tuottama Markovin ketju toteuttaa lauseen 2 ehdot, eli sille pätee suurten lukujen laki (2.8).
2. Teoreettinen tausta
2.2.1
11
Erilaisia ehdokasjakaumia
Usein ehdokasjakauma on symmetrinen ehdokas- ja nykyisen arvon suhteen eli
q(x|x# ) = q(x# |x),
(2.13)
π(x# )
.
π(x)
(2.14)
jolloin MH-suhde on
r(x,x# ) =
Jos MH-algoritmin tuottaman Markovin ketjun seuraava tila on riippumaton nykyisestä tilasta ja siis kaikista aikaisemmista tiloista, MH-algoritmia kutsutaan riippumattomaksi. Satunnaiskävelyyn perustuvassa MH-algoritmissa taas generoidaan Markovin ketjun
tilasta ja ajanhetkestä riippumattomasta jakaumasta näyte w ja asetetaan ehdokasarvoksi
x# = x + w.
Jos satunnaisluvun w generoiva jakauma on symmetrinen origon suhteen, on ehdokasjakauma symmetrinen.
2.2.2
MH-algoritmin testaaminen
MH-algoritmin testaamiseksi simuloidusta näytteestä on syytä piirtää näytehistoria, jossa on kuvaajat kustakin komponentista Markovin ketjun ajanhetken funktiona. Esimerkki
näytehistoriasta on kuvassa 4.1. Jos kuvaajissa on suuria hyppäyksiä ja ehdokasarvojen
hyväksymisaste on alhainen, algoritmissa on paljon turhaa toistoa. Jos taas hyppäykset
ovat hyvin pieniä ja näytteessä on paljon autokorrelaatiota eli kuvaaja näyttää aaltoilevan, näytteitten lukumäärän on oltava hyvin suuri, jotta simulointi todella vastaisi oikeata
jakaumaa. Varsinkin monihuippuinen jakauma saattaa tällöin tulla simuloiduksi puutteellisesti, kun algoritmi jää pitkäksi aikaa kiinni yhteen tiheysfunktion huippuun eli moodiin. Satunnaiskävelyssä nämä ongelmat voivat liittyä esimerkiksi liian suuriin tai pieniin
ehdokasjakauman variansseihin.
Teoriassa algoritmi simuloi kohdejakaumaa riittävän suurella toistomäärällä riippumatta Markovin ketjun alkuarvosta. Käytännössä ketjun alkutila on jokin määrätty tai
laskettu piste eikä siis kohdejakauman mukaisesti jakautunut satunnaismuuttuja, minkä
vuoksi ketjun alussa saattaa olla muusta ketjusta selvästi poikkeavia arvoja, joista käytetään nimitystä burn-in. Näytehistorioita tutkimalla tulee selvittää, milloin ketju alkaa
simuloida kohdejakaumaa, ja sitten poistaa burn-in lopullisesta näytteestä. [2, Kappale
13.2]
12
3.
KUULUVUUSALUEEN ESTIMOINTI
3.1
Kuuluvuusalueen malli
Kuuluvuusalueet sijaitsevat kaksiulotteisessa koordinaatistossa. Mallinnetaan kuuluvuusaluetta jatkuvalla jakaumalla, jonka tiheysfunktion arvo kuvaa havainnon saamisen todennäköisyyttä kustakin pisteestä. Koska kuuluvuusalueita ei tunneta tarkasti, jakauman parametrit ovat satunnaismuuttujia.
Kuuluvuusalue on mikstuurijakauma f : R2 → R+ , joka on muotoa
f = G · foikeelliset + (1 − G) · fvirheelliset .
(3.1)
Jakauma foikeelliset on ellipsin muotoiselle alueelle jakautunut tasajakauma. Sitä parametrisoivat satunnaismuuttujat ovat polttopisteet XF 1 = [XF 1,1 ; XF 1,2 ] ja XF 2 = [XF 2,1 ; XF 2,2 ]
sekä isoakselin pituus S. Jakauma fvirheelliset on ympyrän muotoinen tasajakauma. Sitä parametrisoivat luvut ovat keskipiste aC sekä säde a, joita ei yksinkertaisuuden vuoksi estimoida vaan niille lasketaan jollakin deterministisellä menetelmällä sellaiset arvot, että
kaikki havaintopisteet ovat ympyrän sisäpuolella. Näin määriteltyä ympyrää kutsutaan
virheympyräksi. Lisäksi satunnaismuuttuja G kuvaa yksittäisen havainnon todennäköisyyttä olla oikeellinen. Olkoon X ellipsin muotoparametreista muodostettu satunnaisvektori


XF 1,1


X =  XF 1,2  .
S
Kuuluvuusaluejakaumasta saadaan joukko vektoreita, joita kutsutaan havainnoiksi tai sormenjäljiksi. Näitten perusteella pyritään estimoimaan MH-algoritmilla parametrien XF 1 ,
XF 2 , S ja G jakaumia. Tila-avaruus on siis E = R4 ×[0,∞) × [0,1]. Parametrien aC ja a
on oltava sellaiset, että kaikki havainnot ovat virheympyrän sisäpuolella.
3.2
Alkuarvot ja ehdokasjakaumat
Asetetaan ellipsin molemmiksi polttopisteiksi mediaanihavainnon piste, jotta mahdollisten virheellisten havaintojen vaikutus alkuarvoihin minimoituisi. Isoakselin pituuden S
alkuarvoksi s0 asetetaan kaksi kertaa havaintojen keskimääräinen etäisyys polttopisteistä.
Kuuluvuusalueen kovarianssimatriisista voi olla käytössä prioriestimaattina matriisi
3. Kuuluvuusalueen estimointi
13
ˆ − , jonka voidaan ajatella kuvaavan oletetun priorijakauman moodia. Tässä työssä prioria
Σ
käytetään vain ketjun alkuarvojen generoimiseen.
Kirjassa [1, Kappale 4.2] osoitetaan, että kaksidimensioisessa tapauksessa yhtälö
(x − µ)T Σ−1 (x − µ) = 1,
(3.2)
missä Σ on symmetrinen positiivisesti definiitti matriisi, määrittelee µ-keskisen ellipsin.
Tällöin matriisilla Σ on similaarimuunnos
6
76
7
:
; a2 0
dT
Σ= d n
,
(3.3)
0 b2
nT
missä d on ellipsin isoakselin suuntainen yksikkövektori, n vektoria d vastaan kohtisuora
yksikkövektori, a isopuoliakselin pituus ja b pikkupuoliakselin pituus. Pituuksien neliöt a2
ja b2 ovat siis matriisin Σ ominaisarvot ja vektorit d ja n niitä vastaavat ominaisvektorit,
jotka ovat ortonormaalit. Yhtälön (3.2) mielessä siis jokaista ellipsiä vastaa matriisi Σ,
jota kutsutaan usein ellipsin kovarianssimatriisiksi.
Olkoon meillä ellipsi ja sen sisäpuolelle tasan jakautunut jakauma. Käytetään tarkasteltavan ellipsin parametreille äskeisiä merkintöjä. Yhtälön (3.2) mielessä yksikköympyrän
kovarianssimatriisi on yksikkömatriisi I, ja tarkastelemamme ellipsi saadaan yksikköympyrästä lineaarimuunnoksella
Tx =
:
d n
;
6
a 0
0 b
7
x,
sillä
6
76
7
6
7
:
; 1/a2
T
a
0
d
0
(T x)T Σ−1 T x = xT
d n
0 b
nT
0
1/b2
6
7
6
7
; a 0
dT :
·
x
d
n
nT
0 b
6
76
76
7
2
a
0
1/a
0
a
0
= xT
x
0 b
0
1/b2
0 b
= xT I −1 x.
Näin ollen lineaarimuunnos T muuntaa yksikköympyrän alueelle tasajakautuneen satunnaismuuttujan tarkastellun ellipsin alueelle tasajakautuneeksi satunnaismuuttujaksi. Tulkitaan nyt T äskeistä lineaarimuunnosta vastaavaksi matriisiksi. Yksinkertaisella laskutoimituksella voidaan osoittaa, että yksikköympyrän alueelle tasajakautuneen satunnaismuuttujan varianssi on 1/4 · I, joten koska ellipsimuunnnos T on lineaarinen, kaksiulot-
3. Kuuluvuusalueen estimointi
14
teisen ellipsin muotoisen tasajakauman kovarianssimatriisi on
1
ΣTas = T · IT T
4
6
76
7
:
; a2 0
dT
1
=
,
d n
4
0 b2
nT
(3.4)
Yhtälön (3.4) nojalla isoakselin pituuden alkuarvoksi aseteˆ − perusteella
taan prioriestimaatin Σ
s0 = 2
<

ˆ − )),
max(eig(4Σ



 
ˆ − ) on priorin kovarianssimatriisin ominaisarvojen
missä eig(Σ
joukko. Kuvasta 3.1 nähdään, että polttopisteille saadaan vastaa- Kuva 3.1: Ellipsin poltvasti alkuarvot yhtälöstä
topisteitten laskeminen
xF 1,F 2,0 = µ ± yd
<
ˆ − )) − min(eig(4Σ
ˆ − )) d,
= µ ± max(eig(4Σ
ˆ − suurinta ominaisarvoa vastaava normalisoitu ominaisvektori.
missä d on matriisin Σ
Ehdokasarvot simuloidaan riippumattomista normaalijakaumista, joitten odotusarvoina käytetään parametrien viimeksi hyväksyttyjä arvoja ja joitten keskihajonnat ovat vakioita. Parametreilla S ja G on normaalijakauman arvoalueesta poikkeavat arvoalueet,
joten stokastisina muuttujina käytetään muuttujia
ln(S − -x#F 1 − x#F 2 -) ja logit(G) = ln
G
,
1−G
missä x#F 1 ja x#F 2 ovat polttopisteille generoidut ehdokasarvot. Tällöin siis ehdokasarvon
s# generoiva jakauma riippuu nykyisen tilan lisäksi aiemmin generoiduista ehdokasarvoista x#F 1 ja x#F 2 . Tämä ratkaisu on tehokkaampi nykyisiä polttopisteitä käyttävään verrattuna, koska aina hylättäviä arvoja, joissa isoakseli on lyhyempi kuin polttopisteitten välimatka, ei generoida. Kyseessä ei ole puhdas satunnaiskävely, sillä parametrit generoidaan
lausekkeilla
2
s# = (s − -x#F 1 − x#F 2 -)ew1 + -x#F 1 − x#F 2 - , w1 ← N(0,σln
s ),
1
2
g# =
1−g −w2 , w2 ← N(0,σlogit(g) ).
1+ g e
Koska satunnaisluvut wi ovat origon suhteen symmetrisesti jakautuneet, nykyisten ja ehdokasarvojen paikkoja yllä olevissa yhtälöissä voidaan vaihtaa, joten molemmat ehdokasjakaumat ovat symmetrisiä yhtälön (2.13) mielessä.
3. Kuuluvuusalueen estimointi
15
Algoritmin toiminnan kannalta ehdokasjakaumien valinta on hyvin kriittinen. Ehdokaskeskihajonnat on kokeilemalla asetettu sellaisiksi, että algoritmi toimisi useimmissa
tapauksissa mahdollisimman hyvin. Jotta ehdokaskeskihajontojen arvioinnissa voidaan
huomioida sovitettavien ellipsien mahdolliset suuruusluokkaerot, käytetyt keskihajonnat
on asetettu riippumaan havaintopisteitten otoskeskihajonnasta. Sovelluksissa sen laskeminen ei välttämättä ole rajoittuneen laskentakapasiteetin vuoksi mahdollista, joten tässäkin voitaisiin mahdollisesti hyödyntää prioritietoa. Ehdokaskeskihajonnoille on asetettu
minimi, jotta algoritmi kävisi läpi koko tila-avaruuden myös hyvin pienillä datamäärillä.
Minimi on pyritty asettamaan siten, että algoritmi toimisi muutamalla lähekkäin sijaitsevalla havaintopisteellä. Koska ei-degeneroituneen normaalijakauman arvoalue on koko
avaruus, apulauseen 6 ehto on voimassa.
Kaikki komponentit päivitetään kerralla. Erilaisia komponenteittaisen päivityksen mahdollisuuksia on tutkittu, mutta ne lisäävät merkittävästi ohjelman ajankulutusta, eikä niitten kuitenkaan todettu oleellisesti parantavan radiokartan tarkkuutta.
3.3
Uskottavuusfunktio
Alkeisgeometriasta tiedetään ellipsin pinta-ala isoakselin pituuden s sekä polttopisteitten
xF 1 ja xF 2 funktiona.
A = π$isopuoliakseli $pikkupuoliakseli
=
?2
>
-xF 1 − xF 2 s ( s )2
−
=π
2
2
2
<
s s2 − -xF 1 − xF 2 -2
=π
.
4
Lisäksi tiedetään, että piste y = [yx ,yy ]T on ellipsin sisäpuolella, jos ja vain jos
-y − xF 1 - + -y − xF 2 - < s.
Näin ollen yksittäisen kuuluvuusalueen oikeellisten havaintojen uskottavuusfunktio on
foikeelliset (y | x) =
H(s − -y − xF 1 - − -y − xF 2 -)
√
,
s s2 −&xF 1 −xF 2 &2
π
4
(3.5)
missä H tarkoittaa Heavisiden funktiota. Funktion muuttuja x on ellipsiparametreista
koostuva vektori. Virheellisten jakauma on ympyrä, jonka sisällä kaikki havainnot ovat.
Koska virheympyrä sovitetaan siten, että kaikki havinnot ovat sen alueella, virheellisten
3. Kuuluvuusalueen estimointi
16
havaintojen uskottavuusfunktio on
fvirheelliset (y | x) =
1
,
πa2
(3.6)
Tässä mallissa siis oletetaan, että myös kuuluvuusalueella voi kaavan (3.7) mukaisesti
olla virheellisiä havaintoja.
Kun siis oletetaan tunnetut havaintopisteet toisistaan riippumattomiksi ehdolla ellipsiparametrit, havaintojoukon y1 : n uskottavuusfunktioksi saadaan
$(y1 : n |x,g)
n
@
=
(gfoikeelliset (yi | x) + (1 − g)fvirheelliset (yi | x))
(3.7)
i=1
=
n
@


− xF 1 - − -yi − xF 2 -)
1
g H(s − -yi √
+ (1 − g) 2 
2
2
πa
s s −&xF 1 −xF 2 &
i=1
π
4
virheympyrän alueella, muualla uskottavuus on nolla. Uskottavuusfunktion arvot ovat
käytännössä hyvin pieniä, joten kertolasku johtaa liukuluvuilla laskettaessa yleensä alivuotovirheeseen. Alivuodon välttämiseksi käytetään tämän funktion logaritmeja. Tämä
suurentaa lukujen itseisarvoja ja muuttaa kertolaskun yhteenlaskuksi.
Virheympyrän parametrien määräämiseksi lasketaan pienin koko havaintopistejoukon
sisältävä sivuiltaan koordinaattiakselien suuntainen suorakulmio, ja käytetään virheympyrän säteenä a tämän suorakulmion lävistäjän puolikasta ja keskipisteenä aC tämän puoliväliä. Asetetaan säteelle lisäksi minimi. Hyvin pienellä virheympyrän säteellä uskottavuusfunktion arvot ovat hyvin suuria, jolloin virheympyrän vaikutus koko kuuluvuusaluejakaumaan on suhteettoman suuri ja oikeellisten havaintojen jakauman siis pieni. Tällä
menetelmällä valittu virheympyrä ei myöskään kasva havaintopisteitten hajontaan nähden
suhteettoman suureksi, jolloin virheellisten jakauman tiheys olisi lähellä nollaa. Tällöin
uskottavusfunktio (3.7) ei siis juurikaan painottaisi virheellisiä havaintoja ja ulkolaiset
voisivat häiritä estimointia.
3.4
Posteriorijakauma
Jos tietystä kuuluvuusalueesta ei ole olemassa aiemmin laskettua radiokarttaa, kuuluvuusalueen sijainnista ei ole prioritietoa. Halutaan mahdollisimman pieni oikeelliset havainnot sisältävä ellipsi. Valitaan siis priorijakaumaksi sijaintiparametreille tasajakauma
ja muotoparametrin logaritmille tasajakauma, joka johtaa muotoparametrin käänteisluvulla kertomiseen. Valitaan siis ellipsiparametrien prioriksi
1
p(x,g) = p(xF 1 ,xF 2 ,s,g) = .
s
(3.8)
3. Kuuluvuusalueen estimointi
17
Priori ei normalisoidu, mutta tällä ei ole merkitystä, koska uskottavuusfunktion kantaja on
rajoitettu joukko. Testattiin myös prioria, joka pyrki pienentämään polttopisteitten välistä
etäisyyttä mikä johti kuitenkin helposti ympyränmuotoiseen kuuluvuusalueeseen. Informatiivisemman priorin käyttö on ilmeisesti perusteltua vain, jos radiokartasta on olemassa
aiemmin laskettua tietoa.
Estimoitava posteriorijakauma on Bayesin säännön nojalla
π(x,g | y1 : n ) ∝ $(y1 : n | x,g)p(x,g),
(3.9)
joten MH-suhde on tässä tapauksessa
r(x# ,x) =
3.5
s
exp (ln $(y1# : n |x# ,g # ) − ln $(y1 : n |x,g)) .
s#
(3.10)
Keskipisteen ja kovarianssimatriisin laskeminen
Muotoillaan analyyttinen lauseke keskipisteen eli kuuluvuusaluejakauman odotusarvon ja
kovarianssimatriisin estimaattoreille olettaen, että tunnetaan estimaattorit ellipsiparametreille. Olkoon nyt Z kuuluvuusaluejakauman mukaisesti jakautunut satunnaismuuttuja.
Sen ellipsiparametrien suhteen ehdollisen jakauman odotusarvo eli keskipisteen estimaattori on
µ = E(Z | X,G)
$
= zf (z | X,G) dz
$
= z(Gfoikeelliset (z | XF 1 ,XF 2 ,S) + (1 − G)fvirheelliset (z)) dz
$
$
= G zfoikeelliset (z | XF 1 ,XF 2 ,S) dz + (1 − G) zfvirheelliset (z) dz
(3.11)
= Gµoikeelliset + (1 − G)µvirheelliset
XF 1 + XF 2
=G·
+ (1 − G) · aC .
2
Ennustejakauman kovarianssimatriisille voidaan johtaa seuraava lauseke.
Σ = var(Z)
= E(ZZ T ) − µµT
$
= zz T (Gfoikeelliset (z) + (1 − G)fvirheelliset (z)) dz − µµT
$
$
T
= G zz foikeelliset (z) dz + (1 − G) zz T fvirheelliset (z) dz − µµT
= G(Σoikeelliset + µoikeelliset µT
oikeelliset )
T
+ (1 − G)(Σvirheelliset + µvirheelliset µT
virheelliset ) − µµ .
(3.12)
3. Kuuluvuusalueen estimointi
18
Kaavan (3.4) nojalla ellipsin alueelle tasajakautuneen satunnaismuuttujan kovarianssimatriisi on
6
 S
7
0
:
;
T
2 A
A
1
,
(3.13)
Σoikeelliset =
A B 
B S C2 ( &XF 1 −XF 2 & )2 
T
4
B
0
−
2
2
missä
XF 1 − XF 2
, ja
-XF 1 − XF 2 6
7
A2
B =
.
−A1
A =
Matemaattisesti perustelluin estimaatti kuuluvuusalueelle saataisiin laskemalla odotusarvo ja kovarianssimatriisi jokaisella MH-algoritmin kierroksella ja ottamalla lopuksi
keskiarvot, mutta laskenta-ajan säästämiseksi estimaatit lasketaan MH-algoritmin simuloimien parametrinäytteitten keskiarvoista.
3.6
Posteriorin aikainvariantti päivittäminen
Olemassa olevaa radiokarttaa halutaan päivittää uusilla havaintopisteillä yn+1:m tuntematta edellisiä havaintopisteitä y1:n ja tallettamalla päivitysten välillä mahdollisimman vähän lukuja. Oletetaan uusien havaintojen tulevan samasta jakaumasta kuin aikaisempienkin havaintopisteitten (aikainvarianttius). Tällöin seuraavan lauseen nojalla olemassa olevaa posteriorijakaumaa voidaan käyttää priorijakaumana uutta posterioria estimoitaessa.
Symboli ∝ tarkoittaa suoraan verrannollisuutta estimoitavien parametrien suhteen.
Lause 9.
π2 (x,g | y1 : m ) ∝ $(yn+1 : m | x,g)π1 (x,g | y1 : n ).
(3.14)
Todistus. Merkitään tässä kirjaimella p aina niitten satunnaismuuttujien tiheysfunktiota, joihon muuttujasymboleilla kulloinkin viitataan. Käytetään ehdollisen tiheysfunktion
määritelmää:
p(x,g | y1 : m ) = p(x,g | y1 : n ,yn+1 : m )
p(x,g,y1 : n ,yn+1 : m )
p(y1 : n ,yn+1 : m )
p(yn+1 : m | x,g,y1 : n )p(x,g | y1 : n )p(y1 : n )
=
.
p(yn+1 : m | y1 : n )p(y1 : n )
=
3. Kuuluvuusalueen estimointi
19
Mittaukset oletetaan toisistaan riippumattomiksi ehdolla jakauman parametrit, joten pätee
p(x,g | y1 : m ) =
p(yn+1 : m | x,g)p(x,g | y1 : n )
p(yn+1 : m | y1 : n )
∝ p(yn+1 : m | x,g)p(x,g | y1 : n ).
Päivitetty posteriori voidaan siis laskea aikaisemmin esiteltyä vastaavalla MH-algoritmilla, jossa priorina on edellinen posteriori π1 (x,g | y1 : n ). Käytetään edelleen uskottavuusfunktiona $(yn+1 : m | x,g) kaavan (3.7) mukaista tasajakautuneen ellipsin ja tasajakautuneen virheympyrän mikstuuria. Virheympyrän parametrit lasketaan jokaisella päivityskerralla uudesta pistejoukosta.
Laskennan yksinkertaistamiseksi ja radiokarttaan tallennettavien parametrien määrän
pienentämiseksi oletetaan, että parametrien XF 1,1 , XF 1,2 , XF 2,1 , XF 2,2 , S ja G yhteisjakauma on normaali. Tällöin prioritiheyksien laskemiseen voidaan käyttää yleisimpiin
tilasto-ohjelmistoihin kuuluvaa moniulotteisen normaalijakauman tiheysfunktiota. Jotta
päivittäminen onnistuisi, priorista on odotusarvona käytettävän vanhan radiokarttaellipsin lisäksi tunnettava radiokarttaparametrien kovarianssimatriisi. Seurauksen 4 nojalla parametrien varianssia voidaan estimoida MH-algoritmin näytehistorioista lasketulla otoskovarianssimatriisilla. Sen laskeminen on yksinkertaista, mutta symmetrisessä 6 × 6matriisissa on 21 vapausastetta, mikä on varsin paljon. Siksi oletetaan parametrit toisistaan riippumattomiksi. Tämä vähentää vapausasteitten määrän kuuteen mutta ei testien
perusteella näytä vaikuttavan tuloksiin merkittävästi. Yksi mahdollisuus voisi olla vakiokovarianssin käyttäminen; päivitysjakauman muotoparametrin karkeahkokaan approksimointi ei välttämättä heikennä tulosta oleellisesti.
20
4.
ALGORITMIN TESTAUSTA
Tässä kandidaatintyössä esiteltävän algoritmin toteuttavat MATLAB-funktiot ovat saatavilla osoitteessa http://math.tut.fi/posgroup/nurminen2011a_koodit.html samoin kuin tässä kappaleessa esiteltyjen testien toteutukset.
4.1
Yleistä
Monimutkainen kuusiulotteinen jakauma vaatii MCMC-algoritmilta varsin paljon. Teoriassa ongelman dimensio ei vaikuta ketjun suppenemiseen, mutta käytännössä jakauman
monimutkaisuus vaikuttaa huomattavasti ketjun estimointiominaisuuksiin.
Vaikka ehdokasjakauma asetettiin riippuvaksi saadun näytteen koosta, optimaalisen
ehdokasjakauman varianssin kaava vaikutti riippuvan tehtävän mittasuhteista. Ehdokasjakaumien varianssien oli oltava suhteellisen pieniä, jotta hyväksymisprosentin pieneneminen ei tekisi algoritmista liian tehotonta. Tällöin esiintyi kuitenkin yksittäistapauksia,
joissa tulosellipsi ei silmämääräisesti tarkastellen selvästikään ollut optimaalinen. Näissä
tapauksissa voitiin siis tulkita, että parametrijakaumassa oli useita huippuja, ja algoritmi
oli juuttunut ”väärään” huippuun.
Pienet ehdokasvarianssit aiheuttivat monissa tapauksissa varsin voimakkaan burn-inilmiön; usein näytehistoriakuvaajan tasaantuminen vaati jopa noin tuhat iteraatiokierrosta.
Ongelmaa pyrittiin korjaamaan kehittämällä ketjun alkuarvojen generointia. Algoritmin
toimintakyvyn havaittiinin olevan varsin herkkä ketjun alkuarvojen suhteen.
Joissain tapauksissa hyväksymistodennäköisyydet olivat varsin pienistä ehdokasjakauman variansseista huolimatta hyvin pieniä. Testien mukaan suhteellisen luotettava raja,
jonka jälkeen ketjun keskiarvona saatu ellipsi näytti useimmissa tapauksissa pysyvän varsin muuttumattomana, oli noin 2500 MH-iteraatiota. Laskennallisesti algoritmi on siis
hyvin raskas.
Kuvasarjassa 4.1 ovat kuvasarjan 4.2 vasemmapuoleisen tilanteen näytehistoriat, joista
ei ole poistettu burn-in-osuuksia. Tässä tapauksessa keskimääräinen hyväksymistodennäköisyys näyttää olevan varsin alhainen, mutta testien perusteella ei voida sanoa, että näin
olisi yleensä.
4.2
Virheellisen havainnon tunnistus
Simuloitiin joukko pisteitä ellipsin muotoisesta tasajakaumasta sekä muutama ulkolainen.
Kuvassa 4.2 vertaillaan MH-algoritmin laskemia ellipsejä ilman näitä ulkolaisia sekä ul-
4. Algoritmin testausta
21
x
x
F1,1
100
400
0
200
−100
0
−200
0
500
1000
1500
2000
2500
−200
0
500
xF2,1
F1,2
1000
1500
2000
2500
1500
2000
2500
1500
2000
2500
xF2,2
200
0
100
−200
0
−100
0
500
1000
1500
2000
2500
−400
0
500
1000
s
g
760
1
740
0.95
720
0.9
700
0
500
1000
1500
2000
2500
0.85
0
500
1000
Kuva 4.1: Esimerkkejä näytehistoriasta.
kolaiset mukaan ottaen. Ellipsin muotoisesta tasajakaumasta generoituun 100 havainnon
pisteistöön lisättiin kolme viiden ulkolaishavainnon ryhmää.
gˆ = 0,952
Ilman ulkolaisia
Ulkolaiset mukana
gˆ = 0,914
Ilman ulkolaisia
Ulkolaiset mukana
gˆ = 0,906
Ilman ulkolaisia
Ulkolaiset mukana
Kuva 4.2: Lisättiin virheellisiä havaintoja viiden havainnon ryhmissä.
Testien perusteella pienet määrät virheellisiä havaintoja eivät yleensä vaikuta ellipsin
odotusarvoon merkittävästi. Näytehistorioitten perusteella virheelliset havainnot vaikuttivat lähinnä oikeellisuustodennäköisyyttä kuvaavaan parametriin G. Tämän parametrin
ollessa pieni kuuluvuusalueen kovarianssin laskennassa painotetaan tavallista enemmän
virheympyrää, mikä suurentaa kovarianssia.
4. Algoritmin testausta
4.3
22
Havaintopisteen moninkertaistaminen
Käytettiin testiaineistona havaintopistejoukkoa, joka sisälsi aluksi kuvasarjassa 4.3 näkyvät 100 pistettä ja johon sovitettiin MH-algoritmilla kuvaajaan piirretty ellipsi. Moninkertaistettiin kuvasarjassa punaisella merkittyä pistettä ja sovitettiin MH-algoritmilla uusi
ellipsi.
Kuvasarjassa 4.3 moninkertaistettu piste on ellipsin keskellä, kun taas kuvasarjassa
4.4 moninkertaistettu piste on ellipsin reunalla. Testien perusteella keskellä oleva moninkertaistettu piste ei varsin huomattavallakaan moninkertaistuksella vaikuta olennaisesti
laskennan tulokseen. Reunalla olevan pisteen moninkertaistaminen vaikuttaa selvästi herkemmin, mutta tällöinkin vaikutus näyttäisi olevan merkittävä vasta alkuperäistä pistejoukkoa suuremmalla moninkertaistuksella.
Todellisuudessa havaintosarjat saattavat olla simuloitua tilannetta paljon epäsäännöllisempiä, ja testeissä havaittiinkin myös tilanteita, joissa moninkertaistettu piste häiritsi
ellipsin estimaattia havaintosarjan kokoon nähden pienemmilläkin moninkertaistuksilla.
50 pistettä lisätty
200 pistettä lisätty
Ilman monink.
Monink. mukana
Monink. piste
500 pistettä lisätty
Ilman monink.
Monink. mukana
Monink. piste
1000 pistettä lisätty
Ilman monink.
Monink. mukana
Monink. piste
Kuva 4.3: Punaisella merkittyä pistettä on moninkertaistettu.
Ilman monink.
Monink. mukana
Monink. piste
4. Algoritmin testausta
23
50 pistettä lisätty
200 pistettä lisätty
Ilman monink.
Monink. mukana
Monink. piste
500 pistettä lisätty
Ilman monink.
Monink. mukana
Monink. piste
1000 pistettä lisätty
Ilman monink.
Monink. mukana
Monink. piste
Kuva 4.4: Punaisella merkittyä pistettä on moninkertaistettu.
Ilman monink.
Monink. mukana
Monink. piste
4. Algoritmin testausta
4.4
24
Posteriorin aikainvariantti päivittäminen
Posteriorin aikainvarianttia päivitystä testattiin neljällä eri varianssimallilla. Vähiten vapausasteita, 12, on mallissa, jossa kaikki ellipsiparametrit oletetaan riippumattomiksi toisistaan ja saadaan siis kuusi erillistä normaalijakaumaa. 14 vapaustasteen mallissa kunkin polttopisteen karteesisille koordinaateille lasketaan korrelaatiot, ja 18 vapausasteen
mallissa kaikki polttopistekoordinaatit voivat korreloida keskenään. Täysin korreloivassa
mallissa on 21 vapausastetta.
Kuvassa 4.5 on radiokartan muodostaminen neljässä vaiheessa korreloimattomalla mallilla (kovarianssimatriisi diagonaalinen). Havaitaan, että ellipsi lähestyy ilman päivitystä
laskettua ellipsiä. Testit osoittivat, että korreloimaton päivitys on likimain yhtä tehokas
kuin monimutkaisemmatkin mallit.
Koko pistejoukko
1 ensimm ist joukkoa
Koko pistejoukko
2 ensimm ist joukkoa
Koko pistejoukko
3 ensimm ist joukkoa
Koko pistejoukko
4 ensimm ist joukkoa
Kuva 4.5: Radiokartan päivitys korreloimattomalla mallilla (vasemmalta oikealle, ylhäältä alas).
4×50 simuloitua havaintopistettä.
Testien perusteella oletus jakauman pysymisestä vakiona on hyvin kriittinen. Jos siis
joissain päivitysvaiheissa pisteitä tulee vain tietystä osasta kuuluvuusaluetta, algoritmi on
epäluotettava. Ellipsin isoakselin lyheneminen kasvattaa uskottavuusfunktion (3.7) arvoa
nopeammin, kuin se pienentää normaalijakauman tiheysfunktion arvoa.
25
5.
JOHTOPÄÄTÖKSET
Tässä kandidaatintyössä esitettiin menetelmä ellipsinmuotoisen kuuluvuusalueen sijaintija muotoparametrien estimoimiseen sormenjälkimittausten perusteella. Menetelmä perustui Metropolisin ja Hastingsin otanta-algoritmiin, joka on Markovin ketjuun perustuva satunnaisalgoritmi (MCMC-algoritmi). Sovelluksessa mittauksia kerättäisiin kuuluvuusalueella sijaitsevien paikannustoiminnolla varustettujen liikkuvien päätteitten avulla. Mittaus
sisältää liikkuvan päätteen paikan sekä sen havaitsemat kuuluvuusalueet.
Kuuluvuusaluetta mallinnettiin ellipsinmuotoisen tasajakauman ja virheellisien havaintojen lähteeksi oletetun tasajakauman mikstuurina. Mittaukset oletettiin siis tästä jakaumasta generoduiksi näytteiksi.
Tässä työssä algoritmin testaamiseen käytettiin ainoastaan simuloituja mittauksia. Yleisesti ottaen algoritmin puutteena oli huomattava laskennallinen raskaus. Ehdokasjakauman varianssit oli asetettava suhteellisen pieniksi, mikä aiheutti monissa tapauksissa varsin voimakkaan burn-in-ilmiön. Joissakin tapauksissa tästä seurasi myös ketjun suppenemisen sellaisia arvoja kohti, jotka eivät silmämääräisen tarkastelun perusteella olleet
optimaalisia ratkaisuja. Algoritmin toiminta vaikutti olevan varsin herkkä sekä ehdokasjakauman varianssien että Markovin ketjulle laskettujen alkuarvojen suhteen. Ainakin alkuarvojen laskennassa onkin syytä hyödyntää prioritietoa, jos sitä on saatavilla.
Erityisesti testattiin algoritmin toimintaa joissakin kriittisiksi arvioiduissa tapauksissa.
Testien perusteella pienet määrät ulkolaishavaintoja eivät useimmissa tapauksissa häiritse
estimaattia olennaisesti vaan näissä tilanteissa virheellisten havaintojen jakauma painottuu. Algoritmi toimii ainakin simulaatioissa varsin hyvin myös tapauksissa, joissa pienelle osalle kuuluvuusaluetta on keskittynyt suuri osa havainnoista, eikä sen laskema ellipsi
siis keskity kovin nopeasti tuon osan ympärille. Algoritmin etuna onkin joustavuus vaikeissa tilanteissa. Suurten lukujen lain nojalla algoritmin avulla on ainakin periaatteessa
mahdollista estimoida optimaaliset parametrit mielivaltaisen tarkasti lisäämällä laskennan määrää. Lisäksi ketjun alkuarvojen ja ehdokasjakaumien varianssien laskentakaavoja
voidaan periaatteessa optimoida tilanteen mukaan.
Testattiin myös kuuluvuusalueen päivittämistä uusilla havainnoilla siten, että välillä
tallennettiin vain kuuluvuusalueen parametrit. Algoritmi toimii tässä tapauksessa hyvin
vain, jos uudet havainnot noudattavat likimain samaa jakaumaa kuin priorin muodostamiseen käytetyt havainnotkin. Jos havaintojen jakaumat poikkeavat, algoritmi on epäluotettava.
26
KIRJALLISUUTTA
[1] Richard A Johnson and Dean W Wichern. Applied Multivariate Statistical Analysis.
Prentice-Hall, 3rd edition, 1982.
[2] John F. Monahan. Numerical Methods of Statistics. Cambridge University Press,
2001.
[3] Esa Nummelin. MC’s for MCMC’ists. International Statistical Review / Revue Internationale de Statistique, 70(2):215–240, 2002.
[4] Gareth O. Roberts and Jeffrey S. Rosenthal. General state space Markov chains and
MCMC algorithms. Probability Surveys, 1:20–71, 2004.
[5] Luke Tierney. Markov Chains for Exploring Posterior Distributions. The Annals of
Statistics, 22(4):1701–1728, 1994.