Simulacion

35
Clase 30/08/2011 Simulación

description

Simulacion

Transcript of Simulacion

Clase 30/08/2011

Simulación

Generación de Número Aleatorios

✤ Definición intuitiva: Una sucesión de números aleatorios puros, se caracteriza por que no existe ninguna regla o plan que nos permita conocer sus valores.

✤ Los números obtenidos a través de algoritmos recursivos se llaman pseudoaleatorios.

✤ Al utilizar algoritmos se remueve el potencial de verdadera aleatoriedad. Si el método es conocido, los número pueden ser replicados.

Generación de Número Aleatorios

✤ Una sucesión de números aleatorios {u1, u2,..., un} “tiene las mismas propiedades estadísticas” que una sucesión de números U(0,1) independientes.

✤ Es decir:

✤ Propiedades “computacionales” de los algoritmos:

✦ Velocidad de generación vs. consumo de memoria

✦ Reproducibilidad

✦ Período largo

Generación de Número Aleatorios

✤ En general la Generación de Números Aleatorios consta de 3 etapas:

[Semilla - Algoritmo - Validación]

✦ Obtener semilla (valores iniciales)

✦ Aplicación de Algoritmos recursivos !

✦ Validación del conjunto de datos ! !

✤ Existen varios métodos de generación, 2 de ellos:

✦ Método de los cuadrados medios

✦ Métodos Congruenciales

Métodos Congruenciales

✤ Produce una secuencia de números enteros entre 0 y m-1 siguiendo la siguiente relación

✤ Los parámetros del algoritmo se llaman

✦ ! a! multiplicador✦ ! c! sesgo✦ ! m! módulo ✦ ! Xo! semilla (valor inicial)

✤La selección de a, c y m afecta considerablemente las propiedades y el largo del periodo de los números generados

xi+1 = (axi + c)modm ,i = 1,2,..

zmodm = y→ (z − y) divisible por m sin resto

Generador Congruencial

✤ Tener cuidado con semillas aleatorias, por ejemplo hora del día:

✦ No se puede reproducir la simulación

✦ No se puede garantizar que las secuencias no se solapen

✤ Generadores congruenciales más generales tienen la forma:

Xn+1 = g(Xn ,Xn−1,...,Xn− k ,...)modmcong = aXn

g = aXn + bg = aXn + bXn−1

Generador Congruencial

✤ Generadores combinados: desarrollados por L’Ecuyer

✤ Sea: Wi,1 ,Wi,2 ,..., Wi,k variables aleatorias discretas, con Wi,1 entera y uniforme en 0 y m1-1

✤ Entonces: es uniforme sobre los enteros 0 y m1-2

✤ Sean Xi,1, Xi,2, ..., Xi,k la i-esima salida de k generadores diferentes, donde el j-esimo tiene modulo primo mj y el factor a fue escogido tal que P=mj-1

Wi = Wi, jj=1

k

∑⎛

⎝⎜⎞

⎠⎟mod(m1 −1)

Generador Congruencial

✤ L’Ecuyer sugiere generadores combinados de la forma:

Xi = (−1) j−1Xi, jj=1

k

∑⎛

⎝⎜⎞

⎠⎟mod(m1 −1)

Ui =

Xi

m1

,Xi > 0

m1 −1m1

,Xi = 0

⎨⎪⎪

⎩⎪⎪

Pmax =(m1 −1)(m2 −1)...(mk −1)

2k−1

Generador Congruencial

✤ Arena usa:

Z1,i = 14.035.580Z1,i−2 − 810.728Z1,i−3( )mod(232 − 208)Z2,i = 527.612Z2,i−2 −1.370.589Z2,i−3( )mod(232 − 22.853)Zi = (Z1,i − Z2,i )mod(2

32 − 209)

Ui =

Zi(232 − 208)

,Zi > 0

(232 − 209)(232 − 208)

,Zi = 0

⎨⎪⎪

⎩⎪⎪

Pmax = 3×1057

Generador Congruencial

✤ Ejemplo sencillo:

Xn = 5Xn−1 mod(7)Yn = 3Yn−1 mod(5)Wn = (Xn −Yn )mod(7 −1)

Pmax =(7 −1)(5 −1)

2= 12

X0 = 1Y0 = 3

Correlativo X Y W01234567891011121314151617181920

1 3 -5 4 14 2 26 1 52 3 53 4 51 2 55 1 44 3 16 4 22 2 03 1 21 3 45 4 14 2 26 1 52 3 53 4 51 2 55 1 44 3 1

Otros generadores

✤ Los generadores de pseudo aleatorios son eficientes, pero:

✦ Son predecibles

✦ Pueden llegar a repetirse

✤ No son adecuados en algunos casos:

✦ Juegos de azar o apuestas

