Cadenas de Markov

18
Unidad I: Cadenas de Markov Objetivos: 1 y 2 Clase Nº 1 Antes de definir las Cadenas de Markov es necesario puntualizar lo que son los procesos estocásticos y los procesos de Markov Procesos estocásticos {Procesos de Markov {Cadenas de Markov Un proceso estocástico se define como una colección indexada de variables aleatorias {X t } donde el índice t toma valores de un conjunto T dado. Con frecuencia T se toma como el conjunto de enteros no negativos y X t representa una característica de interés mesurable en el tiempo. Por ejemplo, lanzar repetidamente una moneda: {sello, cara, sello, sello, cara, sello, cara, cara}= {X t }={X 0 , X 1 , X 2 , X 3 …} Un proceso de Markov es un proceso estocástico si posee la siguiente propiedad markoviana: P{X t+1 =j | X 0 =k 0 , X 1 =k 1 ,…X t =i} = P{X t+1 =j | X t =i} para t=0,1,2… y toda sucesión i, j, k 0 , k 1 , k t-1 . i J t t+1 Las probabilidades P{X t+1 =j | X t =i} se llaman probabilidades de transición de un paso, porque describen el sistema entre t y t+1. Si para cada i y j P{X t+1 =j | X t =i}= P{X 1 =j | X 0 =i} para toda t=0,1,2…entonces se dice que las probabilidades de transición son estacionarias; es decir no cambian con el tiempo. Pij Pij i j I j 0 1 t t+1

Transcript of Cadenas de Markov

Page 1: Cadenas de Markov

Unidad I: Cadenas de Markov Objetivos: 1 y 2 Clase Nº 1 Antes de definir las Cadenas de Markov es necesario puntualizar lo que son los procesos estocásticos y los procesos de Markov

Procesos estocásticos {Procesos de Markov {Cadenas de Markov Un proceso estocástico se define como una colección indexada de variables aleatorias {Xt} donde el índice t toma valores de un conjunto T dado. Con frecuencia T se toma como el conjunto de enteros no negativos y Xt representa una característica de interés mesurable en el tiempo. Por ejemplo, lanzar repetidamente una moneda:

{sello, cara, sello, sello, cara, sello, cara, cara}= {Xt}={X0, X1, X2, X3…} Un proceso de Markov es un proceso estocástico si posee la siguiente propiedad markoviana:

P{Xt+1=j | X0=k0, X1=k1,…Xt=i} = P{Xt+1=j | Xt=i} para t=0,1,2… y toda sucesión i, j, k0, k1, kt-1.

i J

t t+1 Las probabilidades P{Xt+1=j | Xt=i} se llaman probabilidades de transición de un paso, porque describen el sistema entre t y t+1. Si para cada i y j P{Xt+1=j | Xt=i}= P{X1=j | X0=i} para toda t=0,1,2…entonces se dice que las probabilidades de transición son estacionarias; es decir no cambian con el tiempo.

Pij Pij i j I j 0 1 t t+1

Page 2: Cadenas de Markov

La existencia de probabilidades de transición de un paso estacionarias también implica que, para cada i, j y n (n=0, 1, 2) P{Xt+n=j | Xt=i}= P{Xn=j | X0=i} para toda t=0,1,2…Estas probabilidades condicionales se llaman probabilidades de transición de n pasos. Pij(n) Pij(n) i j I j 0 n t t+n Ahora, para n=0 Pij(0) = P{X0=j | X0=i} Pij(0) =1, si i=j Pij(0) =0, si i≠j Para n=1 Pij(1) = Pij Las probabilidades de transición de un paso se organizan en una matriz, con M +1 estados. 0 1 … M

0 P00 P01 … P0M 1 P10 P11 … P1M . .

.

. . .

… . .

P=

M PM0 PM1 … PMM La matriz P es una matriz estocástica ya que:

Pij≥0, para toda i e j

0

1M

j

Pij=

=∑ , para toda i

A una Cadena de Markov la define completamente una matriz de transición P junto con las probabilidades iniciales (P{X0=i} para i=0, 1, 2,…M) asociadas con los estados, organizadas en el vector π0=[ π0

0, π01, π0

2,…, π0M,]. Usando Cadenas de

Page 3: Cadenas de Markov

Markov se estudia el comportamiento a corto y largo palazo de ciertos procesos estocásticos. Veamos un primer ejemplo: Se pretende estudiar la cantidad de memoria consumida por una estructura de datos que se está utilizando en un programa. Si la cantidad de memoria en uso es de i nodos, decimos que el sistema está en el estado Si. Las probabilidades de que la siguiente operación sobre la estructura de datos sea una inserción, un borrado o un acceso son respectivamente 0.1, 0.4 y 0.5. Suponemos que solo disponemos de tres nodos y cuando todos están ocupados, una inserción da lugar a un overflow y deja el sistema en el estado S3. Si está vacío y se intenta un borrado, el sistema sigue en S0. Formule la Cadena de Markov respectiva

S0 S1 S2 S3 S0 0.9 0.1 0 0 S1 0.4 0.5 0.1 0 S2 0 0.4 0.5 0.1

P=

S3 0 0 0.4 0.6 Se propone el siguiente vector de probabilidades iniciales: π0=[1, 0, 0, 0]. Y el diagrama de transición de estados correspondiente es:

A continuación un segundo ejemplo: Suponga que un jugador tiene 1 Bs. y que gana en una jugada 1 Bs. con probabilidad p>0 o pierde 1Bs. con probabilidad 1- p. El juego termina cuando el jugador acumula 3 Bs. o bien cundo quiebra. Formule la Cadena de Markov respectiva. Primero definiremos los estados como la cantidad de Bs. con que cuenta el jugador (0, 1, 2 o 3) 0 1 2 3

0 1 0 0 0 1 1-p 0 p 0 2 0 1- p 0 p

P=

3 0 0 0 1

S0

S3 S2

S1

Page 4: Cadenas de Markov

El vector de probabilidades iniciales que corresponde según enunciado es: π0=[0, 1, 0, 0]. El diagrama de transición asociado sería

Veamos un tercer ejemplo: Un apostador lanza un dado repetidamente hasta que logra un 1 o dos 6 consecutivos. En cada lanzamiento apuesta 2500 Bs. El premio que recibe es de Bs. 10000. Formule la Cadena de Markov respectiva y estime la utilidad esperada del apostador. 1 6 66 2, 3, 4 o 5

1 1 0 0 0 6 1/6 0 1/6 4/6

66 0 0 1 0

P=

2,3,4, o 5 1/6 1/6 0 4/6 El vector de probabilidades iniciales que no permite ventaja de ningún tipo es: π0=[0, 0, 0, 1]. Construya el diagrama de transición correspondiente. La estimación de la utilidad se pospone para más adelante.

0

3 2

1

Page 5: Cadenas de Markov

Unidad I: Cadenas de Markov Objetivos: 1, 2 y 3 Clase Nº 2 Ecuaciones de Chapman – Kolmogorov Proporcionan un método para el cálculo de las probabilidades de transición de n pasos.

( ) ( ) ( )

0

Mn m n m

kPij Pik Pkj −

=

= ∑

Para toda i = 0,1, 2,…M Para toda j= 0,1, 2,…M

Para cualquier m=1,2,….n-1 N=m+1, m+2,…

Las probabilidades de transición de n pasos se pueden obtener a partir de las probabilidades de transición de un paso de manera recursiva, por ejemplo:

P(n)=PP(n-1) P(n)=PPP(n-2)

Para el problema de la estructura de datos, las matrices P2 y P16 son las siguientes: S0 S1 S2 S3

S0 0.85 0.14 0.01 0 S1 0.56 0.33 0.1 0.01 S2 0.16 0.4 0.33 0.11

P2=

S3 0 0.16 0.44 0.4 S0 S1 S2 S3

S0 0.756 0.188 0.046 0.011 S1 0.750 0.189 0.049 0.013 S2 0.737 0.193 0.055 0.016

P16=

S3 0.716 0.199 0.064 0.021 Observe que estas matrices de transición de n pasos también son estocásticas. Para calcular las probabilidades absolutas de un estado se utiliza la siguiente expresión:

πn= π0P(n) Veamos un ejemplo: Calcule la probabilidad de que tengamos 0,1, 2 y 3 nodos en uso después de tres operaciones si se ha comenzado con la estructura vacía.

π3= π0P(3)

Page 6: Cadenas de Markov

π3= [1, 0, 0, 0]P(3)= [0.821, 0.159, 0.019, 0.001] Siendo 0.821 la probabilidad de que la estructura de datos se encuentre vacía luego de tres operaciones, si esta inició vacía. Además, es muy poco probable que la estructura de datos tenga tres nodos en uso luego de tres operaciones y el mismo estado inicial.

Page 7: Cadenas de Markov
Page 8: Cadenas de Markov
Page 9: Cadenas de Markov
Page 10: Cadenas de Markov
Page 11: Cadenas de Markov
Page 12: Cadenas de Markov

Clasifique las cadenas de Markov formuladas en clase.

Page 13: Cadenas de Markov

Unidad I: Cadenas de Markov Objetivos: 1, 2 y 3 Clase Nº 3 y 4

Operaciones de matrices y vectores en Matlab Recordemos como se introducen matrices en Matlab

1 6 b= 5 2

b=[1, 6; 5, 2]

No es lo mismo c=[1, 2] que c=[1; 2]. Verifíquelo! La multiplicación de matrices en Matlab se expresa con el operador de multiplicación, por ejemplo: b=[1 2; 4 3; 0 2]; d=[5; 1]; g=b*d El operador para potencia en Matlab es ^. Por ejemplo p^3 1) Calcule los siguientes vectores de probabilidades absolutas, para el problema del apostador (dado). π3= π10= π100= ¿Que conclusiones puede sacar? 2) Verifique que es necesario elevar la matriz P de la cadena semiergódica (del material Tipos de Cadenas de Markov) a una potencia mayor de 16 para obtener la P*. 3) Eleve la matriz P de la cadena cíclica (del material Tipos de Cadenas de Markov) a potencias altas pares e impares a fin de verificar su comportamiento. Corrija el error detectado en clase de una de las matrices.

Propiedades a largo plazo de las Cadenas de Markov

Para todas las clases de cadenas que no tengan clases finales cíclicas, podemos escribir la siguiente identidad:

P* = Lim P(n) n→∞

Page 14: Cadenas de Markov

Probabilidades estacionarias para Cadenas Regulares Ergódicas Calcularemos las probabilidades estacionarias o de estado estable para la siguiente matriz:

0.2 0.8 P= 0.6 0.4

Recordemos la estructura de la matriz de probabilidades de estado estable de una Cadena de Markov Regular Ergódica.

Π0 π1 P*= Π0 π1

Considerando que P*P= P*, construyamos un sistema de ecuaciones:

π0 Π0 0.2 0.8 π0 π0 π1 Π1

0.6 0.4

= π1 π1

1) 0.2 π0 + 0.6 π1 = π0 2) 0.8 π0 + 0.4 π1 = π1 3) π0 + π1 = 1 Para resolver necesitamos solo dos ecuaciones, razón por la que es necesario descartar la ecuación 1 o 2, nunca la 3 para garantizar que la matriz P* sea estocástica. De esta forma tenemos que π0= 3/7 y π1=4/7. Probabilidades estacionarias para Cadenas Regulares no Ergódicas (Semiergódicas) Calcularemos las probabilidades estacionarias o de estado estable para la siguiente matriz:

