Pourquoi devrions-nous nous soucier du mélange rapide dans les chaînes MCMC?


21

Lorsque nous travaillons avec la chaîne de Markov Monte Carlo pour tirer l'inférence, nous avons besoin d'une chaîne qui se mélange rapidement, c'est-à-dire qui traverse rapidement le support de la distribution postérieure. Mais je ne comprends pas pourquoi nous avons besoin de cette propriété, car d'après ce que je comprends, les tirages au candiate acceptés devraient et seront concentrés dans la partie haute densité de la distribution postérieure. Si ce que je comprends est vrai, voulons-nous toujours que la chaîne se déplace à travers le support (qui comprend la partie à faible densité)?

De plus, si j'utilise MCMC pour faire de l'optimisation, dois-je quand même me soucier d'un mélange rapide et pourquoi?

Merci d'avoir partagé vos pensées!


Il est connu dans la littérature MCMC que lorsqu'une chaîne de Markov est géométriquement ergodique, elle présente une désintégration exponentiellement rapide du mélange alpha. Je ne sais pas comment X_ {n} pourrait converger rapidement vers la distribution cible tout en conservant une corrélation élevée entre les échantillons successifs. Y a-t-il des exemples simples? Merci pour toutes les entrées!

Réponses:


16

L'algorithme de Monte Carlo idéal utilise des valeurs aléatoires successives indépendantes . Dans MCMC, les valeurs successives ne sont pas indépendantes, ce qui rend la méthode convergente plus lente que le Monte Carlo idéal; cependant, plus elle se mélange rapidement, plus la dépendance diminue rapidement au cours des itérations successives¹ et plus elle converge rapidement.

¹ Je veux dire ici que les valeurs successives sont rapidement "presque indépendantes" de l'état initial, ou plutôt que compte tenu de la valeur à un moment donné, les valeurs deviennent rapidement "presque indépendantes" de mesure que croît; ainsi, comme le dit qkhhly dans les commentaires, "la chaîne ne reste pas coincée dans une certaine région de l'espace étatique".X ń + k X n kXnXń+kXnk

Edit: Je pense que l'exemple suivant peut aider

Imaginez que vous vouliez estimer la moyenne de la distribution uniforme sur par MCMC. Vous commencez avec la séquence ordonnée ; à chaque étape, vous avez choisi éléments dans la séquence et les mélangez au hasard. À chaque étape, l'élément en position 1 est enregistré; cela converge vers la distribution uniforme. La valeur de contrôle la rapidité de mélange: lorsque , elle est lente; lorsque , les éléments successifs sont indépendants et le mélange est rapide.( 1 , , n ) k > 2 k k = 2 k = n{1,,n}(1,,n)k>2kk=2k=n

Voici une fonction R pour cet algorithme MCMC:

mcmc <- function(n, k = 2, N = 5000)
{
  x <- 1:n;
  res <- numeric(N)
  for(i in 1:N)
  {
    swap <- sample(1:n, k)
    x[swap] <- sample(x[swap],k);
    res[i] <- x[1];
  }
  return(res);
}

Appliquons-le pour et traçons l'estimation successive de la moyenne long des itérations MCMC:μ = 50n=99μ=50

n <- 99; mu <- sum(1:n)/n;

mcmc(n) -> r1
plot(cumsum(r1)/1:length(r1), type="l", ylim=c(0,n), ylab="mean")
abline(mu,0,lty=2)

mcmc(n,round(n/2)) -> r2
lines(1:length(r2), cumsum(r2)/1:length(r2), col="blue")

mcmc(n,n) -> r3
lines(1:length(r3), cumsum(r3)/1:length(r3), col="red")

legend("topleft", c("k = 2", paste("k =",round(n/2)), paste("k =",n)), col=c("black","blue","red"), lwd=1)

convergence mcmc

Vous pouvez voir ici que pour (en noir), la convergence est lente; pour (en bleu), c'est plus rapide, mais toujours plus lent qu'avec (en rouge).k = 50 k = 99k=2k=50k=99

Vous pouvez également tracer un histogramme pour la distribution de la moyenne estimée après un nombre fixe d'itérations, par exemple 100 itérations:

K <- 5000;
M1 <- numeric(K)
M2 <- numeric(K)
M3 <- numeric(K)
for(i in 1:K)
{
  M1[i] <- mean(mcmc(n,2,100));
  M2[i] <- mean(mcmc(n,round(n/2),100));
  M3[i] <- mean(mcmc(n,n,100));
}

dev.new()
par(mfrow=c(3,1))
hist(M1, xlim=c(0,n), freq=FALSE)
hist(M2, xlim=c(0,n), freq=FALSE)
hist(M3, xlim=c(0,n), freq=FALSE)

histogrammes

