Cadenas de Markov

Anuncio
Tratamiento de Señales
Laboratorio 1 (2h)
Cadenas de Markov
Curso 2011/2012
Materiales: (a) Ordenadores equipados con Matlab
Objetivos: (a) Estudiar las cadenas de Markov como una familia de secuencias estocásticas discretas. (b) Modelado de problemas concretos como cadenas de Markov y su resolución.
Introducción
Las cadenas de Markov son una familia de secuencias estocásticas discretas que se
utilizan para modelar el comportamiento dinámico de sistemas en muchos campos de la
ciencia y tecnologı́a como fı́sica, biologı́a, economı́a, sociologı́a, demografı́a, comunicaciones,
etc. En la primera parte se presentan las cadenas de Markov como una familia particular
de secuencias aleatorias discretas, ası́ como sus propiedades caracterı́sticas. Después se
muestra la caracterización de las cadenas de Markov mediante sus matrices de transiciones
y su representación gráfica mediante los diagramas de transición. En las siguientes secciones
se presenta una metodolgı́a algebraica para el análisis de las cadenas de Markov. A lo largo
de la práctica se proponen problemas para que el alumno los modele como cadenas de
Markov y los estudie utilizando la metodologı́a propuesta.
Definición y propiedades de las cadenas de Markov
Las cadenas de Markov son una familia de procesos aleatorios con las siguientes caracterı́sticas:
1. Son procesos discretos en el tiempo (secuencias aleatorias): ω ∈ Ω → X[n, ω]. Cuando
no de lugar a confusión los denotaremos como X[n].
2. Tienen un espacio de estados (S) finito con lo que sus posibles valores se identifican
con los primeros N números naturales: X[n] ∈ S = {1, 2, . . . , N}. A estos posibles
valores se les llama estados, y al conjunto S se le llama conjunto de estados.
1
3. Cumplen la llamada propiedad de Markov:
P (X[n + 1] = in+1 | X[n] = in , X[n − 1] = in−1 , X[n − 2] = in−2 , . . .)
= P (X[n + 1] = in+1 | X[n] = in ), ∀n ∈ N,
es decir, la probabilidad de que la secuencia tome un valor dado en el instante n + 1
sólo está condicionado por el valor de la secuencia en el instante n y es independiente
de los valores de la secuencia en los instantes anteriones (n − 1, n − 2, ...)
4. Son procesos homogéneos en el tiempo:
(n)
tj,i
(n+k)
tj,i
= P (X[n + 1] = j | X[n] = i) =
= P (X[n + k + 1] = j | X[n + k] = i), ∀k, n ∈ N,
es decir, la probabilidad de que la secuencia pase de un valor i a un valor j no
cambia con el tiempo. En adelante, a esta probabilidad de transición la llamaremos
tj,i , prescindiendo del indice temporal.
Caracterización y representación
Una cadena de Markov está caracterizada por su matriz de transiciones


t1,1 t1,2 · · · t1,N
 t2,1 t2,2 · · · t2,N 


T =  ..
.. 
..
 .
. 
.
tN,1 tN,2 · · · tN,N
(1)
La matriz de transición se representa gráficamente por el diagrama de transiciones.
El diagrama de transiciones consta de un conjunto de N vértices, que corresponden a
los posibles valores ó estados del proceso, y un conjunto de aristas dirigidas entre los
vértices. Cada arista dirigida tiene un valor numérico que representa la probabilidad de
transición entre los dos vértices que une. En el diagrama sólo se representan los enlaces
correspondientes a probabilidades de transición no nulas. Por ejemplo, la figura 1 muestra
el diagrama de transiciones de una cadena de Markov de N = 3 estados con la siguiente
matriz de transiciones:


0,9 0 0,2
T =  0 0,8 0,1
(2)
0,1 0,2 0,7
En general, las matrices de transición son matrices estocásticas por columnas, es decir,
cumplen las siguientes propiedades
1. 0 ≤ tj,i ≤ 1, ∀i, j ∈ 1, 2, . . . , N
'N
2.
j=1 tj,i = 1, ∀i ∈ 1, 2, . . . , N
En otras palabras, las columnas de T son vectores de probabilidad.
2
Figura 1: Ejemplo de diagrama de transiciones de una cadena de Markov.
Vectores de probabilidad de estado
El vector de probabilidad de estado en el instante n se define ası́ p[n] = [p1 [n] p2 [n] . . . pN [n]]T ,
donde pi [n] = P (X[n] = i) es la probabilidad de que el proceso se encuentre en el estado i
en el instante n. El vector de probabilidad en el siguiente instante n + 1 se puede obtener
a partir del vector de probabilidad en el instante anterior, n, y de la matriz de transiciones
p[n + 1] = Tp[n]
(3)
En general, a partir de las probabilidades de estado en un instante dado n, podemos
obtener las probabilidades de estado en cualquier instante posterior n + m aplicando (3)
repetidamente:
p[n + m] = Tm p[n], ∀n, m ∈ Z+ .
(4)
La matriz de transición caracteriza la dinámica del sistema, pero para conocer los
valores concretos de los vectores de estado en los distintos instantes de tiempo es necesario
conocer también el vector de estado inicial p[0]. En ocasiones, el estado inicial del sistema
es conocido de forma determinista con lo que las componentes de p[0] serán cero excepto un
1 en la componente correspondiente al estado inicial del sistema. Dado el vector de estado
inicial, el vector de probabilidad de estado en el instante n lo podemos obtener aplicando
(4)
p[n] = Tn p[0], ∀n ∈ N.
(5)
Ejercicio 1: Considere la cadena de Markov de la figura 1. Suponiendo que en el instante
inicial el sistema se encuentra en el estado 1, calcule
1. La probabilidad de que el sistema se encuentre en el estado 1 después de 5 transiciones
2. La probabilidad de que el sistema se encuentre en el estado 1 después de 25 transiciones
3
3. La probabilidad de que el sistema no se encuentre en el estado 1 después de 10
transiciones
Construya una función para dibujar la evolución con el tiempo de las probabilidades
de estado y guardela en el fichero ej1.m. La sintaxis de la función debe ser la siguiente:
function ej1(T, p0, Nt)
...
donde los puntos suspensivos indican las lı́neas necesarias para implementar la función. La
función tiene tres argumentos de entrada:
1. T es la matriz de transiciones
2. p0 es un vector de estado inicial.
3. Nt es el número de transiciones que se van a considerar.
Utilizando la función ej1, representar la evolución de las probabilidades de estado para
los tres estados de la cadena de Markov de la figura 1, durante las primeras Nt = 20
transiciones. Dibuje las curvas en la misma gráfica utilizando el comando plot de Matlab
con la opción ’-o’.
Ejercicio 2: Modelo de movimiento de población de un municipio Un municipio
consta de una ciudad grande y de dos pueblos residenciales en las afueras de la ciudad.
Cada año, un 5 % de los ciudadanos de la ciudad fijan su residencia en el pueblo A y un 3 %
lo hacen en el pueblo B. Cada año un 2 % de los habitantes del pueblo A y un 0,4 % de los
del pueblo B se mudan a la ciudad. Además, cada año, un 4 % de la población de pueblo
A se va a vivir al pueblo B. No se registran migraciones del pueblo B al A. La ciudad
tiene actualmente 10000 habitantes, el pueblo A tiene 2000 y el pueblo B tiene 1000. Se
desea estudiar la evolución de la población en el municipio durante los próximos 30 años,
suponiendo que los porcentajes de emigración anteriores no cambian. Para ello modele el
problema como una cadena de Markov, identificando los estados, la matriz de transición
y el vector de estados inicial. Después utilizar la función ej1 para contestar las siguientes
preguntas
1. ¿Qué representan los estados?
2. ¿Cuál será la población de la ciudad y de los pueblos dentro de 40 años?
3. ¿En qué momento el pueblo B tendrá más población que el pueblo A?
4. ¿Llegarán los pueblos a tener más población que la ciudad?. En caso afirmativo,
¿cuándo?.
4
Si el número de estados del sistema N es grande y/o n es grande, el cálculo de la potencia
n-ésima de la matriz de transiciones en (5) puede ser computacionalmente costoso. Pero,
cuando T es diagonalizable por semejanza, el cálculo de los vectores de probabilidad puede
simplificarse considerablemente, como se muestra a continuación. Sea T = VDV−1 , donde
V es la matriz cuyas columnas son los autovectores de T y D es una matriz diagonal con
los autovalores de T en la diagonal. Las potencias de T se pueden obtener ası́
T = VDV−1 ,
T2 = (VDV−1 )(VDV−1 ) = VD2 V−1 ,
T3 = (VDV−1 )(VD2 V−1 ) = VD3 V−1 ,
..
.
n
T = VDn V−1 .
Entonces el vector de probabilidades de estado se puede obtener ası́
p[n] = Tn p[0] = VDn V−1 p[0].
Como D es diagonal, su potencia n-ésima se puede calcular
potencias n-ésimas de los autovalores

n 
λ1 0 · · · 0
λn1 0 · · ·
 0 λ2 · · · 0 
 0 λn · · ·
2



n
D =  ..
.. . .
..  =  ..
.. . .
.
.
. . 
.
.
.
0 0 . . . λN
0 0 ...
(6)
fácilmente a partir de las
0
0
..
.
λnN



.