0.5 0.4 0.1 0 0.3 0.3 0.4 0 0 0 0.2 0.8

P=

0 0 0.6 0.4 Se utiliza otra vez la identidad P*P= P*, para construir el siguiente sistema de ecuaciones: 1) 0.5 π0 + 0.3 π1 = π0 2) 0.4 π0 + 0.3 π1 = π1 3) 0.1 π0 + 0.4 π1 + 0.2 π2 + 0.6 π3 = π2

Page 15: Cadenas de Markov

4) 0.8 π2 + 0.4 π3 = π3 5) π0 + π1 + π2 + π3 = 1

Igual que en el caso anterior, es necesario descartar una de las 4 primeras restricciones. Sin embargo, el sistema de ecuaciones se reduce si consideramos que los estados 0 y 1 pertenecen a la clase de paso o transitoria de la cadena, lo que significa que sus probabilidades de estado estable van a ser cero. Siendo π0= π1=0, los valores de π2=0.429 y de π3=0.571.

Probabilidades estacionarias para Cadenas Semirregulares Para construir la matriz P* de una cadena semirregular es necesario seguir los siguientes pasos: 1) Las columnas de P* pertenecientes a estados de paso serán todas cero. 2) Las filas de los estados de una misma clase final serán todas iguales, con los valores de las columnas correspondientes a estados no pertenecientes a la clase final considerada iguales a cero. Cada clase final dará lugar a un formato distinto de fila. 3) Las filas de los estados de las clases de paso serán de la forma siguiente: los valores de las πi de las transiciones con destino en estados pertenecientes a clases de paso serán cero y diferentes de cero los πj de las transiciones con destino en las clases finales. Cada estado perteneciente a una clase de paso tendrá una fila diferente en P*. Veamos el siguiente ejemplo: 0 1 2 3

