Explicação do conceito de cadeias de Markov [com exemplo]
Publicados: 2020-12-18Índice
Introdução
As cadeias de Markov são bastante comuns, intuitivas e têm sido usadas em vários domínios, como automatizar a criação de conteúdo, geração de texto, modelagem financeira, sistemas de controle de cruzeiro, etc. A famosa marca Google usa a cadeia de Markov em seu algoritmo de classificação de páginas para determinar a ordem de pesquisa .
As cadeias de Markov são relativamente simples e não requerem nenhum conceito matemático ou conhecimento avançado de estatística para implementação. Se você tem uma boa compreensão das cadeias de Markov, fica mais fácil aprender técnicas de modelagem probabilística e ciência de dados.
Este artigo lhe dará uma compreensão profunda do que são as cadeias de Markov e como elas funcionam, com a ajuda de exemplos.
O que é uma Cadeia de Markov?
Uma cadeia de Markov é um modelo matemático que fornece probabilidades ou previsões para o próximo estado com base apenas no estado do evento anterior. As previsões geradas pela cadeia de Markov são tão boas quanto seriam feitas observando todo o histórico desse cenário.
É um modelo que experimenta a transição de um estado para outro com base em algumas condições de probabilidade. Uma característica que define a cadeia de Markov é que não importa como o estado atual seja alcançado, os estados futuros são fixos. O resultado possível do próximo estado depende exclusivamente do estado atual e do tempo entre os estados.
Leia: Markov Chain no Tutorial Python
Conceito de Cadeia de Markov com Exemplos
Suponha que você queira prever as condições meteorológicas para amanhã. Mas você já sabe que pode haver apenas dois estados possíveis para o tempo, ou seja, nublado e ensolarado. Como você vai prever o clima do dia seguinte usando cadeias de Markov?
Bem, você começará a observar o estado do tempo atual e pode estar ensolarado ou nublado. Suponha que hoje esteja ensolarado. A condição climática sempre passa por várias transições. Você reunirá dados meteorológicos nos últimos anos e calculará que as chances de obter um dia nublado após um dia ensolarado são de 0,35.
Você também observou que as chances de obter um dia ensolarado após um dia ensolarado são de 0,65. Esta distribuição irá ajudá-lo a prever que o dia seguinte também será ensolarado. É assim que o estado do tempo atual o ajuda a prever o estado futuro e você pode aplicar a mesma lógica para prever as condições do tempo para os próximos dias.
O exemplo acima ilustra a propriedade de Markov de que a cadeia de Markov não tem memória. As condições climáticas do dia seguinte não dependem das etapas que levaram à condição climática do dia atual. A distribuição de probabilidade é alcançada apenas experimentando a transição do dia atual para o dia seguinte.
Outro exemplo da cadeia de Markov são os hábitos alimentares de uma pessoa que come apenas frutas, legumes ou carne. Os hábitos alimentares são regidos pelas seguintes regras:
- A pessoa come apenas uma vez por dia.
- Se uma pessoa comeu frutas hoje, amanhã ela comerá vegetais ou carne com igual probabilidade.
- Se ele comeu legumes hoje, amanhã ele comerá legumes com probabilidade de 1/10, frutas com probabilidade de 1/40 e carne com probabilidade de 1/50.
- Se ele comeu carne hoje, amanhã ele comerá vegetais com probabilidade de 4/10, frutas com probabilidade de 6/10. Ele não comerá carne novamente amanhã.
Você pode facilmente modelar seus hábitos alimentares usando cadeias de Markov, já que sua escolha para o dia seguinte depende apenas do que ele comeu hoje, independentemente do que comeu ontem ou no dia anterior.
Leia também: Introdução às Cadeias de Markov
Matriz de Transição da Cadeia de Markov
Até agora, vimos como podemos prever a probabilidade de transição de um estado para outro. Mas que tal encontrar a distribuição de probabilidade das transições que ocorrem ao longo de várias etapas. Você pode descobrir a distribuição de probabilidade de transições em várias etapas usando a matriz de transição de cadeia de Markov.