(7)
Lamentablemente, no todas las matrices de transición son diagonalizables por semejanza. Ver en (6) que para ser T diagonalizable, V debe ser invertible, lo que es lo mismo, sus
autovectores deben ser linealmente independientes. Una condición suficiente (no necesaria)
para que esto se cumpla es que los autovalores sean diferentes.
Ejercicio 3: Construya una función para dibujar la evolución con el tiempo de las probabilidades de estado basada en las expresiones (5) (6), y almacénela en el fichero ej2.m.
La sintaxis de la función debe ser la siguiente:
function ej2(T, p0, Nt)
...
donde los puntos suspensivos indican las lı́neas necesarias para implementar la función. La
función tiene tres argumentos de entrada:
1. T es la matriz de transiciones
2. p0 es un vector de estado inicial.
5
3. Nt es el número de transiciones que se van a considerar.
Dibuje las curvas en la misma gráfica utilizando el comando plot de Matlab con la
opción ’-o’. Para diagonalizar la matriz de transiciones utilice la función de Matlab [V,
D] = eig(T). Para calcular las potencias de D, no utilize el producto de matrices sino las
potencias de los autovalores, como muestra (7).
Una vez construida la función ej2, estudie la evolución del vector de probabilidades
como hizo en el ejercicio 1 y compruebe que obtiene las mismas curvas que con la función
ej1.
Ejercicio 4: Dos amigos deciden apostar sus ahorros tirando repetidamente una moneda.
En cada lanzamiento de moneda el jugador 1 recibe 1000 euros del jugador 2 si sale cara y
paga 1000 euros al jugador 2 si sale cruz. Inicialmente el jugador 1 dispone de 20000 euros
y el jugador 2 tiene 40000 euros. Si la moneda se lanza 200 veces, calcular
1. La probabilidad de que el jugador 1 arruine al jugador 2.
2. La probabilidad de que el jugador 2 arruine al jugador 1.
3. La probabilidad de que el jugador 1 termine ganando dinero.
Para ello plantee el problema como una cadena de Markov y obtenga las probabilidades
anteriores utilizando la función ej2. Repetir los cálculos cuando la moneda se lanza 300
veces y 600 veces.
Vector de probabilidad de estado lı́mite
Una cadena de Markov es irreducible si desde cualquier estado i es posible llegar a
cualquier estado j en un número de transiciones (tiempo) finito con probabilidad no nula.
Una cadena de Markov se dice periódica si existe algún estado que es visitado periódicamente con un periodo mayor de 1. Una cadena de Markov es aperiódica si no es periódica.
Ambas propiedades pueden comprobarse viendo el diagrama de transiciones. Por ejemplo,
la cadena de la figura 1 es aperiódica e irreductible. Normalmente las cadenas de Markov
que modelan sistemas dinámicos son irreductibles y aperiódicas.
Si una cadena de Markov es irreducible y aperiódica, tiene un autovalor dominante igual
a 1, y el resto de los autovalores tienen módulo menor que 1. Por ejemplo los autovalores
de la matriz de transición de la cadena de la figura 1 son λ = 1; 0,84; 0,56.
En estas cadenas de Markov el vector de probabilidades de estado converge a un vector
de probabilidad p, llamado vector de probabilidades de estado lı́mite, independientemente
del estado inicial
p[n] −−−→ p, ∀p[0],
n→∞
Las gráficas de los ejercicios 1 y 2 sugieren que el vector de probabilidades converge
a un vector lı́mite cuando el estado inicial es 1. Utilizando la función ej1 ó ej2, dibuje la
6
evolución del las probabilidades de estado cuando los estados iniciales son 2, 3, ó cuando
los tres estados iniciales son equiprobables. Compruebe que en todos los casos el vector de
probabilidades de estado converge al mismo vector lı́mite.
Si la cadena de Markov es irreductible y aperiódica y, además, su matriz de transiciones es diagonalizable, el vector de probabilidades lı́mite se puede calcular eficientemente
como se describe a continuación. Primero se expresa p[0] como combinación lineal de los
autovectores de T,
p[0] =
N
(
ci vi = Vc =⇒ c = V−1 p[0],
(8)
i=1
donde los vi ’s son los autovectores de T y c = [c1 , c2 , . . . , cN ]T es el vector que contiene los
coeficientes de la combinación lineal. Aplicando repetidamente (3)
p[1] = Tp[0] =
p[2] = Tp[1] =
N
(
i=1
N
(
ci Tvi =
p[n] = Tp[n − 1] =
ci λi vi ,
i=1
N
(
ci λi Tvi =
i=1
..
.
N
(
ci (λi )2 vi ,
i=1
N
(
ci (λ1 )
n−1
Tvi =
i=1
N
(
ci (λi )n vi , .
i=1
Si λj = 1 es el autovalor dominante y vj el autovector asociado, en el lı́mite
p[n] −−−→ cj vj ,
n→∞
(9)
donde cj se obtiene de (8).
Ejercicio 5: Considerando (8) y (9), construya una función para calcular las probabilidades de estado lı́mite en cadenas de Markov aperiódicas, irreductibles y diagonalizables.
Almacene la función en el fichero ej3.m. Su sintaxis debe ser la siguiente:
function ej3(T)
...
donde los puntos suspensivos indican las lı́neas necesarias para implementar la función. En
la función se puede utilizar cualquier vector inicial ya que, si se cumplen las condiciones
mencionadas, las probabilidades de estado lı́mite no dependen del estado inicial.
Utilizando ej3, compruebe, para la cadena de Markov de la figura 1, que las probabilidades de estado lı́mite coinciden con las obtenidas a partir de las funciones ej1 o ej2.
7
Ejercicio 6: Modelo de movimiento de población en un municipio Considere el
modelo de movimiento de población del ejercicio 2. Utilizando la función ej3 obtener la
distribución de la población después de un número grande de años y comparar los resultados
con las curvas obtenidas en el ejercicio 2.
8
Descargar