Numeros Aleatorios
Hay una variedad de métodos para generar variables aleatorias. Cada método se aplica solo a un subconjunto de distribuciones y para una distribución en particular un método puede ser más eficiente que otro. I. TRANSFORMACIÓN INVERSA Si la variable aleatoria X tiene una FDA F(x), entonces la variable u = F(x) esta distribuida uniformemente entre 0 y 1. Por lotanto, X se puede obtener generando números uniformes y calculando x = F-1 (u).
1.0 FDA F(x) u
0 Prueba: Sea u = g(x) tal que x = g-1 (u):
x
FU ( u) = P(U ≤ u) = P( X ≤ g −1 ( u)) = FX ( g −1 ( u)) Seleccionemos g( ) de forma que g(x) = FX (x), o u = FX (x), y que u sea una variable aleatoria entre 0 y 1 con distribución dada por FU ( u) = FX ( g −1 ( u)) = FX ( FX−1 ( u)) = u y
f ( u)= dF du = 1
o sea que u esta distribuida uniformemente entre 0 y 1.
Prof. Herbert Hoeger
Simulación
VI-1
Este método nos permite generar variables aleatorias siempre que se pueda determinar F-1 (x) analíticamente o empíricamente. Ejemplo (determinación analítica): Sea X exponencial con f(x) = λe-λx . La FDA es F(x) = 1 - e-λx = u o x = −
1
λ
ln(1 − u) . Si u es
uniformeentre 0 y 1, entonces 1-u también esta distribuida uniformemente entre 0 y 1. Por lo tanto podemos generar variables aleatorias exponenciales generando u y después calculando 1 x = − ln( u) .
λ
Ejemplo (determinación empírica):
El tamaño de los paquetes en una red fueron medidos y encontrados trimodales con las siguientes probabilidades: Tamaño (bytes) 64 128 512 La FDA viene dada por: 0.0 0 ≤ x < 64 0.7 64 ≤ x < 128 F ( x) = 0.8 128 ≤ x < 512 1.0 512 ≤ x y la inversa esta dada por:
Probabilidad 0.7 0.1 0.2
64 0 < u ≤ 0.7 F ( u) = 128 0.7 < u ≤ 0.8 512 0.8 < u ≤ 1
−1
Prof. Herbert Hoeger
Simulación
VI-2
1 0.9 0.8 0.7 0.6 f(x) 0.5 0.4 0.3 0.2 0.1 0 0 64 128 192 256 320 384 448 512 576 x
1 0.9 0.8 0.7 0.6 F(x) 0.5 0.4 0.3 0.2 0.1 0 0 64 128192 256 320 384 448 512 576 x
II. MÉTODO DEL RECHAZO
Esta técnica se puede usar si existe otra función de densidad g(x) tal que cg(x) supera la función de densidad f(x), es decir, cg(x) > f(x) para todos los valores de x. Si esta función existe, entonces se pueden aplicar los siguientes pasos: 1. Genere x con la densidad g(x). 2. Genere y uniforme en [0, cg(x)]. 3. Si y ≤ f (x), devuelva xy retorne. De lo contrario repita desde el paso 1. El algoritmo permanece rechazando las variables x y y hasta que la condición y ≤ f (x) sea satisfecha.
Ejemplo:
Consideremos la función de densidad beta(2,4): f ( x ) = 20x (1 − x ) 3
3.2
0≤ x≤1
2.4
f(x) 1.6
Beta (2,4)
0.8
Rechace
Acepte
0 0 0.25 0.5 x 0.75 1
Esta función se muestra en la figura y puede ser limitada porel rectángulo de altura 2,11. Por lo tanto podemos usar c = 2,11 y g(x) = 1 para 0 ≤ x ≤ 1. La variables beta (2,4) pueden ser generadas como sigue: Prof. Herbert Hoeger Simulación VI-3
1. Genere x uniforme en [0, 1]. 2. Genere y uniforme en [0, 2,11]. 3. Si y ≤ 20x(1-x)3 , devuelva x y retorne. De lo contrario vuelva al paso 1. Los pasos 1 y 2 generan un punto (x, y) distribuidouniformemente en el rectángulo en la figura. Si el punto cae sobre la densidad f (x), entonces el paso 3 rechaza x. La eficiencia del método depende de que tan bien g(x) limita a f (x). Si hay una brecha muy grande entre cg(x) y f (x), entonces un gran número de puntos generados en los pasos 1 y 2 serán rechazados. Similarmente, si la generación de variables aleatorias con g(x) es compleja, entonces el métodopuede ser ineficiente.
III. COMPOSICIÓN
Este método se puede usar si la FDA F(x) deseada se puede expresar como una suma ponderada de otras n FDA F1 (x), ..., Fn (x):
F ( x) =
∑ pi Fi ( x)
i =1
n
pi ≥ 0,
y
∑p
i =1
n
i
=1
El número de funciones n puede ser finito o infinito, y las n FDA son compuestas para formar la FDA deseada; de aquí el nombre de la...
Regístrate para leer el documento completo.