Está en la página 1de 22

Simulación de Sistemas

Generación de Variables Aleatorias

Marcos Rivas Peña


Objetivo de la Sesión

• Simulación de Montecarlo

• Desarrollar métodos para la simulación de


variables aleatorias normales.

• Desarrollar algoritmos para variables


discretas
Marcos Rivas Peña
Sistemas
Tabla de Contenido

• Ejercicios Simulación Montecarlo


• Método Genéricos
– Método de Inversión o de Transformada Inversa
• Simulación de Variables Discretas
• Métodos para Simular V.A. Normales
– Métodos basados en el Teorema Central de Limite.
– TCL12
– TCL9
– Método de Generación de Variables Normal

Marcos Rivas Peña


MÉTODOS PARA SIMULACIÓN DE VARIABLES
ALEATORIAS NORMALES

• Matemáticamente, la fdp es complicada, por lo que para proceder a la


generación aleatoria de valores de una VA normal se suele recurrir a
algunas propiedades de esta distribución.
– Si X~N(0, 1) entonces Y = σX+μ sigue una distribución N(μ,σ) Por tanto bastará con saber
generar valores de una normal de media cero y varianza uno.
– El teorema central del límite. Este teorema (en una de sus múltiples versiones) nos dice que si
tenemos una sucesión de VA continuas independientes e idénticamente distribuidas, con
esperanza y varianza finitas, entonces su suma es asintóticamente normal (convergencia en
distribución); es decir:

Marcos Rivas Peña


Métodos asintóticos (basados en el teorema
central del límite)
• La idea es utilizar el teorema central del límite para aproximar una normal por
una suma de uniformes. Para conseguir una N(0,1) tan solo tendremos que
ajustar la media y la varianza. Son métodos asintóticos pues aproximan la
distribución. Sin embargo son métodos bastante rápidos.

Marcos Rivas Peña


Ejemplo

• Generar 3 valores normales con =5 y =2,


usando los siguientes métodos.

– TCL12
– TCL9
0.637 0.174 0.701 0.131 0.559 0.377 0.184 0.233 0.030 0.990 0.268 0.674
0.423 0.729 0.412 0.424 0.868 0.031 0.717 0.415 0.675 0.911 0.622 0.369

Marcos Rivas Peña


Método de Generación de Valores de una Variable Normal
Método Directo

METODO DIRECTO

•Este método directo fue creado por Box y Muller (1958).

•Pasos
– Se generan dos números aleatorios r1 y r2, U(0, 1).
– Se transforman en dos variables aleatorias
normales, cada una con media 0 y varianza 1,
usando las transformaciones directas: La distribución normal es una de las
más utilizadas.
Los parámetros que recibimos para
poder usar esta distribución son:
– Se calculan las variables aleatorias normales x1 y  a media y  la desviación
x2 de la siguiente forma:

•Desarrollar en un archivo Excel la generación de valores


normales con =600 y =100
Ejemplo
• Generar valores normales con =600 y =100

0.9435524 0.6680372
0.5838656 0.7348904
0.1991791 0.365507
0.5041999 0.7334929
0.9716912 0.8804516
0.3586432 0.2106142
0.6950801 0.1940946
0.5231407 0.870074
0.0453957 0.8633959
0.4869704 0.5566544

Marcos Rivas Peña


Ejercicio 1. Simulación Montecarlo
Variables Normales

• Supongamos que desde un computador cliente se realiza consultas SQL a bases de datos situadas en
dos servidores distintos, contabilizando el tiempo de respuesta más rápida. Nuestro objetivo será
estimar el tiempo esperado (tiempo medio) que deberemos esperar para recibir la respuesta. Dada la
complejidad de la consulta que queremos realizar, y basándonos en experiencias anteriores, se
calcula que el tiempo necesario para que cada uno de los servidores responda a la misma sigue una
distribución normal con los parámetros (media y desviación estándar, en minutos) que se indican a
continuación:
• Servidor 1 N(20,3.4)
• Servidor 2 N(22,2.6)
• Generar 10 iteraciones y calcular el tiempo medio de respuesta,
0.1148728 0.7541616 0.064488 0.5419932
0.1529849 0.6737871 0.7717928 0.2354195
0.0346058 0.3671369 0.1597012 0.9992051
0.0359132 0.1035251 0.96526 0.6494225
0.5888705 0.7100601 0.4373534 0.4309931
0.3858489 0.3102836 0.3124333 0.7365673
0.4877943 0.8325496 0.3960558 0.9044706
0.5009691 0.5132538 0.7490899 0.5531957
0.3671133 0.3411133 0.4201374 0.6538916
0.6814182 0.3798697 0.6749641 0.9164535

