Muestreo por transformada inversa - Inverse transform sampling

Transformada inversa de muestreo (también conocido como muestreo inversión , la probabilidad integral transformada inversa , el método de transformación inversa , Smirnov transformar , o la regla de oro ) es un método básico para el muestreo de números pseudo-aleatorios , es decir, para la generación de números de muestra en al azar de cualquier distribución de probabilidad dada su función de distribución acumulativa .

El muestreo de transformación inversa toma muestras uniformes de un número entre 0 y 1, interpretado como una probabilidad, y luego devuelve el número más grande del dominio de la distribución tal que . Por ejemplo, imagine que es la distribución normal estándar con media cero y desviación estándar uno. La siguiente tabla muestra muestras tomadas de la distribución uniforme y su representación en la distribución normal estándar.

Transformación de muestra uniforme a normal
.5 0
.975 1.95996
.995 2.5758
.999999 4.75342
1-2 -52 8.12589
Image
Muestreo por transformada inversa para distribución normal

Elegimos aleatoriamente una proporción del área bajo la curva y devolvemos el número en el dominio de manera que exactamente esta proporción del área se encuentre a la izquierda de ese número. Intuitivamente, es poco probable que elijamos un número en el extremo más alejado de las colas porque hay muy poca área en ellas que requeriría elegir un número muy cercano a cero o uno.

Computacionalmente, este método implica calcular la función cuantílica de la distribución; en otras palabras, calcular la función de distribución acumulativa (CDF) de la distribución (que asigna un número en el dominio a una probabilidad entre 0 y 1) y luego invertir esa función. Esta es la fuente del término "inverso" o "inversión" en la mayoría de los nombres de este método. Tenga en cuenta que para una distribución discreta , calcular la CDF en general no es demasiado difícil: simplemente sumamos las probabilidades individuales para los diversos puntos de la distribución. Sin embargo, para una distribución continua , necesitamos integrar la función de densidad de probabilidad (PDF) de la distribución, lo cual es imposible de hacer analíticamente para la mayoría de las distribuciones (incluida la distribución normal ). Como resultado, este método puede ser computacionalmente ineficiente para muchas distribuciones y se prefieren otros métodos; sin embargo, es un método útil para construir muestreadores de aplicación más general, como los basados ​​en el muestreo de rechazo .

Para la distribución normal , la falta de una expresión analítica para la función cuantil correspondiente significa que otros métodos (por ejemplo, la transformada de Box-Muller ) pueden ser preferidos computacionalmente. A menudo ocurre que, incluso para distribuciones simples, el método de muestreo por transformada inversa puede mejorarse: consulte, por ejemplo, el algoritmo zigurat y el muestreo de rechazo . Por otro lado, es posible aproximar la función cuantílica de la distribución normal con extrema precisión utilizando polinomios de grado moderado, y de hecho el método para hacerlo es lo suficientemente rápido como para que el muestreo por inversión sea ahora el método predeterminado para el muestreo de una distribución normal. en el paquete estadístico R .

Definición

La transformada integral de probabilidad establece que si es una variable aleatoria continua con función de distribución acumulativa , entonces la variable aleatoria tiene una distribución uniforme en [0, 1]. La transformada integral de probabilidad inversa es justamente la inversa de esto: específicamente, si tiene una distribución uniforme en [0, 1] y si tiene una distribución acumulativa , entonces la variable aleatoria tiene la misma distribución que .

Image
Gráfico de la técnica de inversión de a . En la parte inferior derecha vemos la función regular y en la parte superior izquierda su inversión.

Intuición

Desde , queremos generar con CDF Suponemos que es una función estrictamente creciente, lo que proporciona una buena intuición.

Queremos ver si podemos encontrar alguna transformación estrictamente monótona , tal que . Tendremos

donde el último paso usó que cuando es uniforme .

Entonces tenemos que ser la función inversa de , o, de manera equivalente

Por lo tanto, podemos generar a partir de

El método

Image
Esquema del muestreo por transformada inversa. La función inversa de puede definirse mediante .
Image
Una animación de cómo el muestreo por transformación inversa genera valores aleatorios distribuidos normalmente a partir de valores aleatorios distribuidos uniformemente

El problema que resuelve el método de muestreo por transformación inversa es el siguiente:

