Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Haz lo que hicimos en el aula: Utilizando cadenas de Markov

import numpy as np

# Estados posibles del clima
estados = ["Soleado", "Nublado", "Lluvioso"]

# Matriz de transición
# Cada fila representa el clima actual
# Cada columna representa el clima del día siguiente
matriz_transicion = np.array([
    [0.7, 0.2, 0.1],  # Si hoy está Soleado
    [0.3, 0.4, 0.3],  # Si hoy está Nublado
    [0.2, 0.3, 0.5]   # Si hoy está Lluvioso
])

def predecir_clima(clima_actual, dias):
    estado_actual = estados.index(clima_actual)
    predicciones = [clima_actual]

    for _ in range(dias):
        probabilidades = matriz_transicion[estado_actual]
        
        estado_siguiente = np.random.choice(
            estados,
            p=probabilidades
        )

        predicciones.append(estado_siguiente)
        estado_actual = estados.index(estado_siguiente)

    return predicciones


# Ejemplo de uso
clima_inicial = "Soleado"
dias_a_predecir = 7

resultado = predecir_clima(clima_inicial, dias_a_predecir)

print("Predicción del clima:")
for dia, clima in enumerate(resultado):
    print(f"Día {dia}: {clima}")
    

En este modelo, cada estado representa una condición climática: Soleado, Nublado o Lluvioso. La matriz de transición indica la probabilidad de pasar de un clima a otro al día siguiente.

Por ejemplo, si hoy está Soleado, existe un 70% de probabilidad de que mañana siga soleado, un 20% de que esté nublado y un 10% de que llueva.

La función predecir_clima() recibe el clima inicial y la cantidad de días que se desean predecir. Luego, usando numpy, selecciona el clima del día siguiente de acuerdo con las probabilidades definidas en la matriz.

Este tipo de modelo permite simular posibles secuencias climáticas basadas en patrones históricos.

1 respuesta

Hola, Gino. ¿Cómo vas?

Gracias por compartir tus reflexiones y aprendizajes con la comunidad Alura.

Me gustó tu implementación de las cadenas de Markov y la explicación que acompañó al código. Queda claro cómo la matriz de transición define las probabilidades de cambio entre los estados del clima y cómo numpy.random.choice() permite simular esas transiciones de forma práctica. Es un buen ejemplo de cómo modelar sistemas con comportamiento probabilístico.

Sigue explorando este tipo de modelos, ya que son una excelente base para comprender otros temas de Inteligencia Artificial. Dica: prueba ejecutar la simulación varias veces y compara los resultados obtenidos; así podrás observar cómo las probabilidades influyen en las distintas secuencias generadas y comprender mejor el comportamiento del modelo.

Cuenta con el apoyo del foro en tu viaje. Saludos y buenos estudios.