bloque 4

Anuncio
BLOQUE 4
MÉTODOS MCMC Preliminares Para seguir adecuadamente estos apuntes es preciso dominar la teoría y los ejercicios de los
anteriores módulos. Igualmente es deseable tener a mano un manual de econometría básica.
Recuerda que estos apuntes pueden contener errores tipográficos. Cualquier comentario a
los mismos es bienvenido.
Introducción: Inferencia Bayesiana Lo más característico de los métodos bayesianos es que representan la incertidumbre sobre los valores de los parámetros desconocidos a través de distribuciones de probabilidad, y actúan como si los parámetros fueran, de suyo, cantidades aleatorias. Consideremos que D representa los datos observados por el investigador, y que θ representa los parámetros del modelo. Entonces para realizar inferencia necesitamos saber la distribución de probabilidad conjunta P(D, θ) sobre todas las cantidades aleatorias. De la misma definición de probabilidad condicionada, sabemos que la distribución conjunta la podemos escribir del siguiente modo P ( D,  )  P ( ) P ( D  ) , Donde P(  ) se denomina distribución prior (a priori) y P(D|θ) se denomina distribución de likelihood (verosimilitud). Una vez que observamos los datos D, podemos utilizar el celebrado teorema de Bayes para obtener lo que denominamos distribución posterior (a posteriori) como sigue P  D  
P( ) P  D  
 P( ) P  D   d
. Esta ecuación nos proporciona la distribución de los parámetros del modelo θ condicionada por (dados) los datos observados D. Puesto que el denominador de la ecuación no es una función de θ (pues estamos integrando sobre θ), podemos escribir la distribución posterior (a posteriori) como si fuera proporcional al producto de la distribución prior por la distribución de verosimilitud, Comprender y usar la distribución posterior es central para la inferencia bayesiana, en la que uno está interesado en realizar inferencias utilizando algunos hechos de la distribución posterior (por ejemplo, momentos, cuantiles, …). Estas cantidades pueden ser escritas como esperanzas a posteriori de las funciones de los parámetros del modelo como sigue E  f ( ) D  
 f ( ) P( ) P  D   d .  P( ) P  D   d
En las dos últimas ecuaciones el denominador es una constante de proporcionalidad que hace que la distribución posterior integre 1. Si la distribución posterior no es estándar, entonces esto puede ser muy difícil, si no imposible, de obtener. Estos suele suceder con más frecuencia cuando los datos son de una dimensión elevada ya que entonces hay que integrar sobre muchos parámetros. Analíticamente realizar la integración en estas expresiones ha sido una fuente de problemas en las aplicaciones de la inferencia bayesiana. La integración por métodos de Monte Carlo usando MCMC es una respuesta atractiva a este problema. Vamos ahora a cambiar un poco la notación a fin de hacerla más general. Sea X un vector de d variables aleatorias, cuya distribución la representamos por π(x). Para un usuario no‐bayesiano, X contendría los datos, y π(x) es la función de verosimilitud. Para un bayesiano, X estaría compuesto por los parámetros del modelo, y π(x) sería la distribución posterior (a posteriori). Para ambos, el objetivo es obtener la esperanza siguiente E  f ( X)  
 f (x) (x)dx .   ( x ) dx
Con los métodos MCMC sólo necesitamos saber hasta la constante de proporcionalidad de la distribución de X. Esto significa que el denominador en la última ecuación pude ser desconocido. Integración por Monte Carlo Una parte fundamental de los métodos MCMC es encontrar integrales. Los métodos de MC pueden estimar la integral E[f(X)] de la última ecuación a partir de obtener muestras de Xt, t=1,2,…,n de la distribución π(x), y luego calcular E  f ( X)  
1 n
 f (Xt ). n t 1
