1
resposta

[Projeto] Faça como eu fiz: utilizando cadeias de Markov

Eu utilizei uma cadeia de Markov para representar a mudança do clima ao longo dos dias. Onde cada estado climático possui probabilidades de transição para os demais estados, permitindo prever o próximo dia com base apenas no estado atual. Para isso, defini os estados possíveis, a matriz de transição e uma função em Python usando numpy para simular a previsão do clima.

import numpy as np

# Estados possíveis do clima
states = ["Ensolarado", "Nublado", "Chuvoso"]

# Matriz de transição
transition_matrix = [
    [0.8, 0.15, 0.05],  # De Ensolarado para Ensolarado, Nublado, Chuvoso
    [0.2, 0.6, 0.2],    # De Nublado para Ensolarado, Nublado, Chuvoso
    [0.25, 0.25, 0.5]   # De Chuvoso para Ensolarado, Nublado, Chuvoso
]

# Função para obter o índice de um estado
def get_state_index(state):
    return states.index(state)

# Função para prever o clima
def predict_weather(initial_state, num_days):
    current_state = initial_state
    forecast = [current_state]

    for _ in range(num_days - 1):
        current_index = get_state_index(current_state)
        next_state = np.random.choice(states, p=transition_matrix[current_index])
        forecast.append(next_state)
        current_state = next_state

    return forecast

# Estado inicial e quantidade de dias
initial_state = "Ensolarado"
num_days = 10

# Executando a previsão
forecast = predict_weather(initial_state, num_days)

# Exibindo os resultados
print(f"Estado inicial: {initial_state}")
print("Previsão para os próximos dias:")
for day, state in enumerate(forecast, start=1):
    print(f"Dia {day}: {state}")

Execução da Solução

Minha reflexão final é que a cadeia de Markov é uma forma interessante de representar situações em que o próximo estado depende do estado atual. No caso do clima, isso faz bastante sentido, porque a condição de um dia influencia a chance de mudança no dia seguinte. Achei a atividade útil para entender como probabilidades podem ser usadas na prática para construir previsões de forma simples e objetiva.

1 resposta

Olá, Leandro! Como vai?

Gostei demais da sua solução utilizando uma cadeia de Markov para simular a previsão do clima!

Sua resposta demonstra clareza ao organizar os estados e a matriz de transição, objetividade ao implementar a função de previsão em Python e atenção ao apresentar os resultados de forma estruturada e compreensível.

Uma sugestão para o futuro seria incluir uma visualização gráfica da distribuição dos estados ao longo dos dias, o que tornaria a análise ainda mais intuitiva e fácil de interpretar.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!