Lors de l'obtention d'échantillons MCMC pour faire l'inférence sur un paramètre particulier, quels sont les bons guides pour le nombre minimum d' échantillons efficaces que l'on devrait viser?
Et, ce conseil change-t-il à mesure que le modèle devient plus ou moins complexe?
bayesian
sample-size
mcmc
posterior
Matt Albrecht
la source
la source
Réponses:
La question que vous posez est différente des "diagnostics de convergence". Disons que vous avez exécuté tous les diagnostics de convergence (choisissez vos favoris) et que vous êtes maintenant prêt à commencer l'échantillonnage à partir de la partie postérieure.
Il existe deux options en termes de taille d'échantillon effective (ESS), vous pouvez choisir un ESS univarié ou un ESS multivarié. Un ESS univarié fournira une taille d'échantillon efficace pour chaque paramètre séparément, et des méthodes conservatrices dictent que vous choisissez la plus petite estimation. Cette méthode ignore toutes les corrélations croisées entre les composants. C'est probablement ce que la plupart des gens utilisent depuis un certain temps
Récemment, une définition multivariée de l'ESS a été introduite. L'ESS multivarié renvoie un nombre pour la taille réelle de l'échantillon pour les quantités que vous souhaitez estimer; et il le fait en tenant compte de toutes les corrélations croisées dans le processus. Personnellement, je préfère de loin l'ESS multivarié. Supposons que vous vous intéressez au vecteur des moyens de la distribution postérieure. Le mESS est défini comme suit mESS = n ( | Λ |p
Ici
mESS peut être estimé en utilisant l'échantillon de matrice de covariance pour estimer et le lot signifie la matrice de covariance pour estimer Σ . Cela a été codé dans la fonction du package R mcmcse .Λ Σ
multiESS
Cet article récent fournit une limite inférieure théoriquement valide du nombre d'échantillons efficaces requis. Avant la simulation, vous devez décider
minESS
Cela est vrai pour tout problème (dans des conditions de régularité). La façon dont cette méthode s'adapte d'un problème à l'autre est que le mélange lent des chaînes de Markov prend plus de temps pour atteindre cette limite inférieure, car mESS sera plus petit. Alors maintenant, vous pouvez vérifier plusieurs fois en utilisant
multiESS
si votre chaîne de Markov a atteint cette limite; sinon allez chercher plus d'échantillons.la source
multiESS
a été codée pour d'autres langues, comme MATLAB? (ou serait-il difficile de réimplémenter?)La convergence dépend de plusieurs choses: le nombre de paramètres, le modèle lui-même, l'algorithme d'échantillonnage, les données ...
Je suggérerais d'éviter toute règle générale et d'utiliser quelques outils de diagnostic de convergence pour détecter le nombre approprié de rodages et d'amincissements d'itérations dans chaque exemple spécifique. Voir aussi
http://www.johnmyleswhite.com/notebook/2010/08/29/mcmc-diagnostics-in-r-with-the-coda-package/
,http://users.stat.umn.edu/~geyer/mcmc/diag.html
.la source