En el ejercicio siguiente vamos a comprobar el método de MC para integrar y lo compararemos con las técnicas usuales de integración numérica. Ejercicio 15. Queremos calcular usando la ecuación anterior el valor de E[X1/2] donde X es una variable aleatoria exponencial con parámetro lambda = 1. Para ello, primero necesitas generar variables aleatorias requeridas por la distribución (generar 1000); calcular luego la raíz cuadrada de cada una de ellas, y posteriormente calcular la media aritmética de todos los valores, y denomina a dicha media exrootESTIMADA. Por otro lado, dado que queremos comparar esta técnica de integración con la integración numérica, con los mismas variables generadas, computa el siguiente código: strg = 'sqrt(x).*exp(-x)';
myfun = inline(strg);
exrootVERDADERA = quadl(myfun,0,50);%%haz un helpquadl para ver qué es. ¿Cuál es la diferencia de integrales entre una técnica y otra? Una peculiaridad importante que podemos observar en el ejercicio anterior es que las muestras Xt no tienen que ser independientes en la medida en que las hemos generado obteniendo muestras del dominio entero de π(x) y en las proporciones esperadas (correctas) de acuerdo a la distribución. Para evitar los problemas derivados de trabajar con variables dependientes, como puede ser la determinación de la matriz de varianzas y covarianzas de la estimación de esperanzas anterior, el uso de cadenas de Markov (Markov Chains) resulta útil. Cadenas de Markov Una cadena de Markov es una secuencia de variables aleatorias tales que el siguiente valor o estado de la secuencia depende sólo del valor previo. Por tanto, la cadena está generando variables aleatorias X0,X1,… tales que el siguiente estado Xt+1 con t>0 se distribuye de acuerdo a P(Xt+1|Xt), al que se le denomina kernel de transición. Una realización de este tipo de secuencia también se le denomina cadena de Markov. Una cuestión a tener en consideración es cómo de sensible es la cadena al valor de arranque o inicio X0. Bajo ciertas condiciones, la cadena ‘olvidará’ el estado inicial y convergerá a la distribución estacionaria habitualmente denotada por ψ. Esto nos induce a que en la práctica, a fin de evitar el efecto del estado inicial, eliminemos los primeros m estados de la cadena. Entre el 1% y 2% de del tamaño n a generar suele ser suficiente para llegar a la distribución estacionaria. Una de las bondades de las cadenas de Markov es conseguir que la precisión de la estimación sea tan fina como deseemos. Esta precisión se puede obtener incrementando el tamaño muestral n. Modulando, por tanto, n y m conseguiremos llegar a la distribución estacionaria ψ. El siguiente objetivo es que tal distribución estacionaria coincida con la distribución objetivo (target distribution): π(x). Los siguientes apartados desarrollan esta cuestión. ALGORITMOS METROPOLIS‐HASTINGS Recordemos que el objetivo es obtener E  f ( X)  
 f (x) (x)dx .
  ( x ) dx En la práctica son escasas las situaciones en las que podemos obtener una expresión cerrada para este tipo de integrales. El enfoque bayesiano actual consiste inicialmente en observar que si pudiéramos obtener una muestra aleatoria, tan grande como deseáramos, de la población posterior π(x), entonces podríamos usar la integración de MC para conocer características básicas de la distribución posterior. La clave es como conseguir muestras de la distribución posterior. Los algoritmos del tipo que vemos en esta sección facilitan justamente esta cuestión. El muestreo de Metropolis‐Hastings obtiene el estado de una cadena de Markov en t+1 tomando para ello un punto de muestra de una distribución propuesta q(./Xt) que sea suficientemente sencilla para poder obtener muestras fácilmente. Este punto muestral es considerado inicialmente como candidato. El candidato es aceptado con el siguiente (t+1) en la cadena con una probabilidad dada por   (Y )q ( X t Y ) 
.   ( X t )q (Y X t ) 
  X t , Y   min 1,
Si el punto no se acepta, entonces la cadena no cambia y X(t+1)=X(t). Nótese que la distribución de interés π(x) aparece como ratio, y por tanto, la constante de proporcionalidad se cancela. Lo entenderemos mejor si vemos el algoritmo: 1.‐ Inicia la cadena en X(0) y fija t=0. 2.‐ Generar un punto candidato Y de q(./Xt) 3.‐ Generar un punto U de la distribución uniforme (0,1) 4.‐ Si U   ( X t , Y ), entonces fijamos X t 1  Y , en caso contrario X t 1  X t 5.‐ Fijar t = t+1, y repetir los pasos de 2 a 5. En el ejemplo siguiente lo ponemos en práctica para generar variables aleatorias de una distribución de Cauchy estándar definida por f ( x) 
1
1
;   x  , que es proporcional a (  )
. 2
 (1  x )
(1  x 2 )
Usaremos la distribución normal como nuestra distribución propuesta, con una media dada por el valor previo de la cadena, y una desviación estándar denotada por sigma. El primer paso es   (Y )q ( X t Y ) 
.   ( X t )q (Y X t ) 
construir una función inline para evaluar las densidades   X t , Y   min 1,
% Set up an inline function to evaluate the Cauchy.
% Note that in both of the functions,
% the constants are canceled.
strg = '1./(1+x.^2)';
cauchy = inline(strg,'x');
% set up an inline function to evaluate the Normal pdf
strg = '1/sig*exp(-0.5*((x-mu)/sig).^2)';
norm = inline(strg,'x','mu','sig'); Ahora generamos n = 10.000 muestras en la cadena % Generate 10000 samples in the chain.
% Set up the constants.
n = 10000; sig = 2; x = zeros(1,n);
x(1) = randn(1);% generate the starting point
for i = 2:n
% generate a candidate from the proposal distribution
% which is the normal in this case. This will be a
% normal with mean given by the previous value in the
% chain and standard deviation of 'sig'
y = x(i-1) + sig*randn(1);
% generate a uniform for comparison
u = rand(1);
alpha = min([1, cauchy(y)*norm(x(i-1),y,sig)/...
(cauchy(x(i-1))*norm(y,x(i-1),sig))]);
if u <= alpha
x(i) = y;
else
x(i) = x(i-1);
end
end Ejercicio 16. Dibuja la curva correspondiente a la verdadera función de densidad (cauchy) junto con un historgrama de los datos obtenidos con Metropolis‐Hastings. Para ello descarta los 500 primeros puntos (denominada fase burn‐in). A la luz de los resultados, ¿puedes decir que las variables aleatorias generadas por este algoritmo siguen una distribución de Cauchy?, justifica tu respuesta. Otros métodos disponibles para generar candidatos de las distribuciones son los siguientes: Metropolis Únicamente se consideran funciones simétricas para la función propuesta. Por tanto tenemos: q(Y/X)=q(Y/X) para todo X,Y. Entonces resulta   (Y ) 
.   (Xt ) 
  X t , Y   min 1,
