GENERACIÓN DE VARIABLES ALEATORIAS
La generación de cualquier variable aleatoria se va a basar en la generación previa de una distribución uniforme (0,1), visto en el tema anterior. En este capítulo vamos a estudiar ciertas transformaciones o algoritmos que nos van a transformar dichos números generados en valores de otras distribuciones.
La mayoría de las técnicas utilizadas para la generación se pueden agrupar en:
Ø Método de la transformada inversa
Ø Método de aceptación-rechazo
Ø Método de composición
Ø Método de convolución
MÉTODO DE LA TRANSFORMADA INVERSA
Es el método más directo para generar una variable aleatoria. Sea una función de distribución cuya función de distribución inversa es:
se verifica que
tiene la función de distribución F.La prueba se sigue de la observación de que
Esto sugiere inmediatamente el siguiente esquema de generación:
Algoritmo del método de la transformada inversa
Propósito: Generar Z aleatoriamente de
Entrada: Capacidad para evaluar
Salida: Z
Método: Generar aleatoriamente U de
Devolver Z.
Ejemplo. La distribución exponencial
Supongamos que tiene una distribución exponencial de media beta. La función densidad de probabilidad es:
La función de distribución (acumulativa) es:
MÉTODO DE ACEPTACIÓN RECHAZO
Este método es más probabilístico que el anterior. Los métodos de inversión, composición y convolución son métodos de generación directos, en el sentido en que tratan directamente con la función de distribución. El método de aceptación-rechazo es menos directo en su aproximación.
Se va aplicar este método en el caso de que la variable aleatoria sea continua, el caso discreto es análogo y está tratado en Prob. 8.9
En este caso tenemos la función de densidad f(x) de la variable y necesitamos una función t(x) que la acote, es decir t(x)³f(x) "x. Hay que notar que t(x) no es, en general, una función de densidad
pero la función r(x)=t(x)/c, si es claramente una función de densidad. (Suponemos que t es tal que c<¥). Debemos de poder generar (esperamos que de forma fácil y rápida) un valor de la variable aleatoria que sigue la función r(x). El algoritmo general queda como sigue:
Generar x que siga la distribución r(x)
Generar u~U(0,1), independiente de x
, entonces devolver x si no volver a repetir el algoritmo
El algoritmo continúa repitiéndose hasta que se genera un valor que es aceptado.
Para hacer que se rechacen el menor número de puntos posibles la función t(x) debe ser la mínima función que acote a f(x).
MÉTODO DE COMPOSICIÓN
Este método va a poder ser aplicado cuando la función de densidad es fácil de
siendo n el número de trozos en los que se ha dividido la función.
Cada uno de los fragmentos se puede expresara como producto de un función de distribución y un pesoCada uno de los fragmentos se puede expresara como producto de un función de distribución y un peso
y la función de distribución global la podemos obtener como
El método consiste en generar dos números aleatorios, uno sirve para seleccionar un trozo y el otro se utiliza para generar un valor de una variable que sigue la distribución de dicho trozo. El valor de la variable obtenida es el valor buscado.
El algoritmo general queda como sigue:
Generar u1,u2~U(0,1)
Si u1=w1 entonces generar x~f1(x)
Si no
Si u1=w1+w2 entonces generar x~f2(x)
MÉTODO DE CONVOLUCIÓN
Muchas variables aleatorias incluyendo la normal, binomial, poisson, gamma, erlang, etc, se pueden expresar de forma exacta o aproximada mediante la suma lineal de otras variables aleatorias.
El método de convolución se puede usar siempre y cuando la variable aleatoria x se pueda expresar como una combinación lineal de k variables aleatorias:
En este método se necesita generar k números aleatorios (u1,u2,...,uk) para generar (x1,x2,...xk) variables aleatorias usando alguno de los métodos anteriores y así poder obtener un valor de la variable que se desea obtener por convolución.
Ejemplos de aplicación de este método los veremos cuando veamos métodos particulares de cada una de las distribuciones más utilizadas.