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.