Estoy trabajando en algunos problemas de examen de práctica, y uno de ellos dice que diseñe un algoritmo de muestreo de rechazo para producir sorteos de una exponencial unitaria usando sorteos de una Gamma(2,1).
No entiendo cómo es posible, porque tengo la impresión de que la "función envolvente" g(x) tiene que ser escalable de tal manera que para alguna constante $M$ , $Mg(x)\geq f(x)\; \forall x$ .
No veo ninguna manera de hacerlo, ya que la Gamma(2,1) va a tener poca masa alrededor de 0, mientras que la función exponencial tiene la mayor parte de su masa alrededor de 0. ¿Qué tipo de transformación tengo que hacer a la función Gamma para que pueda funcionar como una envolvente?
Usando R, intenté darle la vuelta para convertirla en una gamma inversa, pero eso no captura adecuadamente la masa de probabilidad cercana a 0 y una prueba K-S confirmó que los puntos que generé no surgían de una exponencial unitaria.
edit: Incluiré mi código en el que he intentado utilizar una gamma inversa(2,1) como envolvente:
x <- c()
for(i in 1:100000)
{
g <- runif(1, 0, 1)
h <- rigamma(1, 2, 1)
M <- densigamma(h, 2, 1)
crit <- dexp(h, 1)/M
if(g < crit)
x[i] = h
}