✦ Encriptación de datos

✤ Los generadores de “verdaderos” aleatorios extraen aleatoriedad de procesos físicos y luego la introducen en el computador

Otros generadores

✤ Algunas fuentes de aleatoriedad

✦ Tirar un dado y registrarlo

✦ Usar una fuente radiactiva (Hotbits)

✦ Registrar el ruido atmosférico (random.org)

✤ Es decir, todos son fenómenos que no se pueden reproducir

Otros generadores

Otros generadores

✤ Resumiendo algunas características

Pseudo-aleatorios Aleatorios “verdaderos”

Eficientes Ineficientes

Determinísticos No determinísticos

Periódicos Aperiodicos

Usos:SimulaciónModelación

Usos:Juegos de azar, apuestasSeguridad

Test números aleatorios

✤ Se pueden realizar distintos tipos de pruebas, basadas en las propiedades estadísticas que deben tener las secuencias generadas.

✤ Tests de frecuencias: compara la distribución de la muestra con la distribución uniforme

✦ Test de Kolmogorov-Smirnov

✦ Test chi-cuadrado

✤ Test de autocorrelación: compara la correlación de la muestra con la correlación esperada

✤ Otros tests: Test de rachas a los lados de la mediana

Test números aleatorios

✤ Para testear la uniformidad, la hipótesis es la siguiente:

✤ Para testear la independencia, la hipótesis es la siguiente:

✤ En ambos casos se debe definir

H0 :Ri U[0,1]H1 :Ri U[0,1]

H0 :Ri independientesH1 :Ri independientes

α

α = p(rechazar H0 / H0 es verdad)

Test de frecuencias

✤ Test K-S; Kolmogorov-smirnov: Compara F(x) de la distribución uniforme, con la distribución acumulada empírica SN(x) del conjunto de N números aleatorios generados

✤ Dado que F(x)=x, se espera que SN(x) se aproxime lo suficiente a F(x) para n grande

✤ El test utiliza como estadística, la máxima desviación absoluta entre las funciones de distribución acumulada: !

0 ≤ x ≤ 1

D = max F(x) − SN (x)

Test K-S

✤ Paso 1: Ordenar los números aleatorios de menor a mayor

✤ Paso 2: Calcular

✤ Paso 3: Calcular

✤ Paso 4: comparar con el valor critico apropiado para el tamaño de la muestra

✤ Paso 5: si se rechaza la hipótesis nula

R(1) ≤ R(2) ≤ ... ≤ R(N )

D+ = max iN

− R(i )⎧⎨⎩

⎫⎬⎭

D− = max R(i ) −i −1N

⎧⎨⎩

⎫⎬⎭

D = max D+ ,D−{ }

Dα ,N

D > Dα ,N

Test K-S

Ri

0,350

0,254

0,244

0,929

0,814

Grados de libertad N D0.10 D0,05 D0.01

1 0,950 0,975 0,9952 0,776 0,842 0,9293 0,642 0,708 0,8284 0,564 0,624 0,7335 0,510 0,565 0,6696 0,470 0,521 0,6187 0,438 0,486 0,5778 0,411 0,457 0,5439 0,388 0,432 0,51410 0,368 0,410 0,49011 0,352 0,391 0,46812 0,338 0,375 0,45013 0,325 0,361 0,43314 0,314 0,349 0,41815 0,304 0,338 0,40416 0,295 0,328 0,39217 0,286 0,318 0,38118 0,278 0,309 0,37119 0,272 0,301 0,36320 0,264 0,294 0,356

Más de 35 1.22 / N 1.36 / N 1.63 / N

Test chi-cuadrado

✤ Este es un test de bondad de ajuste.

✤ Es poco potente, por lo que permite justificar el rechazo de una hipótesis, pero proporciona escaso apoyo en la aceptación, es conveniente para muestras mayores a 50

✤ Es un test de frecuencias, para testear la uniformidad, la hipótesis es la siguiente:

H0 :Ri U[0,1]H1 :Ri U[0,1]

Test chi-cuadrado

✤ Paso 1: Se hace una partición en k subconjuntos

✤ Paso 2: Se calcula la estadística

✦ Oi: Número observado de aleatorios en el intervalo i

✦ Ei: Número esperado de aleatorios en el intervalo k

✤ Paso 3: se compara el valor de la estadística con el valor crítico

✦ Si se rechaza la hipótesis nula

χ02 =

Oi − Ei( )2Ei

χα ,k−12

i=1

k

χ02 ≥ χα ,k−1

2

Test chi-cuadrado

0,030 0,650 0,220 0,220 0,390 0,240 0,880 0,950 0,390 0,050

0,710 0,090 0,680 0,680 0,800 0,640 0,490 0,070 0,270 0,100

