Você está na página 1de 40

Marcos Rivas Pea

Simulacin de Sistemas

Simulacin Montecarlos
Generacin de nmeros pseudoaleatorios
Marcos Rivas Pea
Objetivo de la Sesin
Aprender a Simular mediante el mtodo
Monte Carlo
Comprender la importancia de los nmeros
aleatorios en la simulacin
Construir generadores de nmeros
aleatorios
Validar una serie de nmeros aleatorios
Marcos Rivas Pea
Sistemas
Tabla de Contenido
Simulacin Montecarlo
Generacin de nmeros aleatorios
Mtodo de cuadrado medios
Mtodo de Congruencia Lineal
Validacin de los nmeros aleatorios
Validacin de la uniformidad
Validacin de la aleatoriedad


Marcos Rivas Pea
Mtodo Montecarlo
El problema crucial de la aplicacin de los
mtodos de Monte Carlo es hallar los valores de
una variable aleatoria (discreta o continua) con
una distribucin de probabilidad dada por la
funcin p(x) a partir de los valores de una variable
aleatoria uniformemente distribuida en el intervalo
[0, 1), proporcionada por el computador o por una
rutina incorporada al programa.
Marcos Rivas Pea
Simulacin de una Ruleta
Realicemos ahora la experiencia de hacer
girar una ruleta y apuntar el nmero del
sector que coincide con la flecha
Marcos Rivas Pea
Elemento Central en la Simulacin digital.
Elemento esencial en muchas reas del conocimiento
Ingeniera, Economa, Fsica, Estadstica, etc.
Definicin intuitiva: Una sucesin de nmeros
aleatorios puros, se caracteriza por que no existe
ninguna regla o plan que nos permita conocer sus
valores.

Nmeros Aleatorios
Marcos Rivas Pea
Nmeros Aleatorios
X
i+1
=(aX
i
+c) mod m
Manual o mecnico.
Tabla de
Nmeros aleatorios
Computador


Marcos Rivas Pea
Juegan un rol preponderante en el proceso de
simulacin.
Para simular necesitamos de nmeros aleatorios
como semillas para generar muestras de V.A.

Los nmeros aleatorios obtenidos a travs de
algoritmos recursivos se llaman pseudoaleatorios.
Generacin de Nmeros Aleatorios
Marcos Rivas Pea
Propiedades a verificar

Distribucin uniforme
Estadsticamente independientes
Reproducibles
Ciclo tan largo como se desee
Generacin a gran velocidad
Ocupar poca memoria de ordenador
Generacin de Nmeros Aleatorios
Marcos Rivas Pea
Propiedades de Nmeros Aleatorios
1. Distribucin Uniforme.
Cualquier nmero que
pertenezca al rango de inters
debe tener la misma
probabilidad de ser elegido.
2. Estadsticamente
Independiente
La aparicin de un nmero
en la secuencia, no afecta la
probabilidad de que aparezca
otro (o el mismo) nmero.
Marcos Rivas Pea
Ejemplo
La serie

0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5.....

Es Uniforme ?

Es estadsticamente independiente?


Marcos Rivas Pea
Generador RANDU IBM
Marcos Rivas Pea
Generador RANDU IBM
Marcos Rivas Pea
Serie de Nmeros Aleatorios
Son nmeros que deben de cumplir los
requisitos de espacio equiprobable, es
decir, que todo elemento tenga la misma
probabilidad de ser elegido y que la
eleccin de uno no dependa de la eleccin
del otro.

Marcos Rivas Pea
1.- Mtodo de los cuadrados medios
2.- Mtodos de Congruencia Lineal


[Semilla - Algoritmo - Validacin]
P
1
: Obtener semilla (valores iniciales)
P
2
: Aplicacin de Algoritmos recursivos
P
3
: Validacin del conjunto de datos
generados Test de Aleatoriedad e
Uniformidad)

Mtodos de Generacin de Nmeros Aleatorios
Marcos Rivas Pea
Consiste en que cada nmero de una sucesin es
producido tomando los dgitos medios de un nmero
obtenido mediante la elevacin al cuadrado.
P
1
: Obtener semilla (valores iniciales 445)
P
2
: Aplicacin de Algoritmos recursivos (elevar
al cuadrado)
P
3
: Validacin del conjunto de datos
generados
Mtodo de los Cuadrados medios
Marcos Rivas Pea
Ejemplo: Consideremos la semilla 445

