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!

1
resposta

Modelo de Previsao de Clima

import numpy as nmp
estados = ['Ensolarado', 'Nublado', 'Chuvoso']
mtz_transicao = np.array([
[0.6, 0.3, 0.1], # Se Ensolarado
[0.4, 0.3, 0.3], # Se Nublado
[0.1, 0.4, 0.5] # Se Chuvoso
])
def prob_pos_n_dias(clima_inicial, n_dias):
estado_inicial_idx = estados.index(clima_inicial)
vtr_estado = np.zeros(len(estados))
vtr_estado[estado_inicial_idx] = 1
for _ in range(n_dias):
vtr_estado = np.dot(vtr_estado, mtz_transicao)
probabilidades = {estados[i]: vtr_estado[i] for i in range(len(estados))}
return probabilidades
print("Matriz de Transição:")
print(mtz_transicao)
```

1 resposta

Oi, Estudante! Como vai?

Agradeço por compartilhar seu modelo de previsao de clima com a comunidade Alura. É muito bacana ver exemplos práticos como esse, que exploram conceitos importantes de probabilidade aplicada.

Analisando o seu código, percebo que você estruturou bem os estados (Ensolarado, Nublado e Chuvoso), utilizou o vtr_estado para representar a distribuição de probabilidades ao longo do tempo, e aplicou o laço for com range para iterar os n_dias desejados a partir do clima_inicial. A lógica de multiplicação com a mtz_transicao para calcular o estado_inicial_idx e atualizar as probabilidades também está bem encaminhada.

No entanto, há um detalhe importante a corrigir: o import foi feito como import numpy as nmp, mas ao longo do código você utiliza np.array e np.zeros. Esse conflito de alias pode gerar um erro na execução. Escolha um único alias e mantenha ele em todo o código, seja nmp ou np.

Como próximo passo, você já pensou em expandir esse exemplo para prever outros cenários, como o comportamento do trânsito ou a variação de preços ao longo do tempo?

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