Método de la transformada inversa
# 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, 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.

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:

* Sea $X$ una variable aleatoria cuya distribución puede ser descrita por la función de distribución $F_{X}$.
* Se desea generar valores de $X$ que están distribuidos según dicha distribución.

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

* Se genera un número aleatorio $u$ a partir de la distribución uniforme en el intervalo $(0,1)$, esto es $U\sim \operatorname {U} (0,1)$.
* Se halla la inversa de la función de distribución, esto es, $F_{X}^{-1}(x)$.
* Calcular $X=F_{X}^{-1}(u)$, esta variable aleatoria $X$ tiene distribución $F_{X}$.

Expresado de manera diferente, dada una variable aleatoria continua $U$ en $(0,1)$ y una función de distribución invertible $F_{X}$, la variable aleatoria $X=F_{X}^{-1}(U)$ tiene distribución $F_{X}$.

## Intuición

De $U\sim \operatorname {U} (0,1)$ queremos generar $X$ con función de distribución $F_{X}$, donde asumimos que $F_{X}$ es una función estrictamente creciente.

Queremos ver si podemos hallar una transformación estrictamente monótona $T:[0,1]\to \mathbb {R}$ tal que $T(U){\overset {d}{=}}X$ entonces tendremos

    ${\begin{aligned}F_{X}(x)&=\operatorname {P} [X\leq x]\\&=\operatorname {P} [T(U)\leq x]\\&=\operatorname {P} [U\leq T^{-1}(x)]\\&=T^{-1}(x)\end{aligned}}$

para $x\in \mathbb {R}$ donde en el último paso se utilizó que $\operatorname {P} [U\leq y]=y$ cuando $U$ es uniforme en $(0,1)$.

Entonces obtuvimos que $F_{X}$ es la inversa de la función $T$ o equivalentemente $T(u)=F_{X}^{-1}(u),u\in [0,1]$

## Caso Continuo

Considérese que se desea generar una variable aleatoria continua $X$ con función de distribución $F_{X}$, 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 como$X=F^{-1}(U)$ tiene distribución $F$, donde $F^{-1}$ se define como el valor de $x$ tal que $F(x)=u$.

### Demostración

Sea $F_{X}$ la función de distribución de $X=F^{-1}(U)$ entonces

    ${\begin{aligned}F_{X}(x)&=\operatorname {P} [X\leq x]\\&=\operatorname {P} [F^{-1}(U)\leq x]\end{aligned}}$

como $F_{X}$ es una función de distribución entonces $F_{X}$ es una función monótona creciente de $x$ entonces

    ${\begin{aligned}F_{X}(x)&=\operatorname {P} [F^{-1}(U)\leq x]\\&=\operatorname {P} [F(F^{-1}(U))\leq F(x)]\\&=\operatorname {P} [U\leq F(x)]\\&=F(x)\end{aligned}}$

Este teorema muestra que para generar una variable aleatoria $X$ a partir de la función de distribución continua $F_{X}$, generemos un número aleatorio $U$ y hacemos entonces $X=F^{-1}(U)$.

## Caso Discreto

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

    $\operatorname {P} [X=x_{j}]=p_{j}$

con $j=0,1,2,\dots$ y

    $\sum _{j}p_{j}=1$

Para esto, generamos un número aleatorio $U$, esto es, $U\sim \operatorname {U} (0,1)$ y se define

    $X=\left\{{\begin{matrix}x_{0}&{\mbox{si}}&U<p_{0}\\x_{1}&{\mbox{si}}&p_{0}\leq U<p_{0}+p_{1}\\\vdots &\vdots &\vdots \\x_{j}&{\mbox{si}}&\displaystyle \sum _{i=1}^{j-1}p_{i}\leq U<\sum _{i=1}^{j}p_{i}\\\vdots &\vdots &\vdots \end{matrix}}\right.$

Como $\operatorname {P} [a\leq U<b]=b-a$ para $0<a<b<1$entonces

    $\operatorname {P} [X=x_{j}]=\operatorname {P} \left[\sum _{i=1}^{j-1}p_{i}\leq U<\sum _{i=1}^{j}p_{i}\right]=p_{j}$

por lo tanto $X$ tiene la distribución deseada.

## Ejemplos

### Ejemplo 1

Supóngase que se tiene una variable aleatoria $U\sim \operatorname {U} (0,1)$ y una función de distribución

    $F(x)=1-\exp(-{\sqrt {x}})$

Para poder aplicar el método, debemos resolver $F(F^{-1}(u))=u$

    ${\begin{aligned}F(F^{-1}(u))&=u\\1-\exp \left(-{\sqrt {F^{-1}(u)}}\right)&=u\\F^{-1}(u)&=\left(-\ln(1-u)\right)^{2}\\&=(\ln(1-u))^{2}\end{aligned}}$

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 $\lambda =1$, esto es, $X\sim \operatorname {Exponencial} (1)$ entonces su función de distribución está dada por

    $F_{X}(x)=1-e^{-x}$

Si hacemos $x=F^{-1}(u)$ entonces

    $u=F_{X}(x)=1-e^{-x}$

esto es

    ${\begin{aligned}u&=1-e^{-x}\\1-u&=e^{-x}\\x&=-\ln(1-u)\end{aligned}}$

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

    $X=F^{-1}(U)=-\ln(1-U)$

Recordemos que si $Y\sim \operatorname {U} (0,1)$ entonces $1-Y\sim \operatorname {U} (0,1)$, aplicando este resultado obtenemos

    $X=F^{-1}(U)=-\ln(U)$

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

