Sei sulla pagina 1di 5

Bioinformtica / Biologia Computacional

Introduo a Cadeias de Markov


Representao grfica de uma cadeia de Markov
para uma sequncia de ADN
Matriz de transio

0 .2
0 .4
P=
0 .4

0 .2

0 .1
0 .1
0 .1
0 .5

0.5
0 .2
0 .2
0 .2

0 .2
0.3
0 .3

0.1

Probabilidades de transio
Ex:

P[ X t +1 = A | X t = G ] = 0.4
P[ X t +1 = C | X t = G ] = 0.1
P[ X t +1 = G | X t = G ] = 0.2
P[ X t +1 = T | X t = G ] = 0.3

Bioinformtica / Biologia Computacional

Cadeias de Markov
Sendo o vector de distribuio de probabilidade inicial

i = P( X 0 = i ), i S
Para calcular as probabilidades do estado da sequncia na posio 1,2,...

(j1) = P ( X 1 = j ) = i pij , j S
i

(j 2) = P ( X 2 = j ) = i ( P 2 ) ij , j S
i

Temos que ter em conta o teorema da probabilidade total e as propriedades


da cadeia de MarKov
Tem-se ento as matrizes de transio
a um passo, dois passos...

P (1) = P

P ( 2) = P 2 ...

Bioinformtica / Biologia Computacional

Cadeias de Markov
Se uma cadeia de MarKov for finita, aperidica e irredutvel

j = lim pij( n ) quando n


A distribuio da cadeia ao fim de um n. elevado(?) de transies sempre a
mesma, isto significa que uma distribuio estacionria.
Tem-se ento

j = i pij , j S

= P

notao matricial

sendo

j = P( X 0 = j ), j S

= Pt

P( X t = j ) j

A propriedade acima estabelece que

Bioinformtica / Biologia Computacional

Cadeias de Markov
Exerccio 1.
Considere a seguinte matriz que apresenta as frequncias relativas observadas
de dinucletidos de M. genitalium
A

A 0.146 0.052 0.058


C 0.063 0.029 0.01

G 0.05 0.03 0.028

T 0.087 0.047 0.063

T
0.089
0.056

0.051

0.140

Determine estimativas dos parmetros do modelo de Markov associado a esta


sequncia, i.e., estimativas de:
1- a matriz de transio
2- a distribuio inicial

Bioinformtica / Biologia Computacional

Cadeias de Markov
Exerccio 2. Resoluo com o R
Utilizando o R para obter matrizes de transio a vrios passos

> gen<matrix(c(0.423,0.399,0.314,0.258,0.151,0.184,0.189,0.138,0.168,0.063,0.176,0.187,0.258,0.
354,0.321,0.415),nrow=4,ncol=4)
>gen
>sum(gen[1,])
>gen2<-gen%*%gen
>gen2
gen4<-gen2%*%gen2
gen4

Bioinformtica / Biologia Computacional

Cadeias de Markov
Exerccio 2 - continuao
#Vamos tentar simular uma cadeia com as caractersticas do exemplo
>markov1<-function(x,pi,P,n){
mg<-rep(0,n)
mg[1]<-sample(x,1,replace=T,pi)
for(k in 1:(n-1)){
mg[k+1]<-sample(x,1,replace=T,P[mg[k],])
}
return(mg)
}
>x<-c(1:4)
>pi<-c(0.342,0.158,0.158,0.342)
>P<-matrix(c(.423, .151, .168, .258,.399, .184, .063, .354,.314, .189, .176,
.321,.258, .138, .187, .415),ncol=4,nrow=4,byrow=T)

Bioinformtica / Biologia Computacional

Cadeias de Markov
>P
>
[,1] [,2] [,3] [,4]
[1,] 0.423 0.151 0.168 0.258
[2,] 0.399 0.184 0.063 0.354
[3,] 0.314 0.189 0.176 0.321
[4,] 0.258 0.138 0.187 0.415

Resultado do R
>tmp<-markov1(x,pi,P,5000)
>length(tmp[tmp[ ]==1])
#OU
>sum(tmp[]==1)
veremos que resulta uma frequncia
prxima da que foi dada como modelo

Bioinformtica / Biologia Computacional

Modelos de Markov Escondidos


(HMM)
Um HMM semelhante a uma cadeia de Markov mas possuindo propriedades
que o tornam mais flexvel e portanto permitindo modelar fenmenos mais
complexos.
Principal caracterstica quando um estado visitado pela cadeia de
Markov emite um sinal uma letra que independente do tempo mas
dependente do estado.

Agora ao correr um modelo HMM temos


-Uma sequncia de estados

Q={q1,q2,q3,...}

-E uma sequncia de sinais

O={o1,o2,o3,... }

O que acontece que na maioria dos casos conhece-se a sequncia O, mas


no se conhece Q hidden

Bioinformtica / Biologia Computacional

Modelos de Markov Escondidos


(HMM)
Exemplo

Inicial
q1

Emisso
o1

Transio
q2

Questes de interesse num HMM


A estimao da sequncia de estados escondidos feita do seguinte
modo:
-- escolhe-se a sequncia que apresenta maior probabilidade de ocorrer
dada a sequncia observada

arg max Prob ( Q | O )

Pretende-se Q tal que

Existem algoritmos para


tratar esta abordagem

Bioinformtica / Biologia Computacional

Modelos de Markov Escondidos


(HMM)
Um HMM fica definido por 5 componentes:
- Um conjunto de N estados
- um alfabeto de M smbolos
- a matriz de probabilidade de transio
- as probabilidades de emisso . Para cada estado
i e smbolo a

bi (a ) = Prob(estadoi emitir o smbolo a)

- um vector de distribuio inicial

= [ i ] com i = Prob(estado inicial = i )

Potrebbero piacerti anche