X X
2
N Aleatorio
445 1| 9802 | 5 0,9802
9802 96| 0792 | 04 0,0792
792 6 | 2726 | 4 0,2726
2726 ............... ...............

Mtodo de los Cuadrados medios
Marcos Rivas Pea
Anlisis
El problema con este mtodo es que tiende a degenerar rpidamente.
Dependiendo del valor inicial el mtodo puede degenerar rapidamente.
Por ejemplo, supngase que se quiere generar una serie de nmeros pseudo-
aleatorios de cuatro dgitos y se tiene como i-simo termino generado es
3500, luego se tendr:





Se puede observar que hemos llegado a una condicin degenerada. Por la
tanto, es necesario verificar siempre la serie de nmeros y protegerse contra
este fenmeno
n x x
2
Nro. Aleatorio
i 3500 12250000 2500
i+1 2500 6250000 2500
Marcos Rivas Pea
Este mtodo produce una secuencia de nmeros enteros, X1, X2, ...
entre cero y m de acuerdo a la siguiente relacin recursiva:
X
n+1
= (a X
n
+ c) mod m ; 0 s X
n
< m n
Los parmetros del algoritmo se llaman
- a Constante multiplicativa
- c es el incremento
- m mdulo
- X
o
semilla (valor inicial)
Si se quiere obtener nmeros Uniformes (0,1) se normaliza el
resultado
m
X
U
n
n
=
Generadores de Congruencia Lineal
Marcos Rivas Pea
Obs: 1.- Cuando c=0 el generador se denomina
Generador de congruencia Multiplicativa.
2.- Cuando c=0 el generador se denomina
Generador de congruencia mixto.
3.- A pesar de la simplicidad una adecuada
eleccin de los parmetros de a, c y m,
permite obtener de manera eficiente una larga
e impredecible sucesin de nmeros como para
considerarse aleatoria.
Generadores de Congruencia Lineal
Marcos Rivas Pea
Mtodo de Congruencial Lineal (MCL)
En el MCL, si se repite un nmero ya se repite
toda la secuencia.

Ventajas:

1. utiliza poca memoria y es muy rpido.
2. fcil de volver a generar la misma secuencia,
guardando un solo nmero, (se alcanza con partir
desde la misma semilla: X
0
).


Marcos Rivas Pea
Parmetros
a c m xo
6 0 13 1
7 0 13 10
5 0 13 5
7 0 11 5
6 0 11 3
Caso Salidas
1 6 10 8 9 2 12 7 3 5 4 11 1 6 10
2 5 9 11 12 6 3 8 4 2 1 7 10 5 9
3 12 8 1 5 12 8 1 5 12 8 1 5 12 8
4 2 3 10 4 6 9 8 1 7 5 2 3 10 4
5 7 9 10 5 8 4 2 1 6 3 7 9 10 4
5
Caso
1
2
3
4
Ejemplo MCL
Marcos Rivas Pea
Algunas observaciones de las salidas de los generadores
congruenciales:

1. Un generador congruencial tiene ciclos o periodos
2. La longitud del ciclo depende de la seleccin de los
parmetros (ver caso 1) y 3) )
3. Dentro de selecciones de parmetros que conducen a
la misma longitud, algunas salidas parecen ms
aleatorias que otras.

Mtodos de Congruencia Lineal
Marcos Rivas Pea

Mtodos de Congruencia Lineal

Periodo: subcadena de la serie en la
que no hay repeticiones de nmeros.

Longitud de periodo: nmero de
elementos de dicha subcadena.

Interesan mtodos con alta longitud de
periodo.

Marcos Rivas Pea
Mtodos de Congruencia Lineal

Para obtener la mxima densidad y evitar los ciclos (recurrencia de la
misma secuencia de nmeros ya generados) el generador debera tener
el periodo ms grande posible. El mximo periodo puede lograrse
eligiendo apropiadamente los valores de los parmetros del generador,
por ejemplo (Banks et al., 1996):
Para m = 2
b
y c = 0, el mximo periodo es P = m, y puede lograrse con
un valor de c que sea un nmero primo relativo a m (esto es, que el
mximo factor comn entre ambos sea 1), y a = 1+4k. k y b son
enteros.
Para m = 2
b
y c = 0, el mximo periodo es P = m/4, y puede lograrse
con un valor impar para la semilla X
0
, y a = 3+8k, o a = 5+8k. k y b
son enteros.
Para m nmero primo y c = 0, el mximo periodo es P = m-1, y puede
lograrse con un valor de a tal que el menor entero k que hace que
a
k
-1sea divisible por m es k = m-1.