Marcos Rivas Peña


Variables Discretas
En este caso la función de
distribución es discontinua y tiene
una forma escalonada. Su fórmula
es:

Lo que se va a hacer en este caso es


que dado un u se va obtener como
EL algoritmo queda como sigue
salida un xj tal que
Variables Discretas
Método de Transformada Inversa

• Sea X ~ una variable aleatoria discreta con probabilidad de masa

• Se U~ U(0,1) variables aleatorias con distribución uniforme


Método de Transformada Inversa
Variables Discretas
Método de Transformada Inversa
F(x) = P(X ≤x) : Función de distribución acumulada

•F es una función creciente, escalonada, que toma valores entre 0 y 1.


•Si se ordenan los valores de la variable en forma creciente:
x0 < x1 < ··· < xn < ...,
entonces
Variables Discretas
Método de Transformada Inversa
Gráficamente.
Variables Discretas
Método de Transformada Inversa
• Gráficamente

Marcos Rivas Peña


Algoritmo
• Si la v.a. toma un número finito de valores, el algoritmo es
el siguiente:
Algoritmo

• Ejemplo
• X : {1,2,3,4}. p1 = 0.20, p2 = 0.15, p3 = 0.25, p4 = 0.40
Variable Poisson ()

El eje horizontal es el índice i. La función


solamente está definida en valores enteros de i.
Las líneas que conectan los puntos son solo

guías para el ojo y no indican continuidad

Marcos Rivas Peña


Variable Poisson ()
• N=1000;
• x=[1:1:N]; • Hallar 5 valores de la


x1=0;
xi=5; v.a. Poisson (5)
• for i=1:N
• u=rand; N.A. X
• p=exp(-xi);
• while u > p 0.917


x1=x1+1; 0.656
u=u-p;
• p=xi*(p/x1); 0.139
• end
• x(i)=x1;
0.206
• x1=0; 0.491
• end
• hist(x)
Variable Poisson ()
• Hallar valores de la
v.a. Poisson (Landa)
r X
0.29164969 2
0.27765883 2
0.99063597 8
0.04788909 0
X P(x) F(x) I
0.21033493 2
0 0.04978707 0.04978707 0
0.87756592 5
1 0.14936121 0.19914827 0.04978707
0.96214073 6
2 0.22404181 0.42319008 0.19914827
0.27004097 2
3 0.22404181 0.64723189 0.42319008
0.11149472 1
4 0.16803136 0.81526324 0.64723189
0.07443826 1
5 0.10081881 0.91608206 0.81526324
0.11900083 1
6 0.05040941 0.96649146 0.91608206
0.90247496 5
7 0.02160403 0.9880955 0.96649146
8 0.00810151 0.99619701 0.9880955
9 0.0027005 0.99889751 0.99619701
mayor a 10 0.00110249 1 0.99889751
Variable Bernouilli / Binomial
•Distribución. Binomial

Marcos Rivas Peña


Ejemplo
Caso: Ventas

Estímese por simulación, el número promedio de ventas perdidas por semana para un
sistema de inventario que funciona como sigue.
1. Un pedido se hace siempre que el nivel de inventario disminuye a cinco unidades
o menos.
2. El tamaño de cada pedido es igual a 20-X, donde X es el nivel del inventario al
hacerse el pedido.
3. Si ocurre una demanda durante un periodo en el que el nivel de inventario es cero,
se pierde la venta.
4. La demanda diaria está binomialmente distribuida con p = 0.5 y n = 5.
5. La distribución del tiempo en días (llamado tiempo de espera) entre la expedición
de un pedido y su recepción, es también binomial con p = 0.5 y n = 5.
6. La simulación se inicia con 20 unidades en inventario.
Para simplificar, se pondrá que todas las demandas se producen a las 12 del día y que
todos los pedidos expedidos se hacen a esa misma hora. Además, se supone que los
pedidos se reciben a las 5 de la tarde; o sea después de la demanda de ese día.

Marcos Rivas Peña


Conclusiones
• Para la generación de valores de variables aleatorias se
usan números aleatorios U(0,1).
• Existen métodos especiales para generar valores de
variables aleatorias N(0,1)
• Si X~N(0, 1) entonces Y = σX+μ sigue una distribución
N(μ,σ).
• Existen algoritmos para generar variables aleatorias
discretas

Marcos Rivas Peña

También podría gustarte