Em formação

7.3: Cadeias de Markov e HMMS - Do Exemplo à Formalização - Biologia


Exemplo de motivação: previsão do tempo

A previsão do tempo sempre foi difícil, especialmente quando gostaríamos de prever o tempo muitos dias, semanas ou mesmo meses depois. No entanto, se precisarmos apenas prever o tempo do dia seguinte, podemos alcançar uma precisão de predição decente usando alguns modelos bastante simples, como Cadeia de Markov e Modelo de Markov Oculto, construindo modelos gráficos na Figura 7.2.

Para o modelo da Cadeia de Markov à esquerda, quatro tipos de clima (Sol, Chuva, Nuvens e Neve) podem fazer a transição direta de um para o outro. Este é um “o que você vê é o que você obtém” no sentido de que o próximo estado depende apenas do estado atual e não há memória do estado anterior. No entanto, para HMM à direita, todos os tipos de clima são modelados como a emissão (ou resultado) das estações ocultas (verão, outono, inverno e primavera). O principal insight por trás é que os estados ocultos do mundo (por exemplo, estação do ano ou sistema de tempestade) determinam as probabilidades de emissão, enquanto as transições de estado são governadas por uma Cadeia de Markov.

Formalização da Cadeia de Markov e HMMS

Para dar uma olhada mais de perto no Modelo de Markov Oculto, vamos primeiro definir os parâmetros-chave na Figura 7.3. O vetor x representa a sequência de observações. O vetor π representa o caminho oculto, que é a sequência de estados ocultos. Cada entrada umkl da matriz de transição A denota a probabilidade de transição do estado k para o estado l. Cada entrada ek(xeu) do vetor de emissão denota a probabilidade de observar xeu do estado k. E, finalmente, com esses parâmetros e a regra de Bayes, podemos usar p (xeu| πeu = k) para estimar p (πeu = k | xeu).

Cadeias de Markov

Uma Cadeia de Markov é dada por um conjunto finito de estados e probabilidades de transição entre os estados. A cada etapa de tempo, a Cadeia de Markov está em um determinado estado e passa por uma transição para outro estado. A probabilidade de transição para outro estado depende apenas do estado atual e, em particular, é independente de como o estado atual foi alcançado. Mais formalmente, uma Cadeia de Markov é um tripleto (Q, p, A) que consiste em:

Um conjunto de estados Q.

  • Uma matriz de transição A cujos elementos correspondem à probabilidade Aij de transição do estado i para o estado j.
  • Um vetor p de probabilidades de estado inicial.

A propriedade principal das Cadeias de Markov é que elas não têm memória, ou seja, cada estado depende apenas do estado anterior. Portanto, podemos definir imediatamente uma probabilidade para o próximo estado, dado o estado atual:

[P left (x_ {i} mid x_ {i-1}, ldots, x_ {1} right) = P left (x_ {i} mid x _ {i-1} right) ]

Desta forma, a probabilidade da sequência pode ser decomposta da seguinte forma:

[P (x) = P (x_L, x_ {L − 1}, ..., x_1) = P (x_L | x_ {L − 1}) P (x_ {L − 1} | x_ {L − 2 }) ... P (x_2 | x_1) P (x_1) ]

(P (xL) ) também pode ser calculado a partir das probabilidades de transição: Se multiplicarmos as probabilidades do estado inicial no tempo t = 0 pela matriz de transição A, obtemos as probabilidades dos estados no tempo t = 1. Multiplicando pelo potência AL apropriada da matriz de transição, obtemos as probabilidades de estado no tempo t = L.

Modelos ocultos de Markov

Modelos ocultos de Markov são usados ​​como uma representação de um espaço de problema no qual as observações surgem como resultado de estados de um sistema que não podemos observar diretamente. Essas observações, ou emissões, resultam de um estado particular com base em um conjunto de probabilidades. Assim, os HMMs são modelos de Markov onde os estados são ocultados do observador e, em vez disso, temos observações geradas com certas probabilidades associadas a cada estado. Essas probabilidades de observações são conhecidas como probabilidades de emissão.

