Generadores De Variables Aleatorias
Teorema: Sea {F(z), a ≤ z ≤ b} una función de distribución con función de distribución inversa
F-1(u):=inf {z∈[a,b]: F(z) ≥ u, 0 ≤ u ≤ 1}
Sea U una variable aleatoria de U (0,1). Entonces Z= F-1(U) tiene la función de distribución F.
Prueba: Pr (Z ≤ z) = Pr(F-1(U) ≤ z) = Pr (U ≤ F(z)) = F(z)
Algoritmo
1. Generar un U aleatorio de U (0,1)
2. Z ←F-1 (U)
3. Devolver Z requiere la posibilidad de evaluar F-1(U)
Ejemplo 1
Supongamos que han recogido los tiempos de reparación de 100 aparatos estropeados. Los datos se resumen en la tabla en función del número de observaciones de los distintos intervalos. Por ejemplo, hubo 31 observaciones entre 0 y 0.5 hora, 10 entre 0.5 y 1 hora, y así sucesivamente.
Intervalo (hr) | Frecuencia |Frecuencia relativa | Frecuencia acumulada |
0 ≤ x ≤ 0.5 | 31 | 0.31 | 0.31 |
0.5 ≤ x ≤ 1.0 | 10 | 0.10 | 0.41 |
1.0 ≤ x ≤ 1.5 | 25 | 0.25 | 0.66 |
1.5 ≤ x ≤ 2.0 | 34 | 0.34 | 1.00 |
La distribución verdadera, F(x), de tiempos de reparación (la curva en la siguiente transparencia) se puede estimar mediante la cdf empírica, F(x)(la parte lineal a trozos)
Funciones de distribuciónempírica y teórica para los
datos de los tiempos de reparación (X ≥ 0)
La técnica de la transformada inversa se aplica directamente para generar variables de tiempo de reparación “X”. Recordando la interpretación gráfica de la técnica, primero se genera un número aleatorio R1, por ejemplo R1 = 0.83, y se obtiene X1 del gráfico anterior.
De forma simbólica esto se escriba como X1 =F-1(R1), pero algebraicamente, puesto que R1 está entre 0.66 y 1.00, X1 se calcula mediante una interpolación lineal entre 1.5 y 2.0, es decir:
X1 = 1.5 + {(R1 – 0.66) / (1 – 0.66)} × (2.0 – 1.5)= 1.75
Cuando R1 = 0.83, se puede apreciar que (R1 – 0.66) / (1 – 0.66) = 0.5, por lo que X1 estará a la distancia mitad entre 1.5 y 2.0 ya que R1 está a la distancia mitad entre 0.66 y 1.00
El algoritmoes:
1) Generar R
2) Encontrar el intervalo i en el que cae R, es decir, encontrar i de forma que ri ≤ R ≤ ri+1
3) Calcular X mediante X = xi + ai (R – ri)
Ejemplo 2
Supongamos que deseamos simular una variable aleatoria X con función de masa pi y Fi, como aparecen en la siguiente tabla:
I | 1 | 2 | 3 | 4 |
pi | 0.15 | 0.05 | 0.35 | 0.45 |
Fi | 0.15 | 0.20 | 0.55 | 1.00|
El procedimiento inicial sería
Generar U ~ u (0,1)
si U < 0.15, salir X=1
si U < 0.20, salir X=2
si U < 0.55, salir X=3
salir X=4
Si ordenamos los pi decrecientemente tenemos el procedimiento más eficiente
Generar U ~ u (0,1)
si U < 0.45, salir X=4
si U < 0.80, salir X=3
si U < 0.95, salir X=2
salir X=1
Los númerosmedios de comparaciones de ambos algoritmos son, respectivamente 2.65 y 1.75
El método de inversión conduce esencialmente a la búsqueda de una lista, para lo que se pueden aprovechar algunos métodos ad hoc.
Método de Aceptación-Rechazo
Se utiliza cuando es imposible o extremadamente difícil expresar x en función de la transformada inversa F-1(U).
Sea f la función densidad deprobabilidad. Este método precisa una función que sea mayor que f, tal que g(x) ≥ f(x) para todo x.
g(x) no será una función densidad puesto que
c=-∞∞gxdx≥-∞∞fxdx=1
Para c ≤ ∞, entonces h(x)=g(x)/c es una función densidad.
Algoritmo:
1. Generar Y teniendo una densidad h.
2. Generar U de U(0,1), independiente de Y.
3. Si U ≤ f(Y)/g(Y), entonces hacer X←Y, sino volver al paso 1.
Elalgoritmo continúa haciendo este bucle sobre el paso 1 hasta que se genera un (Y,U) para el que U ≤ f(Y)/g(Y) (hasta que aceptamos el valor de Y para Z). La variable aleatoria Z generada por el algoritmo anterior tiene una función densidad f.
Ejemplo1
La distribución Beta(4,3) tiene una función densidad
f(x) = 60 x3 ( 1 – x)2 0 ≤ x ≤ 1
El valor máximo de f se alcanza para x=0,6 y f(0,6) =...
Regístrate para leer el documento completo.