Para esta atividade, implementei uma cadeia de Markov simples para prever o clima de uma cidade durante 10 dias. Os estados possíveis são Ensolarado, Nublado e Chuvoso.
A matriz de transição define a probabilidade de o clima mudar de um estado para outro no dia seguinte.
import numpy as np
# Estados possíveis do clima
estados = ["Ensolarado", "Nublado", "Chuvoso"]
# Matriz de transição
# Linhas: clima atual
# Colunas: próximo clima
matriz_transicao = np.array([
[0.7, 0.2, 0.1], # Ensolarado
[0.3, 0.4, 0.3], # Nublado
[0.2, 0.3, 0.5] # Chuvoso
])
# Estado inicial
estado_atual = 0 # Começando como Ensolarado
# Quantidade de dias para prever
dias = 10
print("Previsão do clima:")
for dia in range(1, dias + 1):
estado_atual = np.random.choice(
[0, 1, 2],
p=matriz_transicao[estado_atual]
)
print(f"Dia {dia}: {estados[estado_atual]}")
Nesse exemplo, o sistema começa com o clima Ensolarado e usa a matriz de transição para prever o clima dos próximos 10 dias. A cada dia, o próximo clima é escolhido com base nas probabilidades definidas para o estado atual.