Sunteți pe pagina 1din 32

Curs 12.

Modele Markov cu stri invizibile (Hidden Markov


Models)

Biblio: cap. 11 din An introduction to Bioinformatics


algorithms, N.Jones, P. Pevzner
Cap. 3 din Biological sequence analysis, R. Durbin at al.

Biostatistica si bioinformatica (2016) - Curs


12
Modele Markov cu stari invizibile

Motivaie

Modele Markov

Problema identificrii secvenelor CG i problema monedei false

Structura unui model Markov cu stri invizibile

Algoritm de decodificare

Algoritmul Forward-Backward

Biostatistica si bioinformatica (2016) - Curs


12
Motivatie
In problemele studiate n cursurile anterioare s-a utilizat urmtoarea ipotez
simplificatoare:

Frecvena de apariie a nucleotidei x pe poziia i este independent de


frecvena de apariie a nucleotidei y pe poziia (i+1):

P(s(i)=x,s(i+1)=y)=P(s(i)=x)P(s(i+1)=y)

In realitate evenimentele corespunztoare unor poziii succesive n secvena


ADN nu sunt independente:

P(s(i)=x,s(i+1)=y)=P(s(i+1)=y|s(i)=x)P(s(i)=x)

Aceasta dependen poate fi descris printr-un model Markov simplu

Biostatistica si bioinformatica (2016) - Curs


12
Modelul Markov simplu
Se folosete pentru a descrie succesiuni de evenimente (stri) dependente
caracterizate prin faptul ca starea de la momentul (i+1) este influenat de
starea de la momentul i (distribuia de probabilitate a strii corespunztoare
momentului (i+1) depinde doar de starea si):

P(si+1=xi+1|si=xi,si-1=xi-1,,s0=x0)=P(si+1=xi+1|si=xi)

Probabilitatea s se observe o secvena x0x1xL este

P(x0x1xL)=P(xL|xL-1)P(xL-1|xL-2)P(x1|x0)P(x0)

Pentru a putea calcula probabilitatea de apariie a unei secvene este


suficient s fie cunoscute probabilitile de tranziie ntre oricare dou stri
(acestea formeaz aa numita matrice de tranziie).

Biostatistica si bioinformatica (2016) - Curs


12
Modelul Markov simplu
Matrice de tranziie.
Se presupune c probabilitatea de tranziie dintr-o stare n alta nu depinde
de momentul tranziiei (modelul este omogen)
Intruct mulimea strilor este finit se poate considera ca starea este
descris prin indicele ei n mulimea de valori
Pe linia k i coloana l a matricii de tranziie se afl probabilitatea de tranziie
din starea k n starea l:

akl=P(si+1=l|si=k) pentru un i arbitrar

Suma elementelor de pe fiecare linie a matricii este egal cu 1 (valorile de pe


fiecare linie formeaz o distribuie de probabilitate)
Daca probabilitatea de tranziie ar depinde de i atunci modelul nu ar fi
omogen i nu ar fi suficient o singur matrice de tranziie

Biostatistica si bioinformatica (2016) - Curs


12
Modelul Markov simplu
Exemplu: Presupunem ca mulimea strilor posibile este {A,C,G,T}. Trecerea
dintr-o stare n alta poate fi ilustrat printr-o diagram de stare avnd arcele
etichetate cu probabiliti

A C G T

A T A 0.180 0.274 0.426 0.120

C 0.171 0.368 0.274 0.188


C G
G 0.161 0.339 0.375 0.125

T 0.079 0.355 0.384 0.182

Matrice de tranziie
Biostatistica si bioinformatica (2016) - Curs
12
Problema insulelor de tip CG
Insula de tip CG = secven n care perechea CG este frecvent

In cazul n care fiecare nucleotid are probabilitatea de apariie 1/4, i se


consider c nucleortidele consecutive sunt realizri ale unor variabile
aleatoare independente, probabilitatea de apariie a unei perechi de
nucleotide este circa 1/16

