Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Simulación.
Versión 2
D.R. Instituto Politécnico Nacional (IPN), Av. Luis Enrique Erro S/N,
Unidad Profesional Adolfo López Mateos, Zacatenco, Delegación
Gustavo A. Madero, C.P. 07738, Ciudad de México; México 2016.
1
Prólogo.
2
Índice.
Capítulo I.
1.1 Introducción a la simulación................................................................…..5
1.2 Generación de números aleatorios.......................................................…..8
1.3 Pruebas de aleatoriedad......................................................................…..11
1.4 Evaluación de integrales.....................................................................….13
1.5 Caminata aleatoria y movimiento Browniano....................................….16
1.6 Aplicaciones a las finanzas y a la ingeniería…………………………...18
1.6.1 Modelo binomial para el precio de una acción……………………….18
1.6.2 Simulación de una línea de espera…………………………………....20
Capítulo II
2.1 Generación de variables aleatorias discretas......................................….23
2.1.1 Generación de números aleatorios que siguen una distribución
binomial....................................................................................................….24
2.1.2 Generación de números aleatorios que siguen una distribución
de Poisson.................................................................................................….25
2.2 Método de aceptación y rechazo.........................................................….25
2.3 Método de composición......................................................................….27
2.4 Generación de números aleatorios para variables aleatorias continuas...28
2.4.1 Método de la transformada inversa..................................................….28
3
2.4.2 Método polar para generar números que sigan una distribución
normal..................................................................................................29
2.5 Generación de un proceso de Poisson....................................................31
Capítulo III.
3.1 Líneas de espera de un solo servidor, M/M/1.........................................35
3.2 Líneas de espera con dos servidores.......................................................40
3.3 Inventarios..............................................................................................42
3.4 Reparación y substitución de máquinas.................................................48
3.5 Ejercicio de opciones financieras...........................................................54
3.6 Verificación…………………………………………………………….56
Capítulo IV.
4.1 Interpretación estadística de resultados..................................................58
4.2 Métodos de reducción de varianza.........................................................63
4.2.1 Variables antitéticas.............................................................................63
4.2.2 Método de variables de control...........................................................65
4.2.3 Por condicionamiento..........................................................................68
Capítulo V
5.1 Introducción............................................................................................70
5.2 Validación estadística..............................................................................70
5.2.1 Pruebas de bondad de ajuste................................................................70
5.2.2 El problema de las dos muestras..........................................................74
5.2.3 Validación de la hipótesis de que un proceso de Posisson
es no homogéneo…………………………………………………….….... 78
5.2.4 Aplicaciones a las finanzas y a la ingeniería…………………………79
Apéndice.......................................................................................................80
4
Capítulo I
Cálculo de π .
π≈n (1.1)
4 N
5
Generar dos números independientes x y y , uniformemente
distribuidos en [0,1] .
Figura 1.
6
from random import random
i=0
cuenta=0
N=1000000
while i<N:
x=random()
y=random()
if x**2+y**2<1:
cuenta=cuenta+1
i=i+1
if i%1000==0:
print(i,4*cuenta/i)
print(4*cuenta/N)
7
π⋅(1− π )
4 4
P(|X N − π | >ε)< (1.2)
4 N⋅ε2
De donde:
lim P(|X N − π | >ε)=0
N →∞ 4
Es decir, la probabilidad de que la proporción de dardos que caigan dentro del
círculo se alejen de π/ 4 en más que ε tiende a cero cuando N tiende a
infinito; y esto es cierto, cualquiera que sea el valor positivo de ε . Es importante
observar que éste concepto, llamado convergencia en probabilidad, es muy
diferente al concepto de convergencia estudiado en los cursos de Cálculo.
Ejercicios.
1. Con respecto al ejemplo de la aproximación de π de ésta sección,
¿Cuántos dardos hay que lanzar para asegurar que P(|X n − π | > 0.01)<0.1 ?
4
2. Empleando un método similar al empleado en esta sección para aproximar
π , estime mediante simulación el valor de √ 2 .
3. Estime mediante simulación el volumen de una esfera de radio 1.
4. Dos jugadores A y B lanzan volados hasta que alguno de los dos se queda
sin dinero. Si A gana, B paga un peso a A; si B gana, A paga un peso a B. A tiene
inicialmente 3 pesos y B tiene 12 pesos. Estime mediante simulación la
probabilidad de que A gane al final del juego y el valor esperado del número de
volados que se realizarán en el juego.
8
un número de dos cifras, elevarlo al cuadrado y seleccionar el número de dos cifras
centrales del cuadrado, y repetir el procedimiento en forma sucesiva. Por ejemplo,
si empezamos por 96, el siguiente número será 21, el siguiente, 44, etc. Por
supuesto, el algoritmo puede utilizarse con números de más de dos cifras.
Otro método utilizado frecuentemente es el congruencial. Se define mediate la
fórmula:
xk +1 =(ax k +c) mod (m) para k=0, 1, 2, 3,.. .
en donde x 0 es algún valor inicial y a mod b es el residuo que resulta de
dividir a entre b .
Puesto que al dividir entre m solamente puede haber m residuos
diferentes, éste algoritmo a lo más puede producir m residuos diferentes. El
hecho de que produzca m residuos diferentes o que produzca menos, depende de
cómo estén relacionados los parámetros. El algoritmo produce ciclos de tamaño
completo m , si y solamente si, se cumplen las tres condiciones siguientes:
1. m y c son primos relativos.
2. Si p es un factor primo de m , entonces p divide a a−1 .
3. Si 4 divide a m , entonces 4 divide a a−1 .
Ejemplo. Si a=271, c=235 , m=47 y x 0 =32 , un ciclo de los números
generados es 32, 24, 18, 37, 16, 12, 9, 42, 8, 6, 28, 21, 4, 3, 14, 34, 2, 25, 7, 17, 1,
36, 27, que es de longitud 23, menor que m . Obsérvese que el único factor primo
de 47 es el mismo, y éste no divide a a−1 , que es 270. Es decir, no se cumple la
condición 2.
Ejemplo. S i a=48, c=23 , m=47 y x 0 =32 , un ciclo generado es 32, 8,
31, 7, 30, 6, 29, 5, 28, 4, 27, 3, 26, 2, 25, 1, 24, 0, 23, 46, 22, 45, 21, 44, 20, 43, 19,
42, 18, 41, 17, 40, 16, 39, 15, 38, 14, 37, 13, 36, 12, 35, 11, 34, 10, 33, 9, que es de
longitud igual a m , es decir, es de periodo completo. En este caso, se cumplen
las tres condiciones dadas anteriormente.
9
método congruencial y encuentra el periodo.
a=237
c=467
m=337
l=[]
x=37
i=0
while x not in l:
l.append(x)
i=i+1
print(x)
x=(a*x+c)%m
print(i,x)
Ejercicios.
1. Comience con un número de tres cifras, tal como 673, elévelo al cuadrado y
quédese con las dos cifras centrales; continue el procedimiento hasta obtener 4
números aleatorios.
2. Utilizando a=51, c=23 , m=57 y x 0 =32 , genere un ciclo y diga de qué
10
longitud es, ¿Es completo? A partir de este ciclo, construya una lista de números
aleatorios en [0,1] .
Figura 2 Figura 2a
11
otro lado, la frecuencia absoluta de datos que deberían estar en dicho intervalo
f t , bajo la hipótesis nula, es igual al número total de datos por la longitud del
i
(f e −f t )2
n
χ n−1 =∑
2 i i
(1.3)
i=1 ft i
i−1 i 1
D=Supremo {|F t ( x)−F e (x )|}=Máx {Máx {| x(i )− |, | −x (i) | ,|},| x(1)− }
x ∈[0,1] i=2,.. n n n n
(1.5)
En este caso la distribución teórica es una uniforme, pero la prueba puede
aplicarse a cualquier distribución; en general, la distribución de D bajo la hipótesis
nula no depende de la distribución teórica.
Para estudiar la posible dependencia entre datos sucesivos, se puede recurrir a
la covarianza de U i y U k c o n k≠i , donde las U i forman una muestra
aleatoria de variables uniformemente distribuidas en [0, 1] (hipótesis nula). Para
n grande, bajo la hipótesis nula, la variable:
n−k
1 1 1
Ck= ∑
n−k ì=1
(U i − )(U i+ k − )
2 2
(1.6)
12
1
sigue una distribución normal con media cero y desviación estándar .
12 √ n−k
Debe realizarse ésta prueba para diferentes valores de k , digamos 1, 2, 3,….
A éstas pruebas se les llama pruebas de correlación serial.
Ejercicios.
1. Aplicar las tres pruebas estadísticas de esta sección a una muestra de 1000
números generados con:
a) Congruencial con parámetros a=48, c=23 , m=47 y x0 =32 .
b) Congruencial con parámetros:
31
m=2 , a=1103515245, c=12345 y x 0 =743871 .
2. Para los generadores del ejercicio anterior construir los gráficos presentados
al principio de la sección.
3. Usar el generador definido en el inciso b) del problema 1 para generar diez
mil números entre cero y uno. Realizar las pruebas de hipótesis para la uniformidad
de la distribución y la independencia entre números sucesivos, al conjunto de datos
generados, a un nivel de significancia de 5 %.
+∞
E (g( X ))=∫ g(x )f X (x) dx
−∞
13
1
E( g( X ))=∫ g ( x) dx (1.7)
0
Este hecho sugiere que podemos emplear simulación para estimar la integral
1
14
1
En este caso, g ( x)= . El programa anterior, estima valores para la
1+ x ²
1 1
+ ...+
1+U 1 ² 1+U n ²
variable X =4 , donde las U i son independientes y
n
uniformemente distribuidas en [0,1] .
b
generar (u1 , v 1 ), (u2 , v 2), (u3 , v3 ),... , (u n , v n ) con los ui y los vi independientes
todos entre sí y uniformemente distribuidos en [0,1] .
Ejercicios.
1 1
1
1. Estimar el valor de las integrales ∫ 2
dx y ∫ √1−x 2 dx , usando
0 1+x 0
simulación.
3
1
2. Estimar el valor de la integrale ∫ 1+x dx , usando simulación.
2
15
∞
∫ e−x
2
∫∫ e−(x + y ) dx dy
2 2
16
que tanto d como p puedan depender de δ Si consideramos d=k 1 √ (δ) con
k 1 constante, entonces lim V (S n −S0 )=k 12 t lim (1−(2 p−1)) . Por otro lado,
δ→0 δ→ 0
2 1+k 2 √ (δ)
lim E( Sn −S0 )=k 1 k 2 t y lim V (S n −S0 )=k 1 t , ya que como ,p=
δ→0 δ→0 2
cuando δ tiende a cero, p tiende a 1/2 . Para n grande, S n− S0 seguirá
una distribución normal con media k 1 k 2 t y desviación estándar k 1 √ (t) . Luego
se considera a k 1 k 2 a la media en el intervalo unitario y se le denota por μ y a
k 1 se le considera como la desviación estándar en el intervalo unitario y se le
denota por σ En efecto, veamos que una caminata aleatoria con éstas
características, cuando δ tiende a cero, resulta un movimiento Browniano.
Divídase el intervalo [0,t ] e n n partes iguales, de tal manera que cada parte
será de longitud Δ=t /n y supongamos que en cada intervalo de tiempo, en lugar
de avanzar o retroceder una unidad, se avanza o retrocede en σ √ (Δ) con
1 μ 1 μ
probabilidades p= (1+ σ √ (Δ)) y 1− p= (1− σ √ (Δ)) , respectivamente.
2 2
Ahora la posición de la partícula al momento t , será:
Para n grande S (t)−S (0) seguirá una distribución normal. Además, por la
misma forma de construir el proceso, S (t 2)−S (t 1) y S (t 4 )−S(t 3 ) serán
independientes, si los intervalos [t 1 , t 2 ] y [t 3 ,t 4 ] son disjuntos.
La esperanza del cambio en la posición en t será:
t μ
E( S(t )−S(0))=σ √ Δ √ Δ=μ t (1.8)
Δσ
Cuando n tiende a infinito, Δ tiende a cero y p tiende a 1/2 ; la varianza
del cambio de posición tenderá a:
2 t 2
V (S (t )− S(0))=σ Δ 4 p(1− p)→σ t (1.9)
Δ
Luego, S (t)−S (0) sigue una distribución normal con media μt y varianza
17
2
σ t , cuando n tiende a infinito.
Si S (t)−S (0) es un movimiento Browniano tal como lo acabamos de construir,
entonces a e S(t )−S(0) se le llama movimiento Browniano geométrico. El
movimiento Browniano geométrico es un modelo que se emplea frecuentemente
para modelar la evolución del precio de una acción en el tiempo. Al aplicar el
modelo a una acción en particular es necesario verificar primero, si en efecto los
datos se ajustan bien al modelo. Esto puede realizarse efectuando pruebas acerca de
si los valores ln (S(t +1)/ S (t )) son independientes y si siguen una distribución
normal; la media y la desviación estándar de éstos valores son estimadores para
μ y σ .
Ejercicios.
1. Sea X una variable aleatoria que sigue una distribución normal con media
X
μ y desviación estándar σ . Y sea Y =e , decimos que Y sigue una
distribución log-normal. Encuentre la función de densidad de probabilidad de Y .
X
2. a) Calcule el valor esperado de Y =e , donde X sigue una distribución
normal con media μ y desviación estándar σ . b) Calcule la varianza de Y .
3. Considere μ=0.01 , σ=0.142 y t=2 . Simule 100,000 valores para
e S(2)−S(0) y calcule la media y la desviación estándar de la muestra. Para generar
números que sigan una distribución normal utilice una función que tenga su
lenguaje de programación.
18
2
p u S0
uS0
1− p
p
udS0
S0
udS0
p
1− p
dS0
1− p
2
d S0
19
1060 if random()<0.5:
1070 s=s*u
1080 else:
1090 s=s*d
1100 return s
1110 cuenta=0
1120 nr=1000000
1130 for i in range(nr):
1140 if precio()<15:
1150 cuenta=cuenta+1
1160 print(cuenta/nr)
Ejercicios.
1. Tomando los mismos datos del ejemplo de ésta sección, estime el valor
esperado del precio de la acción después de diez periodos de tiempo.
20
7 22 22 23
8 25 25 26
9 30 30 31
10 35 35 36
11 40 40 41
12 42 42 43
13 46 46 47
14 50 50 51
15 55 55 56
16 58 58 59
17 63 63 64
18 64 64 65
19 69 69 70
20 71 71 72
21
for i in range(n):
print("%5i"%(i+1),'\t',"%5i"%tl,'\t',"%5i"%tis,'\t',"%5i"%ts)
tl=tl+randint(1,5)
tis=max(tl,ts)
ts=tis+d
A partir de éste modelo para simular a la línea de espera puede estimarse, por
ejemplo, el tiempo promedio de permanencia de los clientes en el banco.
Las hipótesis que se han hecho en este ejemplo son para ejemplificar y no son
plausibles en la práctica. Posteriormente se tratarán las líneas de espera con más
profundidad.
Ejercicio.
1. Modifique el programa de ésta sección para estimar el tiempo promedio de
permanencia de los clientes en el banco.
22
Capítulo II
xi 1 5 3
f ( x i) 0.2 0.3 0.5
23
suma=0
generar número aleatorio entre 0 y 1, u
i=0
mientras suma<u:
suma=suma+ pi
i=i+1
el número generado es x i
n y p , ()
f (i)= n p (1− p)
i
i n−i
con i=0, 1, 2,... ,n . Se observa que:
f (i+1) n−i p n
= ⋅ para i=0, 1, 2,... ,n−1 y que f (0)=(1− p)
f (i) i+1 1− p
(2.1)
Entonces, para el caso de la binomial, el algoritmo toma la forma:
24
el número generado es i .
Para simular valores para una variables que siga una distribución de Poisson,
hay que observar que:
k +1
e λ
−λ
f (k +1) (k +1) !
= = λ (2.2)
f (k ) k
k +1
e λ
−λ
(k )!
Supongamos que podemos generar valores para una variable aleatoria discreta
Y con función de densidad f Y y que queremos generar valores para otra
variable aleatoria discreta X con función de densidad f X y que existe un
número positivo c tal que f X ( z j )/ f Y ( z j )< c para cualquier j . Entonces puede
emplearse el siguiente algoritmo:
1. Simular un valor para Y, digamos que resulta z k .
2. Generar un número aleatorio u ente cero y uno.
3 . S i u< f X (z k )/(cf Y (z k )) entonces aceptamos a z k como un número
aleatorio para X ; en otro caso, regresamos a 1.
25
P( X =z k )=f X (z k ) . Primero, se observa que la probabilidad de aceptar el valor
f X (z k ) f X (z k )
z k al usar el método es P(aceptar∣Y = z k )P (Y = z k )= f Y (z k )=
cf Y (z k ) c
f X (z k ) 1
De donde, la probabilidad de aceptar en el método es
c c
∑
= . Ahora,
k
Ejemplo.
zj 2 7 9
f X ( z j) 0.2 0.5 0.3
f Y (z j ) 1/3 1/3 1/3
Ejercicios.
1. Una variable aleatoria X tiene una función de densidad dada por:
26
xi 1 5 3
f ( xi ) 0.3 0.2 0.5
27
∞
F X (x )=∑ ai F i (x ) (2.3)
i =1
o equivalentemente:
∞
f X ( x)=∑ ai f i (x ) (2.4)
i=1
Ejemplo. Supóngase que se quieren generar valore para una variable aleatoria X ,
cuya función de densidad está dada por f X (1)=1/8 , f X (2)=1/2 ,
f X (3)=3/ 8 y cero en cualquier otro valor. Ésta función de densidad se puede
descomponer como f X ( x)=(1/ 4) f 1 ( x)+(3/ 4) f 2 ( x) , d o n d e f 1 (1)=1/2 ,
f 1 (2)=1/ 2 y cero en cualquier otro valor y f 2 (2)=1/ 2 y f 2 (3)=1/ 2 cero en
cualquier otro valor. Para generar valores para X primero generamos un valor
para la variables aleatoria I que tiene la función de densidad f I (1)=1/ 4 ,
f I (2)=3/ 4 ; si el valor generado es k , entonces generamos un valor de
acuerdo a la función de densidad f k .
28
siguiente: Si una variable aleatoria X tiene una distribución de probabilidad dada
p o r F X , entonces la variable aleatoria Y definida por Y = F X ( X ) es
−1
uniformemente distribuida en [0, 1] ; por lo tanto, F X (Y ) tiene una función
de densidad F X . Usando esta propiedad, para generar números aleatorios que
sigan una distribución F X , podemos generar números y 1, y2, y 3, ..., yn con un
generador de números aleatorios uniformemente distribuidos en [0, 1] y
−1 −1 −1 −1
considerar F X ( y1 ) , F X ( y 2 ), F X ( y 3 ),... , F X ( y n ) .
Ejemplo. Para calcular números aleatorios que sigan una distribución exponencial
−α x
con parámetro α , s e t i e n e q u e F X (x )=1−e , de donde
−1
F X ( y)=−(1/ α)log ( y) . Luego, si u1 , u2, u3,. . . son números uniformemente
distribuidos en [0,1], −(1/ α)log (u1 ),−(1 /α)log (u2 ),−(1/ α) log (u3 ),... seguirán
una distribución exponencial con parámetro α
2.4.2 Método polar para generar números que sigan una distribución
normal.
Ahora se presenta un procedimiento para generar variables con una
distribución normal. Para esto, considérese una distribución normal bivariada en el
plano cartesiano con función de densidad:
x2+ y2
1 − 2
f XY (x , y)= e
2π
X y Y son independientes ya que ésta función de densidad es igual al
producto de sus densidades marginales.
Si ahora definimos las variables aleatorias:
Y
para X ≠0 y Θ= π para X =0 .
2 2
U =X +Y y Θ=arctan
X 2
El determinante de la matriz jacobiana de la transformación definida por estas
nuevas variables es
29
[ ]
∂x ∂x
∂u ∂θ 2 2
=2cos θ +2 sen θ=2
∂y ∂y
∂u ∂θ
u
1 −2
f U Θ (u ,θ)= e
4π
30
Otra forma de generar números aleatorios que sigan una distribución normal
estándar es utilizar el método de aceptación y rechazo. Si Z es una variable
aleatoria que sigue una distribución normal estándar, X=|Z| tiene una función de
2
x
2 −2 −x
densidad dada por f X ( x)= e y si consideramos f Y ( y)=e , se puede
√ 2π
utilizar el método de aceptación y rechazo para generar valores aleatorios para X ;
a partir de éstos, se generan valores para Z considerando ls valores de X con
1
signo positivo o negativo, con probabilidad . En este caso, puede tomarse
2
c=1.4 .
Ejercicios.
1. Pruebe que si X es una variable aleatoria continua con una función de
distribución F X , entonces la variable aleatoria Y = F X ( X ) es uniformemente
distribuida en [0,1] .
2. Un envase de cartón en forma de paralelepípedo debe tener un largo, ancho y
alto de 10 cm, 7 cm y 15 cm, respectivamente. Pero al construirlos, el largo, el
ancho y la altura siguen distribuciones normales independientes con medias 10, 7 y
15, respectivamente y las tres tienen una desviación estándar de 0.1 . Estime la
probabilidad de que el volumen de los recipientes sea menor que 1010 cm ³ .
3. Suponga que una variable aleatoria X tiene una función de densidad dada por
f X (x)=3 x ² si x ∈[0,1] y f X (x)=0 enotro caso . Genere una muestra de 1000
números aleatorios para la variable aleatoria X .
4. Genere una muestra de 1000 números aleatorios que sigan una distribución
exponencial con parámetro 0.5.
31
N (t ) es el número de eventos que ocurren en el intervalo [0, t ] , N (t ) es un
proceso de Poisson con parámetro λ si:
1. N (0)=0 .
2. Si A y B son dos intervalos disjuntos, entonces los números de eventos
en A y B , son independientes.
3. P(N (t )=1)=λ t + σ(t )
4. P( N (t )> 1)=σ (t ) .
σ(t )
donde lim =0 .
t→ 0 t
Bajo estas hipótesis, el número de eventos que ocurren en [0, t ] sigue una
distribución de Poisson con parámetro λ t . En efecto, dividiendo el intervalo
[0, t ] en n pequeños intervalos de igual longitud t / n , la probabilidad de que
haya exactamente un evento en el intervalo es aproximadamente λ t / n y la de
λt
que no ocurra ningún intervalo es (1− ) , luego:
n
( )( )
k
λt λ t n−k
P(N (t )=k )= n ( 1− )
k n n
32
transcurre desde que ocurre un evento en t hasta que ocurre el próximo y N t es
el número de eventos que ocurren durante un tiempo t , entonces los eventos
[ X t > x ] y [ N t =N t +x ] son idénticos y por lo tanto, las probabilidades de ocurrencia
de los mismos son iguales, pero como el proceso es homogéneo,
P( N t +x −N t =0)=P(N x =0)=e−λ x . Luego, P( X t > x )=e−λ x y P( X t ⩽ x)=1−e−λ x , que
es la función de distribución de una exponencial con parámetro λ .
Por lo tanto, para generar los tiempos de ocurrencia de los eventos de un
proceso de Poisson se puede seguir el siguiente algoritmo:
1. t=0
2. Mientras t<T
2. Generar u , uniformemente distribuido en (0,1)
3. t=t −(1 / λ) log(u) .
Para un proceso de Poisson no homogéneo, en el que el parámetro λ es una
función de t , λ (t ) , el proceso puede generarse con el siguiente algoritmo;
1. t=0 .
2. Mientras t<T
3. Generar u1 y u2 , uniformemente distribuidos en (0,1) .
4. t=t−(1/ λ m )log(u1 )
4. Mientras u2 ⩾λ(t )/ λm
6. Aceptar t .
donde λ m> λ (t ) , para cualquier t . Este algoritmo se debe a Lewis y Shedler.
Ejercicios.
1. Generar una muestra de tamaño 100,000 con distribución N (2,1) y
33
realizar un histograma.
34
Capítulo III
35
llegada del próximo usuario se dará en algún tiempo, que puede ser generado con
una exponencial con parámetro λ , o sea, tl=−(1 /λ)log(u) , donde u es un
número aleatorio en [0,1] . El próximo tiempo de salida será el tiempo necesario
para dar servicio al usuario, que puede obtenerse generando un número aleatorio
para una distribución exponencial con parámetro μ , esto es, ts=−(1/μ)log(u) ,
donde nuevamente, u es un número aleatorio en [0,1] . Ésta será la parte inicial
del algoritmo:
1. t=0 , infi=10000000
2. tl=0
3. ts=infi
4. l=0
36
agregarle instrucciones de impresión de los valores de las variables, para poder
analizar la funcionalidad del algoritmo.
A continuación se presenta un programa que realiza el algoritmo anterior. El
tiempo de simulación está dado por el valor de la variable T . Los valores de
λ y μ están dados en las variables l_l y l_s, respectivamente. El programa
imprime en la pantalla dos columnas, la primera corresponde a las llegadas y la
segunda, a las salidas. De las líneas 100 a 170 se establecen las condiciones
iniciales; a partir de la línea 180 comienza la simulación. Primero se elije el menor
valor entre el tiempo de la próxima llegada y el tiempo de la próxima salida y
después, se procesa según si haya sido una llegada o una salida. Si es una llegada,
se incrementa en uno el número de personas en el sistema y se genera el el tiempo
de la próxima llegada; además, si después de incrementar el número de personas en
el sistema éste es uno, significa que antes de que llegara el cliente no había ninguno
en el sistema y por lo tanto, el próximo tiempo de salida está puesto como infinito,
pero como ahora ya hay un usuario, debe cambiarse el próximo tiempo de salida,
como el tiempo actual más un tiempo de atención al nuevo cliente. Si el próximo
evento es una salida de cliente, el número de usuarios en el sistema se disminuye en
uno; además, si después de haber disminuido en uno al número de clentes en el
sistema, éste es mayor que cero, significa que por lo menos había un cliente antes
de la llegada actual y por lo tanto, el próximo tiempo de salida va a ser el tiempo
actual más un tiempo de atención del cliente que pasa al servidor cuando ocurre la
llegada actual; por el contrario, si después de haber disminuido en uno al número
de clientes en el sistema, éste es cero, entonces hay que poner el próximo tiempo de
salida como infinito, ya que no hay clientes en el sistema.
100 T=10
110 l_l=1
120 l_s=2
130 t=0
140 infi=1000000000
150 ts=infi
160 tl=0
170 l=0
37
180 while t<T:
190 t=min(tl,ts)
200 if tl<=ts:
210 l=l+1
220 print("%10.2f"%tl,l)
230 tl=t-(1./l_l)*log(random())
240 if l==1:
260 ts=t-(1./l_s)*log(random())
270 else:
280 l=l-1
290 print(" ","%10.2f"%ts,l)
300 if l>0:
310 ts=t-(1./l_s)*log(random())
320 else:
330 ts=infi
38
Figura 3.
39
3.2 Líneas de espera con dos servidores.
40
1260 tsa=t+expovariate(l_sa)
1270 elif t==tsa:
1280 l=l-1
1290 print(" ","%10.3f"%t," por a",l)
1300 if l>1:
1310 tsa=t+expovariate(l_sa)
1320 else:
1330 tsa=infi
1340 else:
1350 l=l-1
1360 print(" ","%10.3f"%t," por b",l)
1370 if l>1:
1380 tsb=t+expovariate(l_sb)
1390 else:
1400 tsb=infi
Los cambios importantes están entre las líneas de 1130 hasta 1260. Durante la
llegada de un cliente, si después de aumentar en uno el número de personas en el
sistema, ésta variable tiene el valor uno, significa que antes de la llegada actual no
había clientes en el sistema, por lo tanto, el nuevo cliente podrá escoger el servidor
en el que será atendido (en el código se supuso que escoge con igual probablidad a
cualquiera de ellos). Si después de aumentar en uno el número de personas en el
sistema, ésta variable tiene el valor dos, significa que antes de llegar el cliente
actual, había una persona en el sistema y la estaban atendiendo en alguno de los dos
servidores; el nuevo cliente pasará al servidor que está vacío.
Ejercicios.
1. Mediante simulación, obtenga una gráfica de la media del número de
personas en el sistema en función del tiempo, considerando los siguientes valores:
a) μ=2.2 , λ=2.0 y t=100, 200, ... , 1000, 2000 ,3000 , ... ,10000 .
b) μ=2.0 λ=2.2 t=100, 200, ... , 1000, 2000 , 3000, ... ,10000 .
41
c) ¿Qué diferencia observa en los resultados obtenidos en a) y en b)?
2. Realice la misma actividad que en el problema anterior considerando al
tiempo promedio de permanencia en el sistema, en lugar del número de personas
promedio en el sistema.
3. Considere μ=2.2 , λ=2.0 . Estime por simulación, el valor esperado y
la varianza del número de personas atendidas en el intervalo de tiempo [0,240] .
4. a) Considere μ=2.2 , λ=2.0 . Estime el valor esperado del número de
personas atendidas en el intervalo de tiempo [0, 200] . b) Estime ésta misma
cantidad, pero considerando que se tienen dos servidores, ambos con μ=1.1 , y
λ=2.0 .
5. Considere dos líneas de espera, una con los parámetros μ=2.0 λ=2.2
y otra, con los parámetros μ=2.2 λ=2.4 . ¿Cuál de ellas atiende a un mayor
número de personas en el intervalo de tiempo? Fundamente su respuesta.
3.3 Inventarios.
42
así sucesivamente. El número de artículos presente en el inventario al tiempo t ,
durante el primer ciclo es C−dt , Entonces el costo durante todo el ciclo es:
C /d 2
∫ (C−dt )r dt = rC
2d
0
dF rC
cT = +ad + (3.2)
C 2
43
Si el número de artículos disponibles es mayor que cero:
Disminuirlo en uno.
Generar el próximo tiempo de llegada.
Si el número de artículos en el almacén es menor que el nivel mínimo
y el indicador es cero:
Generar el tiempo en el que será surtido el próximo pedido.
Poner indicador=1.
Si el mínimo es un tiempo de reposición:
Poner el número de artículos en el inventario al nivel máximo.
Poner el tiempo de la próxima reposición como infinito.
Poner indicador=0.
Figura 4
44
λ=2 clientes / hora
α=2 artículos /cliente
Tiempo entre pedido y entrega=24
F=10 pesos.
a=1.5 pesos por artículo.
r=0.01 pesos por artículo por hora.
45
r=0.01
costo_inv=0
costo_ord=F
costo_total=0
tr=infi
l=[]
t_l=[]
indicador=0
while t<T:
l.append(C)
t_l.append(t)
ta=t
t=min(tl,tr)
costo_inv=costo_inv+(t-ta)*r*C
if tl<tr:
p=pedido(lamb1)
if C>=p:
v=v+p
C=C-p
else:
v=v+C
nv=nv+p-C
C=0
print("%10.3f"%tl,',',C)
tl=genera(lamb,tl)
if C<s and indicador==0:
tr=t+lapso
indicador=1
print("Ordena ","%10.3f"%t,"%10.3f"%tr)
else:
costo_ord=costo_ord+(S-C)*a
C=S
indicador=0
46
tr=infi
print("Abastecmiento ","%10.3f"%t,' ',C)
print('Costo=', costo_inv+costo_ord)
print('Vendidos=',v)
print('No vendidos=',nv)
print('Ganancia=',v*precio-costo_inv-costo_ord)
plt.rcParams['font.size']=16
plt.xlabel('Tiempo')
plt.ylabel('Nivel del inventario')
plt.title('Número de articulos en el'+'\n'+'inventario contra tiempo')
plt.plot(t_l,l,color='black')
plt.tight_layout()
plt.savefig('NotIn1.png',dpi=600)
plt.show()
En la Fig. 5 se muestra un gráfico generado por el programa.
Figura 5.
47
Ejercicios.
1. En un problema de inventario tal y como está planteado en la sección, los datos
son:
T=720 minutos.
S=500 artículos.
s=50 artículos.
λ=2 clientes/ hora
α=2artículos /cliente
Tiempo entre pedido y entrega=24 (fijo)
F=10 pesos.
a=1.5 pesos por artículo.
r=0.01 pesos por artículo por hora.
a) Estimar el valor esperado del tiempo que tarda esperado del tiempo que
transcurre hasta que el inventario se encuentre vacío. b) La proporción del tiempo
durante el cual el inventario es menor de 50 artículos.
2. Resuelva el problema anterior suponiendo que los tiempos entre la realización
del pedido y la entrega siguen una distribución exponencial con parámetro 1/24 .
48
hay ninguna disponible para substituirla.
Un algoritmo posible para simular el comportamiento de las máquinas del
taller es el siguiente:
49
return (-1/beta)*log(random())
def impri(l):
for i in range(len(l)):
print("%8.3f"%l[i],end='')
print('\n')
infi=100000000
alfa=1/50
beta=1/5
n=5
s=4
infi=100000000
disp=s
td=[]
for i in range(n):
td.append(F(alfa))
tdp=min(td)
tsp=infi
l=0
while disp>0:
t=min(tdp,tsp)
if t==tdp:
disp=disp-1
l=l+1
k=-1
for i in range(n):
if tdp==td[i]:
k=i
td[k]=t+F(alfa)
if l==1:
tsp=t+G(beta)
tdp=min(td)
print("_____________________")
print("Descompostura ","%8.3f"%t," Posición ",k," Disponibles ",disp)
50
impri(td)
if t==tsp:
l=l-1
disp=disp+1
if l>0:
tsp=t+G(beta)
else:
tsp=infi
print("_____________________")
print(" Sale máquina reparada
","%8.3f"%t,”Disponibles “,disp,'\n')
print(t)
_____________________
Descompostura 3.244 Posición 0 Disponibles 3
44.816 75.575 32.373 13.039 20.921
_____________________
Descompostura 11.648 Posición 0 Disponibles 3
44.816 75.575 32.373 13.039 20.921
_____________________
Sale máquina reparada 11.648 Disponibles 4
_____________________
Descompostura 13.039 Posición 3 Disponibles 3
44.816 75.575 32.373 58.532 20.921
_____________________
Descompostura 14.517 Posición 3 Disponibles 3
44.816 75.575 32.373 58.532 20.921
51
_____________________
Sale máquina reparada 14.517 Disponibles 4
_____________________
Descompostura 20.921 Posición 4 Disponibles 3
44.816 75.575 32.373 58.532 29.184
_____________________
Descompostura 29.035 Posición 4 Disponibles 3
44.816 75.575 32.373 58.532 29.184
_____________________
Sale máquina reparada 29.035 Disponibles 4
_____________________
Descompostura 29.184 Posición 4 Disponibles 3
44.816 75.575 32.373 58.532 118.587
_____________________
Descompostura 32.373 Posición 2 Disponibles 2
44.816 75.575 169.539 58.532 118.587
_____________________
Descompostura 44.816 Posición 0 Disponibles 1
63.258 75.575 169.539 58.532 118.587
_____________________
Descompostura 45.587 Posición 0 Disponibles 1
63.258 75.575 169.539 58.532 118.587
_____________________
Sale máquina reparada 45.587 Disponibles 2
52
_____________________
Descompostura 47.434 Posición 0 Disponibles 2
63.258 75.575 169.539 58.532 118.587
_____________________
Sale máquina reparada 47.434 Disponibles 3
_____________________
Descompostura 53.738 Posición 0 Disponibles 3
63.258 75.575 169.539 58.532 118.587
_____________________
Sale máquina reparada 53.738 Disponibles 4
_____________________
Descompostura 58.532 Posición 3 Disponibles 3
63.258 75.575 169.539 89.937 118.587
_____________________
Descompostura 63.258 Posición 0 Disponibles 2
71.037 75.575 169.539 89.937 118.587
_____________________
Descompostura 71.037 Posición 0 Disponibles 1
176.221 75.575 169.539 89.937 118.587
_____________________
Descompostura 75.575 Posición 1 Disponibles 0
176.221 203.747 169.539 89.937 118.587
75.5747524286
53
La salida del programa permite hacer un seguimiento muy preciso de la
operación del mismo, para constatar que la operación del programa es la
esperada.
Las primeras versiones de los programas correspondientes a la aplicación
de algún modelo, siempre deberán imprimir en la pantalla los detalles de su
operación para facilitar la validación del mismo.
Ejercicios.
1. Considera un problema de reparación de máquinas como el planteado en la
sección en el que F y G son exponenciales con parámetros 1/40 y 1/4 ,
respectivamente, n=6 y s=3. a) Estimar el tiempo que transcurre hasta que el
taller tiene que suspender la actividad. b) Estimar el valor medio del número
de máquinas disponibles para substituir , en el intervalo de tiempo desde cero
hasta que el taller tiene que suspender la actividad. c) ¿Cómo cambian las
respuestas a los incisos anteriores si variamos a s como s=4, 5, 6?
2. Resuelva el problema anterior suponiendo que el tiempo de reparación de
cada máquina es 4 con probabilidad 1.
54
−c{
G= S (T )− K −c si S (T )> K
en otro caso
(3.3)
2
(μ− σ )Δ t +σ ϵ( √ Δt )
2
S (t +Δ t )=S(t )e (3.4)
2
(μ− σ )+σ ϵ(1)
2
S (i +1)=S(i)e para i=0, ,1 ,2 ,... ,T −1 (3.5)
2
(μ− σ )T +σ ϵ( √(T ))
2
S (T )=S(0)e (3.6)
Ejercicios.
1. Considere una opción europea a 180 días de una acción cuyo precio inicial
es 1, el precio de ejercicio es 1.01 , el pago por tener derecho a la opción es de
0.03. El precio de la acción sigue un movimiento Browniano geométrico con deriva
0.0029 y volatilidad 0.05, considerados ambos parámetros con respecto a un día. a)
¿Cuál es el valor esperado de la ganancia? b) ¿Cuál es la probabilidad de que la
55
ganancia sea negativa?
3.6 Verificación.
56
la pantalla la ocurrencia de eventos y cómo cambian los valores de las variables
cuando ocurren los eventos; esto nos permite estudiar si el comportamiento del
programa está de acuerdo al modelo. La realización de éste trabajo es
imprescindible, porque siempre es posible que el programa elaborado no se apegue
totalmente al modelo.
Para la validación del modelo es importante que, cuando sea posible, se
compare el comportamiento del modelo con el de la realidad que pretende modelar.
Por ejemplo, tomar mediciones de las entradas y las salidas del sistema para
compararlas con los resultados obtenidos por el modelo. Por otro lado, con
frecuencia las hipótesis hechas en el modelo admiten una verificación en la
realidad, como lo es el caso de que los clientes lleguen a una línea de espera de
acuerdo a un proceso de Poisson.
57
Capítulo IV
[ X −z α σ , X +zα σ ] (4.1)
√n √n
58
( )
2
2 ze σ
tiene que tomar n> . Al usar ésta fórmula hay que considerar que no se
e
conoce σ ; usualmente se estima σ con el estimador :
√
n
1
s= ∑
n−1 i =1
(x i − x̄)
2
(4.2)
59
Figura 6.
60
1130 print("[","%10.4f"%(m-delta),"%10.4f"%(m+delta),"]")
1140 print("[","%10.4f"%(4*(m-delta)),"%10.4f"%(4*(m+delta)),"]")
^
ECM =E (θ−θ)
2
(4.3)
^
ECM =V (θ)+( ^
E( θ)−θ)
2
(4.4)
este tipo. Sobre cada una de ellas, se calcula la diferencia del valor del parámetro
de la muestra original con cada uno de los valores obtenidos en cada muestra, se
elevan al cuadrado éstas diferencias y se promedian sobre las m diferentes
muestras.
Con éste procedimiento se generan muestras aleatorias de una población que
sigue una distribución dada por la muestra original; ésta estará tan cercana a la
61
distribución teórica de la muestra original tanto cuanto más grande sea n .
62
1230 print(suma/m)
Ejercicios.
1. Con respecto al ejemplo de ésta sección, verificar que el valor exacto del
−5
ECM es de 2.5×10 .
2. Elaborar un programa similar al de ésta sección para la mediana de una
muestra con una distribución exponencial dada por (1/ α) e(−x /α) para x>0 con
α=0.5 y que estime el ECM .
θ^ 1 + θ^ 2 1
V( )= ⋅(V ( θ^ 1 )+V ( θ^ 2 )+2 Cov ( θ^ 1 , θ^ 2 )) (4.5)
2 4
El máximo valor de la varianza de la media se da cuando
Cov( θ^1 , θ^2 )=√ V ( θ^1 )⋅V ( θ^2 ) . Si V ( θ^2 )=V ( θ^1 ) , éste máximo tiene un valor de
V ( θ^ 1 ) . Por lo tanto:
θ^1 + θ^2
V( )⩽V ( θ^1 ) (4.6)
2
Es decir, en ningún caso, la varianza de la media de los dos estimadores puede
ser mayor que la varianza de uno de ellos. Si la covarianza es negativa, la varianza
de la media será menor que la varianza de uno de ellos.
Si ^θ1 =f (U 1 ,U 2 ,... , U n ) , d o n d e U 1 ,U 2 , ... , U n son independientes y
63
uniformemente distribuidas en [0,1] y f es creciente o decreciente, entonces la
covarianza de ^θ1 y ^θ2 =f (1−U 1 ,1−U 2 ,... ,1−U n ) , será negativa. A la variable
^θ se le llama antitética de ^θ .
2 1
1 1 1
+ +...+
1+U 1 1+U 2 1+U n
estimador del valor de la integral es ^θ1 = y
n
1 1 1
+ +...+
^θ = 2−U 1 2−U 2 2−U n
. La covarianza entre estos dos estimadores es:
2
n
n n n
1 1 1 1
Cov (^θ 1 ,^θ 2 )= ∑ ∑Cov ( , )= ∑Cov ( , )
i=1 j=1
1+U i 1+U j i=1 1+U i 2−U i
Ahora:
1 1 1 1 1 1 log(2)(2−3 log(2))
Cov ( , )= E( )− E( ) E( )=
1+U i 2−U i 1+U i 2−U i 1+U i 2−U i 3
Substituyendo esta expresión en la anterior:
log(2)(2−3log(2))
Cov (^θ 1 ,^θ 2 )=n
3
Y la varianza de ^θ1 es:
1 1 1
+ +...+
1+U 1 1+U 2 1+U n 1 1 1 1
V (^θ 1 )=V (
2
)= V ( )= ( −log(2) )
n n 1+U i n 2
La disminución de varianza por unidad de varianza de ^θ1 es:
0.01836
(51.1588(0.01955 n−0.5(0.01955 n− )))
n
n
64
≈51.1588(0.01955−(0.01955)(0.5))=0.50
para n grande.
Es decir, se obtiene una reducción de varianza del 50 % .
Ejercicios.
1. Con relación a la fórmula 4.5, ¿Porqué el máximo valor de la varianza de la
√
media se da cuando Cov( θ^1 , θ^2 )= V ( θ^1 )⋅V ( θ^2 ) ?
1
1 1 1
2
+ 2
+...+
^ 1+U 1 1+U 2 1+U 2n
estimador θ1 = , donde U 1 ,U 2 ,... ,U n son variables
n
aleatorias independientes y uniformemente distribuidas en [0,1] . Calcular la
varianza de ^θ .1
65
otra variable aleatoria Y , c o n E(Y )=μY . La variable aleatoria
Z= X +c (Y −μY ) , tiene el mismo valor esperado que X , esto es, θ ; cualquiera
que sea el valor de c . La idea es encontrar un valor para c , para el cual, la
varianza de ésta variable sea lo menor posible. La varianza de Z está dada por:
V (Z)=Cov (Z , Z)=Cov ( X +c (Y −μY ), X +c (Y −μY ))
2
V (Z)=V ( x)+2 c Cov ( x , y)+ c V (Y )
Luego V (Z) tiene un mínimo para c=−Cov ( X ,Y )/V (Y ) , y éste mínimo
tiene un valor:
Cov( X ,Y )2
V ( Z)=V ( X )−
V (Y )
V ( Z)=V ( X )⋅(1−r XY 2 )
66
1
V (Y )=
12n
Por lo tanto el valor de c es:
log(2) π
c=−12( − )=0.5535
2 8
Y la varianza de Z es:
π+2 π ² log(2) π
− 12( − )²
8 16 2 8
V (Z)= −
n n
La varianza de X es:
π+2 π ²
−
8 16
V ( X )=
n
La reducción de la varianza es de 98.8 % .
Ejercicios.
2
1. Pruebe que el máximo valor de V (Z )=V ( x)+2 c Cov( x , y )+c V (Y ) se da
cuando c=−Cov ( X ,Y )/V (Y ) .
1
dx
2. Calcule por simulación la integral ∫ 1+ x . Luego, reduzca la varianza
0
U 1 +U 2 +... U n
utilizando a Y = . Calcule el porcentaje de reducción de la
n
varianza.
67
4.2.3 Por condicionamiento.
I=
{
1 si U 1 ² +U 2 ²<1
0 en otro caso
La esperanza de I es π / 4 .
E (I | U 2 =u)=1⋅P (I=1 | U 2 =u)+0⋅P (I=0 | U 2=u)=P(U 1 ²+U 2 ²<1 | U 2 =u)
Ahora:
P(I =1|U 2 =u)=P (U 1 ²+U 2 ²<1 |U 2 =u)= P(−√ 1−u ²<U 1 < √ 1−u ²)= √1−u²
Por lo tanto:
E( I |U 2 )= √ 1−U 2 ²
Ahora bien,
2 π²
V (P(I |U 2 ))=V ( √ 1−U 2 ²)= − ≈0.05
3 16
Mientras que:
68
V (I )= π (1− π )≈0.169
4 4
La disminución porcentual de la varianza es de 99.7 % .
Ejercicios.
1
dx
1. Una manera de estimar el valor de la integral ∫ 1+ x
es lanzar dardos al
0
69
Capítulo V
5.1 Introducción.
70
intervalo es ei =m ( F (bi )− F (ai )) , donde ai y bi son los extremos derecho e
izquierdo del i-ésimo intervalo. Bajo la hipótesis nula, la variable:
n 2
( f i−ei )
D= ∑ (5.1)
i =1 ei
2
sigue una distribución de χ con n− p , donde p es el número de parámetros
estimados que definen a F .
Ejemplo. Verificar si se puede suponer que los datos 0.134 1.054 0.469 0.090
1.629 0.074 3.132 8.095 2.210 2.154 0.040 1.834 0.682 0.500 1.347 0.383 0.326
0.761 7.031 1.816 3.855 0.206 2.478 5.084 0.202 0.204 0.999 4.957 1.893 0.462
1.316 3.553 1.292 0.565 0.158 0.845 2.457 1.662 1.025 4.307 2.781 0.149 0.273
2.426 0.938 0.790 0.620 1.040 5.101 0.778 0.480 2.624 1.103 3.144 2.614 4.242
1.677 0.892 3.351 4.272 2.547 4.625 7.433 0.472 0.269 4.516 1.732 1.070 1.335
0.244 0.195 0.910 1.909 6.052 2.120 0.219 1.792 0.014 0.174 0.327 3.587 1.383
0.577 0.198 5.404 2.032 0.351 1.734 2.255 0.077 2.866 0.748 1.310 3.389 1.879
0.845 1.954 0.393 2.036 3.618 proviene de una distribución exponencial o no.
Intervalo fi ei
[ 0.014 , 0.903 ] 39.000 37.849
[ 0.903 , 1.792 ] 19.000 23.417
[ 1.792 , 2.681 ] 19.000 14.488
[ 2.681 , 3.570 ] 7.000 8.963
[ 3.570 , 4.459 ] 6.000 5.546
[ 4.459 , 5.348 ] 5.000 3.431
[ 5.348 , 6.237 ] 2.000 2.123
[ 6.237 , 7.126 ] 1.000 1.313
[ 7.126 , 8.015 ] 1.000 0.813
[ 8.015 , 8.904 ] 1.000 0.503
2
El valor de D es 4.0753. Para 9 grados de libertad, P(χ >36.19)=0.01 . Luego,
la región de rechazo de la hipótesis nula a un nivel de significancia del 1 % es el
conjunto { x∈R | x>36.19 } . Como el valor de D no pertenece a la región de
71
rechazo, no se puede rechazar la hipótesis nula a un nivel de significancia del 1%.
Para verificar la bondad de ajuste también se utiliza la prueba de Kolmogorov-
Smirnov. Considérese una muestra de datos x 1 , x 2, x3 , ... , x m , ordenados en
forma ascendente y que se quiere verificar si provienen o no de una distribución
F . Primero, se determina la función de densidad acumulada empírica, dada por:
{
0 x <x1
S (x )= k xk ⩽ x<x k +1 (5.2)
m
1 x≥ xm
i i−1
D= Max { Max {| −F (x i )|}, Max {| −F (x i )|}} (5.4)
i=1,... , n−1 n i=2,... , n n
72
Figura 7
Ejemplo. Verificar si se puede suponer que los datos 0.436, 1.047, 1.568, 4.932,
3.818, 0.120, 3.367, 0.183, 1.425, 3.159, provienen de una distribución
exponencial. El valor estimado para el parámetro es 0.4987. En este caso,
F (x )=1−e−0.4987 x .
i xi i/ n F (x i ) |i /n−F (x i)| |F ( x i )−(i−1)/ n|
73
Para una muestra de tamaño 10, P( D>0.410)=0.05 ; éste valor se obtiene de las
tabla para la distribución de D. Luego, a un nivel de significancia de 5 %, la región
de rechazo es { D | D>0.410 } . Como el valor D=0.1930 no está en la región de
rechazo, se concluye que no se puede rechazar H 0 al nivel de significancia
especificado.
Ejercicios.
1. Verifique la hipótesis de que la muestra 0.811, 1.491, 0.627, 0.365, 1.368, 1.386,
0.848, 0.502, 1.177, 0.447, proviene de una población que sigue una distribución
exponencial. Utilice una prueba de chi-cuadrada y una prueba de Kolmogorov-
Smirnov.
2. Verifique la hipótesis de que los datos 9.9602, 9.7313, 10.2611, 9.7755, 10.0374,
10.1625, 9.8777, 10.3733, 10.1853, 10.4190, 9.8410, 10.0697, 10.0947, 9.9652,
10.0482, 9.9197, 10.1855, 9.8417, 10.3788, 10.0078, 10.0309, 9.9197, 10.0023,
9.9924, 10.0789, 10.4128, 9.5809, 10.3255, 9.9295, 10.1004, 9.9244, 10.0576,
9.7026, 10.3345, 10.0497, 9.7416, 10.2721, 10.2124, 10.3154, 10.1698, 10.2594,
9.7189, 10.4893, 9.7221, 9.6767, 9.6867, 9.7955, 10.0013, 9.8699, 9.6303,
10.0264, 9.8520, 10.3640, 10.0887, 10.1144, 10.1127, 9.6343, 10.0133, 9.9088,
9.7563, 10.1438, 10.0122, 10.0837, 9.9286, 9.8706, 9.6269, 10.0140, 9.8148,
10.0410, 9.8920, 10.0491, 10.2817, 10.0433, 10.2659, 9.8463, 10.4007, 9.9834,
9.6468, 10.1388, 9.7332, 10.2421, 10.0909, 10.0916, 9.5068, 10.1067, 9.5760,
9.8612, 10.1703, 9.8964, 10.0454, 10.3437, 9.7423, 10.1985, 10.0944, 10.1657,
10.1020, 10.0290, 10.2598, 10.0417, 9.9599 siguen un movimiento Browniano
geométrico. ¿Cuáles son los valores estimados de la deriva y de la volatilidad?
74
de que tanto las x como las y son independientes, tal como la de Mann-Whitney.
Se agregan ambas muestras para formar una sola y se suman los rangos que
ocupan los datos de la muestra x obteniendo R x . Dado este valor, se calculan
U x =nm+n (n+1)/2−R x y U y =nm−U x . La prueba se basa en el estadístico
U=mín(U x ,U y ) . Para valores pequeños de n y m, digamos menores que 20, se
disponen de tablas para la distribución de U bajo la hipótesis nula. Para valores
mayores de n , U sigue aproximadamente una distribución normal con media
nm/ 2 y varianza nm(n+m+1)/ 12 .
Ejemplo. Pruebe la hipótesis de que las muestras 0.731, 0.461, 0.318, 0.127,
0.185, 0.283, 0.028, 1.086, 0.143, 0.056, 0.954, 0.457, 0.030, 1.199, 0.438 y
0.520, 1.102, 1.626, 0.760, 1.433, 1.527, 1.155, 0.281, 0.999, 0.383, 0.413,
3.120, 1.898, 1.386, 0.494, 3.325, 0.046, 1.350, 0.079, 1.237 provienen de una
misma distribución.
A continuación se presenta el listado ordenado de ambos conjuntos de datos. Los
números entre paréntesis son los rangos que ocupan los datos de la primer muestra
en la lista completa.
0.028(1) , 0.030(2) , 0.046, 0.056(4) , 0.079, 0.127(6) , 0.143(7) , 0.185(8) , 0.281,
0.283(10) , 0.318(11) , 0.383, 0.413, 0.438(14) , 0.457(15) , 0.461(16) , 0.494,
0.520, 0.731(19) , 0.760, 0.954(21) , 0.999, 1.086(23) , 1.102, 1.155, 1.199(26) ,
1.237, 1.350, 1.386, 1.433, 1.527, 1.626, 1.898, 3.120, 3.325
Sumando los valores entre paréntesis se obtiene R x =183 ; de donde U x =237 ,
U y =63 y U=63 . Suponiendo la aproximación normal para la distribución de
U , se obtiene z=−2.9 . Considerando que P(| Z |>1.96)=0.05 , el valor de
z=−2.9 está en la región de rechazo de la hipótesis nula a un nivel de
significancia de 5 % ; por lo tanto, se rechaza la hipótesis nula que las dos
muestras provienen de una misma distribución al nivel de significancia del 5 % .
Otra forma de realizar esta prueba es basarse directamente en el estadístico
R . Para muestras pequeñas, la distribución de probabilidad de R se puede
obtener con fórmulas recursivas. Sea p (n ,m ,r )= Pn ,m ( R⩽r) . Si el valor más
grande se encuentra en la primer muestra, la suma de rangos será igual a n+m
75
más la suma de rangos de los n−1 valores restantes y la suma de rangos de los
n valores será menor o igual que r si y solamente si la suma de rangos de los
n−1 restantes valores es menor o igual que r−(n+ m) . Si el valor más grande
está en la segunda muestra, entonces la suma de rangos para los n datos será
menor o igual que r si y solamente si, la suma de rangos para los m−1
restantes valores también es menor o igual que r . Como:
De donde:
n m
p (n ,m ,r )= p(n−1, r−(n+ m))+ p(n ,m−1, r) (5.5)
n+ m n+m
Además:
76
return 0
else:
return 0
else:
return (n/(n+m))*fu(n-1,m,r-n-m)+(m/(n+m))*fu(n,m-1,r)
for i in range(2,20):
for j in range(2,20):
r1=int(i*(i+1)/2)
r2=int(j*(j+2*i-1)/2)
for r in range(r1,r2+1):
x=fu(i,j,r)
print("%3.0f"%i,"%3.0f"%j,"%3.0f"%r,"%4.4f"%x)
77
4 4 17 0.4429 4 4 19 0.6571 4 4 21 0.8286
4 4 18 0.5571 4 4 20 0.7571 4 4 22 0.9000
Ejercicios.
1. Pruebe la hipótesis nula de que las dos muestras 0.306, 0.171, 1.023, 0.063,
1.086, 0.154, 1.492 y 0.087, 0.230, 0.352, 0.350, 0.325, 0.338, 0.628, 0.922
provienen de una misma distribución de probabilidad, a un nivel de significancia
del 5 %. Use la fórmula recursiva dada en la sección.
2
n(f t −f e )
Q=∑ i i
i=1 f t–i
78
5.2.4 Aplicaciones a problemas de finanzas e ingeniería.
Una de las aplicaciones imortantes en finanzas es la verificación de si un
conjunto de precios de acciones sigue o no un movimiento Browniano. Si el precio
de una acción al tiempo t es S (t ) , entonces los valores de ln (S(t +1)/ S (t ))
deben se independientes y seguir una distribución normal con media μ y
desviación estándar σ . Aplicando una prueba de bondad de ajuste a los valores
de ln (S(t +1)/ S (t )) podemos decidir si los precios de la acción siguen o no un
movimiento Browniano. Es conveniente también verificar la independencia de
éstos valores, por ejemplo, con una prueba de correlación serial.
En ingeniería, por ejemplo, en el caso de líneas de espera, por medio de las
pruebas señaladas en éste capítulo, podemos verificar si los usuarios llegan o no
siguiendo un proceso de Poisson homogéneo; ésta es una parte importante de la
validación del modelo.
79
Apéndice.
Esperanza, varianza y covarianza.
La esperanza de una variable aleatoria X que tiene a f X como función de
densidad (continua), está dada por:
+∞
E( X)= ∫ x f X (x)dx
−∞
Algunas de las propiedades empleadas con más frecuencia son las siguientes:
a) E( X +Y )=E (X )+ E(Y )
b) E(aX )=a E (X )
La esperanza condicional de una variable aleatoria X dado Y = y se define
como:
E( X |Y = y)=∑ x f X |Y ( x | y)
x
80
Cov( X ,Y )=E [( X − E( X ))(Y − E(Y ))]
La covarianza de X y Y también se puede escribir como:
Cov( X ,Y )=E ( XY )− E( X ) E(Y )
La covarianza tiene las siguientes propiedades:
a) Cov( X , X )=V ( X )
b) Cov( X ,Y )=Cov (Y , X )
c) Cov(aX +bY , Z)=aCov( X ,Z )+bCov(Y , Z)
Además:
V ( X +Y )=Cov( X +Y , X +Y )=Cov ( X , X )+2Cov ( X ,Y )+Cov(Y ,Y )
Por lo tanto:
V ( X +Y )=V ( X)+V (Y )+2Cov ( X , Y )
S i X y Y son independientes, entonces , E( XY )=E ( X ) E (Y ) ,
Cov( X ,Y )=0 y:
V ( X +Y )=V ( X )+V (Y )
Por otro lado,
V (aX )=a ² V (X )
Se define al coeficiente de correlación entre X y Y como:
Cov ( X ,Y )
r XY =
√ V ( X)V (Y )
Como −√ V ( X)V (Y )⩽Cov (X , Y )⩽√ V ( X)V (Y ) , el coeficiente de correlación
siempre está entre −1 y 1 . Si dos variables aleatorias son independientes,
entonces su coeficiente de correlación es cero; pero, el recíproco no es cierto.
La varianza condicional de X dada Y se puede definir como:
V ( X | Y )=E( X ² |Y )−E( X |Y )²
Una propiedad importante de la varianza condicional es el teorema de la varianza
81
total: E(V ( X |Y ))+V (E( X | Y ))=V ( X) . A continuación se verifica la fórmula:
E(V (X | Y ))+V (E( X | Y ))= E(E( X ² | Y )− E(E (X |Y )²))
+ E(E( X |Y )²)−( E(E( X |Y )))²= E( X ²)−E( X)²
Desigualdad de Tchevychev.
La desigualdad de Tchebyshev se basa en la desigualdad de de Markov:
E(X)
P( X ⩾a)⩽
a
Para cualquier variable aleatoria no-negativa X que tenga esperanza y cualquier
número positivo a. Se demuestra fácilmente considerando la variable aleatoria
Z=a si X⩾a y 0 enotro caso y c o n s i d e r a n d o q u e E( Z )⩽E ( X ) y
E( Z )=aP( X ⩾a) . Si en ésta desigualdad, consideramos a X como
( X− E ( X ))² y e n v e z d e a ponemos a ² , resulta la desigualdad de
Tchebyshev:
V (X)
P(|X− E( X )|⩾a)⩽
a²
siempre que X tenga varianza.
82
Bibliografìa.
Banks, J., Carson, J.S., Nelson, B.L., Nicol, D.M., Discret-Event System
Simulation, Pearson, Prentice Hall, Fourth Edition, 2004.
Hoel, P.G., Introduction to Mathematical Statistics, Wiley International Edition,
Third Edition, 1962.
Hunter, J.D., Matplotlib: A 2D graphics environment, Computing In Science \&
Engineering, Vol. 9-3, pp. 90-95, 2007.
Law, A.M., Simulation, Modeling & Analysis, McGraw Hill, Higher Education, 4th
Edition, 2007.
Leemis, L.M.,Park, S.K., Discrete-event Simulation: A First Course, Pearson
Prentice Hall, 2006.
Lewis, P.A.W, G. S. Shedler, G,S, Simulation of nonhomogenous Poisson processes
with degree-two exponential polynomial rate function. Operations Research, 27(5),
pp. 1026–1039, 1979.
Mood, A.M., Graybill, F.A., Boes, D.C., Introduction To The Theory of Statistics,
McGraw-Hill International Edition, Third Edition, 1974.
Ross, S.M., Simulation. Academic Press, Elsevier, Fifth Edition, 2013.
Ross, S.M., An Elementary Introduction to Mathematical Finance, Cambridge
University Press, Third Edition, 2011.
Van Rossum, G., Python tutorial, Technical Report CS-R9526, Centrum voor
Wiskunde en Informatica (CWI), Amsterdam, May 1995.
83