11 votos

Número de muestras de la cadena de Markov Monte Carlo

Hay una lote Existe una gran cantidad de literatura sobre los diagnósticos de convergencia de las cadenas de Markov (MCMC), incluyendo el diagnóstico más popular de Gelman-Rubin. Sin embargo, todos ellos evalúan la convergencia de la cadena de Markov y, por tanto, abordan la cuestión del agotamiento.

Una vez que he averiguado el burn-in, ¿cómo debo decidir cuántas muestras MCMC son suficientes para continuar con mi proceso de estimación? La mayoría de los artículos que utilizan MCMC mencionan que han ejecutado la cadena de Markov durante unos $n$ iteraciones, pero no dicen nada sobre por qué/cómo han elegido ese número, $n$ .

Además, un tamaño de muestra deseado no puede ser la respuesta para todos los muestreadores, ya que la correlación en la cadena de Markov varía mucho de un problema a otro. Entonces, ¿existe una regla para averiguar el número de muestras necesarias?

6voto

jaradniemi Puntos 1535

El número de muestras (después del burn-in) que necesitas depende de lo que intentes hacer con esas muestras y de cómo se mezcle tu cadena.

Normalmente nos interesan las expectativas posteriores (o cuantiles) y aproximamos estas expectativas mediante las medias de nuestras muestras posteriores, es decir $$ E[h(\theta)|y] \approx \frac{1}{M} \sum_{m=1}^M h(\theta^{(m)}) = E_M $$ donde $\theta^{(m)}$ son muestras de su MCMC. Por la Ley de los Grandes Números la estimación MCMC converge casi con seguridad a la expectativa deseada.

Pero para abordar la cuestión de cuántas muestras necesitamos para estar seguros de que nos acercamos lo suficiente a la expectativa deseada, necesitamos un resultado del Teorema Central del Límite (CLT), es decir, algo como $$ \frac{E_M -E[h(\theta)|y]}{\sqrt{M}} \stackrel{d}{\to} N(0,v_h^2) $$ Con este CLT podríamos entonces hacer afirmaciones probabilísticas como "hay un 95% de probabilidad de que $E[h(\theta)|y]$ está entre $E_M \pm 1.96 v_h$ ." Los dos temas aquí son

  1. ¿Se aplica el CLT?
  2. ¿Cómo podemos estimar $v_h^2$ .

Tenemos algunos resultados sobre cuándo se aplica el CLT, por ejemplo, cadenas de estado discete, cadenas reversibles, cadenas geométricamente ergódicas. Véase Robert y Casella (2ª ed) sección 6.7.2 para algunos resultados en esta dirección. Desgraciadamente, la gran mayoría de las cadenas de Markov que existen no tienen ninguna prueba de que la CLT exista.

Si existe un CLT, todavía tenemos que estimar la varianza en el CLT. Una forma de estimar esta varianza consiste en dividir la cadena en bloques, véase Gong y Flegal y sus referencias. El método se ha implementado en el paquete R mcmcse con las funciones mcse y mcse.q para estimar la varianza de las expectativas y los cuantiles.

0 votos

Esto suena razonable, y estoy familiarizado con la literatura al respecto. ¿Con qué frecuencia se utiliza este argumento en la práctica?

4voto

dilip Puntos 91

John Kruschke en Análisis bayesiano de datos recomienda que para los parámetros de interés, las cadenas MCMC se ejecuten hasta que su tamaño de muestra efectivo sea de al menos 10.000. Aunque no se presentan simulaciones, creo que su justificación es que un ESS > 10.000 garantiza estimaciones numéricamente estables. Sin embargo, he visto que Andrew Gelman y otros desarrolladores de Stan recomiendan menos (por ejemplo, 2.000 - 3.000 está bien; desgraciadamente, no hay un enlace exacto, pero véase las discusiones en el grupo de usuarios de Stan en Google). Además, en el caso de los modelos complejos, ejecutar cadenas lo suficientemente largas para un ESS > 10.000 puede ser arduo.

1voto

amazingjxq Puntos 931

Este es uno de los grandes inconvenientes de las simulaciones MCMC, ya que no existe una estimación general y apriorística del número de muestras. Creo que una buena bibliografía al respecto es "Some things we've learned (about MCMC)", de Persi Diaconis, que aborda muchas sutilezas de las simulaciones MCMC que podrían indicar que no hay una respuesta fácil a esta pregunta.

En general, para hacer buenas estimaciones sobre la duración de la cadena es necesario conocer bien el tiempo de mezcla de la cadena de Markov, que depende en gran medida de las propiedades del gráfico subyacente. Existen muchos métodos "sin quemado" para acotar el tiempo de mezcla desde arriba, pero todos estos métodos tienen en común que necesitan una comprensión más profunda de la cadena de Markov subyacente y las constantes implicadas suelen ser difíciles de calcular. Véase, por ejemplo, "Conductance and Rapidly Mixing Markov Chains", de King, "Path Coupling: a Technique for Proving Rapid Mixing in Markov Chains", de Bubley et al., o "Nash inequalities for finite Markov chains", de Diaconis et al.

0 votos

De acuerdo. Pero en la práctica, el tiempo de mezcla de los muestreadores no siempre se estudia con tanto detalle como para abordar esta cuestión. Además, el estudio del tiempo de mezcla requiere un conocimiento considerable de la teoría de las cadenas de Markov, algo con lo que la mayoría de los usuarios finales de MCMC podrían no estar familiarizados. ¿Ni siquiera existen heurísticos (como los diagnósticos)?

0 votos

Lo único que se me ocurre es estimar numéricamente el segundo valor propio más grande de la matriz de transición y derivar de ahí un límite al tiempo de mezcla. Puedes echar un vistazo a la tesis doctoral de Kranthi Kumar Gade.

0 votos

¿Y si estoy trabajando con una cadena de Markov de espacio de estado general, no con un espacio de estado finito? Supongo que entonces no es posible, pero lo miraré.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X