Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

0
respostas

Faça como eu fiz: utilizando cadeias de Markov

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.