Benchmarks de desempenho para o MCMC

14

Houve estudos em larga escala dos métodos MCMC que comparam o desempenho de vários algoritmos diferentes em um conjunto de densidades de teste? Estou pensando em algo equivalente ao artigo de Rios e Sahinidis (2013), que é uma comparação completa de um grande número de otimizadores de caixa preta sem derivativos em várias classes de funções de teste.

Para o MCMC, o desempenho pode ser estimado em, por exemplo, número efetivo de amostras (ESS) por avaliação de densidade ou em alguma outra métrica apropriada.

Alguns comentários:

  • Compreendo que o desempenho dependerá fortemente dos detalhes do pdf de destino, mas um argumento semelhante (possivelmente não idêntico) vale para otimização e, no entanto, existe uma infinidade de funções, suítes, competições, documentos, etc. de benchmark que tratam da otimização de benchmarking algoritmos.

  • Além disso, é verdade que o MCMC difere da otimização, pois comparativamente é necessário muito mais cuidado e ajuste do usuário. No entanto, agora existem vários métodos de MCMC que requerem pouco ou nenhum ajuste: métodos que se adaptam na fase de queima, durante a amostragem ou métodos de vários estados (também chamados de conjunto ) (como Emcee ) que evoluem várias cadeias de interação e usam informações de outras cadeias para orientar a amostragem.

  • Estou particularmente interessado na comparação entre os métodos padrão e multiestado (também conhecido como ensemble). Para a definição de multiestado, consulte a Seção 30.6 do livro de MacKay :

Em um método multiestado, vários vetores de parâmetros são mantidos; eles evoluem individualmente sob movimentos como Metropolis e Gibbs; também há interações entre os vetores.x

  • Esta pergunta teve origem aqui .

Atualizar

  • Para uma visão interessante sobre os métodos de vários estados, também conhecidos como ensemble, consulte este post de Bob Carpenter no blog de Gelman e meu comentário referente a este post de CV.
lacerbi
fonte

Respostas:

5

Após algumas pesquisas on-line, tive a impressão de que não existe uma referência abrangente dos métodos estabelecidos do MCMC, análoga ao que se pode encontrar na literatura de otimização. (Eu ficaria feliz em estar errado aqui.)

É fácil encontrar comparações de alguns métodos MCMC em problemas específicos em um domínio aplicado. Tudo bem se pudéssemos reunir essas informações - no entanto, a qualidade desses parâmetros de referência geralmente é insuficiente (por exemplo, devido à falta nas métricas relatadas ou a más escolhas de design).

A seguir, publicarei o que acredito serem valiosas contribuições à medida que as encontrar:

  • Nishihara, Murray e Adams, MCMC paralelo com amostragem de fatia elíptica generalizada , JMLR (2014). Os autores propõem um novo método multiestado, o GESS, e realizam uma comparação com outros 6 métodos de estado único e multiestado em 7 funções de teste. Eles avaliam o desempenho como ESS (tamanho efetivo da amostra) por segundo e por avaliação de função.

  • SamplerCompare é um pacote R com o objetivo de comparar os algoritmos MCMC - exatamente o que eu estava perguntando na minha pergunta original. Infelizmente, o pacote contém apenas algumas funções de teste; o documento que o acompanha não apresenta referências reais (apenas um pequeno exemplo); e parece que não houve acompanhamento.

Thompson, Madeleine B. "Introdução ao SamplerCompare". Journal of Statistical Software 43.12 (2011): 1-10 ( link ).

  • Para uma visão interessante sobre os métodos de vários estados, também conhecidos como ensemble, consulte este post de Bob Carpenter no blog de Gelman e meu comentário referente a este post de CV.
lacerbi
fonte
Seu segundo link está inoperante - você poderia alterá-lo para um funcional?
Tim
Você pode dar uma olhada neste artigo de dezembro de 2017: Ryan Turner e Brady Neal, Quão bem o seu sampler realmente funciona? Parece fornecer uma solução interessante para exatamente esse problema de apresentar uma boa referência para os algoritmos MCMC.
Carl
2

Concordo com sua avaliação de que não existem parâmetros de referência abrangentes estabelecidos para os métodos MCMC. Isso ocorre porque todo amostrador do MCMC possui prós e contras e é extremamente específico ao problema.

Em uma configuração típica de modelagem bayesiana, você pode executar o mesmo amostrador com diversas taxas de mistura quando os dados forem diferentes. Eu diria que, se no futuro surgir um estudo abrangente de referência de vários amostradores do MCMC, não confiaria que os resultados fossem aplicáveis ​​fora dos exemplos mostrados.

Em relação ao uso do ESS para avaliar a qualidade da amostragem, vale ressaltar que o ESS depende da quantidade a ser estimada a partir da amostra. Se você deseja encontrar a média da amostra, a ESE obtida será diferente de se você deseja estimar o 25º quantil. Dito isto, se a quantidade de interesse for fixa, o ESS é uma maneira razoável de comparar amostradores. Talvez uma idéia melhor seja ESS por unidade de tempo.

Uma falha no ESS é que, para problemas de estimativa multivariada, o ESS retorna um tamanho de amostra eficaz para cada componente separadamente, ignorando todas as correlações cruzadas no processo de estimativa. Em este papel recentemente, um ESS multivariada foi proposto e implementado no Rpacote mcmcseatravés da função multiESS. Não está claro como esse método se compara ao ESS do codapacote, mas, no início, parece mais razoável que os métodos ESS univariados.

Greenparker
fonte
2
(+1) Obrigado pela resposta. Concordo com alguns dos seus pontos de vista, mas ainda acho que algumas informações poderiam ser obtidas com essa referência. Como se usa os resultados desses parâmetros de referência para orientar futuras escolhas, cabe a eles - mas algumas evidências são melhores que nenhuma evidência. Bons pontos sobre o ESS. Por multiestado, quero dizer multiestado (ou multi-cadeia, se você preferir), não simplesmente multivariada - veja a citação do livro de MacKay na minha pergunta original.
lacerbi
2
Em geral, sabe-se que alguns amostradores apresentam baixo desempenho em distribuições multimodais (MH, Gibbs), e alguns são ruins em suporte não convexo (Hamiltonian MC). Por outro lado, para problemas de alta dimensão, o Hamiltoniano MC funciona bem e para distribuições multimodais, o revenido simulado, etc, é bom. Para fazer qualquer benchmarking, pode ser necessário definir diferentes classes amplas de distribuições de destino (subexponencial, log côncavo etc.) para que os resultados sejam interpretáveis ​​em geral.
Greenparker
1
Bem, sim, esse é o objetivo de construir uma referência para uma classe de algoritmos. Veja, por exemplo, isso para otimização global. Claramente, uma referência para o MCMC não pode apenas emprestar os existentes para otimização; é necessário focar nos recursos das densidades de destino que são específicas, comuns e de interesse para os problemas do MCMC, como os mencionados.
lacerbi