Marcos Rivas Pea
Ejemplo
La Tabla muestra resultado de un generador congruencial multiplicativo para
a = 13, m = 2
6
= 64, X
0
= 1, 2, 3, 4.
Marcos Rivas Pea
El generador Mth$Random, empleado en los compiladores
de FORTRAN y BASIC de los antiguos ordenadores
VAX, utilizaba la siguiente recursin:



El generador LGC16807, utilizado durante aos en muchos
paquetes de software para estadstica, simulacin y
optimizacin, emplea:


Generadores Reales
Marcos Rivas Pea
Finalmente la fase de validacin se basa en ciertas
propiedades estadsticas que deben cumplirse a la
salida de los generadores de n aleatorios .
Los Test empricos que veremos a continuacin son
genricos y pueden usarse en la evaluacin de
generadores de n aleatorios, en generadores de
variables aleatorias y en la modelacin de entradas de
modelos de simulacin.
La mayora de los Test se encuentran disponibles en
paquetes estadsticos comerciales.
Validacin de Series de Nmeros Pseudoaleatorios
Marcos Rivas Pea
Validacin de Series de Nmeros pseudoaleatorios
La validacin consiste en probar si una serie de
nmeros generados corresponde a una
distribucin de probabilidad supuesta y probar
que los nmeros son independientes entre s.
Prueba de Bondad de Ajuste.
Probar si cumple una distribucin uniforme
Prueba de Aleatoriedad.
Probar si los elementos de la serie son independientes.
Marcos Rivas Pea
Validacin de la Uniformidad de los Nmeros Pseudoaleatorios
Test
Aplicable a v.a. continuas y v.a .discretas y compara las funciones de densidad de
probabilidad

Procedimiento
1o. Elaborar el histograma de frecuencias relativas, con la que podemos apreciar cul sera la
funcin terica de densidad que se ajusta mejor a los datos del histograma.
2o. Desarrollo de la prueba estadstica :
2.1. Planteamiento de hiptesis
Hp : La variable en estudio se ajusta a determinada distribucin terica (Uniforme,
exponencial, normal, poisson).
Ha : La variable en estudio tiene un comportamiento aleatorio que no se ajusta a
determinada distribucin terica.
3o. Establecimiento del nivel de significacin o .
4o. Clculos previos y estimacin de la frecuencia esperada o terica
5o. Criterios de decisin :
Se acepta la Hp, si X
2
calc < X
2
tab
Se rechaza la Hp si X
2
calc > X
2
tab
2
_
Marcos Rivas Pea
Dada una muestra X
1
, X
2
, ..., X
n
de una F
x
(x) desconocida. Se
desea contrastar.
H
o
: F
x
(x) = F
o
(x) v/s H
1
: F
x
(x) = F
o
(x)
Este Test considera aleatoriedad de F
o
= U(0,1)
Efectuando una particin del soporte de X en k subconjuntos I1, I2, ..., Ik :



fi : Nmero observados en el subconjunto i-simo (Ii)
ei: nmero de observaciones esperadas en Ii bajo Ho

