Está en la página 1de 8

Unidad II.

Simulación de Variables Aleatorias

Simulación
Unidad II. Simulación de Variables Aleatorias

1. Números aleatorios.
Los sistemas reales frecuentemente tienen valores de tiempo y cantidades que varían
dentro de un rango y de acuerdo a una función específica de densidad, definida por una
distribución de probabilidad. Por ejemplo, si el tiempo que se tarda una máquina en
procesar una pieza se distribuye entre 2.2 minutos y 4.5 minutos, esto se definirá como
una distribución de probabilidad en el modelo de simulación. Durante la simulación, cada
vez que una pieza entre a esta máquina y sea procesada, el simulador generará un
número al azar entre 2.2 y 4.5 minutos para simular el tiempo de procesamiento de esa
pieza. Cada vez que generamos un valor a partir de una distribución, a ese valor se le
llama variable aleatoria. Para generar variables aleatorias, es necesario utilizar números
aleatorios.

Definición: Un número aleatorio es aquél que es generado a partir de la distribución


Uniforme U(0,1).

f(x)

1.0

1.0 X
0
Distribución Uniforme U(0,1)

2. Generación de números pseudoaleatorios.


Un número pseudoaleatorio es un número U(0,1) producido por un algoritmo matemático.

Existen varios métodos para generar números pseudoaleatorios. La gran mayoría de los
generadores de números pseudoaleatorios que se usan en la actualidad son generadores
congruenciales lineales, introducidos por Lehmer en 1951. Los generadores
congruenciales lineales generan una secuencia de números pseudoaleatorios en la cual el
próximo número pseudoaleatorio es determinado a partir del último número generado. A
continuación se presentan los dos más importantes: el método congruencial mixto lineal y
el método congruencial multiplicativo lineal.

1
Unidad II. Simulación de Variables Aleatorias

El Método Congruencial Mixto lineal

Fórmula:
 n 1  a n  c  mod m
donde:
X0 = La semilla (X0 > 0)
a = El multiplicador (a > 0)
c = Constante aditiva (c > 0)
m = Módulo (m > X0 ; m >a ; m > c)

Los valores posibles de Xn+1 son 0,1,2,3,..., m-1, es decir, m representa el número posible
de valores diferentes que pueden ser generados.

Ejemplo 1: Genere números pseudoaleatorios U(0,1) aplicando el método congruencial


mixto lineal con:

a = 5; c = 7; X0 = 4; m = 8
Solución:

n Xn Xn+1=(5Xn+7) mod 8 Número U(0-1)


(Xn+1/m)
0 4 3 3/8 = 0.375
1 3
2
3
4
5
6
7
8

Periodo del generador =


Periodo = longitud del ciclo = p<=m
Como p = m, el periodo es completo

Ejemplo 2: Genere números pseudoaleatorios U(0,1) aplicando el método congruencial


mixto con:

a = X0 = c = 7, m = 10
Solución:
n Xn Xn+1=(7Xn+7) mod 10 Número U(0-1)
(Xn+1/m)
0 7 6 6/10 = 0.60
1
2
3
4
Periodo del generador =

2
Unidad II. Simulación de Variables Aleatorias

El Método Congruencial multiplicativo

Al igual que el generador congruencial mixto lineal, el generador congruencial


multiplicativo determina el próximo número pseudoaleatorio a partir del último número
generado, de acuerdo a la siguiente fórmula:

Fórmula:

 n 1  a n  mod m

Ejemplo 3: Genere números pseudoaleatorios U(0,1) aplicando el método congruencial


multiplicativo con:

a = 5; X0 = 5; m = 32

Solución:

n Xn Xn+1=(5Xn) mod 32 Número U(0-1)


(Xn+1/m)
0 5 25 0.78125
1
2
3
4
5
6
7
8

Período del generador =

3. Métodos para generar variables aleatorias.


Existen varios métodos para generar variables aleatorias, mediante ellos es posible
generar variables aleatorias discretas y continuas.

El método de la transformada inversa

Suponga que se desea generar una variable aleatoria X que es continua y tiene una
función de distribución F que es continua y estrictamente creciente cuando 0<F(x)<1.

Sea F-1 la función inversa de la función F. Entonces el método de la transformada inversa


sigue estos dos pasos:

1. Genere números pseudoaleatorios U(0,1).


2. Encuentre X = F-1(U).

3
Unidad II. Simulación de Variables Aleatorias

Nota: En caso de que el problema tenga definida la función de densidad f(x), entonces es
necesario encontrar primero la función de distribución F(x), integrando la función de
densidad, y luego aplicar el método de la transformada inversa.

Recuerde que:

x
F ( x)   f (t )dt


La gráfica del método de la transformada inversa se muestra a continuación. Note como


en el eje Y se encuentra F(x) que varía de 0 a 1, y también el número uniforme U(0,1) que
también varía de 0 a 1. Por esta razón al aplicar el método de la transformada inversa es
posible igualar U(0,1) = F(x), y posteriormente despejar la variable aleatoria X.

F(x)

0
X = F-1(U) X
0

Ejemplo 4: Genere variables aleatorias X a partir de la siguiente función de densidad f(x)


usando el método de la transformada inversa:

f(x) = 2x 0  X 1
Solución:

4
Unidad II. Simulación de Variables Aleatorias

