﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	severity	resolution	keywords	cc
890	El método Multiple-try Metropolis de simulación de cadenas de Markov sobre densidades unimodales con dominios acotados arbitrariamente	Víctor de Buen Remiro	Víctor de Buen Remiro	"El método de simulación de cadenas de Markov [http://en.wikipedia.org/wiki/Multiple-try_Metropolis Multiple-try Metropolis] ofrece muchas posibilidades de aceleración de la convergencia cuando se tiene una forma rápida de evaluar la función de densidad conjunta. 

En el ticket #789 se propone el método general pero aquí nos ocuparemos de su aplicación en el caso de dominios acotados arbitrariamente, pues podría ser muy útil en el sistema BSR, especialmente para mejorar la eficiencia de la simulación del bloque ARMA o los bloques no lineales que actualmente se simulan escalarmente (con SLICE ó ARMS) con una gran sobrecarga de trabajo.

Concretamente, cuando se sabe que la función de densidad es unimodal, y se tiene una forma rápida de evaluar la pertenencia al dominio de un punto candidato arbitrario, es posible implementar una función de generación de candidatos independiente del punto de partida y multinormal, eventualmente truncada, que la aproxime. Para mayor eficiencia consideraremos incorrelada y más adelante nos ocuparemos de proponer el cálculo de sus parámetros

[[LatexEquation( Q\left(x,y\right) = Q'\left(y\right) \propto \exp\left(-\frac{1}{2}\overset{n}{\underset{i=1}{\sum}}\left(\frac{y_{i}-\mu_{i}}{\sigma_{i}}\right)^{2}\right) )]]

Cuando el dominio es acotado, la función generadora de candidatos está truncada en una región cuya expresión algebraica no es conocida, y aunque lo fuera, sería muy costoso calcular su integral de forma exacta. Por ello se debe calcular de forma aproximada, y la forma más sencilla de hacerlo es generar [[LatexEquation( k' )]] precandidatos hasta obtener [[LatexEquation( k )]] que estén dentro del dominio y podamos llamar candidatos. La función de densidad generadora de candidatos se podría aproximar como sigue:

[[LatexEquation(Q'\left(y\right)\propto \frac{k}{k'} \exp\left(-\frac{1}{2}\overset{n}{\underset{i=1}{\sum}}\left(\frac{y_{i}-\mu_{i}}{\sigma_{i}}\right)^{2}\right) )]]

Tomando la función simétrica y positiva

[[LatexEquation( \lambda\left(x,y\right)=\frac{1}{\sqrt{Q'\left(y\right) Q'\left(x\right) }} )]]

se obtiene la función de pesos

[[LatexEquation( w\left(x,y\right)=\pi\left(x\right)Q'\left(y\right)\lambda\left(x,y\right)=\pi\left(x\right)\sqrt{\frac{Q'\left(y\right)}{Q'\left(x\right)}} )]]

que resulta ser independiente del factor [[LatexEquation( k/k' )]] por lo que no tiene ninguna importancia si aproxima mejor o peor la integral de la densidad multinormal de precandidatos en el dominio. Esta es precisamente la razón por la que se toma una función de generación de candidatos independiente del punto de origen, en lugar de una simétrica que resulta más sencilla en el caso de dominio no acotado, pero que es inviable en el caso acotado cuando la moda se encuentra demasiado cerca de la frontera.

Para poder aplicar el método se comenzará tomando una media arbitraria [[LatexEquation( \mu )]] interior al dominio que puede ser perfectamente el propio punto inicial de la cadena y desviaciones unitarias [[LatexEquation( \sigma_{i}=1 )]]. Durante un número de iteraciones preliminares (burn-in) se irá desplazando la media al punto de mayor densidad objetivo de los [[LatexEquation( N )]] candidatos evaluados por el camino y las desviaciones se aproximarán como

[[LatexEquation( \sigma_{i}^2=\frac{1}{N} \overset{N}{\underset{j=1}{\sum}}\left(y_{j,i}-\mu_{i} \right)^2 \pi \left(y_{j,i}\right) )]]

Durante la fase de simulación propiamente dicha se podría estudiar la revisión de estos parámetros si se observa un aumento excesivo de los rechazos.
"	task	closed	highest	Numerical methods	BSR	head	critical	fixed		