In realitate frecvena de apariie a perechilor de nucleotide poate fi mult


diferit de 1/16

De exemplu perechea CG apare rar, frecvena ei fiind mai mica de 1/16.


Principala cauz: C se transforma uor n T prin metilare

Totui procesul de transformare a lui C n T este inhibat n vecintatea


genelor (n poriunile promotoare ale genelor), unde pot apare aa-numitele
insule de CG

Identificarea acestor insule este o problem important. Dificultatea const n


faptul c nu se cunoate structura secvenei cutate ci doar faptul c
distribuia simbolurilor (perechi CG) ce apar este diferit fa de restul
secvenei Biostatistica si bioinformatica (2016) - Curs
12
Problema insulelor de tip CG
Insula CG
Poriunile n care perechile de tip
CG sunt frecvente se M1 A C G T
caracterizeaz prin matrici de
tranziie diferite de celelalte A 0.180 0.274 0.426 0.120
poriuni
C 0.171 0.368 0.274 0.188
Fiecare poriune se G 0.161 0.339 0.375 0.125
caracterizeaz printr-un alt
model T 0.079 0.355 0.384 0.182

Problema: cum se poate M2 A C G T


identifica care model este mai
A 0.300 0.205 0.285 0.210
potrivit ?
C 0.322 0.298 0.078 0.302
Exemplu: probabiliti de
tranziie estimate pornind de la
G 0.248 0.246 0.298 0.208
60000 de nucleotide T 0.177 0.239 0.292 0.292
Regiune diferit de o insul
Biostatistica si bioinformatica (2016) - Curs CG
12
Problema insulelor de tip CG
Cum se poate decide dac o anumit poriune corespunde unei insule
CG sau nu ?

Caz particular: se cunoate lungimea, L, a secvenei corespunztoare


unei insule CG

Fie x o secven de nucleotide pentru care se pune problema dac face


parte sau nu dintr-o insul CG

Se calculeaz logaritmul raportului anselor (log odds ratio)


corespunztoare celor dou modele (M1 i M2): Element din
matricea de tranziie
1
P( x | M 1) L a corespunztoare
S ( x) = log = log
xl 1 xl
modelului M1
2
P( x | M 2) l =1 a xl 1 xl

Biostatistica si bioinformatica (2016) - Curs


12
Problema insulelor de tip CG
Log odds ratio:

P( x | M 1) L a1xl 1xl
S ( x) = log = log 2
P( x | M 2) l =1 a xl 1xl

Interpretare: daca S(x)<0 atunci probabilitatea ca x s corespund


modelului M2 este mai mare dect cea aferent modelului M1; dac
S(x)>0 este mai mare ansa ca x s fi fost generat de modelul M1

Dificultate: nu se cunoate lungimea insulei CG i relaia acesteia cu


lungimea secvenei de analizat astfel c secvena de analizat poate fi
constituit din subsecvene corespunztoare unor modele diferite.

Problem similar: problema monedei false

Biostatistica si bioinformatica (2016) - Curs


12
Problema monedei false
Problema identificrii insulelor CG este similar cu cea a detectrii utilizarii
unei monede false prin analiza rezultatelor mai multor aruncri

Se arunc succesiv o moned, rezultatul nregistrat fiind cap (H-head) sau


pajur (T-Tail)
Dac se folosete o moned corect atunci probabilitile de a obine fiecare
dintre variante sunt egale cu 0.5

Daca se folosete moned fals atunci probabilitile sunt diferite (de


exemplu se obine cap cu probabilitatea i pajur cu probabilitatea )
La fiecare aruncare crupierul poate schimba moneda (inlocuiete moneda
corect cu una fals sau invers) cu probabilitatea 0.1 aceasta curespunde
cu schimbarea modelului

Scopul urmrit: analiznd rezultatele obinute s se poat decide pentru care


aruncri a fost folosit moneda corect i pentru care aruncri s-a folosit
moneda fals.

Biostatistica si bioinformatica (2016) - Curs


