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.