¿Cómo funciona el método de transformación inversa?


21

¿Cómo funciona el método de inversión?
Digamos que tengo una muestra aleatoria con densidad sobre y, por lo tanto, con cdf en . Luego, por el método de inversión obtengo la distribución de como . X1,X2,...,Xnf(x;θ)=1θx(1θ)θ
0<x<1FX(x)=x1/θ(0,1)XFX1(u)=uθ

Entonces, ¿ tiene la distribución de ? ¿Es así como funciona el método de inversión?uθX

u<-runif(n)
x<-u^(theta)

3
Vea nuestros hilos sobre la transformación integral de probabilidad .
whuber

1
Sí, aunque generalmente se llama la "transformación integral de probabilidad". Intente derivar la función de distribución de para ver por qué funciona. F1(U)
dsaxton

Respuestas:


20

El método es muy simple, así que lo describiré en palabras simples. Primero, tome la función de distribución acumulativa de alguna distribución de la que desea muestrear. La función toma como entrada algún valor x y le dice cuál es la probabilidad de obtener X x . EntoncesFXxXx

FX(x)=Pr(Xx)=p

inverso de dicha función función, tomaría como entrada y retorno . Tenga en cuenta que 's se distribuyen de manera uniforme - esto podría ser utilizado para el muestreo de cualquier si sabe . El método se llama muestreo de transformación inversa . La idea es muy simple: es fácil de valores de muestra uniformemente de , así que si quieres a la muestra de algunos , sólo toma los valores y pasar través para obtener 's p x p F X F - 1 X U ( 0 , 1 ) F X u U ( 0 , 1 ) u F - 1 X xFX1pxpFXFX1U(0,1)FXuU(0,1)uFX1x

FX1(u)=x

o en R (para distribución normal)

U <- runif(1e6)
X <- qnorm(U)

Para visualizarlo, mire el CDF a continuación, generalmente, pensamos en distribuciones en términos de mirar el eje para las probabilidades de valores del eje . Con este método de muestreo hacemos lo contrario y comenzamos con "probabilidades" y las usamos para elegir los valores que están relacionados con ellas. Con distribuciones discretas, trata a como una línea de a y asigna valores en función de dónde se encuentra algún punto en esta línea (por ejemplo, si o si para el muestreo de ).x U 0 1 u 0 0 u < 0.5 1 0.5 u 1 B e r n o u l l i ( 0.5 )yxU01u00u<0.510.5u1Bernoulli(0.5)

ingrese la descripción de la imagen aquí

Desafortunadamente, esto no siempre es posible ya que no todas las funciones tienen su inverso, por ejemplo, no puede usar este método con distribuciones bivariadas. También no tiene que ser el método más eficaz en todas las situaciones, en muchos casos existen mejores algoritmos.

También pregunta cuál es la distribución de . Como es un inverso de , entonces y , entonces sí, valores obtenidos usando tal método tiene la misma distribución que . Puede verificar esto mediante una simple simulaciónF - 1 XFX1(u)FX1F X ( F - 1 X ( u ) ) = u F - 1 X ( F X ( x ) ) = x XFXFX(FX1(u))=uFX1(FX(x))=xX

U <- runif(1e6)
all.equal(pnorm(qnorm(U)), U)

Buena respuesta. Este método funciona cuando tiene distribuciones como exponencial, Cauchy, geométrica, Pareto, logística, Weibull de valor extremo , etc. Por ejemplo, no puede encontrar una forma cerrada para una distribución normal . Por lo tanto, no podrá utilizar este método. Puede probar otros métodos, como el método de rechazo .
Abbas Salimi

2
Puede usar el método de transformación inversa con la distribución normal. Existen numerosas implementaciones para el CDF inverso normal . Por ejemplo, puede escribir CDF inverso normal utilizando la función de error complementaria . Un ejemplo de implementación de erfc está aquí . No codifique erfc usted mismo; usa una biblioteca. Que no exista una fórmula de forma cerrada no implica que no pueda utilizar aproximaciones numéricas de alta calidad.
Matthew Gunn

2

Sí, tiene la distribución de .UθX

Dos puntos adicionales en la intuición detrás del método de transformación inversa podrían ser útiles

(1) Para comprender qué significa realmente , consulte un gráfico en la respuesta de Tim para ayudarme a comprender la función cuantil (CDF inverso)F1

(2) [Por favor, simplemente ignore lo siguiente, si trae más confusión en lugar de claridad]

Sea una variable aleatoria (rv) con cdf continuo y estrictamente creciente . Entonces Nota sobre la notación: es un rv Por lo tanto, la función de rv , es un rv en sí mismo. XF

F(X)Unif(0,1)

XXF(X)

Por ejemplo, si voltea la pregunta, para tener acceso a y desea generar un uniforme estándar, entonces . Dejar que llamar a esta variable aleatoria . Por lo tanto Volviendo a su pregunta, tiene la tarea contrario: generar de . Entonces, de hecho X 1 / θUnif ( 0 , 1 ) U U = X 1 / θ X U X = U θXX1/θUnif(0,1)U

U=X1/θ
XU
X=Uθ

PD. Los nombres alternativos para el método son la transformación integral de probabilidad, el muestreo de transformación inversa, la transformación de cuantiles y, en algunas fuentes, "el teorema fundamental de la simulación".

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.