Capítulo 2
Ir al Inicio del CursoTabla de contenido del cursoDescripción del cursoPágina del profesor(a)
Definición de modelos ocultos de Markov

1. MODELOS OCULTOS DE MARKOV

Un Modelo Oculto de Markov (Hidden Markov Model HMM) es un proceso estocástico que consta de un proceso de Markov no observado (oculto) q = {qt}tÎN  y un proceso observado O = {ot}tÎN cuyos estados son dependientes estocásticamente de los estados ocultos, es decir, es un proceso bivariado ( q,O). Los HMMs se pueden considerar también como sistemas generativos estocásticos, los cuales se emplean en la modelación de series de tiempo.

1.1. CADENAS DE MARKOV

Una cadena de Markov q = {qt}tÎN es un proceso estocástico de Markov discreto. Un proceso estocástico se llama de Markov si conocido el presente, el futuro no depende del pasado,  esto quiere decir, que dada una variable estocástica qt-1 que denota el estado del proceso en el tiempo t-1, entonces la probabilidad de transición  en el momento t se define como:
P[qt =
st | qt-1 = st-1]
Formalmente, una cadena de Markov se define como (Q,A), donde Q = {1,2,,...,N} son los posibles estados de la cadena y A = (aij)nxnes una matriz de transición de estados en el modelo.
Si A(t) = aij(t)nxn es independiente del tiempo entonces el proceso se llama homogéneo y las probabilidades de transición de estados son de la forma aij(t) = P[qt = j | qt-1= i] con las siguientes propiedades:

La condición fundamental de que sea una cadena de Markov establece que las probabilidades de transición y emisión dependen sólamente del estado actual y no del pasado, esto es,  P[qt = j | qt-1= i, qt-2 = k, ... ] = P[qt = j | qt-1= i] = aij(t).

Por ejemplo, la secuencia resultante de lanzar una moneda k veces es un proceso estocástico. Los estados del sistemas son dos: cara y sello. Estos a su vez conforman el espacio muestral pues son el conjunto de todos los estados posibles de nuestro experimento.

Ejemplo 1.
Supongamos que los resultados de lanzar una moneda 10 veces son los siguientes:

ccsccscscs

Si hacemos que el número de lanzamientos k creciera hasta el infinito, podemos aproximarnos a la probabilidad de que ocurra el evento cara o sello de la siguiente forma:

P(cara) = veces que aparece cara / k

Ejemplo 2.
Supongamos que queremos modelar en un dominio de solo 4 eventos posibles: ATG. GTC, TTG y CTG y que representan el codon de inicio de una bacteria hipotética llamada M.nasty1. y de M.nasty2.

Asignamos las probabilidades a los eventos en el modelo M1 y a un segundo modelo M2 respectivamente.

 
Modelo M1
Modelo M2
P(X=ATG)
0.8
0.6
P(X=GTC)
0.1
0.1
P(X=TTG)
0.07
0.2
P(X=CTG)
0.03
0.1
 
P(M1) = 0.4
P(M2)=0.6

Si observamos que ocurre el evento X = ATG es posible que nos interese averiguar de cual modelo proviene este evento.

Para solucionar este problema, se deben recordar los siguientes conceptos:

  1. La probabilidad condicional:
    P(A/B) = P(A,B) / P(B)
    P(B/A) = P(B,A) / P(A)
  2. La probabilidad de que ocurran dos eventos independientes simultáneamente es:
    P(A,B) = P(A)P(B)
  3. Si los eventos son independientes entonces:
    P(A/B) = P(A)
    P(B/A) = P(B)
  4. Teorema de Bayes
    P(A/B) = P(B/A)P(A) / P(B)
  5. Teorema de la eliminación:
    P(B) = S P(B/Ai)P(Ai)
    P(A/B) = P(B/A)P(A) / S P(B/Ai)P(Ai) (Este es el mismo teorema de Bayes)

Se sabe que X puede pertenecer al modelo M1 con una P(X/M1) = 0.8 o que puede X puede pertenecer al modelo M2 por con una P(X/M2) = 0.6.

