Nombre d'échantillons Monte Carlo de la chaîne Markov

10

Il existe de nombreuses publications sur les diagnostics de convergence de la chaîne de Markov Monte Carlo (MCMC), y compris le diagnostic Gelman-Rubin le plus populaire. Cependant, tous ces éléments évaluent la convergence de la chaîne de Markov et abordent ainsi la question du rodage.

Une fois que j'ai compris le rodage, comment dois-je décider combien d'échantillons MCMC sont suffisants pour continuer mon processus d'estimation? La plupart des articles utilisant MCMC mentionnent qu'ils ont dirigé la chaîne de Markov pendant quelques itérations, mais ne disent rien sur pourquoi / comment ils ont choisi ce nombre, .nn

De plus, une taille d'échantillon souhaitée ne peut pas être la réponse pour tous les échantillonneurs, car la corrélation dans la chaîne de Markov varie considérablement d'un problème à l'autre. Existe-t-il une règle pour connaître le nombre d'échantillons requis?

Greenparker
la source

Réponses:

5

Le nombre d'échantillons (après le rodage) dont vous avez besoin dépend de ce que vous essayez de faire avec ces échantillons et de la façon dont votre chaîne se mélange.

Typiquement, nous nous intéressons aux attentes (ou quantiles) postérieures et nous approchons ces attentes par des moyennes de nos échantillons postérieurs, c'est-à-dire où sont des échantillons de votre MCMC. Par la loi des grands nombres, l'estimation MCMC converge presque sûrement vers l'attente souhaitée.

E[h(θ)|y]1Mm=1Mh(θ(m))=EM
θ(m)

Mais pour répondre à la question du nombre d'échantillons dont nous avons besoin d'être assurés que nous sommes suffisamment proches de l'attente souhaitée, nous avons besoin d'un résultat du théorème central limite (CLT), c'est-à-dire quelque chose comme Avec ce CLT, nous pourrions alors faire des déclarations probabilitiques telles que "il y a 95% de probabilité que situe entre . " Les deux problèmes ici sont

EME[h(θ)|y]MdN(0,vh2)
E[h(θ)|y]EM±1.96vh
  1. Le CLT s'applique-t-il?
  2. Comment estimer .vh2

Nous avons quelques résultats sur le moment où le CLT s'applique, par exemple les chaînes d'états discrets, les chaînes réversibles, les chaînes géométriquement ergodiques. Voir la section 6.7.2 de Robert et Casella (2e éd.) Pour certains résultats dans cette direction. Malheureusement, la grande majorité des chaînes de Markov qui existent ne disposent d'aucune preuve de l'existence du CLT.

S'il existe un CLT, nous devons encore estimer la variance du CLT. Une façon d'estimer cette variance consiste à briser la chaîne en blocs, voir Gong et Flegal et les références qui s'y trouvent. La méthode a été implémentée dans le package R mcmcseavec les fonctions mcseet mcse.qpour estimer la variance des attentes et des quantiles.

jaradniemi
la source
Cela semble raisonnable et je connais la littérature ici. À quelle fréquence cet argument est-il réellement utilisé dans la pratique?
Greenparker
3

John Kruschke dans Doing Bayesian Data Analysis recommande que pour les paramètres d'intérêt, les chaînes MCMC soient exécutées jusqu'à ce que leur taille d'échantillon effective soit d'au moins 10 000. Bien qu'aucune simulation ne soit présentée, je crois que sa justification est que l'ESS> 10 000 garantit des estimations numériquement stables. Cependant, j'ai vu qu'Andrew Gelman et d'autres développeurs de Stan recommandent moins (par exemple 2000 - 3000 est très bien; pas de lien exact, malheureusement, mais voir les discussions sur le groupe d'utilisateurs de Stan Google). De plus, pour les modèles complexes, faire fonctionner des chaînes suffisamment longues pour un ESS> 10 000 peut être ardu!

user3237820
la source
Merci. Pouvez-vous m'envoyer où il dit cela dans son matériel? Il faudra beaucoup de temps pour parcourir la page Web. En outre, ma réponse [ici] parle de la détermination de la limite inférieure pour ESS.
Greenparker
Désolé, j'ai réalisé que je n'ai pas mis le lien. Ça y est.
Greenparker
1
Désolé, j'aurais dû être plus précis. Kruschke le mentionne brièvement dans son article de blog ici doingbayesiandataanalysis.blogspot.co.uk et c'est dans le chapitre 7 de son livre, «Markov Chain Monte Carlo», page 184 de la 2e édition: books.google.co.uk/… .
user3237820
1

C'est en effet l'un des gros inconvénients des simulations MCMC, car il n'y a pas d'estimation générale et a priori sur le nombre d'échantillons. Je pense qu'une bonne littérature ici est "Certaines choses que nous avons apprises (sur MCMC)" par Persi Diaconis qui traite de beaucoup de subtilités des simulations MCMC qui pourraient indiquer qu'il n'y a pas de réponse facile à cette question.

En général, faire de bonnes estimations sur la durée de fonctionnement de la chaîne nécessite une bonne compréhension du temps de mélange de la chaîne de Markov, qui dépend fortement des propriétés du graphique sous-jacent. Il existe de nombreuses méthodes "sans brûlure" pour limiter le temps de mélange par le haut, mais toutes ces méthodes ont en commun qu'elles nécessitent une compréhension plus approfondie de la chaîne de Markov sous-jacente et les constantes impliquées sont généralement difficiles à calculer . Voir par exemple «Conductance and Rapidly Mixing Markov Chains» de King, «Path Coupling: a Technique for Proving Rapid Mixing in Markov Chains» de Bubley et al., Ou «Nash inégalités for finite Markov chains» de Diaconis et al.

Tobias Windisch
la source
D'accord. Mais en pratique, le temps de mélange des échantillonneurs n'est pas toujours étudié avec autant de détails pour répondre à cette question. En outre, l'étude du temps de mélange nécessite une expérience considérable dans la théorie de la chaîne de Markov, ce que la plupart des utilisateurs finaux de MCMC ne connaissent peut-être pas. Il n'y a même pas d'heuristique (comme les diagnostics)?
Greenparker
La seule chose à laquelle je peux penser est d'estimer numériquement la deuxième plus grande valeur propre de la matrice de transition et d'en déduire une limite sur le temps de mélange. Vous pouvez consulter la thèse de doctorat de Kranthi Kumar Gade.
Tobias Windisch
Que se passe-t-il si je travaille avec une chaîne de Markov d'espace d'état général, et non un espace d'état fini? Je suppose que ce n'est pas possible alors, mais je vais y jeter un œil.
Greenparker
Tu as raison. Sa méthode ne fonctionne que pour les espaces d'états finis et les chaînes de Markov à temps discret.
Tobias Windisch