Random‐walk Metropolis La función de distribución propuesta es tal que q (Y X )  q ( X  Y ) . Esto equivale a generar un punto candidato Y = Xt+Z, donde Z es una variable aleatoria incremento de la distribución q. Independiente (Independence Sampler) La distribución propuesta por este método no depende de X, es decir, se genera independientemente del valor previo de la cadena. Dado que es de la forma q (Y X )  q (Y ) ,   (Y ) q ( X t ) 
.   ( X t ) q (Y ) 
resulta   X t , Y   min 1,
Generador de densidad autorregresiva Los candidatos en este caso se obtienen de Y  a  B ( X t  a )  Z , Donde a es un vector, B es una matriz, ambas conformables con Xt. El vector Z tiene una densidad dada por q. Si B=‐I (matriz identidad), entonces las cadenas se generan a partir de un reflexión sobre el punto a, originando correlaciones negativas en sucesivos valores de la cada generada. Saber cuál utilizar no es el objetivo de este tema, pues dependerá de la función objetivo (target). Una cantidad apreciable de investigación se viene haciendo en esta dirección. Sin embargo el uso más habitual que en economía se le suele dar a los métodos MCMC es para realizar inferencia Bayesiana. El libro recomendado en la asignatura Econometría tiene varios capítulos dedicados a la econometría bayesiana. Puede resultar ilustrativo completar estas notas de programación con la lectura sosegada de los mismos. A continuación vamos a ver un simple ejemplo en el que usamo MCMC para realizar inferencia bayesiana. Ejercicio 17 Un total de 197 animales se han analizado para estudiar su vínculo genético. Para ello se han dividido en cuatro categorías con las siguientes frecuencias: Z  ( z1 , z2 , z3 , z4 )  (125,18, 20,34), con las siguientes probabilidades por categoría: 1

1  1
  , (1   ), (1   ),  . 4
4
2 4 4
1. Obtener la distribución posterior de theta, dados los datos Z. Es decir, se pide obtener P ( Z ) . Ayuda: Lo primero que tienes que pensar es qué distribución de probabilidad sigue la variable, para lo cual es necesario que revises qué es una distribución binomial y multinomial. El objetivo es conocer el comportamiento de la variable aleatoria theta (es decir, cuáles son los valores más probables que puede tomar en relación a la muestra). Para ello se pide usar la versión random walk Metropolis Hastings, donde la variable aleatoria que controla el incremento sigue una distribución uniforme sobre el intervalo (‐a,a): 2. Utiliza el siguiente código base: % Set up the preliminaries.
z1 = 125;
z2 = 18;
z3 = 20;
z4 = 34;
n = 1100;
% Fija el Tamaño (a) del incremento para la proposal distribution en 0.1.
% Fija el vector para almazenar los valores
% Diseña una function inline para evaluar la probabilidad que has
diseñado en (1).
strg = ' P ( Z ) ';%%recuerda que debes eliminar las constantes
ptheta = inline(strg,'th','z1','z2','z3','z4');
%Ahora genera la cadana de Markov
% Da un valor inicial al theta generando una observación de proveniente
%de una uniforme, y llámalo theta(1);
for i = 2:n
% Genera de la distribución propuesta y = theta(i-1) + z
.Te en cuenta
%que z se distribuye como una uniforme(-a,a).
y = COMPLETAR;
% Generate from uniform, y continúa el código a fin de completar la
cadena. Sigue los pasos de los ejemplos previos.
3. Finalmente obtendrás una distribución de thetas, descarta las 100
primeras que son consideradas como burn-in period. Calcula su moda
y haz un histograma de las mismas. ¿Qué conclusión se puede
extraer?
Ejercicio 18. Usa el algoritmo de Metropolis‐Hastings para obtener muestras de una distribución beta alpha=beta=0,5. Usa la distribución uniforme como función candidata (proposal distribution). Para lograr el objetivo ten en cuenta lo siguiente: Busca cuál es la función de densidad de probabilidad de una beta. Identifica su dominio, y por tanto, el rango de variación de la uniforme fíjalo en consonancia con el dominio. Recuerda que una ventaja importante de MH es que puedes eliminar las constantes. Finalmente, para comprobar la calidad de la muestra compara gráficamente la distribución teórica y la distribución por histograma que has obtenido. Suerte, y felices fiestas. 
Descargar