Numeros Pseudo-aleatorios y variables aleatorias
-
Upload
alberto-carranza-garcia -
Category
Documents
-
view
36.392 -
download
4
Transcript of Numeros Pseudo-aleatorios y variables aleatorias
UNIDAD II
NÚMEROS ALEATORIOS Y PSEUDO ALEATORIOS
1. ¿Qué son los números aleatorios y pseudo aleatorios y para qué sirven?
Los números aleatorios tienen la propiedad de ser obtenidos al azar, es decir, son resultado de un proceso en el cual su resultado no es predecible ya que todo número tiene la misma probabilidad de ser elegido y la elección de uno no depende de la elección del otro. La palabra aleatorio se usa para expresar una aparente carencia de propósito, causa, u orden. El ejemplo clásico más utilizado para generarlos es el lanzamiento repetitivo de una moneda o dado.
Los números pseudo aleatorios son números generados en un proceso que parece producir números al azar, pero no lo hace realmente, de aquí el prefijo pseudo que quiere decir falso, ya que su generación parte de algoritmos determinísticos, lo cual nos quiere decir que obtendremos siempre el mismo resultado bajo las mismas condiciones iniciales. Estas condiciones se refieren a varios parámetros de arranque, siendo el valor inicial, también llamado semilla, el denominador común de todos los algoritmos.
Estos números tienen la característica de que deben seguir una distribución Uniforme, es decir que pueden tomar cualquier valor dentro del intervalo (0, 1), entonces podemos decir que los números pseudo aleatorios son números entre 0 y 1 que han pasado por un tamizado de pruebas para poder determinar que tendrán una función aproximada a la realidad es decir, haya aleatoriedad.
La función de los números pseudo aleatorios es que a partir de ellos podemos generar variables aleatorias las cuales están sujetas en el mayor de los casos, a distribuciones estadísticas que son las que se usan para establecer el comportamiento de materiales, sucesos, personas, etc., en todo proceso de simulación.
2. ¿Para qué y cómo se usan dichos números?
Se usan como una fuente confiable de variabilidad dentro de los modelos de simulación fundamentalmente porque las sucesiones de números pseudoaleatorios son más rápidas de generar que las de números aleatorios.
La simulación es el proceso de diseñar un modelo de un sistema real, que servirá para dirigir experimentos con el propósito de entender, explicar, analizar o mejorar el comportamiento del sistema.
Para simular el comportamiento de una o más variables aleatorias es necesario contar con un conjunto suficientemente grande de números aleatorios, pero por desgracia generar una sucesión de números que sean completamente aleatorios resulta muy complicado, ya que tendríamos que generar una sucesión infinita de valores que nos permitiera comprobar la inexistencia de correlaciones entre ellos, lo que sería costoso y tardado volviendo impráctica la simulación; por ello es necesario utilizar los números pseudoaleatorios de los cuales podemos asegurar con un nivel alto de confiabilidad que se comportan de manera similar a un conjunto de números aleatorios.
La experimentación directa sobre la realidad puede algunos tipo de problemas como: costo muy alto, gran lentitud, en ocasiones las pruebas son destructivas, puede no ser ética (sobre todo si están involucrados seres humanos), puede resultar imposible, por ejemplo, para predecir sucesos futuros.
3. ¿Cómo se generan los números pseudo aleatorios entre 0 y 1?
Los números pseudo aleatorios se generan mediante algoritmos
determinísticos, es decir aquellos en que se obtiene el mismo resultado bajo las mismas condiciones iniciales, por lo cual requieren parámetros de arranque.
Sea una secuencia ri = {r1 ,r2 ,r3, ..., rn} con n valores distintos, se le conoce como el conjunto necesario de números entre 0 y 1 para realizar una simulación, siendo n el periodo o ciclo de vida. Esta secuencia forma la parte principal de la simulación de procesos estocásticos (basado en probabilidades) y son usados para generar la conducta de variables aleatorias, continuas o discretas. Estos números se consideran pseudo-aleatorios porque es imposible el generar números realmente aleatorios.
Es preciso contar con un conjunto ri grande, esto con la finalidad de
simular el comportamiento de una o más variables aleatorias, además el periodo de vida debe ser amplio debido a que es conveniente realizar varias réplicas de simulación, corriendo cada una con números pseudo aleatorios distintos. Es importante señalar que ri se considera satisfactorio si pasa sin problema las pruebas de uniformidad e independencia, solo así podrá ser usado en la simulación.
Los algoritmos determinísticos para generar números pseudo aleatorios se dividen en no congruenciales y congruenciales, éstos a su vez se dividen en lineales y no lineales. Algoritmos No Congruenciales
a) Algoritmo de cuadrados medios
Propuesto en la década de los cuarenta del siglo XX por Von Neumann y Metrópolis, este algoritmo requiere un número entero, llamado semilla, con D dígitos, este es elevado al cuadrado para seleccionar del resultado los D dígitos del centro; el primer número ri se determina simplemente anteponiendo el "0" a esos dígitos. Para obtener el segundo ri se sigue el mismo procedimiento, sólo que ahora se elevan al cuadrado los D dígitos del centro que se seleccionaron para obtener el primer ri. Este método se repite hasta obtener n números ri.
Pasos para generar números con el algoritmo de cuadrados medios:
1. Seleccionar semilla (X0) con D dígitos (D > 3). 2. Sea X0 = resultado de elevar X0 al cuadrado; sea X1 = los D dígitos del centro, y sea ri = 0.D dígitos del centro. 3. Sea Yi = resultado de elevar Xi al cuadrado; sea Xi+1 = los D dígitos del centro, y sea ri = 0.D dígitos del centro para toda i = 1, 2, 3,..., n. 4. Repetir el paso 3 hasta obtener los n números ri deseados. Nota: Si no es posible obtener los D dígitos del centro del número Yi, agregue ceros a la izquierda del número Yi. Ejemplo Generar los primeros 5 números ri a partir de una semilla X0 = 5 735, de donde se puede observar que D = 4 dígitos. Solución: Y0 = (5735)2 = 32 890 225 X1 = 8902 ri = 0.8902 Y1 = (8902)2 = 79 245 604 X2 = 2456 ri = 0.2456 Y2 = (2456)2 = 06 031 936 X1 = 0319 ri = 0.0319 Y3 = (0319)2 = 101 761 X1 = 0176 ri = 0.0176 Y4 = (0176)2 = 030 976 X1 = 3097 ri = 0.3097
Generalmente este algoritmo es incapaz de generar una secuencia de r i
con periodo de vida n grande. En ocasiones sólo es capaz de generar un
número, Por ejemplo si X0 = 1 000, entonces X1 = 0000; ri = 0.0000 y se dice que el algoritmo se degenera con la semilla de X0 = 1 000.
b) Algoritmo de productos medios
La mecánica de generación de números pseudo aleatorios de este algoritmo no congruencial es similar a la del algoritmo de cuadrados medios. La diferencia entre ambos radica en que el algoritmo de productos medios requiere dos semillas, ambas con D dígitos; además, en lugar de elevarlas al cuadrado, las semillas se multiplican y del producto se seleccionan los D dígitos del centro.
A continuación se presentan con más detalle los pasos del método para generar números con el algoritmo de producto medios. 1. Seleccionar una semilla (X0) con D dígitos (D > 3).
2. Seleccionar una semilla (X1) con D dígitos (D > 3).
3. Sea Y0 = X0*X1; sea X2 = los D dígitos del centro, y sea ri = 0.D dígitos del
centro. 4. Sea Yi = Xi*Xi+1; sea Xi+2 = los D dígitos del centro, y sea ri+1 = 0.D
dígitos del centro para toda f¡= 1,2,3,...,n; 5. Repetir el paso 4 hasta obtener los n números ri deseados. Nota: Si no es posible obtener los D dígitos del centro del número Yi agregue ceros a la izquierda del número Yi. c) Algoritmo de multiplicador constante
Este algoritmo no congruencial es similar al algoritmo de productos medios. Los siguientes son los pasos necesarios para generar números pseudo aleatorios con el algoritmo de multiplicador constante. 1. Seleccionar una semilla (X0) con D dígitos (D > 3).
2. Seleccionar una constante (a) con D dígitos (D > 3). 3. Sea Y0 - a*X0; sea X1 = los D dígitos del centro, y sea ri = 0.D dígitos del
centro. 4. Sea Yi = a*Xi; sea Xi+1 = los D dígitos del centro, y sea ri+1 = 0.D dígitos
del centro para toda i = 1, 2, 3,..., n. 5. Repetir el paso 4 hasta obtener los n números ri deseados. Nota: Si no es posible obtener los D dígitos del centro del número Yi agregue
ceros a la izquierda del número Yi.
Algoritmos Congruenciales d) Algoritmo Lineal
Este algoritmo congruencial fue propuesto por D.H. Lehmer en 1951. Según Law y Kelton, este algoritmo ha sido el más usado. El algoritmo congruencial lineal genera una secuencia de números enteros por medio de la siguiente ecuación recursiva:
Xi+1 = (aXi + c) mod (m) i= 0, 1, 2, 3… n donde;
X0 = es la semilla, X0 >0 y debe ser entero. a = es la constante multiplicativa, a >0 y debe ser entero. c = constante aditiva, c >0 y debe ser entero. mod m = modulo, significa realizar las operaciones anteriores y dividir el resultado entre el valor de m, para obtener solamente el residuo.
Es importante señalar que la ecuación recursiva del algoritmo congruencial lineal genera una secuencia de números enteros S= {0, 1, 2, 3,…, m-1}, y que para obtener números pseudo aleatorios en el intervalo (0, 1) se requiere la siguiente ecuación:
ri =
Para que el algoritmo sea capaz de lograr el máximo periodo de vida n, es preciso que dichos parámetros cumplan ciertas condiciones, Banks, Carson, Nelson y Nicol sugieren lo siguiente:
m = 2g
a = 1 + 4k k, debe ser entero. c, relativamente primo a m. g, debe ser entero. Bajo estas condiciones se obtiene un periodo de vida máximo N= m= 2g.
Ejemplo: Generar suficientes números entre 0 y 1 con los parámetros X0 = 6, k =3, g =3, c =7, hasta encontrar el periodo de vida máximo (N). a = 1 + 4(3) = 13 m = 23 = N= 8 X0 = 6 X1 = (13*6+7) mod 8 = 5 r1 = 5/7 = 0.714 X2 = (13*5+7) mod 8 = 0 r2 = 0/7 = 0.000 X3 = (13*0+7) mod 8 = 7 r3 = 7/7 = 1.000
X4 = (13*7+7) mod 8 = 2 r4 = 2/7 = 0.214 X5 = (13*2+7) mod 8 = 1 r5 = 1/7 = 0.142 X6 = (13*1+7) mod 8 = 4 r6 = 4/7 = 0.571 X7 = (13*4+7) mod 8 = 3 r7 = 3/7 = 0.428 X8 = (13*3+7) mod 8 = 6 r8 = 6/7 = 0.857
Es importante mencionar que el número generado en X8 = 6 es exactamente igual a la semilla X0, y si continuáramos generando más números éstos se repetirían. Además sabemos que el algoritmo congruencial lineal genera una secuencia de números enteros S = {0,1, 2, 3,…, m-1}.
Si no se cumple algunas de las condiciones, el periodo de vida máximo
N=m no se garantiza, por lo que el periodo de vida será menor que m. e) Algoritmo Congruencial Multiplicativo
El algoritmo congruencial multiplicativo surge del algoritmo congruencial lineal cuando c= 0. Entonces la ecuación recursiva es:
Xi+1 = (aXi) mod (m) i= 0, 1, 2, 3… n
En comparación con el algoritmo congruencial lineal, la ventaja del algoritmo multiplicativo es que implica una operación menos a realizar. Los parámetros de arranque de este algoritmo son X0, a y m, todos los cuales deben ser números enteros y mayores que cero.
Para transformar los números Xi en el intervalo de (0, 1) se usa la ecuación:
ri =
De acuerdo con Banks, Carson, Nelson y Nicol las condiciones que deben cumplir los parámetros para que el algoritmo congruencial multiplicativo alcance su máximo periodo son:
m = 2g
a = 3 + 8k o a = 5 + 8k k = 0, 1, 2, 3… X0 debe ser un número impar. g, debe ser entero. A partir de estas condiciones se logra un periodo de vida máximo: N= m/4= 2g-2.
Ejemplo: Generar suficientes números entre 0 y 1 con los siguientes parámetros:
X0 = 17, k =2, y g =5 hasta encontrar el periodo o ciclo de vida.
Solución: a = 5 + 8(2) = 21 y m =32
X0 = 17
X1 = (21*17) mod 32 = 5 r1 = 5/31 = 0.1612X2 = (21*5) mod 32 = 9 r2 = 9/31 = 0.2903 X3 = (21*9) mod 32 = 29 r3 = 29/31 = 0.9354X4 = (21*29) mod 32 = 1 r4 = 1/31 = 0.3225X5 = (21*1) mod 32 = 21 r5 = 21/31 = 0.6774X6 = (21*21) mod 32 = 25 r6 = 25/31 = 0.8064 X7 = (21*25) mod 32 = 13 r7 = 13/31 = 0.4193 X8 = (21*13) mod 32 = 17 r8 = 17/31 = 0.5483
Toda vez que la semilla X0 se repite, volverán a generarse los mismos números. Por lo tanto, el periodo de vida es n =8, el cual corresponde a N= m/4 = 32/4 = 8. f) Algoritmo congruencial aditivo
Este algoritmo requiere una secuencia previa de n números enteros X1, X2, X3, X4,..., Xn para generar una nueva secuencia de números enteros que empieza en Xn+1, Xn+2, Xn+3, Xn+4 ,…
Su ecuación recursiva es:
Xi = (Xi-1 + Xi-n) mod (m) i = n + 1, n + 2, n + 3,…, N
Los números ri pueden ser generados mediante la ecuación ri = xi/ (m-1)
Ejemplo
Generar 7 números pseudo aleatorios entre cero y uno a partir de la siguiente secuencia de números enteros: 65, 89, 98, 03, 69; m = 100. Sean X1 = 65, X2 = 89, X3 = 98, X4 = 03, X5 = 69. Para generar r1, r2, r3 r4, r5, r6 y r7 antes es necesario generar X6, X7, X8, X9, X10, X11, X12. Solución: X6 = (X5 + X1) mod 100 = (60+ 65) mod 100 = 34 r1 = 34/99 = 0.3434 X7 = (X6 + X2) mod 100 = (34 + 89) mod 100 = 23 r2 = 23/99 = 0.2323 X8 = (X7 + X3) mod 100 = (23 + 98) mod 100 = 21 r3 = 21/99 = 0.2121
X9 = (X8 + X4) mod 100 = (21 +03) mod 100 = 24 r4 = 24/99 = 0.2424 X10 = (X9 +X5) mod 100 = (24 + 69) mod 100 = 93 r5 = 93/99 = 0.9393 X11 = (X10 +X6) mod 100 = (93 + 34) mod 100 = 27 r6 = 27/99 = 0.2727 X12 = (X11 +X7) mod 100 = (27 + 23) mod 100 = 50 r7 = 50/99 = 0.5050
g) Algoritmos congruenciales no lineales
En esta sección se analizarán dos algoritmos congruenciales no lineales: el congruencial cuadrático y el algoritmo presentado por Blum, Blum y Shub.
1. Algoritmo congruencial cuadrático
Este algoritmo tiene la siguiente ecuación recursiva:
Xi + 1 = (aX2i + bX¡ + c) mod (m) i = 0,1,2,3,…, N
En este caso, los números r. pueden ser generados con la ecuación r ¡ = x¡-/(m - 1). De acuerdo con L'Ecuyer, las condiciones que deben cumplir los parámetros m, a, b y c para alcanzar un periodo máximo de N = m son:
m = 2g
a, debe ser un número par
c, debe ser un número impar
g debe ser entero
(b- 1) mod 4 = 1
De esta manera se logra un periodo de vida máximo N = m.
Ejemplo
Generar, a partir del algoritmo congruencial cuadrático, suficientes números enteros hasta alcanzar el periodo de vida, considerando los parámetros X0 = 13, m = 8, a = 26, b = 27 y c = 27. Como todas las condiciones estipuladas para los parámetros se satisfacen, es de esperarse que el periodo de vida del generador sea N = m = 8, tal como podrá comprobar al revisar los cálculos correspondientes, que se presentan a continuación.
Solución: X1 = (26*1322 + 27*13 + 27) mod (8) = 4 X2 = (26*422 + 27*4 + 27) mod (8) = 7 X3 = (26*722 + 27*7 + 27) mod (8) = 2 X4 = (26*222 + 27*2 + 27) mod (8) = 1 X5 = (26*122 + 27*1 + 27) mod (8) = 0 X6 = (26*022 + 27*0 + 27) mod (8) = 3 X7 = (26*322 + 27*3 + 27) mod (8) = 6
X8 = (26*622 + 27*6 + 27) mod (8) = 5 X9 = (26*522 + 27*5 + 27) mod (8) = 4
Por otro lado, el algoritmo cuadrático genera una secuencia de números enteros S = {0,1, 2,3..., m-1}, al igual que el algoritmo congruencial lineal.
2. Algoritmo de Blum, Blum y Shub
Si en el algoritmo congruencial cuadrático a = 1, b = 0 y c = 0, entonces se construye una nueva ecuación recursiva:
Xi+1= (X2i) mod (m) i = 0, 1, 2, 3,… n
La ecuación anterior fue propuesta por Blum, Blum y Shub como un nuevo método para generar números que no tienen un comportamiento predecible.
De un ejemplo utilizando un algoritmo de generación de números pseudo aleatorios Algoritmo de cuadrados medios X0 = 2342 D = 4 Y0 = = 05484964 X1 = 4849 r1 = 0.4849
Y1 = = 23512801 X2 = 5128 r2 = 0.5128
Y2 = = 26296384 X3 = 2963 r3 = 0.2963
Y3 = = 08779369 X4 = 7793 r4 = 0.7793
Y4 = = 60730849 X5 = 7306 r5 = 0.7306
Y5 = = 53406864 X6 = 4068 r6 = 0.4068
Y6 = = 165448624 X7 = 5486 r7 = 0.5486
Y7 = = 30096196 X8 = 0961 r8 = 0.0961
Y8 = = 923521 X9 = 2352 r9 = 0.2352
Y9 = = 05531904 X10 = 5319 r10 = 0.5319
Y10 = = 28291761 X11 = 2917 r11 = 0.2917
Y11= = 08508889 X12 = 5088 r12 = 0.5088
Y12= = 25887744 X13 = 8877 r13 = 0.8877
Y13= = 78801129 X14 = 8011 r14 = 0.8011
Y14= = 64176121 X15 = 1761 r15 = 0.1761
Y15= = 03101121 X16 = 1011 r16 = 0.1011
Y16= = 01022121 X17 = 0221 r17 = 0.0221
Y17= = 048841 X18 = 4884 r18 = 0.4884
Y18= = 23853456 X19 = 8534 r19 = 0.8534
Y19= = 71132356 X20 = 1323 r20 = 0.1323
4. ¿Qué propiedades deben cumplir los números pseudoaleatorios entre cero y uno?
En gran medida, conocer las propiedades que deben tener los números aleatorios garantiza una buena simulación, por ello se enumeran a continuación.
Media de los números aleatorios entre cero y uno
En vista de que estos números deben de tener la misma probabilidad de presentarse, es preciso que su comportamiento muestre una distribución de probabilidad uniforme continua, con límite inferior cero y límite superior uno. La función de densidad de una distribución uniforme es la siguiente.
Para obtener la media de la distribución multiplicamos la función de densidad por x, y la integramos en todo el rango de la distribución de la siguiente manera:
∫
Sustituyendo los valores de a y b
Por lo tanto el valor esperado (es decir, la media de los números
aleatorios entre cero y uno) es
Varianza de los números aleatorios
Partiendo de la misma distribución uniforme continua obtenemos la varianza de la distribución por medio de la ecuación
Lo que nos da
∫
Al sustituir tenemos que
Por lo tanto
(
)
Dado estos resultados podemos decir que los números aleatorios entre cero y uno deben tener
Independencia
Esta es una propiedad muy importante, e indica que los números aleatorios no deben tener correlación entre sí; es decir, que sean independientes, de manera que puedan dispersarse uniformemente dentro de un espectro de valores posibles.
Los datos deben mostrar dispersión como en la figura.
Es posible realizar una serie de pruebas para corroborar que no existe correlación ente los números aleatorios, e incluso para garantizar que no existe un sesgo o tendencia entre los dígitos de cada uno de ellos.
Ejemplifique generando un conjunto de números y aplicándoles las
pruebas necesarias para comprobar que reúnen las propiedades.
Algoritmo congruencial lineal
X0 = 23 K = 4 g = 5 c = 31 m = 32 a = 17 6 6/31= 0.1935
5 5/31= 0.1612
20 20/31= 0.6451
19 19/31= 0.6129
2 2/31= 0.0645
1 1/31= 0.0322
16 16/31= 0.5161
15 15/31= 0.4838
30 30/31= 0.9677
29 29/31= 0.9354
12 12/31= 0.3870
11 11/31= 0.3548
26 26/31= 0.8387
25 25/31= 0.8064
8 8/31= 0.2580
7 7/31= 0.2258
22 22/31= 0.7096
21 21/31= 0.6774
4 4/31= 0.1290
3 3/31= 0.0967
18 18/31= 0.5806
17 17/31= 0.5483
0 0/31= 0.0000
31 31/31= 1.0000
14 14/31= 0.4516
13 13/31= 0.4193
28 28/31= 0.9032
27 27/31= 0.8709
10 10/31= 0.3225
9 9/31= 0.2903
24 24/31= 0.7741
23 23/31= 0.7419
Prueba de medias
∑
∑
Límites de aceptación inferiores y superiores
(
√ )
(
√ )
(
√ )
(
√ )
Con lo anterior podemos comprobar que el valor de la media del conjunto de datos se encuentra dentro de los límites de aceptación, por lo tanto se acepta la H0 que nos dice que el conjunto de números pseudo aleatorios cumplen con la primer propiedad de tener una media de 0.5.
Prueba de varianza
∑
Dado que el valor de la varianza V(r)= se encuentra dentro de los límites de aceptación, podemos decir que no se puede rechazar que el
conjunto de números tiene una varianza de 1/12.
Prueba de uniformidad
H0: ri U (0,1)
H1: ri no son uniformes
Para comprobar si nuestro conjunto de datos se distribuyen uniformemente en el intervalo (0, 1) procederemos a comprobarlo mediante la prueba de Chi-Cuadrada, en la cual se debe calcular un estadístico de prueba que posteriormente se va a comparar con un valor crítico utilizando la tabla
de la distribución Chi-cuadrada, si X20 <
se acepta la H0.
Para llevar a cabo esta prueba, es necesario dividir el intervalo (0, 1) en
m subintervalos, en donde es recomendable m= √ posteriormente, se clasifica cada número pseudo aleatorio del conjunto ri en los m intervalos. A la cantidad de números ri que se clasifican en cada intervalo se le denomina frecuencia observada (Oi), y a la cantidad de números ri que se espera encontrar en cada intervalo se le llama frecuencia esperada (Ei). A partir de estos valores se calcula el estadístico de prueba:
X20 =∑ (
)
2
Oi Ei =
(0.00 – 0.166) 6 5.6569 0.0209222 (0.166 – 0.33) 5 5.6569 0.0760848
(0.33 – 0.5) 5 5.6569 0.0760848 (0.5 – 0.666) 5 5.6569 0.0760848
(0.666 – 0.833) 5 5.6569 0.0760848 (0.833 – 1) 6 5.6569 0.0209222
0.3461838
El estadístico = 0.3461838 es menor al valor crítico
correspondiente de la chi-cuadrada , entonces no se puede
rechazar que el conjunto de números ri sigue una distribución uniforme.
Prueba de independencia
H0: los números de los conjuntos ri son independientes H1: los números de los conjuntos ri no son independientes
Existen múltiples métodos que tratan de corroborar que si los números
en el intervalo (0, 1) son independientes o, en otras palabras sí parecen pseudoaleatorios, a continuación se realizará la prueba de corridas arriba y abajo. El procedimiento de esta prueba consiste en determinar una secuencia de números (S) que sólo contiene unos y ceros, de acuerdo con una comparación entre ri y ri-1, la cual se construye de la siguiente manera: se coloca un cero si el número ri ≤ ri-1; en caso de ser mayor que el que número ri anterior, se pone un uno. Posteriormente, se determina el número de corridas observadas, Co la cual se identifica como la cantidad de unos o ceros consecutivos. Además se necesita hacer los siguientes cálculos:
µCo =
=
Para aceptar o rechazar la hipótesis nula, es necesario hacer una comparación entre el siguiente estadístico de prueba y el valor crítico,
si Z0< Zα/2 podemos concluir que los números generados corresponden a la propiedad de ser independientes.
Z0 = [
√
]
Se aplica la prueba de corridas arriba abajo al conjunto de 32 números pseudo aleatorios generados anteriormente:
0.1935 0.1612 0.6451 0.6129 0.0645 0.0322 0.5161 0.4838 0.9677 0.9354 0.3870 0.3548 0.8387 0.8064 0.2850 0.2258 0.7096 0.6778 0.1290 0.0967 0.5806 0.5483 0 1 0.4516 0.4193 0.9032 0.8709 0.3225 0.2903 0.7741 0.7419
S = {0 1 0 0 0 1 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 1 0
0 1 0 0 0 1 0}
Co = 19
=
= 21
=
= 5.3666
Z0 = *
√ + = - 0.8634
= = 1.96 entonces - 0.8634 es menor que 1.96 se concluye
que no se puede rechazar que los números del conjunto ri sean independientes.
UNIDAD III
VARIABLES ALEATORIAS
1. ¿A qué se llama variable aleatoria y que tipos de variable aleatoria
existen?
El término variable significa valores inestables, pero decir que una variable es aleatoria, se refiere a mediciones cuyos valores se obtienen de algún tipo de experimento aleatorio. Los experimentos aleatorios presentan un tratamiento matemático, en el cual se deben cuantificar los resultados de modo que se asigne un número real a cada uno de los resultados posibles del experimento.
Las variables aleatorias son aquellas que tienen un
comportamiento probabilístico de la realidad.
Tipos de variables que existen:
Variables Discretas
Son aquellas que presentan de modo inherente separaciones entre valores observables sucesivos. Dicho de otra manera, se define una variable discreta como la variable tal que entre dos cualesquiera valores observables hay por lo menos un valor no observable. Por ejemplo 3 y 4 son potencialmente observables, mientras que 3.5 no lo es.
Las variables discretas son valores enteros que no presentan continuidad o sea, existe una ruptura, por ejemplo, el número de hijos.
Variables Continuas
Las variables continuas son aquella que puede tomar un valor cualquiera para un determinado intervalo. Tienen la propiedad de que entre dos cualesquiera valores observables, hay otro valor observable.
En pocas palabras son números enteros y fraccionarios, por ejemplo, el peso, la estatura.
2. Determine el tipo de distribución a que pertenecen el conjunto de
datos del ejercicio 6 de la página 91 del libro Simulación y
Análisis de sistemas con Promodel con la herramienta Stat: :Fit.
Objetivo Utilizar la herramienta Stat::Fit con la finalidad de determinar la
distribución de probabilidad a partir de un conjunto de datos. Introducción Stat::Fit permite comparar los resultados entre varias distribuciones
analizadas mediante una calificación. Entre sus procedimientos emplea las pruebas estadísticas Chi-cuadrada, de Kolmogorov-Smirnov y de Anderson-Darling.
Conjuntamente calcula los parámetros apropiados para cada tipo de
distribución, e incluye información estadística adicional como media, moda, valor mínimo, valor máximo y varianza, entre otros datos.
Stat::Fit se puede ejecutar desde la pantalla de inicio de Promodel, o
bien desde el comando Stat::Fit del menú Tools.
Entrada de datos y manipulación Tabla de Datos Un nuevo proyecto se crea haciendo clic en el icono new document
en la barra de control o seleccionando File en la barra de menú y luego New en el submenú, esta acción genera un nuevo documento de Stat::Fit , y muestra una tabla vacía de datos.
Es en la tabla vacía donde se insertan uno por uno los datos del ejemplo:
Opciones de entrada
Opciones de entrada de datos (Input options) permite establecer varias opciones de manejo:
El número de intervalos para el histograma, la precisión con que los
datos se muestran y almacenan, y los tipos de distribución que se permitirán. El cuadro de diálogo Opciones de entrada se ingresa haciendo clic en el icono Input Options o mediante la selección Input de la barra de menú y luego Options en el menú secundario.
Se aconseja que el número de intervalos se calcule con la raíz
cuadrada del total de datos, 10 para este ejemplo. La precisión de los datos es el número de decimales que se muestran
en los datos de entrada y todos los cálculos posteriores. La precisión por defecto es de 6 cifras decimales y se ajusta inicialmente. La precisión se puede ajustar entre 0 y 15. Tenga en cuenta que la mayoría de los datos de este ejemplo tiene un máximo de 5 dígitos por lo tanto es este valor que se establecerá.
El tipo de distribución de análisis puede ser continua o discreta. En general, todas las distribuciones serán tratadas como cualquier tipo de forma predeterminada. Sin embargo, el análisis puede ser forzado a cualquiera de las distribuciones continuas o distribuciones discretas, marcando la casilla correspondiente en el cuadro de diálogo Opciones de entrada. Continua en este caso, clic en OK para guardar las opciones registradas.
Un gráfico de los datos de
entrada se puede ver mediante la selección de input de la barra de menús y, a continuación input graph desde el menú secundario, o haciendo clic en el icono de gráfico de entrada. Un histograma de los datos se desplegara en pantalla.
Análisis estadístico Estadística Descriptiva La estadística descriptiva de los
datos de entrada se puede ver mediante la selección de Statistics en la barra de Menú y luego descriptive desde el menú secundario. Se muestra la siguiente ventana:
El comando de Estadística Descriptiva proporciona las
observaciones y los cálculos estadísticos básicos sobre los datos de entrada y los presenta en una vista simple como se muestra arriba. El tiempo que esta ventana este abierta, los cálculos se actualizarán a medida que los datos de entrada cambien.
Ajuste de la Distribución El ajuste automático de distribuciones continuas se puede realizar
mediante el comando Auto::Fit. Este comando sigue el mismo procedimiento como se explica a continuación para el ajuste manual, pero opta por la distribución adecuada de los datos de entrada. También califica las distribuciones de acuerdo con su relativa bondad de ajuste, y da una indicación de su aceptación como buenas representaciones de los datos de entrada.
En el ajuste manual de las distribuciones de análisis de los datos de
entrada en la tabla de datos, las distribuciones adecuadas de los datos de entrada deben ser elegidas en la configuración del ajuste (setup) junto con las pruebas de bondad de ajuste deseadas.
Comience el proceso de
ajuste de la distribución mediante la selección de Fit en la barra de menú y luego de setup desde el menú secundario, o haciendo clic en el icono de setup apropiado.
La página de distribuciones del cuadro de diálogo Configuración de
ajuste proporciona una lista de distribuciones para la elección de la distribución para el ajuste posterior. Todas las distribuciones elegidas aquí se utilizarán de forma secuencial para las estimaciones y pruebas de bondad de ajuste.
Después de seleccionar las distribuciones, vaya a la siguiente
pestaña del cuadro de diálogo para seleccionar los cálculos a realizar.
Las estimaciones pueden ser obtenidas en momentos o cálculos de
probabilidad máxima (MLEs). El valor predeterminado para el cálculo es MLE.
Para distribuciones continuas con un límite inferior o mínimo como la exponencial, el límite inferior puede ser obligado a asumir un valor igual o inferior al valor mínimo de datos. Este límite inferior se utilizará tanto para los momentos y las estimaciones de máxima verosimilitud. De forma predeterminada, se deja desconocido, esto causa que todos los procedimientos de estimación varíen el límite inferior con el resto de los parámetros.
Pruebas de bondad de ajuste Las pruebas de bondad de ajuste no son más que las comparaciones
de los datos de entrada a las distribuciones ajustadas de una manera estadísticamente significativa. Cada prueba tiene la hipótesis de que el ajuste es bueno y calcula un estadístico de prueba para la comparación con un estándar. Las pruebas de bondad de ajuste son:
• Chi-cuadrada • Kolmogorov Smirnov • Anderson Darling Si la elección de la prueba es incierto, utilice el test de Kolmogorov
Smirnov, que es aplicable a la gama más amplia de datos y parámetros ajustados.
Auto::Fit El ajuste automático distribuciones
continuas se puede realizar haciendo clic en el icono Auto::Fit o mediante la selección de Fit de la barra de Menú y luego Auto::Fit en el submenú.
Este comando sigue el mismo procedimiento como se mencionó anteriormente para el ajuste manual. Auto::Fit elegirá automáticamente distribuciones continuas adecuadas para adaptarse a los datos de entrada, calcular las estimaciones de probabilidad máxima para las distribuciones, los resultados de la prueba de bondad de ajuste, y mostrar la distribución por orden de su calificación relativa. La calificación relativa se determina por un método empírico que utiliza efectivos cálculos de la bondad de ajuste. Una calificación alta indica que la distribución ajustada es una buena representación de los datos de entrada.
La distribución Normal con media 18.7 y desviación estándar 4.11 consigue una calificación de 100, por lo cual se acepta que esta es la indicada para seleccionar que los datos del ejemplo siguen esta distribución.
Gráficos
Un gráfico de la densidad de los datos de entrada y la densidad ajustada pueden ser vistos seleccionando Fit de la barra de menús y, a continuación Result Graphs, submenú Density, también se puede acceder a las gráficas haciendo clic sobre la distribución en la ventana Automatic Fitting. Este gráfico muestra un histograma de los datos de entrada cubierto de las densidades ajustadas para distribuciones específicas.
El gráfico aparecerá con la configuración por defecto de los datos de
entrada en un histograma azul y los datos ajustados en un polígono de color rojo, como se muestra a continuación.
La distribución ajustada se muestra en el cuadro inferior de la derecha. Si ha seleccionado más de una distribución para ajustar, una lista de las distribuciones se da en el cuadro superior de la derecha. Seleccione distribuciones adicionales para mostrarlas, para compararlas, haciendo clic en el nombre de la distribuciones en el cuadro superior. Habrá una leyenda en la parte inferior de la gráfica, como se muestra a continuación:
Se puede observar que la distribución Lognormal traslapa a la distribución Normal, dada la semejanza con esta última, y que obtuvo una calificación de 99.9. La distribución Uniforme es la que menos se ajusta pues los datos evidentemente no siguen esta tendencia.
3. Mediante un ejemplo genere una variable aleatoria usando el
método de la transformada inversa.
a) Usando distribución exponencial
El método de la transformada inversa puede utilizarse para simular variables aleatorias continuas, lo cual se logra mediante la función
acumulada f(x) y la generación de números pseudo aleatorios ri U (0, 1). El método consiste en desarrollar los siguientes pasos:
1. Definir la función de densidad F(x) que represente la variable a modelar:
F(x) = λe-λx para x≥ 0 2. Calcular la función acumulada F(x):
F(x) = ∫
dx = 1-e-λx para x≥ 0
3. Despejar la variable aleatoria x y obtener la función acumulada inversa F(x)-1
Despeje de la variable aleatoria: Xi = -
ln (1-ri)
Función acumulada inversa: Xi= -λLn (1-ri)
4. Generar las variables aleatorias x, sustituyendo los valores con
números pseudo aleatorios ri U (0, 1) en la función acumulada inversa.
El tiempo, en minutos, que un alumno usa una terminal de cómputo en una importante universidad sigue una distribución exponencial de probabilidad, con promedio de 36 minutos.
Xi= -36Ln (1-ri)
Alumno ri Tiempo Alumno ri Tiempo
1 0.4849 23.882192 11 0.2917 12.4159517 2 0.5128 25.8869003 12 0.5088 25.5925405 3 0.2963 12.6505134 13 0.8877 78.716931 4 0.7793 54.3942348 14 0.8011 58.1383114 5 0.7306 47.2160885 15 0.1761 6.97342016 6 0.4068 18.8000521 16 0.1011 3.83700547 7 0.5486 28.6344509 17 0.0221 0.80452309 8 0.0961 3.63731559 18 0.4884 24.1276395 9 0.2352 9.65307302 19 0.8534 69.1217096
10 0.5319 27.3266399 20 0.1323 5.10873286
a) Usando la distribución de Bernoulli
El método de la transformada inversa también se emplea para simular variables aleatorias de tipo discretas. El método consiste en:
1. Calcular todos los valores de la distribución de probabilidad p(x) de
la variable a modelar. 2. p(x)= px (1-p) 1-x para x=0, 1
Se calculan las probabilidades para x=0 y x=1, para obtener:
x 0 1
p(x) 1-p p
3. Calcular todos los valores de la distribución acumulada P(x).
x 0 1
P(x) 1-p 1
4. Generar números pseudo aleatorios ri U (0, 1). 5. Comparar con el valor de P(x) y determinar qué valor de x
corresponde a P(x).
Si ri (0, 1 –p) x=0
Xi =
Si ri (1 –p, 1) x=1
La probabilidad de que un prospecto elegido al azar realice una compra a un agente de ventas es 0.20 (x=1) y de 0.8 de que no compre (x=0) en un dia determinado.
p(x)= (0.2)x (0.8) 1-x para x=0, 1
Cálculo de probabilidades puntuales y acumuladas para x=0 y x=1.
X 0 1
p(x) 0.8 0.2
P(x) 0.8 1
Si ri (0 – 0.8) x=0
Xi =
Si ri (0.8 - 1) x=1
Si el número pseudo aleatorio es menor que 0.8, no hay compra.
Si el número pseudo aleatorio es mayor que 0.8, si hay compra.
Persona ri Xi Evento: Compra
1 0.1935 0 No
2 0.1612 0 No
3 0.6451 0 No 4 0.6129 0 No
5 0.0645 0 No
6 0.0322 0 No 7 0.5161 0 No
8 0.4838 0 No
9 0.9677 1 Si 10 0.9354 1 Si
11 0.387 0 No
12 0.3548 0 No
13 0.8387 1 Si 14 0.8064 1 Si
15 0.285 0 No
16 0.2258 0 No 17 0.7096 0 No
18 0.6774 0 No
19 0.129 0 No 20 0.0967 0 No
21 0.5806 0 No
22 0.5483 0 No
23 0 0 No 24 1 1 Si
25 0.4516 0 No
26 0.4193 0 No 27 0.9032 1 Si
28 0.8709 1 Si
29 0.3225 0 No 30 0.2903 0 No
31 0.7741 0 No
32 0.7419 0 No
Instituto Tecnológico de Reynosa
Ingeniería Industrial
6to semestre
Simulación
MII. José María González Rodríguez
UNIDAD II: Números Aleatorios y Pseudo aleatorios
UNIDAD III: Variables Aleatorias
Abasolo Melchor Alberto
Carranza García Alberto de Jesús
De Luna Pérez Nancy Yadira
Hernández Martínez Diana Celeste
Medrano Meza Erick Roberto
Reynosa, Tamps, 09 de Mayo de 2011