Los modelos ocultos de Markov (HMM), toman su nombre del matemático ruso Andrey Markov, que desarrolló el concepto de las Cadenas de Markov (Markov Chains). Estas “cadenas” hacen referencia a sistemas en los cuales el siguiente paso depende únicamente del estado actual. Un ejemplo puede ser el juego de la oca, en el cual las posibles siguientes posiciones de la ficha dependen únicamente en la posición en la que la ficha esta cuando tiramos el dado.
Los HMM van un paso más allá al introducir el concepto de estados “ocultos”, en los cuales el estado no se conoce, sino que es inferido desde los datos que tenemos [1].
Los HMM tienen cinco componentes principales:
- Los estados ocultos: Son condiciones que no podemos observar, pero que afectan al sistema. Por ejemplo, en el caso en el que estamos generando datos, si las turbinas están nuevas, ya usadas, si tienen fallos, etc.
- Observaciones: Los datos que tenemos y en los cuales influyen los estados ocultos
- Probabilidad inicial: Del estado oculto en el que estamos
- Probabilidad de transición: De un estado oculto al otro.
- Probabilidad de emisión: La probabilidad de obtener un dato en específico teniendo en cuenta el estado oculto en el que estamos
De tal manera que para empezar a entrenar el modelo se establecen el número de estados ocultos, y las probabilidades iniciales, de transición y de emisión (las cuales pueden ser elegidas arbitrariamente o incluyendo conocimiento del área).
Para entrenarse, el modelo utiliza los datos para comparar como de probable es que estos datos se hayan generado basados en las probabilidades iniciales, de transición y emisión que tienen los estados ocultos. Y ajustará estas probabilidades dependiendo de los datos hasta conseguir un modelo capaz de ajustar los estados ocultos para generar los datos obtenidos.
Una vez tenemos estos estados ocultos entrenados, podemos generar el principio de una secuencia y el HMM generará el resto basada en ella.
En la siguiente imagen podemos observar los datos obtenidos para una serie temporal del sensor 4 del caso de uso de turbinas de la NASA [2].

Comparándolo con una turbina real, parece que el modelo es capaz de entender la continuidad de los datos. Para hacer los datos más reales, añadimos un pequeño ruido a los datos:

A diferencia de los Gaussian Mixture Models, que explicamos en la entrada anterior del blog, los HMM son capaces de entender la relación secuencial de los datos, y generar datos que están relacionados entre ellos.
Aunque estos datos parecen prometedores, recordamos al lector que para que un dato sintético sea considerado bueno es necesario un análisis para demostrar que estos datos son irreconocibles de los reales y además que tienen valor por si solos.
El análisis para demostrar que los datos son irreconocibles de los reales es algo en lo que nos centraremos en próximas entradas del blog. ¡Así que estad atentos!
Referencias:
[1] Rabiner, L., & Juang, B. (1986). An introduction to hidden Markov models. ieee assp magazine, 3(1), 4-16.
[2] A. Saxena and K. Goebel (2008). «PHM08 Challenge Data Set», NASA Ames Prognostics Data Repository (http://ti.arc.nasa.gov/project/prognostic-data-repository), NASA Ames Research Center, Moffett Field, CA