Formalmente, um Modelo de Markov Oculto é um 5-tupla (Q, A, p, V, E) que consiste nos seguintes parâmetros:

  • Uma série de estados, Q.
  • Uma matriz de transição, A
  • Um vetor de probabilidades de estado inicial, p.
  • Um conjunto de símbolos de observação, V, por exemplo {A, T, C, G} ou o conjunto de aminoácidos ou palavras em um dicionário de inglês.
  • Uma matriz de probabilidades de emissão, E: Para cada s, t, em Q, a probabilidade de emissão é esk = P (vk no tempo t | qt = s)

A propriedade chave da falta de memória é herdada dos Modelos de Markov. As emissões e transições dependem apenas do estado atual e não da história passada.


Introdução

Os processos markovianos são onipresentes em muitas aplicações do mundo real, incluindo composição de música algorítmica, o mecanismo de pesquisa do Google 1, modelos de precificação de ativos, processamento de informações, aprendizado de máquina, detecção de malware de computador 2 e muitos mais. 3 As cadeias de Markov podem ser usadas para ajudar a modelar como as plantas crescem, os produtos químicos reagem e os átomos se difundem, e as aplicações estão cada vez mais sendo encontradas em áreas como engenharia, ciência da computação, economia e educação. Jeffrey Kuan, da Universidade de Harvard, afirmou que as cadeias de Markov não apenas tiveram uma enorme influência no desenvolvimento da matemática, mas que os modelos de Markov podem muito bem ser a maioria "mundo real" conceito matemático útil após o de uma derivada.

O Modelo Hidden Markov é a classe mais adequada entre os processos Markovianos para aplicações de modelagem em Finanças e Economia, mas as dificuldades em estimar seus parâmetros ainda representam um problema para adoção generalizada pela indústria e academia.

Como veremos, as cadeias markovianas e os modelos ocultos de Markov têm uma textura matemática rica, porém acessível, e se tornaram cada vez mais aplicáveis ​​em uma ampla gama de aplicações. Embora as suposições que sustentam os processos markovianos possam ser percebidas como inaceitavelmente restritivas no início, os modelos de Markov tendem a se ajustar aos dados particularmente bem. Pode-se distinguir muitos tipos de processos markovianos, cada um com seu conjunto de características particulares. Neste tutorial, examinamos apenas um tipo particular: os modelos com distribuições de probabilidade invariantes no tempo dentro de um estado. 4 Esses modelos permitem o uso de resultados teóricos de estudos focados nas propriedades de convergência da distribuição estacionária como tempo (t mapsto infty ). Isso é útil em Economia porque abre caminhos não apenas para reinterpretar o crescimento econômico nas configurações de uma matriz estocástica, mas permite calcular com eficiência as taxas de crescimento econômico de longo prazo esperadas.

A extensão das cadeias markovianas aos HMMs permite modelar um escopo ainda mais amplo de aplicações, adequado não apenas para descrever o comportamento da economia em nível macroeconômico, mas também para assessorar em política monetária. Isso também pode ter o potencial de resolver a crítica de Morgenstern. 5

