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] ≈1M∑m = 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
EM- E[ h ( θ ) | y]M--√→réN( 0 ,v2h)
E[ h ( θ ) | y]EM± 1,96vh
- Le CLT s'applique-t-il?
- Comment estimer .v2h
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 mcmcse
avec les fonctions mcse
et mcse.q
pour estimer la variance des attentes et des quantiles.
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!
la source
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.
la source