Para implementar um modelo de previsão do clima utilizando uma cadeia de Markov em Python, podemos criar uma matriz de transição e simular a previsão do clima para uma sequência de dias.
- Definição dos Estados
Os estados climáticos que vamos considerar são:
- Ensolarado
- Nublado
- Chuvoso
Matriz de Transição
Vamos definir uma matriz de transição que representa as probabilidades de passar de um estado para outro em um único dia:
Matriz de Transição: Ensolarado Nublado Chuvoso Ensolarado 0.8 0.1 0.1 Nublado 0.3 0.4 0.3 Chuvoso 0.2 0.5 0.3
Implementação em Python
Implementar em Python utilizando a biblioteca numpy
:
import numpy as np
Definindo os estados estados = ["Ensolarado", "Nublado", "Chuvoso"]
Definindo a matriz de transição matriz_transicao = np.array([[0.8, 0.1, 0.1], # De Ensolarado [0.3, 0.4, 0.3], # De Nublado [0.2, 0.5, 0.3]]) # De Chuvoso
Função para prever o clima def prever_clima(estados, matriz_transicao, estado_inicial, dias): # Encontrar o índice do estado inicial estado_atual = estados.index(estado_inicial) previsao = [estado_inicial]
for _ in range(dias):
# Gerar um número aleatório para decidir o próximo estado
estado_atual = np.random.choice(estados, p=matriz_transicao[estado_atual])
previsao.append(estado_atual)
return previsao
#Exemplo de uso estado_inicial = "Ensolarado" dias = 7 previsao_clima = prever_clima(estados, matriz_transicao, estado_inicial, dias)
#Exibir a previsão print("Previsão do clima para os próximos dias:") for dia, clima in enumerate(previsao_clima): print(f"Dia {dia}: {clima}")