¿Cuáles son los principales pros y contras de cada método y cuándo usar cada uno?
Law [2007] menciona que:
"Una vez más, se anima al lector a desarrollar el método de transformación inversa para generar una variable aleatoria de la distribución trapezoidal derecha en el Ejemplo 8.4. Nótese que especialmente si a es grande, el método de composición será más rápido que el método de transformación inversa, ya que éste siempre requiere tomar una raíz cuadrada, mientras que es bastante probable (con probabilidad a) que el primero simplemente devuelva $X= U_2 \sim U(0, 1)$. Este aumento en velocidad debe ser sopesado por el analista frente a la posible desventaja de tener que generar dos o tres números aleatorios para obtener un valor de X."
Por lo tanto, básicamente, para la distribución trapezoidal derecha (mencionada en la cita) podría ser útil utilizar la composición ya que es probable que sea más rápido. Sin embargo, ¡no estoy totalmente segura de por qué es así?
Supongamos que estoy generando una variable aleatoria utilizando el método inverso. Tengo una función de distribución acumulativa y necesito encontrar su inversa. Si es imposible, es probable que utilice el muestreo por transformación inversa utilizando el hecho de que las funciones de distribución acumulativa son débilmente monótonas y continuas por la derecha y generalizaré la inversa de la función de distribución acumulativa a una forma de $F^{-1}_X (u) = \inf\{ x|F_X(x)\geq u\}$ para $0. Puede ser un poco laborioso pero supongamos que obtenemos la inversa de la distribución acumulativa. Luego estoy creando una variable uniforme $U$ y la utilizo para generar la variable aleatoria utilizando la inversa de la distribución acumulativa.
No entiendo cómo el método de composición es más rápido. Porque para la composición, primero necesito identificar que de hecho puedo usar la composición a partir de su PDF. Luego creo la primera variable uniforme $U_1$ y la utilizo para decidir sobre la distribución (en caso de composición asumo que hay al menos dos). Y luego creo otra variable uniforme $U_2$ y la utilizo para generar la variable aleatoria. Pero aún necesito saber la inversa para saber qué producirá como salida. Simplemente me parece que en el método de composición aún necesito calcular la inversa para saber cuál será la variable aleatoria.
LAW, A. M. [2007], Modelado y Análisis por Simulación, 4ª ed., McGraw-Hill, Nueva York.
El ejemplo mínimo de trabajo que puedo pensar es $f(x) = 0.5 f_A(x) + 0.5 f_B(x)$, donde A es exponencial con parámetro $0.5$ y B es exponencial con parámetro $2$. Al observar la PDF $f(x)$ puedo ver que aquí podemos utilizar el método de composición. Y el método de generación será algo así:
- Generar $U_1,U_2 \sim U(0,1)$.
- Si $U_1 < 0.5$, entonces producir $X = -\frac{\log(U_2)}{0.5}$
- Sino, producir $X = -\frac{\log(U_2)}{2}$
Pero si no supiera cuál es la inversa de la distribución exponencial, no sabría qué producir. Y el método de composición también implicaría la parte de inversión. ¿Estoy en lo correcto? No veo cómo sería más rápido en ese escenario.
0 votos
Hola: Obtienes el inverso calculando la cdf y luego estableciéndolo en lo uniforme y resolviendo para $X$ entonces ¿cómo no sabrías lo que era? Puede que no esté siguiendo y no tenga la intención de sonar grosero.
3 votos
El método de composición te permite modelar tu distribución como una mezcla de otras densidades. Entonces, como dices, comienzas eligiendo una de ellas apropiadamente, y luego generando una muestra de la misma. Sin embargo, cuando llegas a esa etapa, no necesariamente necesitas invertir la función de distribución acumulada o resolver numéricamente $F_k(X) = U$ para $X. También puedes utilizar el método de rechazo-aceptación o tal vez un generador predefinido.
0 votos
@Aruralreader Podrías publicar ese comentario como respuesta
1 votos
Invertir $0.5(1-e^{-0.5x})+0.5(1-e^{-2x})=u$ requiere pasos numéricos, por lo que es más costoso que el enfoque de composición. Si esto no está lo suficientemente claro, imagina una mezcla de 10³ densidades exponenciales...
0 votos
@Xi'an, entiendo tu punto pero no del todo. La forma en que lo entiendo es: el método inverso en este caso requiere un $U$, una comparación y un logaritmo. Y la composición, requiere dos $U$, una comparación y un logaritmo. Por lo tanto, yo argumentaría que es más eficiente utilizar el método inverso.
0 votos
Hay un costo computacional al invertir la cdf mediante un método numérico, costo que no está relacionado con la cantidad de uniformes utilizados por cada método.