Está en la página 1de 21

Instituto Tecnológico del Istmo

“2020, Año de Leona Vicario, Benemérita Madre de la Patria”

MATERIA:
SIMULACIÓN

TITULAR:
ING. RAMON CORRES SHIBAYAMA

CARRERA:
ING. INDUSTRIAL

UNIDAD 2.
SIMULACIÓN DE VARIABLES ALEATORIAS.

SEMESTRE:

GRUPO:
“Q”

ALUMNO:
DIANA MONSERRAT JIMENEZ LUNA

PERIODO ESCOLAR:
ENERO/JUNIO 2021

HEROICA CIUDAD DE JUCHITÁN DE ZARAGOZA OAXACA A 14 DE MAYO


DE 2021.
Unidad Simulacion
de
2. Variables Aleatorias

En simulación, para poder realizar las corridas de los sistemas o generar los
modelos se necesita de variables aleatorias, que a su vez requieren de
números pseudoaleatorios. Un número pseudoaleatorio es un número U (0,1)
producido por un algoritmo matemático. Es deseable que los números
pseudoaleatorios uniformes posean las siguientes características:
1. Uniformemente distribuidos.
2. Estadísticamente independientes.
3. Reproducibles.
4. Periodo largo.
5. Generados mediante un método rápido.
6. Generados mediante un método que no requiera mucha capacidad de
almacenamiento de la computadora.
Y otras características son que 𝜇 = 1/2, 𝛿 2 = 1/12 y debe existir 𝐼𝑛𝑑𝑒𝑝𝑒𝑛𝑑𝑒𝑛𝑐𝑖𝑎
𝑒𝑛𝑡𝑟𝑒 𝑣𝑎𝑟𝑖𝑎𝑏𝑙𝑒𝑠. A los conjuntos de números pseudoaleatorios también se les
conoce como ri y se pueden generar mediante distintos métodos, además
de que para ser representativos se les aplican distintas pruebas estadísticas
como:
Prueba de medias
Prueba de varianza
Pruebas de uniformidad
• Chi-cuadrada
• Kolmogorov-Smirnov

Pruebas de independencia
• Corridas arriba y abajo
• Corridas arriba y debajo de la media
• Prueba póker
• Prueba de series
• Prueba de huecos

La función ALEATORIO () de Excel, Las hojas de cálculo como Excel (y cualquier


lenguaje de programación estándar) son capaces de generar números
pseudoaleatorios provenientes de una distribución uniforme entre el 0 y el 1. Este
tipo de números pseudoaleatorios son los elementos básicos a partir de los cuales
se desarrolla cualquier simulación por ordenador. En Excel, es posible obtener un
número pseudoaleatorio -proveniente de una distribución uniforme entre el 0 y el
1- usando la función ALEATORIO:
Los números generados mediante la función ALEATORIO tienen dos propiedades
que los hacen equiparables a números completamente aleatorios:
1. Cada vez que se usa la función ALEATORIO, cualquier número real entre 0 y 1
tiene la misma probabilidad de ser generado (de ahí el nombre de distribución
uniforme).
2. Los diferentes números generados son estadísticamente independientes unos
de otros (es decir, el valor del número generado en un momento dado no
depende de los generados con anterioridad).
La función ALEATORIO es una función volátil de Excel. Esto significa que cada vez
que pulsamos la tecla F9 o cambiemos alguno de los inputs del modelo, todas las
celdas donde aparezca la función ALEATORIO serán recalculadas de forma
automática.

Algunos de los métodos utilizados para la generación de los números aleatorios


son:
Algoritmo de cuadrados medios:
• Inicie con un número entero positivo de 4 (2n) dígitos y llámele Z0 (X0),
llamado semilla.
• Eleve Z0 (X0) al cuadrado para obtener un número de 8 (4n) dígitos. Si es
necesario, agregue ceros a la izquierda para hacerlo exactamente de 8
dígitos.
• Tome los 4 (2n) dígitos centrales como el próximo número de 4 (2n) dígitos
y llámele Z1(X1).
• Coloque el punto decimal a la izquierda de Z1(X1) para obtener el primer
número pseudoaleatorio U (0,1).
• Continué generando de esta forma números pseudoaleatorios U (0,1)