0 0.5 0.4 0.1 0 1 0 1 0 0 2 0 0 0.2 0.8

P=

3 0 0 0.6 0.4 Al aplicar el paso 1, tenemos:

0 0 0

P*=

0 El paso 2 conduce a rellenar las filas de las clases finales de la cadena. El caso más sencillo cuando la clase final esta compuesta por un solo estado, como es el caso de la clase que conforma el estado 1. Para completar las filas de la clase compuesta por los estados 2 y 3 resolvemos el siguiente sistema de ecuaciones: 1) 0.2 π2 + 0.6 π3 = π2 2) 0.8 π2 + 0.4 π3 = π3 3) π2 + π3 = 1

Page 16: Cadenas de Markov

Donde π2=0.429 y π3=0.571

0 0 1 0 0 0 0 0.429 0.571

P*=

0 0 0.429 0.571 Por último el paso 3, donde necesitaremos hacer uso de la siguiente “doble igualdad matricial”, PP*=P*P=P*, para extraer un sistema de ecuaciones y así hallar los valores de las variables a, b y c

0 a b c 0 1 0 0 0 0 0.429 0.571

P*=

0 0 0.429 0.571

1) 0.5a=0.4 2) 0.5b=0.0429 3) a+b+c=1

Finalmente, la matriz P*