A matriz de transição da cadeia de Markov nada mais é do que a distribuição de probabilidade de transições de um estado para outro. Ela é chamada de matriz de transição porque exibe as transições entre diferentes estados possíveis.
A probabilidade associada a cada estado é chamada de distribuição de probabilidade desse estado. É a ferramenta mais importante que é usada na análise da cadeia de Markov. Por exemplo, se houver um número N de estados possíveis, então a matriz de transição (P) seria a seguinte
P = matriz N x N
Onde uma entrada em uma linha (I, J) representa a probabilidade de transição do estado I para o estado J. Cada linha da matriz de transição P deve somar 1.
Para representar uma cadeia de Markov, você também precisará de um vetor de estado inicial que descreva o início em cada um dos N estados possíveis. Você pode representar o vetor de estado inicial (X) como
X = N x 1 matriz
Suponha que você queira descobrir a probabilidade de transição do estado I para o estado J em M várias etapas. Você deu três estados possíveis, ou seja, mercado em alta, mercado em baixa e mercado estagnado.
No exemplo acima, a primeira coluna da matriz de transição indica o estado do mercado altista, a segunda do mercado baixista e a terceira indica o mercado estagnado. As linhas também correspondem de maneira semelhante.
Na matriz de transição, a probabilidade de transição é calculada elevando P à potência do número de passos (M). Para uma transição de 3 etapas, você pode determinar a probabilidade elevando P para 3.
Ao multiplicar a matriz P3 acima, você pode calcular a distribuição de probabilidade de transição de um estado para outro.
Conclusão
Como você entendeu como a cadeia de Markov funciona, você pode implementá-la facilmente em qualquer declaração de problema para alcançar uma solução ou automatizar. As cadeias de Markov são muito poderosas e fornecem uma base para outras técnicas de modelagem mais avançadas.
A compreensão da cadeia de Markov pode levar você a obter um conhecimento mais profundo em várias técnicas, como modelagem breve e amostragem.
Se você está curioso para aprender sobre python, ciência de dados, confira o PG Diploma in Data Science do IIIT-B & upGrad, criado para profissionais que trabalham e oferece mais de 10 estudos de caso e projetos, workshops práticos práticos, orientação com especialistas do setor, 1-on-1 com mentores do setor, mais de 400 horas de aprendizado e assistência de trabalho com as principais empresas.
Existem casos de uso interessantes da vida real para a cadeia de Markov?
Sim, existem muitos casos de uso reais interessantes de cadeias de Markov, desde a criação de texto até a modelagem financeira. A maioria dos geradores de texto usa as redes de Markov. O sistema de cadeia é amplamente utilizado para gerar textos falsos, artigos superdimensionados e compilar discursos. Os geradores de nomes que costumamos ver na internet também usam a cadeia Markov. Outra aplicação bem conhecida das cadeias de Markov é a previsão de palavras futuras. Eles também são úteis para preenchimento automático e recomendações. O Google PageRank e o Subreddit Simulator são exemplos proeminentes, que empregam cadeias de Markov para automatizar a produção de material para um subreddit inteiro.
A cadeia de Markov é crítica ao aprender Data Science?
Embora as cadeias de Markov não sejam obrigatórias para alunos de ciência de dados, elas podem fornecer uma excelente abordagem para aprender técnicas de modelagem probabilística e ciência de dados. As Cadeias de Markov são teoricamente razoavelmente simples e podem ser implementadas sem a necessidade de nenhuma ideia estatística ou matemática complexa. A aplicação mais proeminente da ciência de dados é fazer previsões, e os cientistas de dados usam a probabilidade condicional das cadeias de Markov para fazer essas previsões. É nomeado após o recurso sem memória dos Processos Estocásticos, que diz que a distribuição dos estados futuros de qualquer processo é determinada apenas pelo estado atual desses processos.
Como a cadeia de Markov ajuda no algoritmo PageRank do Google?
O algoritmo PageRank do Google é um algoritmo de classificação baseado em link bem conhecido. Em vez de avaliar as páginas com base em seu conteúdo, o Page rank as classifica com base em sua estrutura interconectada. Examinando simplesmente o estado presente, a Cadeia de Markov pode ajudar a antecipar o comportamento de um sistema em transição de um estado para outro.
Quando um usuário insere uma consulta em um mecanismo de pesquisa, o algoritmo PageRank identifica sites na Web que correspondem à palavra de consulta e mostra essas páginas ao usuário na ordem de seu PageRank usando a rede Markov. O algoritmo PageRank determina o significado de um site exclusivamente com base na estrutura de links da web e não no conteúdo da página.