Algoritmo de productos medios:


• Seleccionar semilla (Xo) con D dígitos (D>3)
• Seleccionar una semilla (X1) con D dígitos (D>3)
• Sea Y0=X0*X1 Sea X2 los D dígitos del centro y sea ri=.0 D dígitos del centro.
• 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 i=1,2, 3, n.
• Seguir generando números aleatorios.

Algoritmo de multiplicador constante:


• Selecciona una semilla (X0) con D dígitos (D > 3).
• Seleccionar una constante (a) con D dígitos (D > 3).
• Sea Y0 = a * X0; sea X1 = los D dígitos del centro y sea r1 = 0.D dígitos del
centro.
• 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.
• Repetir el paso 4 hasta obtener los n números ir deseados.

Algoritmo lineal:
Este algoritmo genera una secuencia de números enteros por medio de la
ecuación 𝑋𝑖 + 1 = (𝑎𝑋𝑖 + 𝑐) 𝑚𝑜𝑑(𝑚) 𝑖 = 0,1,2,3, …, 𝑛
Donde:
• Xo>0, semilla
• a=1+4k, constante multiplicativa, k debe ser entero
• c primo a m, constante aditiva
• m=2^g es el módulo, donde g es un entero
A partir de los enteros generados por la ecuación anterior, para obtener los
números pseudoaleatorios (0,1) se usa la ecuación
𝑟𝑖 = 𝑋𝑖 𝑚 − 1 𝑖 = 0,1,2,3, …, n.
Algoritmo congruencial multiplicativo:
𝑋𝑖 + 1 = (𝑎𝑋𝑖)𝑚𝑜𝑑(𝑚) 𝑖 = 0,1,2,3, …, 𝑛

Donde:
• Xo debe ser un número impar
• a=3+8k, constante multiplicativa, k= 0, 1, 2, 3, …
• m=2^g es el módulo, donde g es un entero.
𝑟𝑖 = 𝑋𝑖 𝑚 − 1 𝑖 = 0,1,2,3, …, 𝑛

Algoritmo congruencial aditivo:


𝑋𝑖 = (𝑋𝑖−1 + 𝑋𝑖−𝑛) 𝑚𝑜𝑑(𝑚) 𝑖 = 𝑛 + 1, 𝑛 + 2, 𝑛 + 3, …, 𝑁
Para este algoritmo se requiere tener una secuencia previa de n número
enteros 𝑋1,𝑋2,𝑋3… y para obtener los números pseudoaleatorios se usa:
𝑟𝑖 = 𝑋𝑖 𝑚 − 1 𝑖 = 0,1,2,3, …, n

Algoritmo congruencial cuadrático


𝑋𝑖 + 1 = (𝑎𝑋𝑖 2 + 𝑏𝑋𝑖 + 𝑐) 𝑚𝑜𝑑(𝑚) 𝑖 = 0,1,2,3, …, 𝑁
Donde:
• a debe ser un número par
• c debe ser un número impar
• m=2^g, g es un entero 𝑟𝑖 = 𝑋𝑖 𝑚 − 1 𝑖 = 0,1,2,3, …, 𝑛

Algoritmo de Blum y Shub


𝑋𝑖 + 1 = (𝑋𝑖 2) 𝑚𝑜𝑑(𝑚) 𝑖 = 0,1,2,3, …, 𝑛 𝑟𝑖 = 𝑋𝑖 𝑚 − 1 𝑖 = 0,1,2,3, …, n
La generación de variables aleatorias es un proceso que enfrenta la simulación
debido a que cuenta con variables con un comportamiento probabilístico. En
donde dicha variabilidad se pudiera clasificar dentro de alguna distribución de
probabilidad conocida. Las distribuciones de probabilidad pueden ser discretas
o continuas, en donde las distribuciones discretas, la aleatoriedad de la variable
sólo puede tomar valores enteros.
Las distribuciones más utilizadas son: Bernoulli, Uniforme, binomial, Poisson,
geométrica. En cambio, las distribuciones continuas modelan la aleatoriedad en
eventos en los cuales los valores de las variables pueden estar dentro de un rango
de valores reales. Las funciones continuas más utilizadas son: uniforme,
exponencial, Weibull, triangular, y la normal.
Una variable aleatoria es una variable cuyo valor depende del resultado de un
experimento aleatorio. Las variables aleatorias discretas toman un conjunto de
valores finitos, los cuales son enteros no negativos (usualmente utilizados para
conteo). La distribución de probabilidad es un conjunto de probabilidades para
los posibles distintos sucesos o eventos que pueden darse en un experimento
aleatorio. Es decir, nos proporciona cómo distribuir la probabilidad entre los
sucesos que pueden producirse. Existe un gran número de distribuciones de
probabilidad para variables aleatorias que únicamente tiene valores enteros no
negativos. Las distribuciones discretas de probabilidad son útiles cuando se usan
procesos de conteo en muestras aleatorias.

