El rechazo de muestreo va a funcionar excepcionalmente bien al $c d \ge \exp(5)$ y es razonable para $c d \ge \exp(2)$.
Para simplificar las matemáticas un poco, vamos a $k = c d$, escribir $x = a$, y la nota que
$$f(x) \propto \frac{k^x}{\Gamma(x)} dx$$
para $x \ge 1$. Establecimiento $x = u^{3/2}$ da
$$f(u) \propto \frac{k^{u^{3/2}}}{\Gamma(u^{3/2})} u^{1/2} du$$
para $u \ge 1$. Al $k \ge \exp(5)$, esta distribución es muy cercano a lo Normal (y se acerca como $k$ se hace más grande). Específicamente, usted puede
Encontrar el modo de $f(u)$ numéricamente (utilizando, por ejemplo, Newton-Raphson).
Expandir $\log{f(u)}$ a de segundo orden acerca de su modo.
Este rendimientos de los parámetros de un aproximan a la distribución Normal. A la alta precisión, esta aproximación Normal domina $f(u)$, excepto en el extremo de la cola. (Al $k \lt \exp(5)$, usted puede necesitar para escalar el pdf Normal hasta un poco para asegurar la dominación.)
Después de haber hecho este trabajo preliminar para cualquier valor dado de a $k$, y habiendo estimado una constante $M \gt 1$ (como se describe a continuación), la obtención de un azar de la variable aleatoria es una cuestión de:
Dibujar un valor de $u$ desde la que domina la distribución Normal $g(u)$.
Si $u \lt 1$ o si un nuevo uniforme de la variable aleatoria $X$ supera $f(u)/(M g(u))$, volver al paso 1.
Set $x = u^{3/2}$.
El número esperado de las evaluaciones de las $f$ debido a las discrepancias entre las $g$ $f$ es sólo ligeramente mayor que 1. (Algunas evaluaciones adicionales se producen debido a los rechazos de variables menos de $1$, pero incluso cuando se $k$ es tan baja como $2$ la frecuencia de este tipo de casos es pequeño.)
Este gráfico muestra el logaritmos de g y f como una función de u de $k=\exp(5)$. Debido a que los gráficos están tan cerca, tenemos que inspeccionar su relación para ver lo que está pasando:
Esto muestra el registro de la relación de $\log(\exp(0.004)g(u)/f(u))$; el factor de $M = \exp(0.004)$ fue incluido para asegurar que el logaritmo es positivo a lo largo de la parte principal de la distribución; es decir, garantizar a $Mg(u) \ge f(u)$, excepto, posiblemente, en las regiones de insignificante probabilidad. Haciendo $M$ suficientemente grande puede garantizar que $M \cdot g$ domina $f$ en todos, pero la mayoría de los extremos (que no tiene prácticamente ninguna posibilidad de ser elegido en una simulación de todos modos). Sin embargo, el mayor $M$ es el más frecuentemente rechazos va a ocurrir. Como $k$ crece grande, $M$ puede ser elegido muy cerca de $1$, que se incurre en prácticamente ningún tipo de penalización.
Un enfoque similar funciona incluso para $k \gt \exp(2)$, pero bastante grande, los valores de $M$ puede ser necesario cuando se $\exp(2) \lt k \lt \exp(5)$, debido a $f(u)$ es notablemente asimétrica. Por ejemplo, con $k = \exp(2)$, para obtener una razonablemente precisas $g$ necesitamos establecer $M=1$:
El rojo superior de la curva es la gráfica de $\log(\exp(1)g(u))$, mientras que la parte inferior de la curva azul es la gráfica de $\log(f(u))$. El rechazo de muestreo de $f$ en relación al $\exp(1)g$ hará que alrededor de 2/3 de todo el juicio llega a ser rechazado, triplicando el esfuerzo: todavía no es malo. La cola derecha ($u \gt 10$ o $x \gt 10^{3/2} \sim 30$) serán representadas en el rechazo de muestreo (debido a $\exp(1)g$ ya no domina $f$), sino que la cola se compone de menos de $\exp(-20) \sim 10^{-9}$ del total de la probabilidad.
Para resumir, después de un esfuerzo inicial para calcular el modo y evaluar el término cuadrático de la alimentación de la serie de $f(u)$ todo el modo-un esfuerzo que requiere de un par de decenas de función de la evaluación en la mayoría de los--usted puede utilizar el rechazo de muestreo por un costo estimado de entre 1 y 3 (o así) de evaluaciones por la variable aleatoria. El costo multiplicador desciende rápidamente a 1 $k = c d$ aumenta más de 5.
Incluso cuando sólo uno de los sorteo de $f$ es necesario, este método es razonable. Se trata en su propia cuando muchos sorteos son necesarios para el mismo valor de $k$, para entonces, la sobrecarga de los cálculos iniciales se amortiza a lo largo de muchos empates.
Anexo
@Cardenal ha pedido, bastante razonablemente, para el apoyo de algunos de la mano saludando análisis en el anterior. En particular, ¿por qué debe la transformación de $x = u^{3/2}$ hacer la distribución aproximadamente Normal?
A la luz de la teoría de Box-Cox transformaciones, es natural buscar algún poder de transformación de la forma $x = u^\alpha$ (para una constante $\alpha$, esperemos que no demasiado diferente de la unidad) que va a hacer una distribución "más" de lo Normal. Recordar que todas las distribuciones Normales son simplemente caracteriza: los logaritmos de sus archivos pdf son puramente cuadrática, con cero término lineal y no los términos de orden superior. Por lo tanto, podemos tomar cualquier pdf y compararla a una distribución Normal mediante la ampliación de su logaritmo como una potencia de la serie alrededor de su (mayor) de pico. Buscamos un valor de $\alpha$ que hace (al menos) el tercer poder desaparecer, al menos aproximadamente: que es lo más que podemos esperar razonablemente que un solo gratis coeficiente será lograr. A menudo, esto funciona bien.
Pero, ¿cómo conseguir una manija en esta distribución particular? Al efectuar la transformación de energía, su pdf
$$f(u) = \frac{k^{u^{\alpha}}}{\Gamma(u^{\alpha})} u^{\alpha-1}.$$
Tome su logaritmo y el uso de Stirling asintótica de expansión de $\log(\Gamma)$:
$$\log(f(u)) \approx \log(k) u^\alpha + (\alpha - 1)\log(u) - \alpha u^\alpha \log(u) + u^\alpha - \log(2 \pi u^\alpha)/2 + c u^{-\alpha}$$
(para valores pequeños de a $c$, que es no constante). Esto funciona siempre $\alpha$ es positivo, lo que nos va a suponer a ser el caso (de lo contrario, no podemos descuidar el resto de la expansión).
Calcular su tercera derivada (que, cuando se divide por $3!$, será el coeficiente de la tercera potencia de $u$ en el poder de la serie) y aprovechar el hecho de que en el pico, la primera derivada debe ser cero. Esto simplifica la tercera derivada en gran medida, de dar (aproximadamente, porque nos están haciendo caso omiso de la derivada de $c$)
$$-\frac{1}{2} u^{-(3+\alpha)} \alpha \left(2 \alpha(2 \alpha-3) u^{2 \alpha} + (\alpha^2 - 5\alpha +6)u^\alpha + 12 c \alpha \right).$$
Al $k$ no es demasiado pequeño, $u$ hecho va a ser grande en el pico. Debido a $\alpha$ es positivo, el dominante término de esta expresión es el $2\alpha$ de la potencia, de la que podemos establecer a cero, haciendo que su coeficiente de desaparecer:
$$2 \alpha-3 = 0.$$
Por eso $\alpha = 3/2$ funciona tan bien: con esta opción, el coeficiente de la cúbico plazo alrededor de la cima se comporta como $u^{-3}$, que está cerca de a $\exp(-2 k)$. Una vez $k$ supera los 10 o así, que prácticamente se puede olvidarse de él, y es razonablemente pequeña, incluso para $k$ a 2. Los poderes superiores, a partir del cuarto, jugar menos y menos de un papel como $k$ se hace grande, debido a que sus coeficientes de crecer proporcionalmente más pequeñas, también. Por cierto, los mismos cálculos (basados en la segunda derivada de $log(f(u))$ en su pico) muestran la desviación estándar de esta aproximación Normal es ligeramente menor que $\frac{2}{3}\exp(k/6)$, con el error proporcional a $\exp(-k/2)$.