1.5 Simular con la Transformada Inversa
Aunque las distribuciones estudiadas en el punto anterior, al ser habituales provocan que los algoritmos de simulación y sus funciones de probabilidad ya estén implementadas en la mayoría de los paquetes estadísticos y de cálculo, en otras ocasiones, ante otras distribuciones menos comunes, no disponemos de un método directo para la simulación de muestras aleatorias, y necesitamos recurrir a algoritmos genéricos de simulación de variables.
Presentamos a continuación un algoritmo genérico para simular de variables discretas o continuas definidas a trozos: el algoritmo de la transformada inversa, que pasamos a describir, tanto para variables continuas como para variables discretas.
Definición 1.18 Algoritmo de la transformada inversa para variables continuas
Dada una variable aleatoria \(X\) de tipo continuo, cuya función de distribución viene dada por \(F(x)\), y cuya función de distribución inversa se denota por \(F^{-1}(x)\), el algoritmo de la transformada inversa permite obtener una muestra de tamaño \(n\) de la variable \(X\) mediante el siguiente procedimiento:
Generar \(n\) valores uniformes en el intervalo \([0,1]\), \[u_i\sim U(0,1), \quad i=1,...,n\]
Devolver \(x_i = F^{-1}(u_i)\).
Así los valores \(\{x_1,...,x_n\}\) constituyen una muestra de \(X\).
El algoritmo es conceptualmente similar para variables discretas, si bien por la discretización, varía levemente.
Definición 1.19 Algoritmo de la transformada inversa para variables discretas
Dada una variable aleatoria \(X\), de tipo discreto, con \(k\) posibles valores diferentes \(x_1,...,x_k\), y cuya función de distribución viene dada por:
\[F(x) = Pr(X \leq x) = \sum_{x_i \leq x} Pr(X = x_i), i=1,...,k,\]
el algoritmo de la transformada inversa permite obtener una muestra de tamaño \(n\) de la variable \(X\) mediante el siguiente procedimiento:
- Generar \(n\) valores uniformes en el intervalo \([0,1]\), \[u_i\sim U(0,1), \quad i=1,...,n\]
- Para cada \(u_i\) generado se determina el entero \(I\) más pequeño que satisface \(u_i \leq F(x_I)\), del conjunto \(\{x_1,...,x_k\}\)
- Devolver \(x_I\) para cada valor simulado.
Así los valores \(\{x_1,...,x_n\}\) constituyen una muestra de \(X\).
En los puntos siguientes vamos a mostrar el uso de los algoritmos 1.18 y 1.19 en diferentes ejemplos de variables de tipo discreto y continuo.