0,130 0,870 0,040 0,040 0,080 0,960 0,180 0,720 0,110 0,220

0,250 0,840 0,510 0,510 0,980 0,750 0,250 0,610 0,250 0,610

0,110 0,610 0,370 0,370 0,730 0,170 0,600 0,500 0,100 0,400

Test chi-cuadrado

0,030 0,076 0,111 0,220 0,254 0,394 0,506 0,637 0,724 0,865

0,039 0,087 0,133 0,220 0,271 0,398 0,597 0,651 0,734 0,880

0,039 0,098 0,173 0,239 0,372 0,492 0,609 0,683 0,749 0,947

0,047 0,101 0,176 0,247 0,372 0,504 0,610 0,683 0,801 0,959

0,072 0,106 0,216 0,250 0,390 0,506 0,611 0,711 0,841 0,979

Test chi-cuadrado

i Oi Ei (Oi-Ei)^2

0,2 14 10 16 1,6

0,4 13 10 9 2,5

0,6 5 10 25 5

0,8 11 10 1 5,1

1 7 10 9 6

(Oi − Ei )2 / Ei∑

χ02 ≥ χα ,n−1

2

χ0,05,42 = 9,49

Test de autocorrelación

✤ Se realiza el siguiente test:

0,047 0,706 0,350 0,756 0,046 0,3110,945 0,464 0,310 0,241 0,159 0,3370,858 0,835 0,390 0,628 0,393 0,375

H0 :Ri independientesH1 :Ri independientes

H0 :ρim = 0H1 :ρim ≠ 0

Test de autocorrelación

✤ Los números de interés serán: Ri, Ri+m, Ri+2m,..., Ri+(M+1)m

✤ Se puede demostrar que el estimador distribuye normal si Ri, ..., Ri+(M+1)m no estan correlacionados

✤ El estimador de la correlación se puede calcular como:

✤ Entonces

✤ Se rechaza la hipótesis nula si

ρ̂im =1

M +1Ri+ kmRi+(k+1)m

k=0

M

∑⎡⎣⎢

⎤⎦⎥− 0.25 σ ρ̂im

=13M + 712(M +1)

Z0 =ρ̂imσ ρ̂im

Z0 ≥ Z1−α /2

ρ̂im

0,047 0,706 0,350 0,756 0,046 0,3110,945 0,464 0,310 0,241 0,159 0,3370,858 0,835 0,390 0,628 0,393 0,375

Test de Rachas

✤ Se contabiliza el número de observaciones sobre y bajo la media

✤ Sea n1 el número de observaciones bajo la media y n2 el número de observaciones sobre la media

✤ Sea R la variable aleatoria del número de rachas. Si n1 o n2 >20, R distribuye normal con:

✤ Entonces:

✤ Si se rechaza la hipótesis nula de aleatoriedad

µR =2n1n2n1 + n2

+1 σ R2 =

2n1n2 (2n1n2 − n1 − n2 )(n1 + n2 )

2 (n1 + n2 +1)+1

ZR =

R − µR

σ R

N(0,1)

ZR > Z1−α /2

Uso de aleatorios

✤ Para calcular ", para calcular integrales

✤ Dado que:

✤ Si U(0,1) independientes, entonces g(U1),...,g(Uk) iid con media

✤ Entonces:

✤ La utilidad principal es para aproximar integrales multiples

θ = g(x)dx0

1

θ

g(Ui )k

→ E[g(U )] = θ,→∞i=1

k

θ = ... g(x1,...., xn )dx1...dxn0

1

∫0

1

∫0

1

Uso aleatorios generación de variables aleatorias

✤ Técnica transformada inversa

✤ Sea U una variable aleatoria U(0,1). Para cualquier función de distribución F, invertible, la variable aleatoria X, definida como: X=F-1(U), tiene distribución F

✤ F-1 se define como el valor de x tal que F(x)=u

Generación variables aleatorias

✤ Función exponencial

F(x) =λe−λtdt = 1− e−λx

0

x

∫ x ≥ 0

0 e.o.c

⎨⎪

⎩⎪

Generación variables aleatorias

✤ Normal

Generación variables aleatorias

✤ Uniforme

F(x) =

0 x < ax − a(b − a)

a ≤ x ≤ b

1 x > b

⎨⎪⎪

⎩⎪⎪

Generación variables aleatorias

✤ Ejemplo:

✦ Tiempo entre llegada exponencial con media 3 minutos✦ Tiempo de servicio uniforme con media 1.5 y 3.5 minutos

Aleatorio T entre llegada Aleatorio T de servicio

0,03 0,09 0,68 2,860,5 2,08 0,52 2,540,19 0,63 0,19 1,880,01 0,03 0,94 3,380,83 5,32 0,97 3,440,78 4,54 0,56 2,620,59 2,67 0,17 1,84