Referencia: Ross p192, 196-197, 216
Ejemplo 1 - Pronóstico del clima
Suponga que la posibilidad que llueva mañana depende de las condiciones del estado del clima de hoy. No importa las condiciones de los días anteriores, solo del estado del clima de hoy.
Suponga también que si llueve hoy, entonces lloverá mañana con una probabilidad α, y si no llueve hoy, entonces lloverá mañana con una probabilidad β.

Si se dice que el proceso esta en estado cero cuando llueve y en estado 1 cuando no llueve, entonces el problema se puede realizar con una cadena de Markov de dos estados cuyas probabilidades de transición se encuentran dadas por:
p=\begin{pmatrix} \alpha & 1-\alpha\\ \beta & 1-\beta \end{pmatrix}(4.8) Pronóstico del clima
Considere ahora que α = 0.7 y β = 0.4.
Calcule la probabilidad que lloverá en cuatro días a partir de hoy, dado que está lloviendo hoy.

Probabilidad de un paso: solo un día, de hoy a mañana es p
p=\begin{pmatrix} 0.7 & 0.3\\ 0.4 & 0.6 \end{pmatrix}Solución
Transiciones:
Probabilidad en dos dias, pasado mañana: p2
p^{(2)}=\begin{pmatrix} 0.7 & 0.3\\ 0.4 & 0.6 \end{pmatrix} . \begin{pmatrix} 0.7 & 0.3\\ 0.4 & 0.6 \end{pmatrix} = \begin{pmatrix} (0.7)(0.7)+(0.3)(0.4) & (0.7)(0.3)+(0.3)(0.6)\\ (0.4)(0.7)+(0.6)(0.4) & (0.4)(0.3)+(0.6)(0.6) \end{pmatrix} = \begin{pmatrix} 0.61 & 0.39\\ 0.52 & 0.48\end{pmatrix}Probabilidad en tres dias: p3
Probabilidades en cuatro dias: p4
p^{(4)} = p^{(2)} p^{(2)} p^{(4)}= \begin{pmatrix} 0.61 & 0.39\\ 0.52 & 0.48 \end{pmatrix}.\begin{pmatrix} 0.61 & 0.39\\ 0.52 & 0.48 \end{pmatrix} = \begin{pmatrix} 0.5749 & 0.4251\\ 0.5668 & 0.4332 \end{pmatrix}Probabilidad que este lloverá en cuatro días, dado que está lloviendo hoy: p(4)00= 0.5749
El cálculo de la matriz elevado a la potencia n se puede resolver con la instrucción de Numpy:
np.linalg.matrix_power(p,n)
import numpy as np
# INGRESO
p = np.array([[0.7, 0.3],
[0.4, 0.6]])
n = 4
# PROCEDIMIENTO
pn = np.linalg.matrix_power(p,n)
# SALIDA
print(pn)
[[ 0.5749 0.4251]
[ 0.5668 0.4332]]
Obteniendo nuevamente el resultado p(4)00= 0.5749
(4.20) Las probabilidades al límite o a largo plazo se pueden encontrar escribiendo las ecuaciones para cada πi a partir de la matriz de transición p:
p=\begin{pmatrix} \alpha & 1-\alpha \\ \beta & 1-\beta \end{pmatrix} \pi_0 = \alpha \pi_0 + \beta \pi_1 \pi_1 = (1 - \alpha)\pi_0 + (1 - \beta )\pi_1 \pi_0 + \pi_1 = 1resolviendo con las ecuaciones numeradas como (1), (2) y (3):
usando ecuación (1)
(1-\alpha)\pi_0= \beta \pi_1 \pi_0=\frac{\beta}{1-\alpha} \pi_1usando ecuación (3)
\frac{\beta}{1-\alpha} \pi_1 + \pi_1 =1 \frac{\beta+(1-\alpha)}{1-\alpha} \pi_1 = 1 \pi_1=\frac{1-\alpha}{1+\beta-\alpha}usando la ecuación (2)
\pi_0=\frac{\beta}{(1-\alpha)} \frac{1-\alpha}{(1+\beta-\alpha)} \pi_0=\frac{\beta}{1+\beta-\alpha}Si α = 0.7 y β = 0.4 como se usaba en el ejemplo anterior, la probabilidad a largo plazo que llueva será:
π0 = 4/7 = 0.571
resultado que también se obtiene en la columna 0 llevando la matriz p(n) a un tiempo n muy grande como en el ejemplo:
import numpy as np
# INGRESO
p = np.array([[0.7,0.3],
[0.4,0.6]])
n = 50
# PROCEDIMIENTO
pn = np.linalg.matrix_power(p,n)
# SALIDA
print(pn)
[[ 0.57142857 0.42857143]
[ 0.57142857 0.42857143]]
Ejemplo - Pronostico del clima con dos días
Referencia: Ross p.193, 197
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 llovió 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}Ejemplo - 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