12
Problema monedei false
Intrare: o secven x = x1x2x3xn de rezultate obinute n n aruncri
succesive ale unei monede (corecte sau false)

Iesire: o secvena = 1 2 3 n, unde fiecare i este F (fair


moneda corecta) sau B (biased moneda falsa)

Dificultate: orice secven de rezultate poate fi obinut pornind de


la oricare dintre secvenele de stri; apare problema identificrii
secvenei de stri care conduce la cea mai mare probabilitate de a
observa secvena de valori obinute

Biostatistica si bioinformatica (2016) - Curs


12
Problema monedei false
Ipoteza 1: nu se schimb moneda (modelul) de-a lungul secvenei de n
aruncri

Moneda corecta Moneda fals

P(x1xn|F)=(1/2)n P(x1xn|B)=(3/4)k (1/4)(n-k)=3k/4n


k=numr situaii n care s-a obtinut cap

Obs: Daca k=n/log23 atunci P(x1xn|F)= P(x1xn|B) (aceeai probabilitate


de observare pentru ambele tipuri de monede)

Pentru a obtine o informatie despre tipul monedei se poate folosi


log odds ratio:

log2(P(x|F) / P(x|B)) = ni=1 log2(p(xi |F)/ p(xi|B)) = n k log23

Biostatistica si bioinformatica (2016) - Curs


12
Problema monedei false
Ipoteza 2: se schimb moneda (modelul) de-a lungul secvenei de n aruncri
Se calculeaza log-odds ratio pentru subsecvene (folosind o fereastr mobil)

x1x2x3x4x5x6x7x8xn
0
Log-odds value

Probabilitate mare de a se Probabilitate mare de a


fi folosit moneda fals se fi folosit moneda
corect
Dezavantaje:
- Lungimea poriunii corespunztoare unui model (de exemplu a insulei CG nu
este cunoscuta)
- Ferestre de lungimi diferite pot conduce la rezultate diferite pentru aceeai poziie
Biostatistica si bioinformatica (2016) - Curs
12
Model Markov cu stari invizibile
Soluie: utilizarea unui model care s ia n considerare strile ascunse ale
sistemului (cele care specific tipul de moned utilizat) : model Markov cu stri
ascunse (invizibile)

Poate fi interpretat ca fiind un automat abstract cu:

- k stri ascunse (starea curent este necunoscut)


- un alfabet cu simboluri pe care le emite (simbolul generat este
vizibil)

La fiecare etap de evoluie automatul ia dou decizii:

- Care este urmtoarea stare? (exista probabiliti de tranziie ntre stri)

- Ce simbol trebuie generat? (fiecare stare are asociat o distribuie de


probabilitate pentru generarea simbolurilor vizibile)

Biostatistica si bioinformatica (2016) - Curs


12
Model Markov cu stari invizibile
Obs:
- strile sunt invizibile
- sunt vizibile doar simbolurile generate
- n cazul lanurilor Markov strile sunt vizibile ntruct coincid cu simbolurile
observate

Notaii i exemplu (problema monedei false):

: mulimea de simboluri.
Ex.: = {H(ead), T(ail)} (problema monedei false)

Q: mulimea de stri ascunse


Ex: Q={F(air),B(iased)} (problema monedei false)

Biostatistica si bioinformatica (2016) - Curs


12
Model Markov cu stari invizibile
Parametrii modelului:

A = (akl): matrice |Q| x |Q| cu probabilitile de trecere din starea k in


starea l.
aFF = 0.9 aFB = 0.1
aBF = 0.1 aBB = 0.9

E = (ek(b)): matrice |Q| x || ce conine probabiliti de emitere a unui


simbol (b) ntr-o anumit stare (k)

eF(T) = eF(H) =

eB(T) = eB(H) =

Biostatistica si bioinformatica (2016) - Curs


12
Model Markov cu stari invizibile
Diagrama de stri asociat problemei monedei false

Biostatistica si bioinformatica (2016) - Curs