Vous pouvez voir qu'avec (M1), l'influence de la valeur initiale après 100 itérations ne vous donne qu'un résultat terrible. Avec cela semble correct, avec un écart-type encore plus grand qu'avec . Voici les moyens et sd:k = 50 k = 99k=2k=50k=99

> mean(M1)
[1] 19.046
> mean(M2)
[1] 49.51611
> mean(M3)
[1] 50.09301
> sd(M2)
[1] 5.013053
> sd(M3)
[1] 2.829185

4
Je ne pense pas que l'énoncé «plus vite il se mélange, plus vite la dépendance diminue dans les itérations successives» est correct. Les itérations successives seront toujours dépendantes en utilisant l'algorithme de Metropolis-Hastings, par exemple. Le mixage dépend de la vitesse à laquelle vos échantillons convergent vers la distribution cible, et non de la dépendance des itérations successives.
Macro

C'est la même chose: si elle converge rapidement vers la distribution cible, la dépendance de l'état initial décroît rapidement ... bien sûr, ce sera le même à n'importe quel point de la chaîne (qui aurait pu être choisi comme état initial). Je pense que la dernière partie de l'exemple ci-dessus est éclairante pour cet aspect.
Elvis

1
Oui, la dépendance par rapport à l'état initial se désintègre, pas nécessairement la dépendance entre les itérations successives.
Macro

J'ai écrit "par itérations successives", pas "entre". Je veux vraiment dire "long" ... c'est ambigu, je vais corriger.
Elvis

2
Je pense que je comprends ce que signifie rapidement mélanger. Ce n'est pas que la chaîne se déplace vers chaque partie du support de distribution cible. Il s'agit plutôt de la chaîne non coincée dans une certaine partie du support.
qkhhly

10

En fin des deux réponses précédentes, le mélange est seulement un aspect de la convergence MCMC. Elle est en effet directement liée à la vitesse d'oubli de la valeur ou distribution initiale de la chaîne de Markov . Par exemple, la notion mathématique de -mixing est définie par la mesureα(Xn)α

α(n)=souperUNE,B{|P(X0UNE,XnB)-P(X0UNE)P(XnB)},nN,
dont la vitesse de convergence vers zéro est caractéristique du mélange. Cependant, cette mesure n'est pas directement liée à la vitesse à laquelle converge vers la distribution cible . On peut obtenir une convergence très rapide vers la cible et conserver une corrélation élevée entre les éléments de la chaîne.(Xn)π

De plus, l'indépendance entre les n'est pertinente que dans certains paramètres. Lorsque l'on vise l'intégration, la corrélation négative (aka simulation antithétique ) est supérieure à l'indépendance.Xn

À propos de votre commentaire spécifique

... les tirages candidats acceptés devraient et seront concentrés dans la partie haute densité de la distribution postérieure. Si ce que je comprends est vrai, voulons-nous toujours que la chaîne se déplace à travers le support (qui comprend la partie à faible densité)?

la chaîne MCMC explore la cible en proportion exacte de sa hauteur (dans son régime stationnaire) et passe donc plus de temps dans la ou les régions de densité plus élevée. Le fait que la chaîne doit traverser des régions de faible densité est pertinent lorsque la cible a plusieurs composants à haute densité séparés par des régions à faible densité. (Ceci est également appelé réglage multimodal.) Un mélange lent peut empêcher la chaîne de traverser de telles régions à faible densité. Les seules régions la chaîne ne devrait jamais visiter sont les régions à probabilité nulle sous la distribution cible.(Xn)


1
+1 Merci pour le commentaire sur la simulation antithétique, c'est cool
Elvis

@ Xi'an (+1): c'est la première définition claire du mélange ( -) que je trouve, deux questions (1) y a-t-il d'autres types de mélange en plus du mélange et (2) y en a-t-il pratiquement mesures utilisables car je ne vois pas comment je peux calculer le mixage de ma chaîne avec ce supremum dans la définition. Ensuite, je vois que n'est pas suffisant pour la convergence, y a-t-il des mesures de convergence? αα-α0

Il existe plusieurs types de mixage comme -mixing et -mixing. En relation avec MCMC, et citant Wikipedia, un processus de Markov strictement stationnaire est un mélange β si et seulement s'il s'agit d'une chaîne Harris récurrente apériodique. ρβ
Xi'an

3

Les présomptions qui motivent le désir d'une chaîne de mélange rapide sont que vous vous souciez du temps de calcul et que vous voulez un échantillon représentatif de la partie postérieure. Le premier dépendra de la complexité du problème: si vous avez un petit problème / simple, peu importe que votre algorithme soit efficace. Ce dernier est très important si vous êtes intéressé par l'incertitude postérieure ou si vous connaissez la moyenne postérieure avec une grande précision. Cependant, si vous ne vous souciez pas d'avoir un échantillon représentatif de la partie postérieure parce que vous utilisez simplement MCMC pour faire une optimisation approximative, cela peut ne pas être très important pour vous.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.