• Variables aleatorias discretas


• Método de Inversión
Supongamos que deseamos generar el valor de una variable aleatoria discreta
X con función de probabilidad:
Variables aleatorias continuas
Método de inversión
Un modelo de simulación involucra variables aleatorias, las cuales siguen
distribuciones de probabilidad teóricas o empíricas. Para simular las variables se
requiere de algunos procedimientos que transformen las variables a la
distribución de probabilidad que deseemos usar.
Algunos de estos métodos son:
Método de la transformada inversa:
La transformada inversa en un método que usa la distribución acumulada F(x) de
la distribución que se desea simular (variables aleatorias continuas). La función
F(x) se encuentra en el intervalo de cero a uno, y es posible generar un número
pseudoaleatorio R y tratar de determinar el valor de la variable aleatoria para la
cual su distribución acumulada es igual a R. Se determina al resolver la siguiente
ecuación:
𝐹(𝑥) = 𝑅

𝑥 = 𝐹 −1 (𝑅)

Su método como tal, consiste en:


1. Definir la función de densidad F(x) que represente la variable a modelar.
2. Calcular la función acumulada F(x).
3. Despejar la variable aleatoria x y obtener la función acumulada inversa 𝐹(𝑥)
−1.
4. Generar variables aleatorias x, sustituyendo valores con números
pseudoaleatorios en la función acumulada inversa.
Este método puede usarse también para simular variables aleatorias discretas
como en las distribuciones de Poisson, Bernoulli, binomial, geométrica, etc. La
generación se lleva a cabo mediante la probabilidad acumulada P(x).
El método cambia a:
1. Calcular todos los valores de la distribución de probabilidad p(x) de la
variable a modelar.
2. Calcular todos los valores de la distribución acumulada P(x).
3. Generar números pseudoaleatorios
4. Comparar con el valor de P(x) y determinar qué valor de x corresponde a
P(x).

Método de convolución
En algunas distribuciones de probabilidad la variable a simular, Y, puede
generarse mediante la suma de otras variables aleatorias X de manera más
rápida que a través de otros métodos. Entonces el método de convolución se
puede expresar como:
𝑌 = 𝑋1 + 𝑋2 + ⋯ + 𝑋𝑘
Las variables aleatorias de Erlang, normal, binomial y Poisson pueden generarse
a través de este método.
Erlang
La variable aleatoria k. Eerlang con media 1/λ puede producirse a través de la
generación de k variables exponenciales con media 1/kλ:
𝑌 = 𝑋1 + 𝑋2 + ⋯ + 𝑋k
Distribución normal
La variable aleatoria normal con media µ y desviación estándar σ puede
generarse
mediante el teorema de límite central:
𝑌 = 𝑋1 + 𝑋2 + ⋯ + 𝑋𝑘
Al sustituir Xi por números pseudoaleatorios se obtiene:

Despejando Xi se tiene: 𝑥 = 𝑁𝑖 = [∑ (𝑟𝑖) − 6 (σ) + 12 𝑖=1 µ].

