costo di campionamento di


9

Mi sono imbattuto nel seguente problema di simulazione: dato un set di numeri reali noti, una distribuzione su è definita da dove indica la parte positiva di . Mentre riesco a pensare a un campionatore Metropolis-Hastings che prende di mira questa distribuzione, mi chiedo se esiste un campionatore diretto efficiente, sfruttando il gran numero di probabilità zero per ridurre l'ordine dell'algoritmo da a .{ - 1 , 1 } d P ( X = ( x 1 , … , x d ) ) ∝ ( x 1 ω 1 + … + x d ω d ) + ( z ) + z O ( 2 d ) O ( d ){ω1,…,ωd}{−1,1}d

P(X=(x1,…,xd))∝(x1ω1+…+xdωd)+
(z)+zO(2d)O(d)

Risposte:


4

Ecco un campionatore ricorsivo abbastanza ovvio che è O(d) nel migliore dei casi (in termini di pesi ωi ), ma esponenziale nel peggiore dei casi.

Supponiamo di aver già selezionato e desideriamo scegliere x i . Dobbiamo calcolare w ( x 1 , … , x i - 1 , x i ) = ∑ x i + 1 ∈ { - 1 , 1 } ⋯ ∑ x d ∈ { - 1 , 1 } ( d ∑x1,…,xi−1xi e sceglixi=1con probabilitàw(x1,…,x i - 1 ,1)

w(x1,…,xi−1,xi)=∑xi+1∈{−1,1}⋯∑xd∈{−1,1}(∑j=1dωjxj)+
xi=1 Il denominatore sarà diverso da zero per qualsiasi scelta valida di campionix1,...,xi-1.
w(x1,…,xi−1,1)w(x1,…,xi−1,1)+w(x1,…,xi−1,−1).
X1,...,Xio-1

Ora, ovviamente, la domanda è come calcolare .w(X1,...,Xio)

C: =Σj=1ioωjXj≥Σj=io+1d|ωj|ω⋅X≥0XX1:iow

ΣXio+1⋯ΣXdω⋅X=ω⋅(ΣXio+1⋯ΣXdX)=Σj=1ioωj(ΣXio+1⋯ΣXdXj)⏟2d-ioXj+Σj=io+1dωj(ΣXio+1⋯ΣXdXj)⏟0=2d-ioC.

C≤-Σj=io+1d|ωj|ω⋅X≤0w(X1,...,Xio)=0

w(X1,...,Xio)=w(X1,...,Xio,1)+w(X1,...,Xio,-1)

w(1)w(-1)X1wO(d)


ωioω1≥ω2≥⋯≥ωd

|ω1|>Σj=2d|ωj|w(1)w(-1)wO(d)

ω1=ω2=⋯=ωd

(1,1,...,1)(-1,-1,...,-1)⌈d/2⌉O(2d/2)2d/2

ωioωiod


Cio≤-Σj=io+1d|ωj|
Cio≥Σj=io+1d|ωj|

1
No, non il complemento: quando è molto grande sai che il troncamento non viene applicato, quando è molto piccolo viene sempre applicato e nel frattempo devi ricorrere per capire quando è o non è applicato.
— Dougal,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.