Saltar al contenido

← Estadística bayesiana con PyMC

Metropolis y el origen de MCMC

Preview gratis Sección 3 · Inferencia MCMC y diagnóstico

Transcripción

Imagina una integral con cientos de dimensiones. No una función que puedas dibujar, sino una suma sobre todas las configuraciones posibles de un sistema con cientos de piezas. Ningún método clásico la resuelve. Y, sin embargo, en 1953 un grupo de científicos encontró una manera de aproximarla con una idea sorprendentemente simple: una caminata aleatoria bien diseñada.

La historia ocurre en el Laboratorio Científico de Los Alamos, en Nuevo México. El problema era de física: calcular propiedades como la presión de una sustancia formada por moléculas que interactúan entre sí. Para hacerlo, la mecánica estadística pide un promedio sobre todas las configuraciones, ponderado por un factor que depende de la energía de cada una. Los propios autores lo dijeron con claridad: es evidentemente impráctico resolver una integral de varios cientos de dimensiones con los métodos numéricos habituales, así que recurrieron al método de Monte Carlo.

Pero el Monte Carlo ingenuo tenía un problema. Si colocas las partículas en posiciones al azar, casi siempre obtienes una configuración con un peso minúsculo, y casi todo tu esfuerzo se desperdicia. Su solución fue cambiar la pregunta. En lugar de elegir configuraciones al azar y pesarlas después, hacer que la caminata visite cada configuración con una probabilidad proporcional a su peso.

El procedimiento cabe en unas pocas líneas. Tomas una partícula y la mueves un poco, a un punto al azar dentro de un cuadrado pequeño. Calculas cuánto cambia la energía. Si baja, aceptas el movimiento. Si sube, lo aceptas solo con cierta probabilidad, que decrece con el aumento de energía: tiras un número aleatorio y lo comparas. Y hay un detalle clave: si rechazas el movimiento, igual cuentas la configuración anterior de nuevo en tu promedio.

Lo notable es lo que no necesitas. Como solo importa el cociente entre el peso de la posición nueva y el de la actual, la constante de normalización, esa integral gigantesca del denominador, se cancela. Nunca hay que calcularla. Guarda esa idea, porque es exactamente lo que hace posible la estadística bayesiana moderna.

El artículo se publicó en The Journal of Chemical Physics, con el título «Equation of State Calculations by Fast Computing Machines». Lo firmaron cinco personas: Nicholas Metropolis, Arianna Rosenbluth, Marshall Rosenbluth, Augusta Teller y Edward Teller. Los cálculos se hicieron en la computadora MANIAC de Los Alamos. El sistema era modesto: 224 partículas, esferas rígidas en dos dimensiones. Cada ciclo, en el que se intenta mover cada partícula una vez, tardaba unos tres minutos, y un solo punto de la curva de presión requería de cuatro a cinco horas de cómputo.

Ahora, una pregunta incómoda: ¿quién hizo qué? Durante décadas el método se conoció simplemente como el algoritmo de Metropolis. Pero en 2003, en una conferencia en Los Alamos por los cincuenta años del artículo, Marshall Rosenbluth presentó su versión. Según su relato, él y su esposa Arianna hicieron el trabajo, y Metropolis no participó en el desarrollo más allá de facilitar tiempo de cómputo. Rosenbluth atribuyó a Edward Teller la sugerencia inicial de usar promedios de ensamble en lugar de seguir la cinemática detallada. Las memorias de Teller, en cambio, cuentan que los cinco trabajaron juntos durante días y noches. Los relatos no coinciden, y no vamos a fingir que sabemos cuál es el correcto. Lo que sí está documentado es que Metropolis dirigió el grupo que construyó la MANIAC I, y que fue él, junto con Stanisław Ulam, quien acuñó el nombre de Monte Carlo.

La historia sigue. Aquel artículo cubría el caso en que la propuesta de movimiento es simétrica. En 1970, W. K. Hastings lo extendió a un caso más general, y por eso hoy se habla de Metropolis–Hastings. Con el tiempo, estos métodos de cadenas de Markov y Monte Carlo, o MCMC, se volvieron la herramienta habitual para obtener muestras de modelos bayesianos jerárquicos.

Y aquí llega la conexión con tu curso. Cuando en PyMC escribes pm.sample, el muestreador que corre por dentro, NUTS, es un descendiente de esta idea: una caminata que explora la distribución posterior en lugar de calcularla. Es más sofisticado, pero comparte el principio. Por eso, la caminata no es una garantía. Una caminata puede quedarse atascada, o explorar solo una parte de la distribución, y entonces tus resultados engañan sin avisar.

De ahí vienen los diagnósticos que verás en este módulo: varias cadenas que concuerdan entre sí, el tamaño de muestra efectivo y las divergencias. No son trámites. Son la manera de comprobar que la caminata realmente exploró lo que debía.

Setenta años después, la idea sigue siendo la misma: si no puedes resolver la integral, camina por ella con cuidado, y verifica que caminaste bien.

Fuentes

Recursos