x 2 x
2t
F ( x)   2tdt   x 2  02  x 2 0  X 1
0
2 0

F(x) = x2

U = F(X)

U = x2

X U 0 U  1

F(x)

0.25
X
0 0.50 1

Ejemplo 5: Sea X una variable aleatoria exponencial con media  Aplique el método de la
transformada inversa para generar variables aleatorias exponenciales sabiendo que la
función de distribución exponencial F(x) es la siguiente:

1 – e-x/ X>=0
F(x) =
0 de otra forma

Solución:

5
Unidad II. Simulación de Variables Aleatorias

U = F(X)

U = 1 – e-x/

U-1 = -e-x/

1-U = e-x/

ln(1-U) = -x/

ln(1-U) = -x

x = -ln(1-U) 0 U 1

El método Box y Muller para la distribución normal estándar

Box and Muller desarrollaron un método especial de inversión para generar variables
aleatorias a partir de una distribución normal estándar (=0 y =1). Las fórmulas que
aplican Box and Muller son las siguientes:

X1 = [-2lnU1]1/2 seno 2U2

X2 = [-2lnU1]1/2 coseno 2U2

Note como este método necesita dos números uniformes U(0,1) para generar dos
variables aleatorias normales estándar independientes N(0,1).

Nota: Antes de calcular la función seno y la función coseno, coloque su calculadora en el


modo RADIANES para la unidad angular.

Ejemplo 6: Genere variables aleatorias normales estándar (=0 y =1) aplicando el


método de Box and Muller con U1=0.0682 y U2=0.8702.

Solución:

X1 = [-2lnU1]1/2 seno 2U2 =


X1 =
X1 =
X1 =

X2 = [-2lnU1]1/2 coseno 2U2


X2 =
X2 =
X2 =
X2 =

6
Unidad II. Simulación de Variables Aleatorias

El método de convolución

Para algunas distribuciones importantes, la variable aleatoria X puede ser expresada


como la suma de otras variables aleatorias que son IID (idéntica e independientemente
distribuidas) y pueden ser generadas más fácilmente que la generación directa de X.

El método de convolución asume que existen Y1, Y2,…, Ym variables aleatorias, tal que la
suma de todas ellas tiene la misma distribución que X, entonces se calcula:

X = Y1 + Y2 +… Ym

Los pasos para aplicar el método de convolución son los siguientes:


1. Genere Y1, Y2, …, Ym variables aleatorias IID cada una con función de distribución G.
2. Aplique X = Y1 + Y2 +… Ym.

Ejemplo 7: La variable aleatoria X m-Erlang con media  puede definirse como la suma
de m variables aleatorias exponenciales IID con una media común /m. Entonces para
generar X, debemos primero generar Y1, Y2,…, Ym variables exponenciales IID con media
/m, y posteriormente calcular X = Y1+Y2+…+Ym.

Por ejemplo, genere una variable aleatoria X 5-Erlang con media 12 usando el método
de convolución.

Solución:
Formula: Yi = -(/m) ln(1-u)
I Ui Yi = -(12/5) ln(1-u)
1 0.786571
2 0.942356
3 0.113521
4 0.657723
5 0.384123
SUMA

Simulación de MonteCarlo para variables especiales: tablas.

La simulación de Montecarlo es un método especialmente útil para analizar situaciones


que involucran riesgo con el propósito de obtener respuestas aproximadas cuando el
realizar un experimento físico o el aplicar métodos analíticos no es posible o resulta muy
difícil o costoso.

La simulación de Montecarlo hace referencia a experimentos que involucran el uso de


números pseudoaleatorios. El requisito clave de esta técnica es que los resultados de
todas las variables de interés deben ser seleccionados aleatoriamente.

La simulación de Montecarlo ha tenido una gran aceptación en la vida real debido al poder
analítico que presenta sin la necesidad de matemáticas complejas, ya que usa tablas
sencillas.

7
Unidad II. Simulación de Variables Aleatorias

Ejemplo 8: Se tiene un proyecto que se desea realizar cuyos costos estimados para que
el proyecto se ponga en marcha se presentan a continuación con sus respectivas
probabilidades.

Costo del proyecto Probabilidad


$10,000 0.10
$15,000 0.50
$20,000 0.25
$25,000 0.15

Estime el costo esperado del proyecto aplicando la simulación de Montecarlo. Realice


esta simulación de Montecarlo de forma manual.

Solución:

1. Calcule la probabilidad acumulada y encuentre el rango de números U(0,1) que caen


dentro de ese intervalo de probabilidad acumulada.

Costo del Probabilidad


proyecto Probabilidad acumulada U(0,1)
$10,000 0.20 0.20 0.00 < U <= 0.20
$15,000 0.40 0.60 0.20 < U <= 0.60
$20,000 0.25 0.85 0.60 < U <= 0.85
$25,000 0.15 1.00 0.85 < U <= 1.00

2. Emplea los siguientes números pseudoaleatorios y determine el costo que le


corresponda.
0.124, 0.756, 0.964, 0.441, 0.739, 0.258, 0.675, 0.324, 0.860, 0.558
Solución: Completar
tabla
Número Pseudoaleatorio: Costo:
0.124 $10,000
0.756 $20,000
0.964
0.441
0.739
0.258
0.675
0.324
0.860
0.558

3. Obtenga el promedio y la desviación estándar de los resultados (costos).

También podría gustarte