Ao trabalhar com a cadeia de Markov Monte Carlo para extrair inferência, precisamos de uma cadeia que se misture rapidamente, ou seja, mova rapidamente o suporte da distribuição posterior. Mas não entendo por que precisamos dessa propriedade, porque, pelo que entendi, o candiado aceito deve e se concentrará na parte de alta densidade da distribuição posterior. Se o que eu entendo é verdade, ainda queremos que a corrente se mova através do suporte (que inclui a parte de baixa densidade)?
Além disso, se estou usando o MCMC para fazer otimização, ainda preciso me preocupar com a mistura rápida e por quê?
Obrigado por compartilhar seus pensamentos!
Respostas:
O algoritmo ideal de Monte Carlo usa valores aleatórios sucessivos independentes . No MCMC, os valores sucessivos não são independentes, o que faz com que o método converja mais lentamente que o Monte Carlo ideal; no entanto, quanto mais rápido ele se mistura, mais rapidamente a dependência decai em iterações sucessivas¹ e mais rápido converge.
¹ Quero dizer aqui que os valores sucessivos são rapidamente "quase independentes" do estado inicial, ou melhor, dado o valor em um ponto, os valores tornam-se rapidamente "quase independentes" de medida que cresce; então, como qkhhly diz nos comentários, "a cadeia não fica presa em uma determinada região do espaço do estado".X ń + K X N kXn Xń+k Xn k
Editar: acho que o exemplo a seguir pode ajudar
Imagine que você deseja estimar a média da distribuição uniforme em pelo MCMC. Você começa com a sequência ordenada ; em cada etapa, você escolhe elementos na sequência e os embaralha aleatoriamente. Em cada etapa, o elemento na posição 1 é registrado; isso converge para a distribuição uniforme. O valor de controla a rapidez da mistura: quando , é lento; quando , os elementos sucessivos são independentes e a mistura é rápida.( 1 , … , n ) k > 2 k k = 2 k = n{1,…,n} (1,…,n) k>2 k k=2 k=n
Aqui está uma função R para este algoritmo MCMC:
Vamos aplicá-lo para e plotar a estimativa sucessiva da média ao longo das iterações do MCMC:μ = 50n=99 μ=50
Você pode ver aqui que para (em preto), a convergência é lenta; para (em azul), que é mais rápido, mas ainda mais lenta do que com (a vermelho).k = 50 k = 99k=2 k=50 k=99
Você também pode plotar um histograma para a distribuição da média estimada após um número fixo de iterações, por exemplo, 100 iterações:
Você pode ver que, com (M1), a influência do valor inicial após 100 iterações fornece apenas um resultado terrível. Com , parece ok, com desvio padrão ainda maior do que com . Aqui estão os meios e sd:k = 50 k = 99k=2 k=50 k=99
fonte
Sobre o seu comentário específico que
fonte
As suposições que motivam o desejo de uma cadeia de mistura rápida são que você se preocupa com o tempo de computação e que deseja uma amostra representativa da parte posterior. O primeiro dependerá da complexidade do problema: se você tiver um problema pequeno / simples, pode não interessar muito se o seu algoritmo é eficiente. O último é muito importante se você estiver interessado em incerteza posterior ou conhecer a média posterior com alta precisão. No entanto, se você não se importa em ter uma amostra representativa da parte posterior porque está apenas usando o MCMC para fazer uma otimização aproximada, isso pode não ser muito importante para você.
fonte