Método de la transformada inversa

De testwiki
Revisión del 17:57 28 jun 2023 de imported>SeroBOT (Revertidos los cambios de 148.246.189.20 (disc.) a la última edición de Torisanz8)
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)
Ir a la navegación Ir a la búsqueda
Método de la transformada inversa.

El método de la transformada (o transformación) inversa, también conocido como método de la transformada integral de probabilidad inversa,[1] es un método para la generación de números aleatorios de cualquier distribución de probabilidad continua cuando se conoce la inversa de su función de distribución (cdf). Este método es en general aplicable, pero puede resultar muy complicado obtener una expresión analítica de la inversa para algunas distribuciones de probabilidad. El método de Box-Muller es un ejemplo de algoritmo que aunque menos general, es más eficiente desde el punto de vista computacional.[2]

El método se utiliza para simular valores de las distribuciones exponencial, Cauchy, triangular, de Pareto y Weibull.

Método

El problema que resuelve el método de la transformada inversa es el siguiente:

El método de la transformada inversa funciona de la siguiente manera:

  1. Se genera un número aleatorio u a partir de la distribución uniforme en el intervalo (0,1), esto es UU(0,1).
  2. Se halla la inversa de la función de distribución, esto es, FX1(x).
  3. Calcular X=FX1(u), esta variable aleatoria X tiene distribución FX.

Expresado de manera diferente, dada una variable aleatoria continua U en (0,1) y una función de distribución invertible FX, la variable aleatoria X=FX1(U) tiene distribución FX.

La función inversa de y=FX(x) puede ser escrita como FX1(y)=inf{x|FX(x)y}.

Intuición

De UU(0,1) queremos generar X con función de distribución FX, donde asumimos que FX es una función estrictamente creciente.

Queremos ver si podemos hallar una transformación estrictamente monótona T:[0,1] tal que T(U)=dX entonces tendremos

FX(x)=P[Xx]=P[T(U)x]=P[UT1(x)]=T1(x)

para x donde en el último paso se utilizó que P[Uy]=y cuando U es uniforme en (0,1).

Entonces obtuvimos que FX es la inversa de la función T o equivalentemente T(u)=FX1(u),u[0,1]

Caso Continuo

Considérese que se desea generar una variable aleatoria continua X con función de distribución FX, para generar a X, se considera el método de la transformada inversa basado en el siguiente teorema.

Teorema

Sea U una variable aleatoria uniforme en (0,1), para cualquier función de distribución continua invertible F, la variable aleatoria X definida comoX=F1(U) tiene distribución F, donde F1 se define como el valor de x tal que F(x)=u.

Demostración

Sea FX la función de distribución de X=F1(U) entonces

FX(x)=P[Xx]=P[F1(U)x]

como FX es una función de distribución entonces FX es una función monótona creciente de x entonces

FX(x)=P[F1(U)x]=P[F(F1(U))F(x)]=P[UF(x)]=F(x)

Este teorema muestra que para generar una variable aleatoria X a partir de la función de distribución continua FX, generemos un número aleatorio U y hacemos entonces X=F1(U).

Caso Discreto

Supóngase que queremos generar el valor valor de una variable aleatoria discreta X con función de probabilidad

P[X=xj]=pj

con j=0,1,2, y

jpj=1

Para esto, generamos un número aleatorio U, esto es, UU(0,1) y se define

X={x0siU<p0x1sip0U<p0+p1xjsii=1j1piU<i=1jpi

Como P[aU<b]=ba para 0<a<b<1entonces

P[X=xj]=P[i=1j1piU<i=1jpi]=pj

por lo tanto X tiene la distribución deseada.

Ejemplo del método de la tranformada inversa para una variable aleatória geométrica discreta con p=0.2

Ejemplos

Ejemplo 1

Supóngase que se tiene una variable aleatoria UU(0,1) y una función de distribución

F(x)=1exp(x)

Para poder aplicar el método, debemos resolver F(F1(u))=u

F(F1(u))=u1exp(F1(u))=uF1(u)=(ln(1u))2=(ln(1u))2

a partir de aquí, ya podemos aplicar los pasos uno, dos y tres antes mencionados

Ejemplo 2

Si X es una variable aleatoria exponencial con parámetro λ=1, esto es, XExponencial(1) entonces su función de distribución está dada por

FX(x)=1ex

Si hacemos x=F1(u) entonces

u=FX(x)=1ex

esto es

u=1ex1u=exx=ln(1u)

por lo tanto, para generar una variable aleatoria exponencial con parámetro λ=1, generamos un número aleatorio U y hacemos

X=F1(U)=ln(1U)

Recordemos que si YU(0,1) entonces 1YU(0,1), aplicando este resultado obtenemos

X=F1(U)=ln(U)

a partir de aquí, ya podemos aplicar los pasos uno, dos y tres antes mencionados.

Véase también

Referencias

Plantilla:Listaref

Enlaces externos

Plantilla:Control de autoridades

  1. Aalto University, N. Hyvönen, Computational methods in inverse problems. Twelfth lecture https://noppa.tkk.fi/noppa/kurssi/mat-1.3626/luennot/Mat-1_3626_lecture12.pdf
  2. Luc Devroye. Non-Uniform Random Variate Generation. New York: Springer-Verlag, 1986