Terminologia 'matriz de massa' Hamiltoniana / Híbrida do MCMC

8

Estou tentando implementar o HMC com uma matriz de massa não diagonal, mas estou sendo enganado por algumas das terminologias.

De acordo com a revisão do BDA3 e Neal, o termo energia cinética (que eu acho que é sempre usado devido à conveniência) é

K(p)=pTM-1p2.

Isto também é reconhecível chamado um multivariada normal com média igual a zero e covariância matriz . O BDA3 (página 301) dizM

Para simplificar, geralmente usamos uma matriz de massa diagonal, M. Se assim for, os componentes de φ são independentes, com φj ∼ N (0, Mjj) para cada dimensão j = 1,. . . d. Pode ser útil para M escalar aproximadamente com a matriz de covariância inversa da distribuição posterior, (var (θ | y)) ^ - 1.

(Estou lendo N (0, M)) como um normal multivariado com zero médio e covariância M.)

A parte que me chamou a atenção é onde diz que "pode ​​ser útil para escalar aproximadamente com a matriz de covariância inversa da distribuição posterior ...". M

E também um pouco antes que a amostra dinâmica que inicia os passos Leapfrog ( ) é colhido de uma normal multivariada com covariância matriz . ϕM

Então qual é? Para construir um bom M para HMC, eu estimo a covariância ou matriz de precisão da posterior? Mesmo que seja a matriz de covariância da energia cinética, usar um que é uma estimativa da matriz de precisão da posterior produzirá um algoritmo mais eficiente?MMM

Pergunta secundária: qual é a intuição que poderia me guiar aqui?

  • Deseja usar uma matriz de precisão para que o momento empurre ortogonalmente ao potencial / posterior para melhorar a mistura?

  • OU você quer que o momento avance para a parte de massa de alta probabilidade da parte posterior (porque é de onde você deseja extrair a maioria das amostras).

ps A razão de eu não estar usando a matriz de identidade para é porque, para o meu problema, sou capaz de obter uma estimativa decente da matriz de covariância do meu posterior de alta dimensão (~ 1000) anteriormente.M

bill_e
fonte

Respostas:

6

Uma transformação linear das variáveis ​​de posição é equivalente à transformação linear inversa das variáveis ​​de momento. Idealmente, você deseja amostrar a partir de uma distribuição (transformada) cuja matriz de covariância é a matriz de identidade, e isso é obtido pela transformação indicada acima.

Para detalhes, há uma boa explicação no "MCMC usando dinâmica Hamiltoniana" de Neal, capítulo 5 do Manual de Markov Chain Monte Carlo , seção 4.1 ("Efeito de transformações lineares"). O capítulo está disponível aqui .

Neal explica:

Suponha que tenhamos uma estimativa, da matriz de covariância para q , e suponha também que q tenha pelo menos uma distribuição aproximadamente gaussiana. Como podemos usar essas informações para melhorar o desempenho do HMC? Uma maneira é transformar as variáveis ​​para que sua matriz de covariância esteja próxima da identidade, encontrando a decomposição de Cholesky, Σ = L L T , com L sendo triangular inferior e deixando q = L - 1 q . [ ... ]ΣqqΣ=eueuTeuq=eu-1q

Uma maneira equivalente de fazer uso da covariância estimada é manter as variáveis q originais , mas usar a função de energia cinética K ( p ) = p T Σ p / 2 - ou seja, deixamos que as variáveis ​​de momento tenham covariância Σ - 1 . A equivalência pode ser vista transformando essa energia cinética para corresponder a uma transformação em q = L - 1 q (veja a equação (4.1)), que fornece K ( p ) = ( p ΣqK(p)=pTΣp/2Σ-1q=eu-1q com M ' = ( L - 1 ( G G T ) ( G - 1 ) T ) - 1 = I .K(p)=(p)TM-1pM=(eu-1(eueuT)(eu-1)T)-1=Eu

Para dar alguma intuição, suponha que o pdf de destino tenha o formato de charuto apontando em uma direção que não esteja alinhada ao eixo. Você pode girar e redimensionar o espaço, para que o charuto se torne uma bola e, em seguida, extrair a momenta de uma unidade multivariada normal ou , de forma equivalente, você pode manter o espaço original e desenhar a sua momenta para que estejam alinhados com o charuto (por exemplo, com a maior parte da velocidade ao longo do eixo principal do charuto, para que você possa explorá-lo rapidamente).

lacerbi
fonte
Devo confessar que eu li que (algumas vezes) e então decidiu fazer esta pergunta ... Se você pode se conectar a explicação de Neal lá com minhas perguntas que você vai obter todos os pontos
bill_e
@ bill_e: Sua primeira pergunta foi totalmente respondida acima: "deixamos que as variáveis ​​de momento tenham covariância ". Então, sim, M = Σ - 1 . A resposta para a segunda pergunta é que você deseja enviar p L T p para que a distribuição do momento seja alinhada aos eixos da matriz de covariância (o que equivale a reparametrizar o espaço original para que a matriz de covariância seja a identidade). ) Σ-1M=Σ-1peuTp
lacerbi
Postado etapas de uma implementação disso, apenas para ser cristalino. Está certo? Muito especificamente o inverso (ou falta de) em Σ . Sim, a coisa do charuto está fazendo sentido. Vou pensar mais sobre isso. Σ^
bill_e
4

Uma maneira simples de ver por que deve ser a covariância inversa da distribuição da qual você deseja amostrar é considerar a amostragem de um normal multivariado com média aribitrária μ e covariância Σ . Nesse caso, as equações Hamiltonianas do movimento podem ser resolvidas exatamente (ou seja, não há necessidade de pular a integração). Agora, para M = Σ - 1, duas coisas mágicas acontecem: (i) as equações de movimento para cada coordenada se separam do resto e (ii) as matrizes Σ e MMμΣM=Σ-1ΣMcancelam-se e desaparecem das equações de movimento. A solução é um conjunto de osciladores com igual frequência, que podem ser discutidos para produzir a mistura mais rápida possível. Veja alguns detalhes nas eqs (2.31) - (2.35) aqui .

Em uma distribuição genérica, essa abordagem seria apenas uma aproximação.

aripakman
fonte
0

Parte saliente do momento de transformação linear usando covariância estimada.

Dada uma estimativa Σ da matriz de covariância do HMC posterior é a amostra a partir de:Σ^

  1. ϕN(0 0,Σ^-1)

  2. Simule a dinâmica hamiltoniana. (Repetindo L vezes)

    ϕϕ+12ϵddθeuogp(θy)

    θθ+ϵΣ^ϕ

    ϕϕ+12ϵddθeuogp(θy)

  3. Aceitar rejeitar.

(Se isso estiver correto, não faça voto positivo, vote @lacerbi)

bill_e
fonte
1
M-1Σ^
Sim, acho que está certo. Veja, por exemplo, Eq. (4) deste trabalho .
lacerbi