Redes Bayesianas Dinamicas – DBN

O que são redes bayesianas dinâmicas (DBN)?

Redes bayesianas dinâmicas (DBN) são modelos probabilísticos para dados sequenciais ou temporais. Elas estendem redes bayesianas estáticas com arestas que cruzam instantes de tempo. Cada fatia de tempo contém um conjunto de variáveis (estado) no instante t. Arestas dentro da mesma fatia representam dependências instantâneas. Arestas entre fatias consecutivas modelam transições de estado (Markovianas). A suposição básica é a de Markov de primeira ordem: o futuro depende apenas do presente. Além disso, as transições são estacionárias (invariantes no tempo) na maioria das aplicações. A distribuição conjunta é fatorada como: P(X₀) * ∏ P(Xₜ | Xₜ₋₁). DBNs são usadas em previsão, filtragem, suavização e reconhecimento de padrões.

Características fundamentais

As DBNs possuem três características principais que as definem. Primeiro, elas combinam modelos ocultos de Markov (HMM) com redes bayesianas. Segundo, a inferência é feita por algoritmos de propagação em árvores de junção. Terceiro, a aprendizagem pode ser feita por EM (expectation-maximization) para parâmetros. A estrutura pode ser aprendida com algoritmos de busca temporal. Além disso, DBNs suportam variáveis observadas e latentes (não observadas). Elas também lidam com dados com intervalos irregulares usando modelos contínuos.

Vantagens e aplicações típicas

A principal vantagem é a capacidade de modelar dependências temporais complexas. Elas são usadas em reconhecimento de fala, rastreamento de objetos e bioinformática. Também são aplicadas em análise de séries financeiras e monitoramento de pacientes. Outra vantagem é a interpretabilidade das transições de estado. Contudo, a complexidade computacional cresce com o horizonte temporal.

DBNs generalizam modelos como HMMs e filtros de Kalman. Em um HMM, a variável latente é discreta e a observação pode ser contínua. Em uma DBN, múltiplas variáveis latentes podem interagir dentro de cada fatia. Por exemplo, em um sistema de navegação, posição e velocidade são latentes. A observação pode ser GPS ruidoso, e a transição segue leis da física. A inferência em DBNs é frequentemente feita por filtragem de partículas. Isso é especialmente útil quando as distribuições não são gaussianas. Para DBNs lineares-gaussianas, o filtro de Kalman é a solução exata. A suavização (estimar estados passados com dados futuros) é feita por retrocesso. Algoritmos como forward-backward para HMMs são casos especiais. A aprendizagem de estrutura em DBNs é mais desafiadora que em redes estáticas. Ela requer considerar todas as possíveis conexões entre fatias. Heurísticas como restrição de espessura (apenas arestas entre t-1 e t) são comuns. Assim, DBNs são ferramentas versáteis para dados que evoluem no tempo.

Um exemplo clássico é o modelo de chuva diária com duas variáveis latentes: Chuva (Rₜ) e Irrigação (Iₜ), e uma observação: Gramado Molhado (Gₜ). A chuva no dia t depende da chuva no dia anterior (transição Markoviana). A irrigação é independente da chuva, mas ambas influenciam o gramado. A DBN permite prever Gₜ₊₁ dado observações passadas de G.


Enunciado do exemplo clássico

Implemente uma DBN para o problema do clima com 2 variáveis latentes binárias: Nuvem (Nₜ) e Chuva (Rₜ), e uma observação: Temperatura (Tₜ – contínua). Transições: Nₜ depende de Nₜ₋₁; Rₜ depende de Nₜ e Rₜ₋₁. Observação: Tₜ ~ N(10 + 5*Nₜ + 10*Rₜ, 2). Use 50 passos de tempo, com N₀ e R₀ com priores uniformes. Calcule a filtragem (P(Nₜ, Rₜ | T₁..Tₜ)) e plote a probabilidade de chuva ao longo do tempo.

Este código implementa uma DBN com filtragem por enumeração exata. A probabilidade de chuva filtrada acompanha bem a chuva real latente. A temperatura observada é a única entrada disponível para o modelo. A estrutura Markoviana permite atualizar crenças a cada novo dado. Para iniciantes, este exemplo mostra o poder das DBNs em séries temporais. Redes bayesianas dinâmicas são, portanto, essenciais para dados sequenciais.

Deixe um comentário