Distribución binomial
Las variables pueden ser generadas a través de la suma de N variables
aleatorias con distribución de Bernoulli con parámetro p. 𝑌 = 𝐵𝑗 = 𝐵𝐸1 + 𝐵𝐸2 + ⋯
+ 𝐵𝐸N.
Método de composición
El método de composición permite generar variables aleatorias x cuando éstas
provienen de una función de densidad f(x) que puede expresarse como la
combinación convexa de m distribuciones de probabilidad fi(x). La combinación
convexa puede expresarse como:
𝑓(𝑥) = ∑𝑓𝑖(𝑥)𝐼𝑎(𝑥)
Donde
Ia (x)= 1 si x E A
Ia (x)= 0 si x no E A
Las distribuciones más usadas en este método son la triangular, la de Laplace y
la trapezoidal. El procedimiento general de la generación es:
1. Calcular la probabilidad de cada una de las funciones f(x).
2. Asegurarse que cada función f(x) se función de densidad.
3. Obtener mediante el método de la transformada inversa, expresiones para
generar variables aleatorias de cada una de las distribuciones.
4. Generar un número pseudoaleatorio ri.
5. Seleccionar la función generadora correspondiente a f(x).
6. Generar un segundo número pseudoaleatorio ri y sustituirlo en la función
generadora para obtener Y.

• Distribución triangular
A partir de la función triangular

• Calcular la probabilidad de cada uno de los segmentos de la función


• Ajustar a funciones de densidad

• Expresar función como combinación convexa

• Aplicar el método de la transformada inversa

• Despejar x y sustituir ri en F(x)


• Expresar la ecuación con la función indicadora

Método de transformación directa


Se basa en el teorema de Pitágoras y se usa para generar variables
aleatorias normales.

• La suma de v variables aleatorias normales estándar sigue una


distribución Chicuadrada con v grados de libertad
• La función de densidad de una variable aleatoria chi-cuadrada con 2
grados de libertad es la misma de una distribución exponencial con media
igual a dos. Por lo que con la ecuación obtenida por la transformada
inversa y sustituyéndola con la ecuación anterior, queda:

• Se generan variables aleatorias uniforme del ángulo entre o y 2pi mediante


el método de la transformada inversa.

• Sustituyendo

• Para cualquier variable aleatoria N

• Al despejar N y sustituir el valor de z obtenido previamente:


Construcción de funciones en Excel mediante VBA

Dado que en determinadas simulaciones las variables a simular no siguen


ninguna de las distribuciones que incorporan las aplicaciones de hoja de
cálculo, se debe proceder a su simulación. Básicamente, existen dos
posibilidades:
• Realización manual de los cálculos necesarios en la propia hoja de
cálculo.
• Programación de la función adecuada mediante VBA.

La primera de las técnicas puede suponer el problema de que existan cálculos


intermedios que es necesario realizar para obtener el valor final. En este caso,
para cada tirada aleatoria habría que recalcular la simulación y guardarla
mediante macros en una tabla, en la cual se vería solamente el valor obtenido.
Adicionalmente, en el caso de que se necesitara efectuar otra simulación
mediante la misma distribución de probabilidades se deberían rehacer los
cálculos nuevamente. Por otra parte, esta posibilidad tiene como ventaja que
no precisa conocimiento alguno en programación para poder efectuarla.
La segunda técnica, que implica conocer programación en Visual Basic para
Aplicaciones (VBA), plantea la ventaja de que mediante una función que se
añade a la hoja de cálculo como cualquier otra función de las que trae
incorporadas la propia aplicación, puede ser llamada tantas veces como sea
necesario y en tantas celdas como sea preciso simular sin ninguna limitación.
Adicionalmente, se puede proteger su contenido para que no sea visible por
el usuario de forma que éste sólo tenga que conocer la sintaxis de la función
para su utilización. De esta forma, también, se evitan manipulaciones que
puedan arrojar resultados incorrectos.

Existen diferentes tipos de métodos para generar variables aleatorias, pero


también existen casos especiales para generar estas los cuales son:
La distribución de Poisson parte de la distribución binomial:
Cuando en una distribución binomial se realiza el experimento un número "n"
muy elevado de veces y la probabilidad de éxito "p" en cada ensayo es
reducida, entonces se aplica el modelo de distribución de Poisson: Se tiene
que cumplir que:
• " p " < 0,10
• " p * n " < 10

La distribución de Poisson sigue el siguiente modelo:

También podría gustarte