¿Cómo tiene sentido la prueba de muestreo de rechazo?


9

Estoy tomando un curso sobre métodos de Monte Carlo y aprendimos el método de Muestreo de rechazo (o Muestreo de aceptación-rechazo) en la última conferencia. Hay muchos recursos en la web que muestran la prueba de este método, pero de alguna manera no estoy convencido con ellos.

Entonces, en la Muestra de rechazo, tenemos una distribución f(x)que es difícil de probar. Elegimos una distribución fácil de muestrearg(x) y encontrar un coeficiente c tal que f(x)cg(x). Luego tomamos muestras deg(x) y para cada sorteo, xi, también probamos un u de una distribución uniforme estándar U(u|0,1).

La muestra xi se acepta si es cg(xi)uf(xi) y rechazado de otra manera.

Las pruebas que encontré usualmente solo muestran que p(x|Accept)=f(x) y detente ahí.

Lo que pienso sobre este proceso es que tenemos una secuencia de variables x1,Accept1,x2,Accept2,...,xn,Acceptn y un xi,Accepti par corresponde a nuestra i.a muestra (xi) y si se acepta (Accepti) Sabemos que cadaxi,Accepti el par es independiente el uno del otro, de modo que:

P(x1,Accept1,x2,Accept2,...,xn,Acceptn)=i=1nP(xi,Accepti)

Para (xi,Accepti) par sabemos que P(xi)=g(xi) y P(Accepti|xi)=f(xi)cg(xi). Podemos calcular fácilmentep(xi|Accepti)pero no entiendo cómo es suficiente como prueba. Necesitamos demostrar que el algoritmo funciona, por lo que creo que una prueba debería mostrar que la distribución empricial de las muestras aceptadas converge af(x) como n. Quiero decir, conn siendo el número de todas las muestras aceptadas y rechazadas:

Numberofsampleswith(AxiB)NumberofacceptedsamplesABf(x)dx como n.

¿Estoy equivocado con este patrón de pensamiento? ¿O hay una conexión entre la prueba común del algoritmo y esto?

Gracias por adelantado

Respuestas:


8

Debe pensar que el algoritmo produce dibujos a partir de una variable aleatoria, para mostrar que el algoritmo funciona, es suficiente con mostrar que el algoritmo se basa en la variable aleatoria que desea.

Dejar X y Y ser variables aleatorias escalares con archivos PDF fX y fY respectivamente, donde Yes algo de lo que ya sabemos cómo tomar muestras. También podemos saber que podemos atarfX por MfY dónde M1.

Ahora formamos una nueva variable aleatoria A dónde A|yBernoulli (fX(y)MfY(y)), esto toma el valor 1 con probabilidad fX(y)MfY(y) y 0de otra manera. Esto representa el algoritmo 'aceptando' un sorteo deY.

Ahora ejecutamos el algoritmo y recopilamos todos los sorteos de Y que son aceptadas, llamemos a esta variable aleatoria Z=Y|A=1.

Para mostrar que ZX, para cualquier evento E, debemos demostrar que P(ZE)=P(XE).

Así que intentemos eso, primero use la regla de Bayes:

P(ZE)=P(YE|A=1)=P(YE&A=1)P(A=1),

y la parte superior escribimos como

P(YE&A=1)=EfY,A(y,1)dy=EfA|Y(1,y)fY(y)dy=EfY(y)fX(y)MfY(y)dy=P(XE)M.

Y luego la parte inferior es simplemente

P(A=1)=fY,A(y,1)dy=1M,

por el mismo razonamiento que el anterior, estableciendo E=(,+).

Y estos se combinan para dar P(XE), que es lo que queríamos ZX.

Así es como funciona el algoritmo, pero al final de su pregunta parece que le preocupa una idea más general, es decir, ¿cuándo converge una distribución empírica con la distribución muestreada? Este es un fenómeno general relacionado con cualquier muestreo si te entiendo correctamente.

En este caso, dejemos X1,,Xn estar en variables aleatorias todas con distribución X. Entonces para cualquier eventoE, i=1n1XiEn tiene expectativas P(XE) por la linealidad de la expectativa.

Además, dados los supuestos adecuados, podría usar la ley fuerte de los grandes números para mostrar que la probabilidad empírica converge casi seguramente con la probabilidad verdadera.


Gracias por la respuesta. ¿Puede aclarar cómo puedo demostrar que la distribución empírica converge a la distribución objetivo mediante el uso de la Ley de los números grandes? Es exactamente lo que trato de mostrar en este caso.
Ufuk Can Bicici


@Harri Lo que me molesta es el hecho de que aprendemos la variable aleatoria que indica la aceptación del sorteo (A=1) después de haber aprendido el valor de la variable real. Observamos las variables de acuerdo a la secuencia.Y1,A1,Y2,A2,...,Yn,An, entonces si estamos a punto de observar la variable Y2, lo que sabemos sobre el sistema es Y1 y A1 y desde Y2 es independiente de ellos, lo que procesamos es primero P(Y2), entonces P(A2|Y2)no de la otra manera.
Ufuk Can Bicici

¿Podría decir algo más sobre por qué el orden de saber P(Y2) y entonces P(A2|Y2)te molesta?
Harri

1

Primero, tenga en cuenta que un procedimiento completo del método de muestreo de rechazo solo produce una única variable aleatoria. Cuando algunasxi es aceptado, el procedimiento se detiene y no hay xi+1nunca más. Si desea múltiples variables aleatorias, simplemente repita el procedimiento varias veces.

En algunos libros de texto, denotan el evento de aceptación por A y calcular la probabilidad

P(A)=dx0f(x)cg(x)g(x)du=1cf(x)dx=1c.

And

fX(x|A)=fX(x)P(A|x)P(A)=g(x)f(x)cg(x)1c=f(x).

The confusing thing is that the acceptance A here appears to be acceptance of a single sample of xi, but the whole procedure may reject multiple xi's.

Yes, a more rigorous proof should consider the probability of acceptance at different steps. Let Xi denote the ith sample, fXi denote the probability density function of Xi, Ai denote the ith acceptance, and X denote the final accepted value. Then the probability density function of X is

fX(x)=P(A1)fX1(x|A1)+P(A2)fX2(x|A2)+.
P(A1) is 1c and fX1(x|A1) is f(x) as calculated before. Note P(A2) is (11c)1c where 11c is the probability of the rejection of X1 since only when X1 is rejected have we a chance to choose an X2.

And fX2(x|A2) is f(x) too because the second step is not affected by previous steps, its probability should be the same as the first step. If this explanation doesn't convince you, we can also work it out rigorously. Be careful X2 is not defined when X1 is accepted (or you can define it to be an arbitrary number when X1 is accepted if undefined value makes you uncomfortable), so for probabilities concerning X2, only conditional probabilities given A1c or subsets of A1c make sense. Now

fX2(x|A2)=P(A1c)fX2(x|A1c)P(A2|X2=x)P(A2)=P(A1c)fX2(x|A1c)P(A2|X2=x)P(A1c)P(A2|A1c)=fX2(x|A1c)P(A2|X2=x)P(A2|A1c)=g(x)f(x)cg(x)1c=f(x).
So
fX(x)=P(A1)f(x)+P(A2)f(x)+=(P(A1)+P(A2)+)f(x)=(1c+(11c)1c+(11c)21c+)f(x)=f(x).
That is the desired result. Note P(A1)+P(A2)+ = 1 has an intuitive meaning, that is eventually one sample will be accepted at some step i.
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.