El método de muestreo por transformación inversa funciona de la siguiente manera:

  1. Genere un número aleatorio a partir de la distribución uniforme estándar en el intervalo , por ejemplo, de
  2. Encuentre la inversa del CDF deseado, por ejemplo .
  3. Calcular . La variable aleatoria calculada tiene distribución .

Expresado de otra manera, dada una variable uniforme continua en y una función de distribución acumulativa invertible , la variable aleatoria tiene distribución (o está distribuida ).

Se puede dar un tratamiento de funciones inversas como objetos que satisfacen ecuaciones diferenciales. Algunas de estas ecuaciones diferenciales admiten soluciones explícitas en series de potencias, a pesar de su no linealidad.

Ejemplos de

Para realizar una inversión queremos resolver para
A partir de aquí realizaríamos los pasos uno, dos y tres.
  • Como otro ejemplo, usamos la distribución exponencial con para x ≥ 0 (y 0 en caso contrario). Resolviendo y = F (x) obtenemos la función inversa
Significa que si sacamos algo de ay calculamos Esto tiene una distribución exponencial.
La idea se ilustra en el siguiente gráfico:
Image
Los números aleatorios y i se generan a partir de una distribución uniforme entre 0 y 1, es decir, Y ~ U (0, 1). Están dibujados como puntos de colores en el eje y. Cada uno de los puntos se asigna de acuerdo con x = F −1 (y), que se muestra con flechas grises para dos puntos de ejemplo. En este ejemplo, hemos utilizado una distribución exponencial. Por tanto, para x ≥ 0, la densidad de probabilidad es y la función de distribución acumulativa es . Por lo tanto, . Podemos ver que al usar este método, muchos puntos terminan cerca de 0 y solo algunos puntos terminan teniendo valores altos de x, tal como se espera para una distribución exponencial.
Tenga en cuenta que la distribución no cambia si comenzamos con 1-y en lugar de y. Por lo tanto, para propósitos computacionales, es suficiente generar números aleatorios y en [0, 1] y luego simplemente calcular

Prueba de corrección

Sea F una función de distribución acumulativa continua , y sea F −1 su función inversa (usando el mínimo porque los CDF son débilmente monótonos y continuos por la derecha ):

Afirmación: Si U es una variable aleatoria uniforme en (0, 1), entonces tiene F como su CDF.

Prueba:

Distribución truncada

El muestreo por transformada inversa se puede extender simplemente a casos de distribuciones truncadas en el intervalo sin el costo del muestreo de rechazo: se puede seguir el mismo algoritmo, pero en lugar de generar un número aleatorio distribuido uniformemente entre 0 y 1, generar distribuciones uniformemente distribuidas entre y , y luego toma de nuevo .

Reducción del número de inversiones

Para obtener un gran número de muestras, es necesario realizar el mismo número de inversiones de la distribución. Una forma posible de reducir el número de inversiones mientras se obtiene una gran cantidad de muestras es la aplicación del denominado muestreador de Monte Carlo de colocación estocástica (muestreador SCMC) dentro de un marco de expansión de caos polinomial . Esto nos permite generar cualquier número de muestras de Monte Carlo con solo unas pocas inversiones de la distribución original con muestras independientes de una variable para la cual las inversiones están analíticamente disponibles, por ejemplo, la variable normal estándar.

Ver también

Referencias

  1. ^ Universidad de Aalto, N. Hyvönen, Métodos computacionales en problemas inversos. Duodécima conferencia https://noppa.tkk.fi/noppa/kurssi/mat-1.3626/luennot/Mat-1_3626_lecture12.pdf
  2. ^ Luc Devroye (1986). Generación de variables aleatorias no uniformes (PDF) . Nueva York: Springer-Verlag.
  3. ^ https://stat.ethz.ch/R-manual/R-devel/library/base/html/Random.html
  4. ^ Steinbrecher, G., Shaw, WT (2008). Mecánica cuantílica. Revista europea de matemáticas aplicadas 19 (2): 87-112.
  5. ^ Luc Devroye (1986). "Apartado 2.2. Inversión por solución numérica de F ( X ) =  U " (PDF) . Generación variable aleatoria no uniforme . Nueva York: Springer-Verlag.
  6. ^ LA Grzelak, JAS Witteveen, M. Suarez y CW Oosterlee. El muestreador de Monte Carlo de colocación estocástica: muestreo altamente eficiente de distribuciones "costosas". https://ssrn.com/abstract=2529691