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
- 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 ] Cu1∼C1≡C(U1=u1,U2=1,…,Uk=1)η∼Uniform[0,1]u1~κ(L1)C−11(η)u1∼κ(u1)
- Paraj=2…k
- 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
D(ε)j(uj|u1,…,uj−1)≡Pr(u1−ε2≤U1≤u1+ε2∧⋯∧uj−1−ε2≤Uj−1≤uj−1+ε2∧Uj≤uj∧Uj+1≤1⋯∧Uk≤1),
CO(2j−1)CD(ε)jD(ε)jεuju1,…,uj−1
- Desenhe conforme o ponto 1, o que novamente deve ser fácil com inversão numérica.uj∼D(ε)j(uj|u1,…,uj−1)
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.