Referencia: Ross p.193, 197
(4.4) Pronostico del clima con dos días
Suponga que si llueve o no hoy depende de las condiciones del clima de los dos últimos días.
Si ha llovido en los dos últimos días, entonces que llueva mañana tiene probabilidad de 0.7;
si llovió hoy pero no ayer, entonces que llueva mañana tiene probabilidad de 0.5;
si llovio ayer pero no hoy, entonces que llueva mañana tiene probabilidad de 0.4;
si no ha llovido ni ayer ni hoy, entonces que llueva mañana tiene probabilidad de 0.2
Solución propuesta
Se puede hacer un modelo de cadena de Markov haciendo que el estado del clima mañana sea determinado por las condiciones de hoy y ayer:
Estado 0: si ha llovido hoy y ayer Estado 1: si ha llovido hoy pero no ayer Estado 2: Si ha llovido ayer pero no hoy Estado 3: si no ha llovido ayer y tampoco hoy
Para considerar los posibles estados añadiendo los valores cuando está soleado, dado que el problema enuncia solo cuando lloverá.
con lo que se puede construir el diagrama de transición de estados:
y la matriz de transición es entonces:
p= \begin{pmatrix} 0.7 & 0 & 0.3 & 0 \\ 0.5 & 0 & 0.5 & 0 \\ 0 & 0.4 & 0 & 0.6 \\ 0 & 0.2 & 0 & 0.8 \end{pmatrix}(4.9) Pronóstico para pasado mañana
Siguiendo con el ejemplo anterior.
Dado que llovió el Lunes y Martes, ¿Cuál es la probabilidad que lloverá el Jueves?
Solución propuesta
La matriz de transición permite hacer el pronóstico hasta el miércoles, para el día jueves es necesario hacer una matriz de dos pasos dada por p(2)
p^{(2)}= \begin{pmatrix} 0.7 & 0 & 0.3 & 0 \\ 0.5 & 0 & 0.5 & 0 \\ 0 & 0.4 & 0 & 0.6 \\ 0 & 0.2 & 0 & 0.8 \end{pmatrix} \text{.} \begin{pmatrix} 0.7 & 0 & 0.3 & 0 \\ 0.5 & 0 & 0.5 & 0 \\ 0 & 0.4 & 0 & 0.6 \\ 0 & 0.2 & 0 & 0.8 \end{pmatrix} = \begin{pmatrix} 0.49 & 0.12 & 0.21 & 0.18 \\ 0.35 & 0.20 & 0.15 & 0.30 \\ 0.20 & 0.12 & 0.20 & 0.48 \\ 0.10 & 0.16 & 0.10 & 0.64 \end{pmatrix}Que llueva el jueves es equivalente no importa si llovió o nó el miércoles, por lo que para la probabilidad del jueves se usa la probabilidad de la fila para estado 0, sumando si llovió o no el miércoles.
p(lloverá jueves|llovió lunes y martes)= p(2)00+p(2)01= = 0.49 + 0.12 = 0.61.
Usando python para determinar p(2)
# 4.9 pronostico para pasado mañana import numpy as np # INGRESO p = np.array([[0.7, 0, 0.3, 0 ], [0.5, 0, 0.5, 0 ], [ 0, 0.4, 0, 0.6], [ 0, 0.2, 0, 0.8]]) #PROCEDIMIENTO p2 = np.linalg.matrix_power(p,2) # SALIDA print(p2) print('Para el jueves:', p2[0,0]+p2[0,1])
[[ 0.49 0.12 0.21 0.18] [ 0.35 0.2 0.15 0.3 ] [ 0.2 0.12 0.2 0.48] [ 0.1 0.16 0.1 0.64]] Para el jueves: 0.61