Si se cumple que P(M1/X) > P(M2/X) podemos asumir con cierta certeza que X viene de M1.

Aplicando el teorema de Bayes se obtiene:

P(M1/X) = P(X/M1)P(M1) / P(X), y P(M2/X) = P(X/M2)P(M2) / P(X)

Sí P(M1/X) > P(M2/X)
entonces P(X/M1)P(M1) > P(X/M2)P(M2)
...................0.8..x..0.4.....>......0.6..x...0.6
................... ..........0.32 ..> ..0.36

Esto nos dice que es más probable que el evento X provenga del modelo M2.

Las cadenas de markov se pueden estudiar construyendo una matriz de transisiones que describa las tranciones entre los estados.

Ejemplo 3.
Los rasgos característicos de la persona como el color de los ojos es controlado por un par de alelos. Llamésmolos a y A. Supongamos que una persona puede clasificarse como Dominante, Híbrido o Recesivo y que un hijo tiene la misma probabilidad de heredar de sus padres uno de sus dos alelos.
Inicialmente se producen cruces sólo con Híbridos

A
A
aA
aA
a
AA
AA
A
a
A
aa
aA
a
aA
AA
A
a
a
aa
aa
a
aA
aA
A

La probabilidad de que un padre dominante de lugar a un hijo híbrido es de 1/2 y de un hijo dominante también es de 1/2. Y así sucesivamente. Podemos construir la matriz de transiciones P.

AA
aA
aa
AA
1/2
1/2
0
aA
1/4
1/2
1/4
aa
0
1/2
1/2
Esta matriz de transiciones o markoviana tiene como propiedad que la suma de sus filas es igual a 1.
  • ¿Cuál es la probabilidad de que en dos generaciones un padre dominante de lugar a un hijo híbrido?

p = p(0)P2

  • Si partimos de una distribución inicial de acuerdo a la ley de Hardy-Weinberg que se denota P(0) = (1/4, 1/2, 1/4) que corresponde a los coeficientes de un binomio cuadrado perfecto. ¿Cúal será la distribución de la población dentro de dos generaciones?

(p1,p2,p3) = (1/4,1/2,1/4)xM

Si la matriz de transiciones se eleva a una potencia n y n tiende a infinito, la matriz se encontrará en su estado estacionario. Y tiene como característica que el valor de las filas ya no cambia.

El vector estacionario se puede calcular resolviendo la siguiente ecuación:

s = sM

1.2 Cadenas de Markov de orden-n

Una cadena de Markov de orden n se tiene que el estado i depende de los n estados anteriores. El número de probabilidades del modelo depende de n y es igual a 4n+1

Por ejemplo, calculemos las probabilidades de una cadena de Markov de orden 0 y 1para el análisi de secuencias de ADN:
(Estas probabilidades son ficticias)

Cadena de orden-0
P(A) = 0.1 P(C) = 0.3 P(G) = 0.2 P(T) = 0.4

Cadena de orden-1
P(A|A) = 0.1 P(C|A) = 0.3 P(G|A) = 0.2 P(T|A) = 0.4 P(A|C) = 0.2 P(C|C) = 0.1 P(G|C) = 0.4 P(T|C) = 0.3 P(A|G) = 0.1 P(C|G) = 0.2 P(G|G) = 0.3 P(T|G) = 0.4 P(A|T) = 0.3 P(C|T) = 0.1 P(G|T) = 0.4 P(T|T) = 0.2

1.3 Score de una secuencia con una cadena de Markov

El score (valor de probabilidad para una secuencia)se calcula a partir de las probabilidades de los modelos anteriores.

Por ejemplo el score de la secuencia GGTACC es:

  • Cadena de orden 0
    0.2*0.2*0.4*0.1*0.3*0.3 = 0.000144
  • Cadena de orden 1
    0.2*0.3*0.4*0.6*0.3*0.1 = 0.000216
__
Capítulo 2
Ir al Inicio del CursoTabla de contenido del cursoDescripción del cursoPágina del profesor(a)
Definición de modelos ocultos de Markov