20.2: Introducción a los modelos de Markov
- Page ID
- 115352
En teoría de probabilidad, un modelo de Markov es un modelo estocástico utilizado para modelar sistemas que cambian aleatoriamente. Se supone que los estados futuros dependen únicamente del estado actual, no de los hechos ocurridos antes de él.
Cada número representa la probabilidad de que el proceso de Markov cambie de un estado a otro, con la dirección indicada por la flecha. Por ejemplo, si el proceso de Markov está en el estado A, entonces la probabilidad de que cambie al estado E es 0.4, mientras que la probabilidad de que permanezca en el estado A es 0.6.
El modelo de estado anterior puede ser representado por una matriz de transición.
\ [\ begin {split}\ begin {array} {cc}
&\ text {Estado actual}\\
P = &
\ begin {bmatrix}
p_ {A\ rightarrow A} & p_ {E\ rightarrow A}\\
p_ {A\ rightarrow E} & p_ {E\ rightarrow E}
\ end {bmatrix}
\ end {array}
\ text {siguiente estado}\ end {split}\ nonumber\]
En otras palabras podemos escribir lo anterior de la siguiente manera
Observe cómo las columnas de la matriz se suman a una. Esto se debe a que todas las probabilidades de transición fuera de una matriz deben sumar al 100 por ciento.
Ahora, considera el siguiente mapa de casas con gatos en cada habitación...
En cada paso de tiempo, existe la misma probabilidad de que un gato se quede en su habitación actual o se mude a una nueva habitación. Si un gato elige salir de una habitación, entonces existe la misma posibilidad de que ese gato recoja alguna de las puertas de la habitación para salir.
Trate de dibujar una cadena de Markov (matriz de Markov) para el sistema de ecuaciones anterior. Prepárate para compartir tu diagrama con la clase.
Una cadena de Markov se puede representar como un modelo de transición de Markov de la forma\(Ax=b\). ¿Dónde\(A\) está su matriz de tranisición de probabilidad (a menudo representada como una\(P\) en lugar de una\(A\)). \(x\)es el estado antes de la transición y\(b\) es el estado después de la transición.
Generar un modelo de transición de Markov representado como una matriz\(P\) de la forma:
\ [
\ begin {array} {ccc}
&\ text {Sala actual}\\
P = &
\ begin {bmatrix}
p_ {11} & p_ {12} & p_ {13}\\
p_ {21} & p_ {22} & p_ {23}\\
p_ {31} & p_ {32} & p_ {33}
\ end {bmatrix}
\ end {array}
\ text {Next Room}\ nonumber\]
Dónde\(p_{ij}\) están las transiciones de probabilidad del gato moviéndose entre habitaciones (de habitación\(j\) a habitación\(i\)):
Supongamos que el sistema comienza con; 6 gatos en la habitación 1, 15 gatos en la habitación 2 y 3 gatos en la habitación 3. ¿Cuántos gatos habrá en cada habitación después de un paso de tiempo (Almacenar los valores en un vector llamado current_state
)?
El siguiente código trazará el número de gatos en función de time (\(t\)). Cuando este sistema converge, ¿cuál es el estado estacionario?
Calcula los valores propios y los vectores propios de tu matriz de\(P\) transición.
Haz un nuevo vector llamado steadystate
a partir del vector propio de tu\(P\) matriz con un valor propio de 1.
Dado que los vectores de estado estacionario
representan probabilidades a largo plazo, deben sumar a uno (1). Sin embargo, la mayoría de las bibliotecas de programación (por ejemplo, numpy y sympy) devuelven vectores propios “normalizados” a una longitud de 1 (es decir, norm (e) ==1).
Correcto para la normalización multiplicando el vector propio de estado estacionario
por una constante tal que la suma de los elementos vectoriales se sume a 1.
Piensa en el problema de los gatos, porque un gato tiene que estar en una de las tres habitaciones. Eso significa que el número total de gatos no cambiará. Si sumamos el número de gatos en todas las habitaciones juntos, este número tiene que ser el mismo. Por lo tanto, si arrancamos voluntad 6+15+3=24 gatos, también hay 24 gatos en el estado estacionario
. Modifique el estado estacionario para asegurarse de que el número total de gatos sea 24.
¿Por qué la suma de los números en cada etapa sigue siendo la misma?