Taille efficace de l'échantillon pour l'inférence postérieure de l'échantillonnage MCMC

13

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?

Matt Albrecht
la source
Je suppose que cela dépendra probablement de la "constante" dans le erreur, qui variera selon les modèles. O(n12)
probabilitéislogic

Réponses:

15

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=n(|Λ||Σ|)1/p.
  1. est la structure de covariance du postérieur (également la covariance asymptotique dans le CLT si vous aviez des échantillons indépendants)Λ
  2. est la matrice de covariance asymptotique dans la chaîne de Markov CLT (différente de Λ car les échantillons sont corrélés.ΣΛ
  3. est le nombre de quantités à estimer (ou dans ce cas, la dimension du postérieur.p
  4. est le déterminant.||

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

  1. ϵϵ
  2. α
  3. p

mESS22/pπ(pΓ(p/2))2/pχ1α,p2ϵ2,

Γ()minESS

p=2095%ϵ=.05

> minESS(p = 20, alpha = .05, eps = .05)
[1] 8716

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 multiESSsi votre chaîne de Markov a atteint cette limite; sinon allez chercher plus d'échantillons.

Greenparker
la source
(+1) Excellente réponse. Savez-vous si la fonction multiESSa été codée pour d'autres langues, comme MATLAB? (ou serait-il difficile de réimplémenter?)
lacerbi
1
Σ
1
Σ
1
@lacerbi Je suis content que vous ayez pu le coder dans Matlab. Si possible, répondez à ce commentaire quand il sera en place, afin que je puisse l'utiliser. Merci
Greenparker
1
Mon implémentation MATLAB de multiESS est disponible ici . C'est une version qui fonctionne bien qu'elle aurait besoin de plus de tests (je ne connais pas R, sinon je la comparerais à l'implémentation R).
lacerbi
2

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 .

Monte Cristo
la source