Je suppose que vous pouvez évaluer et jusqu'à une constante de normalisation. Notons et .g f ( x ) = f u ( x ) / c f g ( x ) = g u ( x ) / c gfgf(x)=fu(x)/cfg(x)=gu(x)/cg
Un estimateur cohérent qui peut être utilisé est
où
est un estimateur d'échantillonnage d'importance pour le rapport . Ici, vous utilisez et comme densités instrumentales pour et respectivement, et pour cibler le rapport de log des densités non normalisées. r = 1 / n
DKLˆ(f||g)=[n−1∑jfu(xj)/πf(xj)]−11N∑iN[log(fu(zi)gu(zi))fu(zi)πr(zi)]−log(r^)
cf/cgπfπgfuguπrr^=1/n1/n∑jfu(xj)/πf(xj)∑jgu(yj)/πg(yj).(1)
cf/cgπfπgfuguπr
Soit donc , et . Le numérateur de (1) converge vers . Le dénominateur converge vers . Le rapport est cohérent par le théorème de cartographie continue. Le log du rapport est cohérent par cartographie continue à nouveau. { y i } ∼ π g { z i } ∼ π r c f c g{xi}∼πf{yi}∼πg{zi}∼πrcfcg
En ce qui concerne l'autre partie de l'estimateur,
par la loi des grands nombres.
1N∑jeN[ journal(fu(zje)gu(zje)) fu(zje)πr(zje)] →commecFE[ journal( fu( zje)gu( zje)) ]
Ma motivation est la suivante:
réKL( f| | g)= ∫∞- ∞F( x ) journal( f( x )g( x )) dX= ∫∞- ∞F( x ) { journal[ fu( x )gu( x )] +journal[ cgcF] } dX= EF[ journalFu( x )gu( x )] +journal[ cgcF]= c- 1FEπr[ journalFu( x )gu( x )Fu( x )πr( x )] +journal[ cgcF] .
Je le décompose donc en morceaux traitables.
Pour plus d'idées sur la façon de simuler le rapport de probabilité, j'ai trouvé un article qui en contient quelques-uns:
https://projecteuclid.org/download/pdf_1/euclid.aos/1031594732