0 0.8 0.086 0.114 0 1 0 0 0 0 0.429 0.571

P*=

0 0 0.429 0.571

Ecuaciones Lineales en Matlab

Consideremos un conjunto de m ecuaciones con n incógnitas dado por:

a1,1x1 + a1,2x2 + a1,3x3 +… a1,nxn= y1 a2,1x1 + a2,2x2 + a2,3x3 +… a2,nxn= y2

.

.

. am,1x1 + am,2x2 + am,3x3 +… am,nxn= ym

donde aij son coeficientes conocidos, xi son incógnitas y yi son términos conocidos que se denominan términos no homogéneos (o términos fuente). Las ecuaciones lineales anteriores se pueden expresar de forma compacta como:

Ax=y

Donde A, x y y están definidos, respectivamente, por

Page 17: Cadenas de Markov

a1,1 … a1,n . … . . … .

A=

am,1 … am,n

x1 . .

x=

xn

y1 . .

y=

yn Se presentan tres casos: Caso 1: cuando m=n Caso 2: cuando m<n (ecuación subdeterminada) Caso 3: cuando m>n (ecuación sobredeterminada) El caso 1 es el más común, con el número de ecuaciones igual al número de incógnitas. En el caso 2, el número de ecuaciones es menor que el de incógnitas y tenemos lo que se conoce como problema subtederminado. En el caso 3, el número de ecuaciones es mayor que el número de incógnitas y tenemos un problema sobredeterminado. En el caso 1, la matriz es cuadrada. Para obtener la solución en Matlab, escribimos:

x=A\y (operador división izquierda) Un mecanismo equivalente es:

x=inv(A)*y

Sin embargo, el primer método es más eficiente desde el punto de vista computacional. Veamos el siguiente ejemplo:

3 2 -1 A= 1 -1

, y= 1

Entonces, x=A\y produce: x= 0.2000 -0.8000

Page 18: Cadenas de Markov

Resuelva los sistemas de ecuaciones formulados en esta misma clase, usando Matlab Ahora que tenemos los conocimientos necesarios, estudiemos el comportamiento de un sistema a largo plazo, consideremos adicionalmente un conjunto de costos: CORPOELEC planea continuar su trabajo en la represa con el propósito de irrigar algunas zonas agrícolas, la capacidad máxima propuesta es 4 unidades de agua. Antes de proceder a la construcción CORPOELEC desea tener una idea de la efectividad a la larga. El flujo semanal que llega a la represa se puede aproximar con la siguiente distribución de probabilidad discreta:

Flujo semanal 2 3 4 5 Probabilidad 0.3 0.4 0.2 0.1

CORPOELEC considera aceptar un contrato de riego de 2 unidades semanales de agua, además para mantener la calidad del agua se debe liberar del fondo de la represa al menos una unidad de agua semanal. Si el nivel de la represa más el agua que entra es menor que esa cantidad cualquier diferencia se resuelve a expensas del riego, si la represa está llena cualquier ingreso adicional se debe liberar. El nivel de la represa no se puede reducir más allá de una unidad de agua. Estamos interesados en encontrar el beneficio neto que se obtendría al operar la represa. El ingreso semanal por dos unidades de agua para riego es 5000 unidades monetarias y perderíamos 3000 si no alcanzamos esa meta. La represa estaría disponible para propósitos recreacionales con los siguientes ingresos:

Nivel del agua al comienzo de la semana

1 2 3 4

Beneficio recreacional (unidades monetarias)

0 1000 6000 2000

Si el exceso de agua que se bota es de dos o más unidades se incurre en un riesgo de inundación con daños esperados de 5000 unidades monetarias.