Validacin de la Uniformidad de los Nmeros Pseudoaleatorios
Test
| = . =
j i i
I I X I
( )
) 1 (
2
1
2
2


=
k
k
i
i
i i
e
e f
_ _
2
_
Marcos Rivas Pea
Use el test chi-square con o = 0.05 para mostrar que la serie de
nmeros estn uniformemente distribudos


0.34 0.90 0.25 0.89 0.87 0.44 0.12 0.21 0.46 0.67
0.83 0.76 0.79 0.64 0.70 0.81 0.94 0.74 0.22 0.74
0.96 0.99 0.77 0.67 0.56 0.41 0.52 0.73 0.99 0.02
0.47 0.30 0.17 0.82 0.56 0.05 0.47 0.31 0.78 0.05
0.79 0.71 0.23 0.19 0.82 0.93 0.65 0.37 0.39 0.42
0.99 0.17 0.99 0.46 0.05 0.66 0.10 0.42 0.18 0.49
0.37 0.51 0.54 0.01 0.81 0.28 0.69 0.34 0.75 0.49
0.72 0.43 0.56 0.97 0.30 0.94 0.96 0.58 0.73 0.05
0.06 0.39 0.84 0.24 0.40 0.64 0.40 0.19 0.79 0.62
0.18 0.26 0.97 0.88 0.64 0.47 0.60 0.11 0.29 0.78

Validacin de la Uniformidad de los Nmeros Pseudoaleatorios
Ejemplo
Marcos Rivas Pea
Validacin de la Uniformidad de los Nmeros Pseudoaleatorios
Test de Kolmogorov - Smirnov (Test K-S)
Mediante la prueba se compara la distribucin acumulada de las frecuencias tericas
(Fo) con la distribucin acumulada de las frecuencias observadas (Fn), se encuentra el
punto de divergencia mxima y se determina qu probabilidad existe de que una
diferencia de esa magnitud se deba al azar.

Procedimiento:

1o. Calcular las frecuencias esperadas de la distribucin terica especfica por considerar
para determinado nmero de clases, en un arreglo de rangos de menor a mayor.
2o Arreglar estos valores tericos en frecuencias acumuladas.
3o Arreglar acumulativamente las frecuencias observadas.
4o Aplicar la ecuacin D = |Fo Fn| , donde D es la mxima discrepancia de ambas.
5o Comparar el valor estadstico D de Kolmogorov-Smirnov en la tabla de valores crticos
de D.
6o Decidir si se acepta o rechaza la hiptesis.

Marcos Rivas Pea
Sea F
o
una funcin de distribucin continua y sea F
n
la
funcin de distribucin emprica de la muestra.
Bajo H
o
: F
n
(x) = F
o
(x) se espera que F
n
se aproxime a F
o

D
n
= Sup | F
n
(x) - F
o
(x) |

La distribucin exacta de D
n
est tabulada para valores
n s 40 y distintos niveles de significacin o.
Para muestras grandes se utiliza la distribucin
asinttica de D
n
dada por


x e R
lim
n

=

= = s
1
2 1
2
) 1 ( 2 1 ) ( ) (
i
z i i
n
e z L z D n P
Validacin de la Uniformidad de los Nmeros Pseudoaleatorios
Test de Kolmogorov - Smirnov (Test K-S)
Marcos Rivas Pea
Validacin de la Aleatoriedad de los Nmeros Pseudoaleatorios
Test de Rachas
Rachas: Se define una racha como una sucesin de
smbolos idnticos que pueden estar o no estar
separados por otros smbolos.
Ejemplo:

+ + - - - + - - - - + + - +
Marcos Rivas Pea
Validacin de la Aleatoriedad de los Nmeros Pseudoaleatorios
Test de Rachas
Procedimiento:
1o. Sea n
1
el nmero de elementos de una clase , y n
2
el nmero de
elementos de la otra.
2o Sea N el nmero total de eventos observados n
1
+ n
2
3o Determinar el nmero de rachas (r)


Nota: Para muestras grandes, una buena aproximacin a la distribucin
muestral de (r) es la distribucin normal.


Marcos Rivas Pea
Test de Corridas
Dada la sucesin de n observaciones construimos la
sucesin de smbolos binarios definida por


Definimos racha creciente (decreciente) de longitud L a
un grupo seguido de L nmeros 1(+) nmeros 0(-).
Contando el nmero de rachas. Bajo aleatoriedad de la
muestra se espera que su distribucin asinttica sea
normal:

>
<
+
+
1
1
0
1
i i
i i
X X si
X X si
N
Validacin de la Aleatoriedad de los Nmeros Pseudoaleatorios
Test de Rachas
|
.
|

\
|

90
29 16
;
3
1 2 n n
Marcos Rivas Pea
Ejemplo: Considere la siguiente secuencia de 20 nmeros aleatrorios
Test de Rachas
0.43 0.28 0.33 0.27 0.12
0.31 0.42 0.01 0.32 0.45
0.98 0.79 0.99 0.55 0.67
0.74 0.16 0.20 0.12 0.58
Marcos Rivas Pea
Test de Rachas por encima y debajo de la media.
Se cuentan el nmero de observaciones que se sitan a
un mismo lado de la media. La distribucin asinttica del
nmero de rachas bajo aleatoridad es normal:
N[2n
1
n
2
/N+1/2, 2n
1
n
2
(2n
1
n
2
-N)/N
2
(N-1)]
Validacin de la Aleatoriedad de los Nmeros Pseudoaleatorios
Test de Rachas
Marcos Rivas Pea
Conclusiones
Los nmeros aleatorios son de gran
importancia en el proceso de simulacin
La serie de nmeros aleatorios generados
tiene un periodo, es el ciclo que no hay
ningn nmero que se repite
Es necesario validar la uniformidad y
aleatoriedad de la serie de nmeros
generados

Você também pode gostar