28
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.

Numeros Pseudo-aleatorios y variables aleatorias

Embed Size (px)

Citation preview

Page 1: 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.

Page 2: Numeros Pseudo-aleatorios y variables aleatorias

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.

Page 3: Numeros Pseudo-aleatorios y variables aleatorias

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

Page 4: Numeros Pseudo-aleatorios y variables aleatorias

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.

Page 5: Numeros Pseudo-aleatorios y variables aleatorias

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

Page 6: Numeros Pseudo-aleatorios y variables aleatorias

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.

Page 7: Numeros Pseudo-aleatorios y variables aleatorias

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

Page 8: Numeros Pseudo-aleatorios y variables aleatorias

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

Page 9: Numeros Pseudo-aleatorios y variables aleatorias

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

Page 10: Numeros Pseudo-aleatorios y variables aleatorias

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

Page 11: Numeros Pseudo-aleatorios y variables aleatorias

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.

Page 12: Numeros Pseudo-aleatorios y variables aleatorias

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

Page 13: Numeros Pseudo-aleatorios y variables aleatorias

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

Page 14: Numeros Pseudo-aleatorios y variables aleatorias

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

Page 15: Numeros Pseudo-aleatorios y variables aleatorias

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.

Page 16: Numeros Pseudo-aleatorios y variables aleatorias

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.

Page 17: Numeros Pseudo-aleatorios y variables aleatorias

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.

Page 18: Numeros Pseudo-aleatorios y variables aleatorias

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.

Page 19: Numeros Pseudo-aleatorios y variables aleatorias

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á.

Page 20: Numeros Pseudo-aleatorios y variables aleatorias

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.

Page 21: Numeros Pseudo-aleatorios y variables aleatorias

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.

Page 22: Numeros Pseudo-aleatorios y variables aleatorias

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ú.

Page 23: Numeros Pseudo-aleatorios y variables aleatorias

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.

Page 24: Numeros Pseudo-aleatorios y variables aleatorias

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.

Page 25: Numeros Pseudo-aleatorios y variables aleatorias

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

Page 26: Numeros Pseudo-aleatorios y variables aleatorias

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

Page 27: Numeros Pseudo-aleatorios y variables aleatorias

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

Page 28: Numeros Pseudo-aleatorios y variables aleatorias

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