Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Tema 3 Simulación Investigación de Operaciones - 2 Tema 3- Simulación Investigación de Operaciones - 2 1. Introducción 2. Generación de números aleatorios 3. Métodos de generación de variables aleatorias a. Inversa b. Aceptación-Rechazo 4. Generación de variables aleatorias en Excel. 3Investigación de Operaciones 2 1. Introducción • La simulación (estadística) consiste en recrear mediante fórmulas matemáticas los resultados numéricos de algún fenómeno real en el que haya incertidumbre. • El resultado de caja ejecución (replicación o iteración) de la simulación es ‘como si’ fuese una observación real. • En cada replicación, los factores que están sujetos a incertidumbre van cambiando de valor de forma similar a como lo harían en la realidad, de manera que recrean la incertidumbre que se tiene del sistema. • El resultado es más preciso e informativo que simplemente calcular ‘escenarios’ pesimistas u optimistas. 4Investigación de Operaciones 2 1. Introducción Ejemplo (muy muy) sencillo (que se pueder resolver fácilemte analíticamente) El propietario de un restaurante está pensando en abrir una terraza exterior con mesas. Cuando el tiempo sea bueno, tendrá buena aceptación por parte de los clientes, y ganará dinero. Sin embargo, si hace mal tiempo, esa zona no atraerá clientes y le acarreará pérdidas. Las ganancias diarias que espera según las condiciones atmosféricas se resumen en la siguiente tabla. Sin calor Con calor Sol $ 1000 -$300 Nubes -$200 $600 ¿Cuál será la ganancia esperada? Opción 1: abrir la terraza y ver qué pasa… Opción 2: simular numéricamente el comportamiento de la terraza (en ese caso, puede calcularlo analíticamente) 5Investigación de Operaciones 2 1. Introducción Ejemplo (muy) sencillo ¿Cuál será la ganancia esperada? • La ganancia no es fija. Es una variable aleatoria, pues depende del factor ‘tiempo atmosférico’, que tiene incertidumbre (es variable aleatoria). • Para poder obtener las ganancias debemos conocer las propiedades estadísticas del tiempo atmosférico: con qué frecuencia se observa cada situación. Ganancia diaria estimada del patio exterior del restaurante Nota: Una variable aleatoria queda definida con su espacio muestral y su ley de probabilidad Sin calor Con calor Sol $ 1000 -$300 Nubes -$200 $600 6Investigación de Operaciones 2 1. Introducción Tenemos que conocer las probabilidades de los diferentes sucesos, para poder simularlos. Prob(Sol)=0.5; Prob(Nubes)=0.5 Para nuestro ejemplo, se sabe que: Si hace sol: Pr(Sin Calor|Sol)=1/3; Pr(Con Calor|Sol)=2/3. Si hay nubes: Pr(Sin Calor|Nubes)=0.5; Pr(Con Calor|Nubes)=0.5 Para ‘simular’ el tiempo atmosférico necesitamos: • Un procedimiento que simule si es un día con sol. Es decir, un generador de sucesos con probabilidad 0.5. Por ejemplo, lanzar una moneda (luego lo haremos con ordenador). CARA=SOL SELLO=NUBES • Ese mismo procedimiento sirve para simular si hay o no calor en el caso de día nublado. CARA=CALOR (si nubes) SELLO=SIN CALOR (si nubes) • Un generador de sucesos con probabilidad 1/3. Por ejemplo, obtener 1 ó 2 con un dado: 1ó2=SIN CALOR (si sol) 3 a 6=CON CALOR (si sol) 7Investigación de Operaciones 2 1. Introducción Día 1: 1. Lanzamos una moneda y sale CARA: ha tocado día con SOL 2. Lanzamos entonces el dado, y sale 4: día con calor Resultado: Como es un día con sol y calor, la ganancia es -300 Día 2: 1. Lanzamos una moneda y sale SELLO: ha tocado día con NUBES 2. Lanzamos entonces otra moneda y sale CARA: día con calor Resultado: Como es un día nublado pero con calor, la ganancia es +600 … Día N: 1. Lanzamos una moneda y sale SELLO: ha tocado día con NUBES 2. Lanzamos entonces otra moneda y sale SELLO: día sin calor Resultado: Como es un día nublado y sin calor, la ganancia es 800 Simulamos… 8Investigación de Operaciones 2 1. Introducción Replicación Sol/nubes Calor/No Calor Ganancia 1 Sol No Calor 1000 2 Nubes No Calor 800 3 Nubes No Calor 800 4 Nubes No Calor 800 5 Sol Calor -300 6 Sol Calor -300 7 Sol Calor -300 8 Nubes No Calor 800 9 Sol Calor -300 10 Sol Calor -300 11 Sol Calor -300 12 Nubes No Calor 800 13 Nubes No Calor 800 14 Nubes No Calor 800 15 Sol Calor -300 16 Sol No Calor 1000 17 Nubes No Calor 800 493 Sol Calor -300 494 Nubes No Calor 800 495 Nubes No Calor 800 496 Nubes No Calor 800 497 Sol Calor -300 498 Sol Calor -300 499 Sol Calor -300 500 Sol Calor -300 Promedio 446 ganará, por término medio, $446 cada día La frecuencia de aparición de los diferentes sucesos será aproximadamente igual a sus probabilidades teóricas. Las replicaciones (iteraciones) pueden interpretarse como un muestreo. En lugar de muestrear de la población de datos reales, muestreamos del modelo de probabilidad: Simulación por MonteCarlo ¿Intervalo de confianza? (Lo puedes hacer analíticamente=416,7) 9Investigación de Operaciones 2 Replicación Sol/nubes Calor/No Calor Ganancia 1 Sol No Calor 1000 2 Nubes No Calor 800 3 Nubes No Calor 800 4 Nubes No Calor 800 5 Sol Calor -300 6 Sol Calor -300 7 Sol Calor -300 8 Nubes No Calor 800 9 Sol Calor -300 10 Sol Calor -300 11 Sol Calor -300 12 Nubes No Calor 800 13 Nubes No Calor 800 14 Nubes No Calor 800 15 Sol Calor -300 16 Sol No Calor 1000 17 Nubes No Calor 800 493 Sol Calor -300 494 Nubes No Calor 800 495 Nubes No Calor 800 496 Nubes No Calor 800 497 Sol Calor -300 498 Sol Calor -300 499 Sol Calor -300 500 Sol Calor -300 Promedio 446 1. Introducción En la práctica, no utilizamos monedas, dados, o similares, para reproducir sucesos que tengan una determinada probabilidad. Utilizamos los valores de la distribución uniforme, que los transformamos en sucesos con la probabilidad deseada de forma mucho más flexible y cómoda. 10Investigación de Operaciones 2 1. Introducción Número aleatorio: Un número aleatorio es una realización al azar de una variable especificada por una función de distribución. Cuando no se especifica ninguna distribución, se presupone que se utiliza la distribución uniforme continua en el intervalo [0,1]. U(a,b) U(0,1) En la práctica, y mientras no se indique lo contrario: Numero aleatorio=valores de U(0,1) 11Investigación de Operaciones 2 1. Introducción 0 1 0 1 Función de densidad de 𝑈 ∼ U(0,1): 𝑓 𝑢 = 1 𝑢1 0 𝐹 𝑢1 = 𝑃 𝑈 ≤ 𝑢1 = න 0 𝑢1 𝑓 𝑢 𝑑𝑢 = 𝑢1 Por ejemplo 𝐹 0.7 = 𝑃 𝑈 ≤ 0.7 = 0.7 𝐹 0.1 = 𝑃 𝑈 ≤ 0.1 = 0.1 𝐹 0.9 = 𝑃 𝑈 ≤ 0.9 = 0.9 Al ser una distribución continua es irrelevante poner o no el signo = 12Investigación de Operaciones 2 1. Introducción Si queremos reproducir un suceso de probabilidad 𝑝, generamos valores de la U(0,1) y asociamos el suceso de interés con valores 𝑢 de la U(0,1) menores o iguales que 𝑝. Si 𝑢 ≤ 𝑝 es como si hubiésemos observado el suceso de probabilidad 𝑝. Sea 𝑢 ∼ U(0,1). Entonces Sea 𝑋 = 0,1 tal que 𝑃 𝑋 = 1 = 𝑝; 𝑃 𝑋 = 0 = 1 − 𝑝 𝑋 = ቊ 1, 𝑠𝑖 𝑢 ≤ 𝑝 0, 𝑠𝑖 𝑢 > 𝑝 𝑃 𝑋 = 1 = 𝑃 𝑢 ≤ 𝑝 = 𝑝 Al ser una distribución continua es irrelevante dónde poner el = 13Investigación de Operaciones 2 1. Introducción Replicación Uniforme 1 Suceso Sol/nubes Sol/nubes 1 0,3596 1 Sol 2 0,7242 0 Nubes 3 0,6438 0 Nubes 4 0,9666 0 Nubes 5 0,1300 1 Sol 6 0,1843 1 Sol 7 0,1807 1 Sol 8 0,8880 0 Nubes 9 0,3116 1 Sol 10 0,4891 1 Sol 11 0,4879 1 Sol 12 0,8306 0 Nubes 13 0,8409 0 Nubes 14 0,8320 0 Nubes 15 0,1368 1 Sol 16 0,3459 1 Sol 17 0,6739 0 Nubes 18 0,8630 0 Nubes Ejemplo: queremos simular que P(Hay Sol)=0.5 Si 𝑢 ≤ 0.5 ⇒ 𝑋 = 1 ⇒ SOL Si 𝑢 > 0.5 ⇒ 𝑋 = 0 ⇒ Nubes 14Investigación de Operaciones 2 1. Introducción Y así se haría con Excel… (de forma sencilla) Simulación_Terraza.xlsx 15Investigación de Operaciones 2 1. Introducción Generador de U(0,1) Sus valores se recalculan al presionar F9 Simulación_Terraza.xlsx 16Investigación de Operaciones 2 1. Introducción Simulación_Terraza.xlsx 17Investigación de Operaciones 21. Introducción Simulación_Terraza.xlsx 18Investigación de Operaciones 2 1. Introducción Simulación_Terraza.xlsx 19Investigación de Operaciones 2 1. Introducción Simulación_Terraza.xlsx Tema 3- Simulación Investigación de Operaciones - 2 1. Introducción 2. Generación de números aleatorios 3. Métodos de generación de variables aleatorias a. Inversa b. Aceptación-Rechazo 4. Generación de variables aleatorias en Excel. 21Investigación de Operaciones 2 2. Generación de números aleatorios Podemos generar números aleatorios del 1 al n sacando bolas al azar de una urna, con reemplazamiento (como en la lotería). Si n es muy grande y dividimos todos los valores obtenidos por n, podemos tener una aproximación a U(0,1). Hay libros con tablas de números aleatorios obtenidos de esta forma. Para usar esta tabla: decidimos el lugar por el que comenzar, y vamos tomando valores consecutivos por filas, aunque también se podría hacer por columnas, en diagonal,… 22Investigación de Operaciones 2 2. Generación de números aleatorios Ejemplo de generación de una U(0,1) con tres decimales usando la tabla • Empezamos por un lugar al azar; por ejemplo, por la fila 1, columna 2. • Vamos tomando las cifras de 3 en 3 ignorando los espacios (que sólo están para facilitar la visualización) : 363; 187; 506; 137; 674; 263; 207;510,… • Dividimos por 1000: 0.363; 0.187; 0.506; 0.137; 0.674; 0.263; 0.207;0.510,… 23Investigación de Operaciones 2 2. Generación de números aleatorios Ejemplo de selección al azar de 5 individuos de una lista de 350 usando la tabla • Como el máximo valor tiene 3 cifras, numeramos a todos los individuos con 3 cifras: 001, 002, 003,…, 349, 350. • Empezando por un lugar arbitrario de la tabla, vamos tomando las cifras de 3 en 3 de forma consecutiva. Si, por ejemplo, empezásemos por la fila 2 de la columna 1 tendríamos: 212, 159, 179, 176, 831, 586,…. • Si tenemos un número entre 001 y 350 lo tomamos, de lo contrario lo rechazamos y seguimos. Quedaría entonces: 212, 159, 179, 176, 054 (esto es un ejemplo sencillo de lo que más adelante se definirá como el método de aceptación-rechazo) 24Investigación de Operaciones 2 2. Generación de números aleatorios • Son ´números aleatorios’ por su distribución, no por los valores concretos que toma. Por ejemplo, no tiene sentido decir que el número 11164 es un número aleatorio, sino que todo el conjunto de números lo es. Son número aleatorios porque proceden de una distribución uniforme. • La secuencia de valores que se han generado es ‘independiente’. Por ejemplo, el que se obtenga un valor alto no va a predisponer que el siguiente sea alto o bajo. Si se desordenase la tabla de forma totalmente al azar, seguiría siendo una tabla de números aleatorios. Otra forma de expresar esa independencia es pensando que el generador de números no tiene memoria. Una vez generado un número, lo olvida y no tiene forma de influir en el siguiente. • Como conclusión, podemos decir que los números aleatorios forman entonces una secuencia de valores independientes e idénticamente distribuidos (iid) según una U(0,1). Algunas consideraciones 25Investigación de Operaciones 2 2. Generación de números aleatorios ¿Cómo genera el ordenador valores de U(0,1)? Los valores que se generan no son exactamente de una U(0,1). Es sólo una aproximación muy buena. Se les denominan ‘pseudoaleatorios’. Para la inmensa mayoría de las aplicaciones, son tan buenos como si fuesen verdaderamente aleatorios. Hay varios algoritmos para generar números aleatorios. Cada software puede tener un algoritmo diferente. Es un campo de investigación abierto. El método más popular es el llamado Método Congruencial: 1. Se inicia con un valor inicial (semilla) que puede leerse de una tabla: 𝑥1. 2. Se toma un número 𝑚 muy elevado (dependiendo de la precisión de la máquina), por ejemplo 𝑚 = 2191. El número 𝑚 será el número de valores diferentes que se obtendrá. 3. 𝑥𝑛+1 = (𝑎𝑥𝑛+𝑐)(módulo 𝑚) con 𝑎 < 𝑚, 𝑐 < 𝑚 y relacionados entre si. Es decir, 𝑥𝑛+1 es el residuo, o resto, de dividir (𝑎𝑥𝑛 + 𝑐) entre 𝑚. 4. Fnalmente, 𝑢𝑛+1 = 𝑥𝑛+1/𝑚 El estándar POSIX C define para la función de generación de números pseudoaleatorios los valores de c=12345, m=32768 y a=1103515245 26Investigación de Operaciones 2 2. Generación de números aleatorios Ejemplo: 𝑥𝑛+1 = 𝑎𝑥𝑛 𝑚𝑜𝑑 𝑚, con 𝑎 = 7 5, 𝑚 = 231 − 1 Simulador_U01.xlsx 0,00 0,02 0,04 0,06 0,08 0,10 0,12 0,14 1 2 3 4 5 6 7 8 9 10 Histograma U(0,1) Tema 3- Simulación Investigación de Operaciones - 2 1. Introducción 2. Generación de números aleatorios 3. Métodos de generación de variables aleatorias a. Inversa b. Aceptación-Rechazo 4. Generación de variables aleatorias en Excel. 28 Recordatorio Variables aleatorias discretas: quedan definidas con su espacio muestral y su función de probabilidad o de distribución F. de probabilidad 𝑝 𝑥𝑖 = 𝑃 𝑋 = 𝑥𝑖 , 𝑖 = 1,… , 𝑘Espacio muestral: 𝑋 = {𝑥1, 𝑥2, … , 𝑥𝑘} Ejemplo: Una centralita telefónica tiene 5 líneas. Sea X=número de líneas ocupadas en una unidad de tiempo. Espacio muestral: X={0,1,2,3,4,5} Supongamos que la centralita recibe por término medio 2 llamadas por unidad de tiempo (y la duración de la llamada se completa en esa misma unidad de tiempo). Entonces se puede demostrar que la función de probabilidad es: P(X=0)=0.14 P(X=1)=0.27 P(X=2)=0.27 P(X=3)=0.18 P(X=4)=0.09 P(X=5)=0.05 29 Recordatorio (cont.) Variables aleatorias discretas: quedan definidas con su espacio muestral y su función de probabilidad o de distribución F. de probabilidad 𝑝 𝑥𝑖 = 𝑃 𝑋 = 𝑥𝑖 , 𝑖 = 1,… , 𝑘Espacio muestral: 𝑋 = {𝑥1, 𝑥2, … , 𝑥𝑘} Función de distribución: 𝐹 𝑥𝑖 = 𝑃 𝑋 ≤ 𝑥𝑖 , 𝑖 = 1, … , 𝑘) La F. de distribución de las v.a. discretas tiene escalones en los valores de 𝑥𝑖 de altura 𝑝(𝑥𝑖) 30 Recordatorio (cont.) Variables aleatorias continuas: quedan definidas con su espacio muestral y su función de densidad o de distribución PROBABILIDAD=ÁREA es una función matemática tal que 𝑓(𝑥): función de densidad de probabilidad de la variable aleatoria 𝑋 en el punto 𝑥 Función de densidad 31 Recordatorio (cont.) Variables aleatorias continuas: quedan definidas con su espacio muestral y su función de densidad o de distribución Función de distribución Tiene la misma definición que en el caso discreto: 𝐹 𝑥 = 𝑃 𝑋 ≤ 𝑥 = න −∞ 𝑥 𝑓 𝑣 𝑑𝑣 𝑥 0.45 𝑓(𝑥) ( ) 0.45 x f v dv 𝑥 0.45 𝐹(𝑥) = 𝑃(𝑋 ≤ 𝑥) La función de distribución es continua, monótona no decreciente Tema 3- Simulación Investigación de Operaciones - 2 1. Introducción 2. Generación de números aleatorios 3. Métodos de generación de variables aleatorias a. Inversa b. Aceptación-Rechazo 4. Generación de variables aleatorias en Excel. 33Investigación de Operaciones 2 3.1Método de la inversa Sea 𝑋 una variable aleatoria con Función de Distribución 𝐹(𝑥) entonces la variable aleatoria 𝑈 = 𝐹(𝑋) tiene distribución uniforme en [0,1], es decir 𝑈 ∼ 𝑈(0,1). Este resultado quiere decir, entre otras cosas, que si a partir de una muestra 𝑥1, 𝑥2, … , 𝑥𝑛 de la variable con F. de distribución 𝐹(𝑥) obtenemos los valores 𝑢1 = 𝐹 𝑥1 , 𝑢2 = 𝐹 𝑥2 , … , 𝑢𝑛 = 𝐹 𝑥𝑛 entonces un histograma de 𝑢1, 𝑢2, … , 𝑢𝑛 tendrá el aspecto de una uniforme en el intervalo [0,1]. 34Investigación de Operaciones 2 𝑥𝑖 𝐹 𝑥𝑖 = න −∞ 𝑥𝑖 𝑓 𝑥 𝑑𝑥 0 1 0 1 0 𝐹 𝑋 transforma 𝑓(𝑥) en 𝑈(0,1) 𝑓(𝑥) 3.1Método de la inversa 𝑢𝑖 𝑥𝑖 𝑢𝑖 35Investigación de Operaciones 2 ... 𝑥𝑛𝑥1 𝑥2 𝑥3 ... 𝑥𝑛𝑥1 𝑥2 𝑥3 ... 𝑥𝑛𝑥1 𝑥2 𝑥3 𝑢1 𝑢2 𝑢3 𝑢𝑛 ... 𝑢𝑛𝑢1 𝑢2 𝑢3 𝑓(𝑥) 𝐹 𝑥𝑖 = න −∞ 𝑥𝑖 𝑓 𝑥 𝑑𝑥 La función de distribución nos devuelve valores de la 𝑈(0,1) a partir de valores de 𝑋 3.1Método de la inversa 36Investigación de Operaciones 2 Teorema de la inversión (de una función de distribución) Sea 𝑋 una variable aleatoria con Funciónde Distribución 𝐹(𝑥) continua e invertible, y sea 𝐹−1 su función inversa. Entonces la variable aleatoria 𝑈 = 𝐹(𝑋) tiene distribución uniforme en [0,1], es decir 𝑈 ∼ 𝑈(0,1). Como consecuencia, si 𝑈 ∼ 𝑈(0,1) entonces la variable aleatoria 𝑋 = 𝐹−1(𝑈) satisface la función de distribución 𝐹(𝑋). Este resultado quiere decir que si generamos una muestra de valores de una uniforme 𝑈 0,1 : 𝑢1, 𝑢2, … , 𝑢𝑛, y les aplicamos la función inversa de 𝐹(𝑥) obtendremos los valores 𝑥1 = 𝐹−1 𝑢1 , 𝑥2 = 𝐹 −1 𝑢2 , … , 𝑥𝑛 = 𝐹 −1 𝑢𝑛 . Entonces un histograma de 𝑥1, 𝑥2, … , 𝑥𝑛 tendrá el aspecto de 𝑓 𝑥 = 𝑑𝐹(𝑥)/𝑑𝑥. De esta forma podemos simular valores de 𝑋 de densidad 𝑓 𝑥 a partir de un procedimiento que simule valores de 𝑈(0,1). Éste es un resultado básico de la Simulación por MonteCarlo 3.1Método de la inversa 37Investigación de Operaciones 2 ... 𝑥𝑛𝑥1 𝑥2 𝑥3 ... 𝑥𝑛𝑥1 𝑥2 𝑥3 𝑢1 𝑢2 𝑢3 𝑢𝑛 ... 𝑢𝑛𝑢1 𝑢2 𝑢3 𝑓(𝑥) 𝐹 𝑥𝑖 = න −∞ 𝑥𝑖 𝑓 𝑥 𝑑𝑥 3.1Método de la inversa Tema 3- Simulación Investigación de Operaciones - 2 1. Introducción 2. Generación de números aleatorios 3. Métodos de generación de variables aleatorias 3.1 Inversa 3.1.1 Simulación de una v.a. discreta 3.1.2 Simulación de una v.a. continua 3.2 Aceptación-Rechazo 4. Generación de variables aleatorias en Excel. 39Investigación de Operaciones 2 Ejemplo de simulación de valores de una variable aleatoria discreta finita Sea X=número de líneas ocupadas en una unidad de tiempo. Utilizamos el ejemplo anterior de la centralita con 5 líneas 0.14 si 𝑥 = 0 0.27 si 𝑥 = 1 0.27 si 𝑥 = 2 0.18 si 𝑥 = 3 0.09 si 𝑥 = 4 0.05 si 𝑥 = 5 𝑝(𝑥) Se tiene que la función de probabilidad es Por tanto, se puede calcular fácilmente la función de distribución, resultando: Función de distribución 𝐹(𝑥) = 𝑃(𝑋 ≤ 𝑥) 0 si 𝑥 < 0, pues 𝑃(𝑋 0) = 0 0.14 si 0 ≤ 𝑥 < 1, pues 𝑃 𝑋 ≤ 𝑥 = 𝑃 𝑋 < 0 + 𝑃 𝑋 = 0 0.41 si 1 ≤ 𝑥 < 2, pues 𝑃(𝑋 𝑥) = 𝑃(𝑋 < 1) + 𝑃(𝑋 = 1) 0.68 si 2 ≤ 𝑥 < 3, pues 𝑃(𝑋 𝑥) = 𝑃(𝑋 < 2) + 𝑃(𝑋 = 2) 0.86 si 3 ≤ 𝑥 < 4, pues 𝑃(𝑋 𝑥) = 𝑃(𝑋 < 3) + 𝑃(𝑋 = 3) 0.95 si 4 ≤ 𝑥 < 5, pues 𝑃(𝑋 𝑥) = 𝑃(𝑋 < 4) + 𝑃(𝑋 = 4) 1.00 si 𝑥 ≥ 5. Como 𝐹(𝑋) es continua, definida en toda la recta real, puede ser engorroso estar definiendo todos los intervalos en los que toma valores diferentes. Para simular sólo necesitamos los valores en los puntos del espacio muestral. 3.1Método de la inversa 40Investigación de Operaciones 2 Valores 𝑋 Prob. de cada valor 𝑝(𝑋) Prob. acumulada en cada valor 𝐹(𝑋) 0 0.14 0.14 1 0.27 0.41 2 0.27 0.68 3 0.18 0.86 4 0.09 0.95 5 0.05 1.00 Para hacer simulaciones sólo necesitamos calcular la probabilidad acumulada en cada punto, que es un cálculo inmediato. Es decir, sólo necesitamos 𝐹 𝑥𝑖 = σ𝑗=1 𝑖 𝑝(𝑥𝑖) 3.1Método de la inversa 41Investigación de Operaciones 2 1. Generamos números aleatorios. Por ejemplo, 𝑢 = 0.563 2. Gráficamente: ‘Entramos’ por el eje Y de la función de distribución hasta chocar con el escalón de 𝐹(𝑥). Asignamos el valor de 𝑥 que corresponde. En este ejemplo, 𝑥 = 2 Simulación de una secuencia de valores iid de la variable X Valores 𝑋 Prob. de cada valor 𝑝(𝑋) Prob. acumulada en cada valor 𝐹(𝑋) 0 0.14 0.14 1 0.27 0.41 2 0.27 0.68 3 0.18 0.86 4 0.09 0.95 5 0.05 1.00 0.563 3. Usando la Tabla: localizamos la fila cuyo 𝐹(𝑥) sea el inmediatamente superior a 𝑢 . En nuestro ejemplo sería 𝐹(𝑋) = 0.68. Asignamos el valor de 𝑋 de esa fila. En nuestro caso 𝑥 = 2. 3.1Método de la inversa 42Investigación de Operaciones 2 Con Excel Sus valores se recalculan al presionar F9 Simulación_Centralita.xlsx (Este promedio lo sabríamos calcular analíticamente) 3.1Método de la inversa 43 Simulación_Centralita_buscarv.xlsx BUSCARV (valor_buscado, matriz_buscar_en, indicador_columnas, [ordenado]) Usando BUSCARV Si la función BUSCARV no puede encontrar el valor buscado, la función muestra el valor más grande que es menor o igual al valor buscado. El rango de celdas en las que BUSCARV buscará valor_buscado y el valor devuelto El número de columna (a partir de 1 para la columna situada más a la izquierda de matriz_tabla) que contiene el valor devuelto 44Investigación de Operaciones 2 Valores 𝑋 𝑝(𝑋) 𝐹(𝑋) 0 0.14 0.14 1 0.27 0.41 2 0.27 0.68 3 0.18 0.86 4 0.09 0.95 5 0.05 1.00 3.1Método de la inversa 289517575310511075495679935458 Ejemplo usando valores aleatorios de una tabla (como en el examen) Simula 5 valores de la distribución que se muestra usando la siguiente secuencia de números aleatorios, comenzando en la posición 3. Como F(x) está con dos decimales, bastará simular valores de la U(0,1) con dos decimales Tabla U(0,1) x 95 0.95 4 17 0.17 1 57 0.57 2 53 0.53 2 10 0.10 0 Tema 3- Simulación Investigación de Operaciones - 2 1. Introducción 2. Generación de números aleatorios 3. Métodos de generación de variables aleatorias 3.1 Inversa 3.1.1 Simulación de una v.a. discreta 3.1.2 Simulación de una v.a. continua 3.2 Aceptación-Rechazo 4. Generación de variables aleatorias en Excel. 46Investigación de Operaciones 2 El desarrollo es más analítico, pues debemos obtener la expresión de 𝐹−1. Veámoslo con un ejemplo, simulando la distribución Exponencial Ejemplo: Simulación de una Exponencial X ∼ 𝐸𝑥𝑝(𝜆) Sea T= tiempo (minutos) entre llegadas a un puesto de servicio. Si el tiempo entre dos clientes consecutivos sigue una distribución exponencial de media 𝐸 𝑋 = 𝜇 = 5 minutos (minutos/cliente). Entonces 𝜆 = 1 𝜇 = 0.2 clientes /minuto: x5 x3 x2 x1x4x6 tiempo F de densidad: 𝑓 𝑥 = 𝜆𝑒−𝜆𝑥 = 0.2 𝑒−0.2𝑥 F de distribución: F 𝑥 = 𝑃 𝑋 ≤ 𝑥 = 1 − 𝑒−𝜆𝑥 = 1 − 𝑒−0.2𝑥 3.1Método de la inversa Ejemplo de simulación de valores de una variable aleatoria continua 47Investigación de Operaciones 2 Ejemplo (cont.): Simulación de una Exponencial X ∼ 𝐸𝑥𝑝(𝜆) F 𝑥 = 1 − 𝑒−𝜆𝑥 Para calcular la función inversa despejamos 𝑥 en la ecuación 𝑢 = 𝐹(𝑥) 𝐹 𝑥 = 𝑢 ⇒ 1 − 𝑒−𝜆𝑥 = 𝑢 ⇒ 𝑒−𝜆𝑥 = 1 − 𝑢 ⇒ −𝜆𝑥= ln 1 − 𝑢 ⇒ 𝑥 = − ln(1 − 𝑢) 𝜆 … y ya tenemos el método de simulación para una exponencial PASO 1: simulamos de U(0,1) PASO 2: transformamos con 𝐹−1(𝑢) 𝑥 = 𝐹−1 𝑢 = − ln(1−𝑢) 𝜆 3.1Método de la inversa 48Investigación de Operaciones 2 =ALEATORIO() =-LN(1-D8)/$E$5 Simulación_EjemploExponencial.xlsx 3.1Método de la inversa 49Investigación de Operaciones 2 Problemas: Calcula la función inversa e implementa en Excel la simulación de las variables aleatorias siguientes, donde 𝐹(𝑥) es la Función de Distribución. 1 𝐹 𝑥 = 1 − 𝑒 − 𝑥 𝛽 𝛼 𝛼, 𝛽 > 0; 𝑥 ≥ 0 Solución: 𝑥 = 𝛽 − ln 1 − 𝑢 1 𝛼 2 𝐹 𝑥 = 1 − 𝑒−𝑒 (𝑥−𝑎) , 𝑎 > 0; 𝑥 ≥ 0 Solución: 𝑥 = 𝑎 + ln(− ln(1 − 𝑢)) 3 𝐹 𝑥 = 1 − 𝑒− 𝑥2 2 ; 𝑥 ≥ 0 Solución: 𝑥 = −2 ln(1 − 𝑢) 4 𝐹 𝑥 = 1 − exp −𝜆𝑥 𝛼; 𝜆, 𝛼 > 0, 𝑥 > 0 Solución: 𝑥 = − ln 1 − 𝑢1/𝛼 𝜆 6 𝑓 𝑥 = 𝑥𝑒−𝑥; 𝐹 𝑥 = 1 − 𝑒−𝑥 1 + 𝑥 ; 𝑥 > 0 Solución: por métodos numéricos 5 𝑋 ∼ 𝑈 𝑎, 𝑏 Solución: 𝑥 = 𝑎 + 𝑏 − 𝑎 𝑢 3.1Método de la inversa 50Investigación de Operaciones 2 Podemos utilizar las funciones inversas que contiene Excel INV.BINOM Función inversa de una Binomial INV.CHICUAD Función inversa de la ji-cuadrado INV.F Función inversa de la F de Fisher INV.GAMMA Función inversa de la Gamma INV.LOGNORM Función inversa de la Lognormal INV.NORM Función inversa de la Normal INV.NORM.ESTAND Función inversa de la Normal estándar INV.T Función inversa de la t de Student Ver fichero Funciones inversas de excel.xlsx para ver cómo se usan. 3 (a) Método de la inversa Nota: algunas de estas funciones no proporcionan valores para 𝑢 = 0 y 𝑢 = 1, tal vez por la forma en que han sido programadas. 51Investigación de Operaciones 2 3.1Método de la inversa Distribución log-normal Resumimos la log-normal, pues suele haber confusión con su notación. Se dice que 𝑋 sigue una distribuciónlognormal 𝑋 ∼ 𝐿𝑛𝑁(𝜇, 𝜎) si 𝑌 = ln 𝑋 sigue una distribución normal 𝑌 ∼ 𝑁(𝜇, 𝜎). Hay que tener cuidado con la notación de los parámetros, pues 𝜇 y 𝜎 son la media y desviación típica de ln(𝑋). La media y desviación típica de 𝑋 son: 𝑚 = 𝐸 𝑋 = 𝑒𝜇+ 𝜎2 2 𝑣 = Var 𝑋 = 𝑒2𝜇+𝜎 2 × (𝑒𝜎 2 − 1) 𝜇 = ln 𝑚 1 + 𝑣/𝑚2 𝜎 = ln 1 + 𝑣 𝑚2 Se suele denominar: 𝜇: parámetro de localización 𝜎: parámetro de escala En Excel: para definir la lognormal piden: ‘media’=𝜇 ‘desviación estándar’=𝜎 pues especifican que son de ln(𝑋) Tema 3- Simulación Investigación de Operaciones - 2 1. Introducción 2. Generación de números aleatorios 3. Métodos de generación de variables aleatorias 3.1 Inversa 3.2 Aceptación-Rechazo 4. Generación de variables aleatorias en Excel. 53Investigación de Operaciones 2 El método de la inversa puede a veces ser difícil de implementar. Especialmente si: • La solución de 𝑥 = 𝐹−1(𝑢) no tiene forma explícita. • La v.a. es discreta pero de rango infinito (Poisson) Existen muchos otros métodos para simular valores de una determinada distribución. El más popular es el método de Aceptación- Rechazo. Existen, a su vez, varias alternativas de este método. Por simplicidad, vamos a describirlo asumiendo que: • La v.a. es continua. • Está definida en el intervalo [a,b]. • En dicho intervalo alcanza un máximo de valor M. 3.2 Método de aceptación-rechazo 54Investigación de Operaciones 2 𝑀 = max 𝑓 𝑥 La intuición de este método es la siguiente: Imaginemos nuestra función de densidad 𝑓 𝑥 encerrada en el rectángulo 𝑎, 𝑏 × [0,𝑀] y que lanzamos dardos hacia dicho rectángulo uniformemente distribuidos. Muestreo por aceptación-rechazo (Rejection sampling) Ahora eliminamos aquellos dardos que caen fuera del área bajo nuestra función de densidad (puntos negros). Entonces, los restantes dardos (puntos azules) se distribuirán uniformemente dentro del área bajo la curva. Por tanto, habrá más en las zonas de más densidad y menos en las zonas de menos densidad. Entonces, puede demostrarse que las abscisas de dichos puntos azules forman una secuencia iid de una v.a. de densidad 𝑓(𝑥). Es decir 𝑋 ∼ 𝑈1 (𝑈2< 𝑓 𝑈1 𝑎 𝑏 3.2 Método de aceptación-rechazo 55Investigación de Operaciones 2 MÉTODO: Muestreo por aceptación-rechazo (Rejection sampling) El método consiste en los siguientes pasos Paso 2: Se generan dos números aleatorios 𝑢1 y 𝑢2 independientes. Es decir, 𝑈𝑖 ∼ 𝑈 0,1 , 𝑖 = 1,2. Paso 1: A partir de 𝑓(𝑥) se obtiene 𝑎, 𝑏, y 𝑀 Paso 3: Se calcula 𝑥∗ = 𝑎 + 𝑏–𝑎 𝑢1 e 𝑦 ∗ = 𝑀𝑢2 (éstas serían las coordenadas donde caen los dardos) Paso 4: Si 𝑦∗ ≤ 𝑓(𝑥∗) entonces 𝑥∗ pertenece a la distribución buscada. En caso contrario, se rechaza. Se repiten los Pasos 2-4 hasta que se tiene el tamaño muestral deseado. 𝑀 (𝒙∗, 𝒚∗) 𝑎 𝑏 3.2 Método de aceptación-rechazo 56Investigación de Operaciones 2 Ejemplo: Implementa en Excel un procedimiento para simular la distribución 𝑓 𝑥 = 𝑥𝑒−𝑥; 𝐹 𝑥 = 1 − 𝑒−𝑥 1 + 𝑥 ; 𝑥 > 0 utilizando el método de Aceptación-Rechazo El dominio de la distribución no está acotado (𝑥 > 0 ⇒ 𝑎 = 0, 𝑏 = ∞ ) . Sin embargo, podemos usar como extremo superior un número suficientemente alto tal que esté en una zona de muy baja probabilidad, y que en la práctica no se van a observar. Por tanto no nos importará que no salgan en la simulación. 0,0000 0,0500 0,1000 0,1500 0,2000 0,2500 0,3000 0,3500 0,4000 0 5 10 15 20 25 Usaremos 𝑏 = 10 Como valor de M: 0.37 (se obtiene con la primera derivada). Podríamos usar otro valor superior, pero el método se hace menos eficiente. 3.2 Método de aceptación-rechazo 57Investigación de Operaciones 2 =+$E$7+($E$8-$E$7)*D10 =+E10*$E$6 =+F10*EXP(-F10) =SI(G10<=H10;F10;"") 3.2 Método de aceptación-rechazo Simulación_rejectionSampling1.xlsx 58Investigación de Operaciones 2 En otra Hoja implementamos un “truco” para quitarnos los espacios en blanco HOJA 1 HOJA 2 =+Hoja1!I10 3.2 Método de aceptación-rechazo 59Investigación de Operaciones 2 =SI(A1<>""; FILA(A1);"") =INDICE(A:A;C1;1) =K.ESIMO.MENOR(B:B; FILA(A1)) =SI.ERROR(D1;"") 3.2 Método de aceptación-rechazo 60Investigación de Operaciones 2 Ejemplo: En simulación es frecuente utilizar la distribución Beta para modelizar proporciones. La distribución Beta es continua y definida en el intervalo [0,1]. Depende de dos parámetros 𝛼 y 𝛽. Dependiendo de sus valores, la forma de la distribución cambia. La densidad es 𝑓 𝑥 = 𝐾 𝛼, 𝛽 𝑥𝛼−1 1 − 𝑥 𝛽−1 3.2 Método de aceptación-rechazo 61Investigación de Operaciones 2 Un aerogenerador de 1 MW de potencia nominal no siempre funciona a pleno rendimiento, pues depende de la velocidad del viento. Para modelizar la proporción de su potencia nominal que genera en cada instante se elige una distribución Beta(6,2), de densidad 𝑓 𝑥 = 42𝑥5(1 − 𝑥). Implementa en Excel un procedimiento para simular sus valores utilizando el método de aceptación-rechazo (M=2.73) 3.2 Método de aceptación-rechazo Ejemplo (cont): Simulación_rejectionSampling_Beta.xlsx 62Investigación de Operaciones 2 3.2 Método de aceptación-rechazo Ejercicios: Utilizando la siguiente secuencia de números aleatorios (usa grupos de 2 dígitos) 41956 43720 77816 16008 60441 76696 01583 42059 56749 24144 42644 genera 3 valores de las variables aleatorias con las siguientes funciones de densidad, utilizando el método de aceptación-rechazo. 𝑎 𝑓 𝑥 = 0.5𝑥 ; 0 ≤ 𝑥 ≤ 2 𝑏 𝑓 𝑥 = 3𝑥2; 0 ≤ 𝑥 ≤ 1 𝑐 𝑓 𝑥 = 3 2 1 − 𝑥2 ; 0 ≤ 𝑥 ≤ 1 𝑑 𝑓 𝑥 = 2 1 − 1 𝑥2 ; 1 ≤ 𝑥 ≤ 2 𝑒 𝑓 𝑥 = 2𝑥𝑒−𝑥 2 ; 𝑥 ≥ 0 𝑓 𝑓 𝑥 = 1 24 𝑥 1 − 𝑥 12 ; 0 ≤ 𝑥 ≤ 12 Tema 3- Simulación Investigación de Operaciones - 2 1. Introducción 2. Generación de números aleatorios 3. Métodos de generación de variables aleatorias a. Inversa b. Aceptación-Rechazo 4. Generación de variables aleatorias en Excel. 64Investigación de Operaciones 2 Excel tiene funciones específicas para simular variables aleatorias. Se hace mediante un paquete, o complemento, específico de Excel denominado Análisis de datos. Este complemento se encuentra, por defecto, desinstalado, y hay que instalarlo. Se hace fácilmente. https://www.youtube.com/watch?v=CCyQPn23IME Esto es lo que queremos tener tras la instalación 4. Generación de variables aleatorias en Excel. https://www.youtube.com/watch?v=CCyQPn23IME 65Investigación de Operaciones 2 4. Generación de variables aleatorias en Excel. 66Investigación de Operaciones 2 4. Generación de variables aleatorias en Excel. 68Investigación de Operaciones 2 Ejemplo: Simular datos discretos con una determinada distribución de probabilidad 4. Generación de variables aleatorias en Excel. 69Investigación de Operaciones 2 4. Generación de variables aleatorias en Excel. 70Investigación de Operaciones 2 El resto de las distribuciones son fáciles de implementar (la opción ‘Frecuencia relativa’ no nos interesa) 4. Generación de variables aleatorias en Excel. 71Investigación de Operaciones 2 Ejemplo: Los clientes acuden a un puesto de servicio donde realizan las siguientes actividades, cada una con una duración (minutos) que es una variable aleatoria (el tiempo de atención nunca es igual para cada cliente) Actividad Variable aleatoria Atención en la ventanilla 1 𝑁(3, 1) Atención en la ventanilla 2 𝑈(3,5) Atención en la ventanilla 3 𝑈(2; 10) Notación:𝑁(𝜇, 𝜎) Obtenga mediante simulación la distribución de la variable: Tiempo total de atención. Calcule su media y su mediana. ¿Qué tiempo total sólo es superado el 5% de las veces? Utilice el complemento de Excel de Análisis de Datos. 4. Generación de variables aleatorias en Excel. Simulacion_VentanillasExcel.xlsx 72Investigación de Operaciones 2 4. Generación de variables aleatorias en Excel. Simulacion_VentanillasExcel.xlsx 73Investigación de Operaciones 2 4. Generación de variables aleatorias en Excel. Simulacion_VentanillasExcel.xlsx74Investigación de Operaciones 2 4. Generación de variables aleatorias en Excel. Simulacion_VentanillasExcel.xlsx 75Investigación de Operaciones 2 4. Generación de variables aleatorias en Excel. Es bimodal Simulacion_VentanillasExcel.xlsx 76Investigación de Operaciones 2 En media necesitan casi 13 minutos (¿lo sabíamos ya?). Hay un 5% de clientes que demoran más de 17 minutos. Sólo el 5% de los clientes necesitan menos de 9 minutos para completar el proceso. Por tanto, el 90% de los clientes necesitan entre 8.93 y 17.27 minutos. Ventanilla 1 Ventanilla 2 Ventanilla 3 TOTAL 1.2296 4.9731 9.7952 16.00 3.2541 4.4020 6.7863 14.44 Media 12.89 minutos 3.3798 3.2477 4.2938 10.92 Mediana 12.69 minutos 2.2470 4.2421 8.0580 14.55 Percentil 95 17.27 minutos 1.4934 4.8779 6.7140 13.09 Percentil 5 8.93 minutos 1.8102 4.4728 4.4752 10.76 4.1308 3.1061 3.2815 10.52 3.0503 4.1776 2.7600 9.99 2.8580 3.3719 8.1276 14.36 3.6782 3.5932 2.1287 9.40 0.9742 3.4259 9.2800 13.68 4.0357 3.7108 5.9669 13.71 2.4541 4.6893 8.6674 15.81 1.9406 3.7066 4.7301 10.38 … hasta 500 datos 4. Generación de variables aleatorias en Excel. Simulacion_VentanillasExcel.xlsx
Compartir