Qual é o equivalente para cdfs do MCMC para pdfs?

8

Em conjunto com uma pergunta de Validação cruzada sobre a simulação de uma cópula específica, ou seja, um Cdf multivariado definido em , comecei a me perguntar sobre o panorama geral, como, quando dada tal função, alguém pode imaginar um algoritmo genérico para simular a partir da distribuição de probabilidade correspondente?[ 0 , 1 ] kC(u1,,uk)[0,1]k

Obviamente, uma solução é diferenciar vezes para produzir o pdf correspondente e depois chamar um algoritmo genérico do MCMC como Metropolis-Hastings para produzir uma amostra de (ou ).k κ ( u 1 , ... , u k )C kκ(u1,,uk)κCκ

Além disso: Outra solução é seguir as cópulas arquimedianas, usando a transformação de Laplace-Stieljes para simulação, mas isso nem sempre é possível na prática. Como descobri ao tentar resolver a pergunta acima mencionada .

Minha pergunta é sobre evitar esse passo diferenciador de maneira genérica, se possível.

Xi'an
fonte
1
O link "a transformação de Laplace-Stieljes" parece estar quebrado agora.
jochen

Respostas:

4

Esta é uma tentativa pela qual não trabalhei completamente, mas muito tempo para a seção de comentários. Pode ser útil colocá-lo aqui como outra alternativa básica para muito baixo . Não requer diferenciação explícita + MCMC (mas executa diferenciação numérica, sem MCMC).k

Algoritmo

Para small :ε>0

  1. Desenhe . Isso pode ser feito facilmente desenhando e calculando (que, se houver, pode ser feito numericamente). Este é um empate do pdf marginal .η Uniforme [ 0 , 1 ] Cu1C1C(U1=u1,U2=1,,Uk=1)ηUniform[0,1]u1~κ(L1)C11(η)u1κ(u1)
  2. Paraj=2k
    • Defina que pode ser calculado como uma diferença de avaliado em vários pontos (que de maneira ingênua precisa de avaliações de para cada avaliação de ). é o condicional marginal aproximado de de dado .CO(2j-1)CD ( ε ) j D ( ε ) j εuju1,...,uj-1
      Dj(ε)(uj|u1,,uj1)Pr(u1ε2U1u1+ε2uj1ε2Uj1uj1+ε2UjujUj+11Uk1),
      CO(2j1)CDj(ε)Dj(ε)εuju1,,uj1
    • Desenhe conforme o ponto 1, o que novamente deve ser fácil com inversão numérica.ujDj(ε)(uj|u1,,uj1)

Discussão

Esse algoritmo deve gerar amostras de iid a partir de uma aproximação de de , em que depende apenas da precisão numérica. Existem detalhes técnicos práticos para refinar a aproximação e torná-la numericamente estável.C ( u 1 , ... , u k ) εεC(u1,,uk)ε

O problema óbvio é que a complexidade computacional é escalonada como ; portanto, para ser generoso, isso não é muito geral em termos de (mas o exemplo que você vinculou tinha , talvez esse método seja não completamente inútil - não estou familiarizado com o cenário típico no qual você teria acesso ao cdf). Por outro lado, para distribuições de dimensões muito baixas, isso poderia funcionar, e o custo é compensado pelo fato de que, diferentemente da outra solução genérica de "diferenciação + MCMC", não há necessidade de calcular derivados, as amostras são iid e existem não é sintonizado (além da opçãok k = 3 εO(2k)kk=3ε, que deve ser algo um pouco acima da precisão da máquina). E talvez haja maneiras de melhorar isso do que a abordagem ingênua.

Como eu mencionei, isso está fora de questão, então pode haver outros problemas.

lacerbi
fonte