¿Cómo debo muestrear eficientemente de la siguiente distribución?
Si no es demasiado grande, entonces el muestreo de rechazo puede ser el mejor enfoque, pero no estoy seguro de cómo proceder cuando es grande. ¿Quizás haya alguna aproximación asintótica que se pueda aplicar?k
random-generation
beta-distribution
truncation
user1502040
fuente
fuente
Respuestas:
La forma más simple y más general, que se aplica a cualquier distribución truncada (también se puede generalizar al truncamiento en ambos lados), es usar muestreo de transformación inversa . Si es la distribución acumulativa de interés, establezca y tomep 0 = F ( k )F p0=F(k)
donde es una muestra de truncada a la izquierda en . La función cuantil trazará un mapa de probabilidades a partir de muestras . Dado que tomamos valores de solo del "área" que coincide con los valores de distribución beta de la región no truncada, solo tomará muestras de esos valores.F k F - 1 F UX F k F−1 F U
Este método se ilustra en la imagen a continuación, donde el área truncada se marca con un rectángulo gris, los puntos en rojo se dibujan desde la distribución y luego se transforman en muestrasB ( 2 , 8 )U(p0,1) B(2,8)
fuente
scipy.special.betainc
para el inverso y en R haypbeta
.qbeta
para la función cuantil en R.)La respuesta de @ Tim muestra cómo el muestreo de transformación inversa puede adaptarse para distribuciones truncadas, liberando el tiempo de ejecución de la dependencia del umbral . Se pueden obtener mayores eficiencias evitando la costosa evaluación numérica de la función de cuantiles beta y utilizando el muestreo de transformación inversa como parte del muestreo de rechazo.k
La función de densidad de una distribución beta con parámetros de forma y doblemente truncada en (para un poco más de generalidad) esα β k1<k2
Tome cualquier parte monótonamente creciente de la densidad entre y : para es log-cóncavo, por lo que puede envolverlo con una función exponencial dibujada en una tangente a cualquier punto a lo largo de ella:xL xU α,β>1
Encuentre estableciendo los gradientes de las densidades de registro igualesλ
El mejor sobre para el muestreo de rechazo es el que tiene el área más pequeña debajo. El área es Sustituyendo expresiones en por & , & dropping factores constantes da
Escribir la derivada se deja como un ejercicio para los lectores o sus computadoras. Cualquier algoritmo de búsqueda de raíz se puede utilizar para encontrar la para la cual . xdQdQdx x dQdx=0
Lo mismo ocurre, mutatis mutandis, para partes de la densidad que disminuyen monotónicamente. Por lo tanto, la distribución beta truncada puede estar perfectamente envuelta por dos funciones exponenciales, por ejemplo, una de al modo y otra del modo a , listas para el muestreo de rechazo. (Para una variable aleatoria uniforme truncada , tiene una distribución exponencial truncada con el parámetro de velocidad .)k 2 U - log ( 1 - U )k1 k2 U λ−log(1−U)λ λ
La belleza de este enfoque es que todo el trabajo duro está en la configuración. Una vez que se define la función envolvente, se calcula la constante de normalización para la densidad beta truncada, todo lo que queda es generar variables aleatorias uniformes y realizar en ellas algunas operaciones aritméticas simples, registros y potencias, y comparaciones. Ajustar la función de envolvente —con líneas horizontales o curvas más exponenciales— puede, por supuesto, reducir el número de rechazos.
fuente