Um algoritmo amplamente aplicável para calcular estimativas de máxima verossimilhança a partir de dados incompletos é o algoritmo EM, ver A. P. Dempster (1977). O trabalho de A. P. Dempster (1977) foi baseado no Ph.D. tese de Sundberg (1972) que forneceu um tratamento muito detalhado do método EM para funções exponenciais. O primeiro a descrever este algoritmo EM no paradigma de uma técnica de maximização matemática para funções probabilísticas em cadeias de Markov foi Leonard E Baum et al. (1970) 6. O artigo de (Rabiner 1989) forneceu uma orientação prática para a compreensão dos resultados de (Leonard E. Baum e Petrie 1966) e (Leonard E Baum et al. 1970) e sua aplicação em uma estrutura de Engenharia, especificamente tarefas de reconhecimento de voz. Da mesma forma, os artigos (James D Hamilton 2016), (James D. Hamilton e Raj 2002) e (James D. Hamilton 2005) adaptaram as técnicas matemáticas apresentadas por (Leonard E Baum et al. 1970) na estimativa dos parâmetros para os modelos de mudança de regime na descrição de agregados econômicos como taxas de crescimento. Os mesmos aspectos teóricos discutidos por AP Dempster (1977), Rabiner (1989) e Leonard E. Baum e Eagon (1967) descrevem os Modelos Hidden Markov, além disso, o algoritmo EM ainda é o estado da arte técnica na estimativa de seus parâmetros ( ( Theta )) para o processo subjacente de geração dos observáveis ​​que denotamos por ( mathcal). Idealmente, gostaríamos de ter um método robusto de estimar os parâmetros de um HMM que executa bem não apenas em observações anteriores, mas também prever resultados futuros. Esses modelos podem ser facilmente ajustados para aumentar os modelos SDGE (Stochastic Dynamic General Equilibrium) que atualmente são baseados em sistemas de equações de diferença.

Infelizmente, ainda não existem métodos analíticos para estimar a probabilidade de transição que garantiria o máximo de probabilidades de uma determinada saída gerada por um processo Markoviano e ainda precisaríamos usar uma abordagem heurística para determinar o número "certo" de estados dentro de um modelo de Markov oculto. Isso ocorre porque qualquer tentativa de usar qualquer metodologia de estimativa adequada para a estrutura de processos Markovianos, sem dúvida, herda todos os seus problemas (por exemplo, o algoritmo EM não garante um mínimo global enquanto os algoritmos de clustering não serão capazes de determinar uma quantidade razoável de focal pontos sem uma função de custo abstrata). Portanto, resolver um problema com uma cadeia de Markov oculta requer uma abordagem numérica.

A boa notícia é que, à medida que os computadores se tornam mais poderosos, não apenas mais iterações são possíveis, mas também mais tentativas de encontrar o máximo podem ser feitas. As arquiteturas paralelas de computadores com funções mapreduce permitem uma otimização ainda melhor do algoritmo Baum-Welch e, portanto, uma probabilidade maior de encontrar o máximo global. No entanto, uma abordagem heurística na escolha do modelo que faz sentido após a aplicação de algoritmos para estimar a matriz de probabilidade de transição é, na minha humilde opinião, a abordagem mais viável no momento.


Aprenda sobre peixes e # 039s Blog

A seguir, darei um exemplo fácil sobre as cadeias de Markov. Vou assumir que você sabe como multiplicar duas matrizes.

Exemplo:
Suponha que hoje seja segunda-feira e você queira comemorar seu aniversário na quarta-feira com uma festa ao ar livre. Claro, você está interessado no clima e encontrará estes dados:

Esses dados podem, por exemplo, ter sido coletados durante o verão. Observe que o tempo amanhã depende apenas do tempo de hoje, por exemplo, não importa como estava o tempo há uma semana. Então, hoje na segunda-feira, você sai e vê que é um dia chuvoso. Portanto, a probabilidade de amanhã estar ensolarado é de 60%. O problema é que seu aniversário não é amanhã, mas em dois dias na quarta-feira. Qual é a probabilidade então?

Uma boa ideia é visualizar a situação como um gráfico:

Estas são as maneiras de sair chuvoso (segunda-feira) para ensolarado (quarta-feira):
a) chuvoso (segunda-feira) - & gt ensolarado (terça-feira) - & gt ensolarado (quarta-feira)
b) chuvoso (segunda-feira) - & gt chuvoso (terça-feira) - & gt ensolarado (quarta-feira)

Vamos calcular a probabilidade de a):

Vamos calcular a probabilidade de b):