12
Model Markov cu stari invizibile
O cale = 1 n n model este o secven de stri
Exemplu:
Cale: = FFFBBBBBFFF

Secvena de simboluri generate: x = 01011101001 (Head=1, Tail=0)

Probabilitatea de producere a simbolului


xi din starea i
x = 0 1 0 1 1 1 0 1 0 0 1
= F F F B B B B B F F F
P(xi|i) =
P(i-1 i) = 9/ 9 1 9
10 /10 /10 /10
9/
10
9/
10
9/ 1 9 9
10 /10 /10 /10

Probabilitatea de tranziie din starea i-1 n starea i


Biostatistica si bioinformatica (2016) - Curs
12
Model Markov cu stari invizibile
Probleme:

1. Determinarea celei mai probabile secvene de stri (calea) care a


condus la generarea unei secvene de simboluri (problema
decodificrii)

2. Determinarea distribuiei de probabilitate a strilor corespunztoare


observrii unui anumit simbol

Biostatistica si bioinformatica (2016) - Curs


12
Model Markov cu stari invizibile
P(x|): Probabilitatea ca secvena x s fi fost generat de calea :

Scop: fiind dat succesiunea simbolurilor produse se caut secvena de stri


(calea) optimal (de probabilitate maxim).

Input: Secvena de simboluri x = x1xn generate de un model


M(, Q, A, E)

Output: O cale care maximizeaz P(x|)


Probabilitatea de trecere din
Determinarea cii = decodificarea modelului starea i in starea i+1
n
P ( x | )= ao1 e i ( xi )a i i +1
i =1

Probabilitatea Probabilitatea de generare a


strii iniiale simbolului xi
cnd sistemul e n starea i
Biostatistica si bioinformatica (2016) - Curs
12
Algoritm de decodificare a modelului
Algoritmul Viterbi (1969)

Idee de baz: determinarea cii optimale este similar cu identificarea


unei ci in problema turistului in Manhattan

Graf cu |Q|n noduri (corespunztoare strilor fiecreia dintre cele n etape)


|Q|2(n-1) muchii (corespunztoare tranziiilor dintr-o stare n alta: este
posibil trecerea ntre oricare dou stri iar din fiecare stare este posibil
trecerea ctre fiecare dintre simbolurile de ieire)

Fiecare secven de stri = 1 n corespunde unui drum in graf

Direciile de deplasare valid n graf: ctre dreapta (orizontal sau pe


diagonal)

Biostatistica si bioinformatica (2016) - Curs


12
Algoritmul Viterbi
Structura grafului

q1

q2

q3

q4
1 2 3 4 5 6

Biostatistica si bioinformatica (2016) - Curs


12
Algoritmul Viterbi
Direcii de deplasare n graf:

Varianta clasic a problemei Identificarea cii n modelul


turistului (folosit la problema Markov cu stri ascunse
alinierii)

Biostatistica si bioinformatica (2016) - Curs


12
Algoritmul Viterbi
Fiecare cale n graf are asociat un scor reprezentat de probabilitatea
P(x|) (probabilitatea sa se fi observat secventa x la parcurgerea cii ).

Algoritmul Viterbi identific calea ce maximizeaz P(x|) folosind


principiul programrii dinamice

Este necesar stabilirea unui scor pentru fiecare tranziie din (k,i) n
(l,i+1). Acest scor este produsul dintre probabilitatea de trecere din starea
k in starea l i probabilitatea de a emite simbolul xi+1 atunci cnd sistemul
se afla n starea l:

wki,l(i+1)=el(xi+1). akl

Biostatistica si bioinformatica (2016) - Curs


12
Algoritmul Viterbi
Relaia de recuren corespunztoare problemei generice (n care se ajunge n
starea l la etapa i+1):

sl,i+1 = maxk Q {sk,i wki,l(i+1)}=

maxk Q {sk,i akl el (xi+1) }= el (xi+1) maxk Q {sk,i akl}

