Está en la página 1de 18

Aplicaciones de los Métodos de

MonteCarlo

Métodos Estadísticos en Investigación Científica


Introducción
• ¿Qué es una simulación?
– el concepto de simulación es muy amplio y bastante difuso
– para nosotros:
• utilizar números aleatorios para imitar un proceso (físico en
nuestro caso) y evaluar magnitudes relacionadas
– intentaremos revisar las ideas fundamentales sobre ejemplos
sencillos
• muchos ejemplos sacados de la física de partículas pero equivalentes en
muchos otros campos:
– una partícula que se propaga en un medio,
• puede ser una partícula elemental en un detector, en una
estrella, en un reactor nuclear, una mota de polvo en el aire, una
mancha de contaminación en el mar, un fotón en una fibra
óptica, una enfermedad en una población...
Índice
• Generación de números aleatorios en muchas dimensiones
– problema con métodos habituales
– método de Metropolis
• Simulaciones
– Ejemplos de simulaciones sencillas
– Método de Bootstrap
• Fenómenos de transporte: propagación de una partícula en
un medio
Números aleatorios en N-Dimensiones
• Buscamos obtener números aleatorios de acuerdo con una densidad de
probabilidad genérica definida por más de una variable: ρ(x)
• Los métodos habituales de muestreo (sampling) se pueden extender a
N-Dimensiones ...
• ...pero son muy poco eficientes:
– Típicamente la eficiencia del método (cuántos números aleatorios
necesitamos para obtener uno que nos valga) viene dada por el
cociente entre el área subtendida por la función de densidad que
muestreamos y un área que englobe toda la función
• ya es poco eficiente para casos en que la función varía mucho
– en n dimensiones son hipervolúmenes
• curse of dimensionality... típicamente la eficiencia escala como
potencias de la dimensión
– por ejemplo, si lo usáramos para hacer sampling de ex2 (no
debemos hacerlo!!!) entre -10 y 10
• para dimensión 1, tendremos una eficiencia de ~9%
• para dimensión 10, 3 10-11
Números aleatorios en N-Dimensiones
• Antes de ir a métodos multidimensionales hay que comprobar siempre
si el problema se puede factorizar:
– generar n distribuciones uni-dimensionales es siempre mucho más
eficiente que generar una n-dimensional
• Algunas sugerencias para reducir la dimensión:
– comprobar si las variables (o algunas de ellas) son independientes,
en ese caso factorizar directamente
– comprobar si las variables sólo están correlacionadas linealmente:
transformar en independientes (como en PCA)
– pensar si hay algún cambio de variable que las pueda hacer
independientes, p ej, cambio de coordenadas
cartesianas↔esféricas↔polares
– existe alguna simplificación razonable que lo haga lineal?
• Si nada funciona, un método sencillo y más eficiente:
– Algoritmo de Metropolis
Algoritmo de Metropolis
• Propuesto en 1953 por Nicholas Metropolis
• Una extensión muy utilizada propuesta Hastings en 1970
– se habla a menudo del método de Metropolis-Hastings
• Una versión simplificada del procedimiento:
– se comienza con un punto cualquiera del espacio permitido r, es el
llamado walker (si se obtiene como número aleatorio de una
distribución aproximada convergerá más rápido)
– se obtiene un r’=r+δ donde δ es un vector obtenido de forma que
cada una de sus componentes es un número aleatorio de una ley
uniforme entre –a y a. (random walk)
– se evalúa q=ρ(r’)/ρ(r)
– se obtiene un número aleatorio t según una ley uniforme entre 0 y
1
– si t<q se hace ri+1= r’, en otro caso ri+1= r
• obviamente si q>1 siempre se acepta el nuevo punto
– si repetimos esto un número suficiente de veces converge a un
número aleatorio según ρ(r)
Algoritmo de Metropolis
• En la práctica se empieza con varios walkers según una distribución
aproximada (p.ej, despreciando correlaciones)
• En cada iteración se actualizan todos los walkers (con random walks
independientes)
• Al cabo de n iteraciones, tenemos una realización de la p.d.f.
• Se puede ir viendo como converge alguna magnitud asociada al p.d.f.
(una integral, una velocidad media, un r.m.s., una temperatura...)
• La elección del rango de random walk es arbitraria:
– un valor demasiado pequeño hará la convergencia lenta
– un valor demasiado grande, complicará ver estructuras
– en el límite, estaríamos en un sampling estándar
• Aspectos importantes del método:
– no hace falta normalizar la función de probabilidad
– sólo hay que calcularla en los puntos concretos del walker
– no tenemos que conocer/estimar el valor máximo, ni el rango
(hipervolumen que englobe la pdf)
Dos ejemplos
• Obtener números según una distribución gaussiana
(recordad que hay métodos mejores en este caso)
– empezamos con una uniforme entre -2 y 2
– para a=1 hay una buena convergencia en 5 o 6 pasos
– para a=0.1 en 18 aún no se parece demasiado
– para a=10 se parece al cabo de unas 10, pero no mejora
demasiado
• lo mismo para una bigaussiana
– para a=1 converge algo más lento, unos 15 pasos
– para a=10, sale bien en 7-8 pasos
Más ejemplos
• El método de Metropolis se puede aplicar de forma sencilla a casos de
formulación matemática no trivial
• Por ejemplo el caso de esferas rígidas en una caja según la ley que sea,
pero sin poderse solapar ni solapar con los bordes
– basta con asignar probabilidad 0 a los casos en que los walkers
lleven a condiciones de solapamiento
– hay que asegurarse que en el primer paso no hay walkers en zonas
de probabilidad 0 (habría división por 0)
• Ejercicio para hacer vosotros:
– plantear en 2 dimensiones el problema de distribución uniforme de
dos esferas duras de radio R en una caja de dimensiones L
– usar el lenguaje/programa favorito
– realizar las iteraciones y obtener cómo convergen algunas
cantidades, p.ej.:
• posición x de una esfera
• distancia entre esferas
• mínima distancia a una pared
Extensiones
• En realidad el método propuesto por Metropolis incluía
una perturbación más general con la única condición de
que fuese simétrica:
– P(x’→x)= P(x→x’)
– en algunos casos converge mejor con expresiones más
complicadas que una perturbación uniforme
• Hastings lo generalizó a algunas funciones no simétricas
• Existen más generalizaciones
¿Por qué converge?
• Este algoritmo es un caso particular de Cadenas de Markov
– Dentro de estas teorías, se puede demostrar que la sucesión converge
de forma casi segura
• Se puede ver que si los walkers siguen la p.d.f que queremos se mantienen
en una posición de equilibrio:
– supongamos dos puntos del espacio r’ y r tales que ρ(r’)<ρ(r)
– podemos ver esto como un flujo de partículas de un sitio a otro
– entonces en ese momento tendremos ρ(r) en ese punto
– cuántas se mueven a r’?:
• ρ(r) ρ(r’)/ρ(r) P(r→r’),
– cuantas hay, multiplicado por la probabilidad que definimos y la
probabilidad dada por la perturbación, queda ρ(r’)P(r→r’),
• en dirección contraria será simplemente: ρ(r’)P(r’→r), porque
ρ(r)/ρ(r’)>1
• como P es simétrica se ve que para dos puntos cualesquiera el
“flujo” es el mismo en los dos sentidos
• por tanto mantiene el equilibrio
Ejemplos sencillos de simulaciones
• Existen muchos casos donde una simulación sencilla nos
puede dar un información importante sobre algún proceso:
– es una herramienta muy potente pero no hay que abusar
de ella!
• comprobar si existe una solución analítica
• comprobar si se puede resolver con aproximaciones
razonables
Ejemplo: el llamado “toy MC”
• Es un caso muy habitual en cualquier proceso de medida
• Tenemos uno o varios aparatos que miden magnitudes
físicas
– los aparatos no son ideales, tienen una eficiencia, tienen
una resolución, puede haber ruido de fondo...
• Normalmente lo que nos interesa no es directamente la
magnitud medida sino una combinación de varias
magnitudes (no lineal, casi siempre)
– la pregunta es: conocida la distribución de probabilidad
de las medidas directas ¿qué pdf tiene la magnitud?
¿Qué precisión?...
– esto normalmente sólo se puede hacer analíticamente si
suponemos errores gaussianos y pequeños
(aproximación de primer orden)
Toy MC
• Ejemplo: en un acelerador se produce una partícula que queremos
estudiar. Ésta se desintegra inmediatamente a otras n partículas que son
las que observamos:
– medimos px, py, pz, m de cada partícula
– tenemos una eficiencia que puede depender de p,θ,φ
– tenemos una resolución que puede depender de p,θ,φ
– que pdf tiene la masa total M2=(ΣE)2-(Σp)2?
• procedimiento:
– “generamos” una desintegración:
• dado un modelo teórico, por ejemplo con un Metropolis
– para cada partícula lanzamos un número aleatorio entre 0 y 1, si es
mayor que la eficiencia, se elimina la partícula
– a cada magnitud le sumamos un número aleatorio (gaussiano casi
siempre), de acuerdo con la resolución: smearing
– obtenemos M con las partículas “supervivientes”
• gráficas, estimadores, etc...
Estimación de errores en un ajuste
• Realizamos un ajuste de datos experimentales a un modelo en función
de algunos parámetros (p.ej. ajuste a una recta)
• La estimación de errores posible sólo en algunos casos sencillos:
ajustes a funciones sencillas, errores gaussianos, casi siempre
despreciando la correlación
• Para casos más complicados se puede hacer una simulación:
– conocida la distribución de probabilidad de cada punto
experimental (veremos después cómo hacerlo en otro caso)
– se obtiene con números aleatorios un conjunto de pseudo-datos y
se realiza el ajuste
– se repite las veces que haga falta y se estudia el valor de los
parámetros
• Ejercicio para hacer:
– calcular la distribución de probabilidad del resultado de un ajuste
lineal (pendiente y ordenada en el origen), cuando los puntos
experimentales siguen una distribución bigaussiana
Bootstrap
• Un ejemplo muy extendido de estudiar propiedades de un estimador
estadístico muestreando una distribución aproximada
– habitualmente obtenida de los mismos datos
• Propuesto inicialmente en 1969 por Julian Simon y poco después
(aunque más conocido) por Brad Efron
• Un ejemplo típico:
– tenemos un conjunto de datos que siguen un pdf desconocido, cuál
es el error en la media o en la rms?
– tomamos los datos y los discretizamos (hacemos un histograma)
construyendo un pdf
– en cada bin/canal vemos el número de datos y aplicamos la ley que
queramos (poisson, gauss)
– con eso podemos obtener los “experimentos simulados” que
queramos y estudiar cualquier estimador
Bootstrap
• ¡Cuidado! el método es muy sencillo y potente, pero puede dar
resultados sesgados:
– construimos el modelo sobre información parcial
– sobre todo si partimos de una muestra pequeña, podemos haber
sido des/afortunados y aunque realicemos infinitas simulaciones el
resultado sea incorrecto
• dos ejemplos:
– tenemos un proceso que sigue una ley de poisson de media
pequeña, p.ej. 0.1
• es relativamente probable que obtengamos varios datos=0,
entonces un bootstrap nos dirá que siempre es 0
– una distribución de gauss, centrada en 0 y anchura 1
• si tenemos pocos datos, no es imposible que estén sesgados
• cualquier simulación que hagamos estará sesgada
Bootstrap
• Otro ejemplo:
– el ajuste del caso anterior sin conocer la distribución
– utilizamos los mismos datos para obtener la
distribución
• habitualmente suponiendo gauss y calculando media
y rms
• incluso si estamos contando suponemos que la rms
es la raíz de N
– de hecho es lo que estamos haciendo en muchos casos
al realizar un ajuste

También podría gustarte