DBN Mitä sillä tekee? Dynaamisten Bayes-verkkojen määrittely aikasarja-analyysissä Janne Toivola jtoivola@iki.fi
Historiaa Bayesin kaavan hyödyntäminen BN-ohjelmistoja ollut ennenkin Tanskalaisten Hugin Expert Adnan Darwiche & co: SAMIAM Ei tarkoitettuja aikasarja-analyysiin
Mitä iloa päättelystä Bayesilaisella päättelyllä tehdään optimaalisia johtopäätöksiä havaitsemattomista asioista Otetaan huomioon esim. aika, paikka, positio kromosomissa tms. konteksti Luokittelu, segmentointi jne. piilomuuttujien avulla Automaattinen puutteellisen datan käsittely
BN: verkko Pohjana muuttujien riippuvuudet ilmaiseva suunnattu syklitön verkko DAG Mallin parametrit muotoa p(c pa(c)) C on riippumaton muista kuin vanhemmistaan pa(c) Muuttujia kuvaavien solmujen välillä kaaret vanhemmista lapsiin
BN: liittymäpuu E.m. verkko soveltuu huonosti inferenssin vaatimiin laskutoimituksiin Täysi yhteis-tn-jakauma tuhlaa muistia Käytettävä vaihtoehtoista esitystapaa nimeltä liittymäpuu Puun solmut tallentavat nk. perheiden yhteistodennäköisyysjakaumia
BN: liittymäpuu Puuhun tallennetut jakaumat nimeltään potentiaaleja (mahd. normalisoimaton) Minimaalinen tapa esittää yhteis-tn-jakauma pienempien tulona Vrt. p(x, y, z) = p(x y) p(y z) p(z) Myös ns. running intersection property
BN: liittymäpuu Esimerkki graafista ja liittymäpuusta A A,B A A,C B C
BN: päättely Päättely tapahtuu levittämällä potentiaaleja painottavia jakaumia naapurisolmuihin puussa Marginalisoimalla saadaan pienempi projektio potentiaalista: φ(a) = B φ(a, B) Kertolaskulla päivitetään potentiaalia uuden evidenssin mukaan: φ(a, C) := φ(a, C) φ(a)
Lisää historiaa Kevin Murphy 2002 Väitöskirja: Dynamic Bayesian Networks: Representation, Inference & Learning Esittää 1.5DBN käsitteen
DBN: aikaviipaleet Aikasarjoja varten toistuvarakenteiset mallit Esim. HMM toistaa pientä verkkoa Esitetään malli viipaleena, jota toistetaan Määritettävä toistuva osa liittymäpuusta laskutoimituksia varten Viipaleen käyttö päättelyssä puoliaskelin
DBN: aikaviipaleet Esimerkki aikaviipaleesta: HMM Q 0 Q 1 Q 2 Q 3 Q t 1 Q t... Y 1 Y 2 Y 3 staattinen BN Y t 1.5DBN
Toteutus: yleistä C-kielinen ohjelmakirjasto Huginin net-tiedostojen jäsennys Muunnos graafeista liittymäpuuksi Aikasarjan lukeminen tiedostosta Edellä kuvattu inferenssi mahd. aikaviipalein EM-algoritmi parametrien oppimiseen
Hugin net-formaatti Malli luetaan Huginin asettaman standardin mukaisesta tiedostosta node-määrittelyt kertovat muuttujat Oma NIP_next kenttä aikaviipalemalleille potential-määrittelyt ehdollisille todennäköisyysjakaumille Graafin rakenne samassa implisiittisesti
Graafista liittymäpuuksi NP-kova osuus liittymäpuun käytössä Muunnos heti net-tiedoston jäsennyksen jälkeen malli = liittymäpuu + muu kirjanpito Nip model = parse_model( hmm.net );
Datan luku tiedostosta Tiedoston 1. rivillä muuttujien nimet Loput rivit aikasarjan askelia Kullakin rivillä muuttujien arvojen nimet Luetaan data tiedostosta aikasarjaa esittäväksi tietorakenteeksi n = read_timeseries(model, data.txt, &n_timeseries);
Päättely Inferenssialgoritmi antaa esim. epävarman aikasarjan UncertainSeries ucs = forward_inference(ts, ts->hidden, ts->num_of_hidden); Annettujen muuttujien kunkin arvon todennäköisyys kullakin hetkellä Esim. yhteistodennäköisyydetkin mahdollisia, mutta implementoimatta
EM-algoritmi Datan likelihoodin laskenta oli hankala Algoritmille annetaan opetettava malli, aikasarjoittain dataa ja kynnysarvo lopetusehtoa varten Aikasarja sisältää viittauksen malliin em_learn(n_timeseries, n, threshold, &learning_curve);
Käytännön kokeilut Laboratoriotesti tunnetusta mallista generoidulla datalla - Havainnollistaa menetelmien toimintaa Kopiolukumuutosten aiheuttamat amplifikaatiot ihmisen perimässä - Osasyyllisiä kasvaimiin (l. syöpään)
Keinodatan mallit Alkuperäinen ja vaihtoehtoinen malli D t C t 1 C t C t 1 C t B t A t B t A t
Oppimiskäyrät 0.8 0.9 Original model Alternative model Average log.likelihood of data during EM algorithm 1 Log. likelihood / time step 1.1 1.2 1.3 1.4 1.5 1.6 0 50 100 150 200 250 Iterations
Inferenssituloksia: C Original samples of C (hidden) Results of inference using the original model & parameters Results of inference using the original model & estimated parameters 10 20 30 40 50 60 70 80 time
Inferenssituloksia: D Original samples of D Input data with missing s Results of inference using the original model & parameters Results of inference using the original model & estimated parameters 10 20 30 40 50 60 70 80 time
Inferenssituloksia: B Original samples of B Input data with missing s Results of inference using the original model & parameters Results of inference using the original model & estimated parameters 10 20 30 40 50 60 70 80 time
Inferenssituloksia: C Vaihtoehtoisen mallin piilotila Original samples of C (hidden) Results of inference using an estimated alternative model 10 20 30 40 50 60 70 80 time
Inferenssituloksia: B Original samples of B Input data with missing s Results of inference using an estimated alternative model 10 20 30 40 50 60 70 80 time
Amplifikaatiodata 100 Samples from DNA copy number amplification data 90 80 70 Tumor cases 60 50 40 30 20 10 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 X Y Chromosome bands
Amplifikaatiomalli Kasvaintyyppi ja amplifikaatiot riippuvat piilomuuttujaketjusta E t 1 E t B t C D t
Oppimiskäyrä 0 Model 1 Average log.likelihood of data during EM algorithm 0.5 1 Log. likelihood / time step 1.5 2 2.5 3 3.5 0 5 10 15 20 25 30 35 40 45 Iterations
Amplifikaatioprofiilit Amplification profiles Urinary_tract Skin_tumor Respiratory_tract Nervous_system Male_genital_organs Hematologic_neoplasms Female_genital_organs Eye_tumor Endocrine_glands Digestive_tract Breast Bone_and_soft_tissue 8p23 8p22 8p21 8p12 8p11.2 8p11.1 8q11.1 8q11.2 8q12 8q13 8q21.1 chromosome band 8q21.2 8q21.3 8q22 8q23 8q24.1 8q24.2 8q24.3
Vielä muuta? Myös ns. pehmeää evidenssiä voisi syöttää havaintoina Jatkuvat muuttujat graafin lehtisolmuina? Paljon sovelluksia ja dataa?