Cazuri particulare:
sbegin,0 = 1
sk,0 = 0 for k begin.
(begin este o stare fictiv corespunztoare momentului iniial)

Obs: pe prima coloan se va afla valoarea 1 doar pe linia corespunztoare strii


fictive

In implementari se folosete varianta logaritmat (S=log (s)):


Sl,i+1= log(el(xi+1)) + max k Q {Sk,i + log(akl)},

Biostatistica si bioinformatica (2016) - Curs


12
Algoritmul Viterbi
Construirea cii:

- se identific maximul aflat pe ultima coloan (indicele de linie al


maximului indic starea final)

- se parcurge matricea de la ultima coloan ctre prima alegnd la


fiecare etap linia corespunztoare (cea pe care se afl valoarea ce
determin obinerea maximului)

Obs. Pentru a uura construirea cii se poate reine indicele de linie al


elementului pentru care se realizeaz maximul pe fiecare coloan.

Biostatistica si bioinformatica (2016) - Curs


12
Algoritmul Forward-Backward
Problema: determinarea probabilitii unei stri atunci cnd a fost
observat o anumit secven de simboluri (P(i = k|x))

Intrare: secvena de simboluri produse de un model Markov (ex:


succesiune de rezultate obinute prin aruncarea monedei).

Iesire: probabilitatea ca sistemul s se fi aflat ntr-o anumit stare la un


moment dat (de exemplu, probabilitatea ca la o anumit aruncare s se fi
utilizat o moneda fals)

Biostatistica si bioinformatica (2016) - Curs


12
Algoritmul Forward-Backward
Notatii:
fk,i (forward probability) = probabilitatea de a se fi generat secvena de
simboluri x1xi i de a se fi atins starea i = k.

bk,i (backward probability) = probabilitatea de a se fi generat secvena de


simboluri xi+1xn dup ce a fost atins starea i = k.

Probabilitatea ca la momentul i sistemul s fie n starea k

P( x, i = k ) f k ,i bk ,i
P ( i = k | x ) = =
P( x ) P( x )

forward backward

xi

Biostatistica si bioinformatica (2016) - Curs


12
Algoritmul Forward-Backward
Relaia de recuren pentru etapa Forward

f k ,i = ek ( xi ) f l ,i 1alk
lQ

f 0,0 = 1, f k ,0 = 0 pentru k 0
P ( x ) = f k , L ak 0
kQ

Relaia de recuren pentru etapa Backward


bk ,i = el ( xi +1 )bl ,i +1akl
lQ

bk ,L = ak 0
Obs: strile fictive (begin i end) sunt ambele notate cu 0

Biostatistica si bioinformatica (2016) - Curs


12
Estimarea parametrilor
Input: secvena de observaii
Output: matricea de tranziie ntre strile ascunse (A)
matricea cu probabilitile de generare a simbolurilor de
ieire (E)
Idee: se folosete un set de observaii (set de antrenare): x1,,xm
i se determin A i E care maximizeaz:
m

| A, E )
P (
i =1
x i

Observaie: Dac s-ar cunoate o secven de stri


corespunztoare secvenei de simboluri observate atunci s-ar
putea estima elementele lui A i E pe baza frecvenelor de
tranziie ntre dou stri i a frecvenelor de emitere a simbolurilor

Biostatistica si bioinformatica (2016) - Curs


12
Estimarea parametrilor
Abordare euristic (antrenare Viterbi)

Pas 1: se pornete de la o secven aproximativ de stri

Pas 2: se estimeaz A i E pe baza acestei secvene de stri i a


secvenei de simboluri observate

Pas 3: folosind A i E estimate la pasul anterior i secvena de


simboluri observate se determin o nou aproximare a secvenei
de stri (folosind algoritmul Viterbi de decodificare)

Pas 4: se reia de la Pasul 2 pn cnd valorile parametrilor se


stabilizeaz

Biostatistica si bioinformatica (2016) - Curs


12

S-ar putea să vă placă și