A probabilidade total de transição é, portanto: 0,48 + 0,24 = 0,72
Em uma notação mais formal:

Poderíamos fazer outras perguntas:
& # 8211 Qual é a probabilidade se começarmos com ensolarado (segunda-feira)?
& # 8211 Qual é a probabilidade de chover na sexta-feira?

Acontece que podemos responder a essas perguntas facilmente se introduzirmos um matriz de transição P:

p (ij) é a transição de probabilidade de transição de i para j, por exemplo, p (sr) é a probabilidade de transição de ensolarado para chuvoso.
Calculamos a probabilidade de chuva (segunda-feira) - & gtsunny (quarta-feira) antes. Vamos fazer isso novamente com a matriz de transição. Para obter a probabilidade, apenas pegamos a segunda potência de P:

A probabilidade de chuvoso (segunda-feira) - & gtsunny (quarta-feira) está no canto inferior esquerdo da matriz. O valor é 72%, o mesmo que calculamos antes.
(Abaixo está uma figura da matriz. A probabilidade de chuvoso (segunda-feira) - & gtsunny (quarta-feira) é a entrada.)

Para responder às outras perguntas:
& # 8211 Qual é a probabilidade se começarmos com ensolarado (segunda-feira), ou seja, qual é a probabilidade de ensolarado (segunda-feira) - & gtsunny (quarta-feira)?
Resposta: Dê uma olhada no valor do canto superior esquerdo. A probabilidade é de 76%.

& # 8211 Qual é a probabilidade de chover na sexta-feira, ou seja, qual é a probabilidade de chuvoso (segunda-feira) - & gtsunny (sexta-feira)
Resposta: Se começarmos na segunda, teremos que esperar mais quatro dias: terça, quarta, quinta e sexta-feira. Isso corresponde a 4 transições:
(i) Segunda-feira - & terça-feira
(ii) terça-feira - & gt quarta-feira
(iii) quarta-feira - & gt quinta-feira
(iv) Quinta-feira - & gt sexta-feira
Assim, calcule e procure a entrada.

Finalmente, aqui está o definição de uma cadeia de Markov (citado da referência [3]):

Uma cadeia de Markov (finita) é um processo com um número finito de estados (ou resultados, ou eventos) em que
a probabilidade de estar em um determinado estado na etapa n + 1 depende apenas do estado ocupado em
passo n.

Exercícios:
a) Qual é a probabilidade de ensolarado (segunda-feira) - & gtsunny (terça-feira)
b) Qual é a probabilidade de ensolarado (segunda-feira) - & gtrainy (quarta-feira)?
c) Dê uma olhada em e. Onde você reconhece que a soma das probabilidades é igual a 1.
d) Como você calcula a probabilidade de chuvoso (segunda-feira) - & gtrainy (quinta-feira)?
e) Você pode explicar por que o formalismo com a matriz de transição funciona? (Dica: veja a referência [2])

Respostas:
a) A probabilidade de ensolarado (segunda-feira) - & gtsunny (terça-feira) é P (ss) = 0,8.
b) A probabilidade de ensolarado (segunda-feira) - & gtrainy (quarta-feira) é
c) As probabilidades consecutivas somam 1: o tempo final é ensolarado ou chuvoso.
d) Se for segunda-feira teremos que esperar 3 dias até quinta-feira: terça, quarta e quinta-feira.
Isso corresponde a 3 transições:
(i) Segunda-feira - & terça-feira
(ii) terça-feira - & gt quarta-feira
(iii) quarta-feira - & gt quinta-feira
Calcule e considere a entrada.

e) Para ver porque o formalismo com a matriz de transição funciona, considere novamente nosso primeiro exemplo.
Queríamos saber a probabilidade p [chuvoso (segunda-feira) - & gtsunny (quarta-feira)] e descobrimos que existem dois caminhos correspondentes a duas probabilidades:

Além disso, descobrimos que (i) e (ii) podem ser escritos como:

A soma de ambos é a probabilidade que procuramos:

Agora, vou renomear os estados do clima como 1 e 2:
1 significa ensolarado
2 significa chuvoso

Em geral, se tivermos um estado inicial eu e um estado final j nós podemos escrever:

Isso deve lembrá-lo de uma multiplicação de matriz:
Seja C = A * B onde A, B e C são matrizes. Então a multiplicação da matriz é:

[2] Introdução à Probabilidade (pdf)
Um livro sobre teoria da probabilidade de Charles GRINSTEAD e J. Laurie SNELL (ver Capítulo 11).

[3] Cadeias de Markov (pdf)
Notas de aula de Warren Weckesser, Colgate University.


12 respostas 12

Aqui estão alguns tutoriais (disponíveis como PDFs):

  1. Dugad e Desai, um tutorial sobre modelos de markov ocultos
  2. Valeria De Fonzo1, Filippo Aluffi-Pentini2 e Valerio Parisi (2007). Modelos ocultos de Markov em bioinformática. Bioinformática Atual, 2, 49-61.
  3. Smith, K. Hidden Markov Models in Bioinformatics with Application to Gene Finding in Human DNA

Também dê uma olhada nos tutoriais do Biocondutor.

Suponho que você queira recursos gratuitos de outra forma, Bioinformática de Polanski e Kimmel (Springer, 2007) fornece uma boa visão geral (§2.8-2.9) e aplicativos (Parte II).

Há também um livro muito bom de Oliver Cappe et. al: Inferência em modelos de Markov ocultos. No entanto, é bastante teórico e muito leve nas aplicações.

Há outro livro com exemplos em R, mas eu não aguentava - Modelos de Markov ocultos para séries temporais.

P.s. A comunidade de reconhecimento de voz também possui uma tonelada de literatura sobre o assunto.

É bastante surpreendente ver que nenhuma das respostas menciona o artigo tutorial Rabiner sobre HMMs.

Embora a implementação prática (a última parte do artigo) se concentre no reconhecimento de voz, este artigo é provavelmente o mais citado na literatura do HMM, graças à sua natureza clara e bem apresentada.

Ele começa introduzindo cadeias de markov e depois segue para HMMs.

Para aplicações de bioinformática, o texto clássico sobre HMMs seria Durbin, Eddy, Krough & amp Michison, "Biological Sequence Analsysis - Probabilistic Models of Proteins and Nucleic Acids", Cambridge University Press, 1998, ISBN 0-521-62971-3. É técnico, mas muito claro e achei muito útil.

Para MCMC, há um livro recente (versão de um) de Robert e Casella, "Introducing Monte Carlo Methods with R", Springer, que parece bom, mas ainda não tive a chance de lê-lo (usa R para exemplos, que é uma boa maneira de aprender, mas eu preciso aprender R primeiro o)

Já boas sugestões, gostaria de adicionar os seguintes artigos que descrevem HMMs da perspectiva de aplicação em biologia por Sean Eddy.

Aprendi HMMs usando o grande livro de Walter Zucchini e Iain L. MacDonald

É muito bom e apresenta exemplos em R.

Dê uma olhada na caixa de ferramentas (HMM) para Matlab de Kevin Murphy e também na seção Leituras recomendadas em HMMs nesse site.

Você também pode obter o kit de ferramentas de modelagem probabilística para Matlab / Octave com alguns exemplos de uso de cadeias de Markov e HMM.

Você também pode encontrar palestras e laboratórios sobre HMM, por exemplo:

Meus 2 centavos
Lindamente explicado e gratuito.

Aqui estão algumas notas de Ramon van Handel em Princeton:

Este curso é uma introdução a alguns dos métodos matemáticos, estatísticos e computacionais básicos para modelos de Markov ocultos.

A primeira seção inclui um bom conjunto de aplicações de HMMs em biologia e finanças.


Assista o vídeo: Stochastyczne równanie różniczkowe - przykład (Janeiro 2022).