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) é
Isto também é reconhecível chamado um multivariada normal com média igual a zero e covariância matriz . O BDA3 (página 301) diz
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 ...".
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 .
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?M
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.
fonte
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 Σ M cancelam-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.
fonte
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:Σ^
Simule a dinâmica hamiltoniana. (Repetindo L vezes)
Aceitar rejeitar.
(Se isso estiver correto, não faça voto positivo, vote @lacerbi)
fonte