Está en la página 1de 12

SIMULACIÓN

GERENCIAL
Generación de números y variables aleatorias
• GENERACIÓN DE NÚMEROS Y VARIABLES
ALEATORIAS

1. Índice
1. Introducción
2. Propiedades de los números aleatorios
3. Técnicas de generación de números aleatorios
3.1. Método lineal de congruencias
4. Generación de variables aleatorias
4.1. Variables uniformes
4.2. Variables exponenciales
4.3. Variables triangulares
Variables continuas empíricas.

2. Introducción
El propósito del presente documento es presentar a los estudiantes las diferentes técnicas
para generar números aleatorios de forma analítica (sin apoyo de software especializado), así
como las técnicas apropiadas para transformar dichos números en variables aleatorias con una
distribución de probabilidad y parámetros definidos.

Adicionalmente, se presentará al estudiante una serie de ejercicios relacionados para reforzar


los conocimientos adquiridos en el desarrollo del módulo.

3. Objetivo general
Al finalizar la lectura, los estudiantes sabrán cuáles son los principales métodos para generar
números aleatorios y transformar estos en variables con una distribución de probabilidad
definida, de igual forma reconocerá cómo estas técnicas están estrechamente relacionadas
con la simulación de Montecarlo.

Al finalizar esta semana de aprendizaje:

1. El estudiante aprenderá a generar números aleatorios a través de la técnica del método


lineal de congruencias.

El estudiante sabrá cómo transformar un número aleatorio en una variable aleatoria específica
con los parámetros deseados.

2 [ POLITÉCNICO GRANCOLOMBIANO]
4. Desarrollo temático

4.1 Recomendaciones académicas.


Se recomienda al estudiante realizar la lectura de la cartilla, en la cual se encuentra toda la
información relevante que se evaluará en la semana, adicionalmente se le recomienda revisar
las teleconferencias así como las video-diapositivas, pues estas son un medio que puede
aclarar las dudas generadas con la lectura o también dar soporte a los temas expuestos en la
misma.

Finalmente, se le recuerda al estudiante realizar los ejercicios planteados y sugeridos por el


tutor ya que estos, a pesar de no tener un valor porcentual en la nota, sí harán que su
formación sea completa y pueda ser reforzada de forma práctica.

4.2 Desarrollo de cada una de las unidades temáticas.

1. Introducción

En el presente documento se darán a los estudiantes las diferentes herramientas para generar
números aleatorios de forma analítica. Adicionalmente, conocerán las herramientas para
transformar dichos números aleatorios en variables aleatorias que sigan una distribución
probabilística definida.

Tener claridad en los conceptos básicos relacionados con la generación de números y variables
aleatorias, es un tema relevante y fundamental en la simulación de Montecarlo, pues
justamente la simulación se basa en que los eventos son aleatorios o estocásticos y, por tanto,
debe ser claro cómo es posible generar dichos valores en la simulación.

Dentro de los conceptos básicos relacionados con esta temática, el estudiante recordará
cuáles son las principales distribuciones de probabilidad así como cuáles son los parámetros
que la caracterizan, pues esto es fundamental justamente para la transformación de los
números aleatorios en variables aleatorias.

2. Propiedades de los números aleatorios

Para que un conjunto de números pueda ser clasificado como números aleatorios, estos deben
tener dos propiedades estadísticas fundamentales:

- Uniformidad: Se refiere a que todo número tiene la misma probabilidad de ser escogido
o generado (espacio equiprobable)
- Independencia: la elección de un número no depende de la elección de otro.

[ SIMULACIÓN GERENCIAL] 3
Ejemplo:

Imagine que a usted le presentan los siguientes números:

2-4-6-8-10-12-14-16
Puede notar dos cosas:

- La probabilidad de que el número 1 o el número 3 o el número 7 esté en ese conjunto


es cero, por lo tanto, la primera propiedad no se está cumpliendo, pues la probabilidad
de que apareciera cualquier número debería ser la misma para todos los números.
- Si cree que el siguiente número que debe aparecer en la secuencia es 18, es correcto y
muy seguramente acertó porque los números anteriores le dieron una idea de cuáles
serían los siguientes números que aparecerían, por lo tanto, la propiedad de
independencia tampoco se cumple, pues los números que aparecieron en la secuencia
están afectando a los números que podrían aparecer más adelante en la secuencia.

3. Técnicas de generación de números aleatorios

Con base en las propiedades anteriores, la idea es generar una secuencia de números entre
cero y 1 [0,1] que imiten justamente los comportamientos mencionados. Para lograr esto,
normalmente se emplean funciones deterministas a través de generadores los cuales deben
cumplir las siguientes características:

- Secuencias no correlacionadas, esta característica hace referencia justamente a la


propiedad de independencia que deben tener los números aleatorios.
- Tener un periodo largo, es decir, que con la función determinista que maneje el
generador se puedan generar una gran cantidad de números antes de que se repita un
número generado previamente. Idealmente las secuencias no deberían repetirse, sin
embargo en la práctica una repetición debe ocurrir después de un gran conjunto de
números generados.
- Uniformidad, esta es la misma propiedad.
- Eficiencia, es decir, la función determinista generadora de números debe ser muy
rápida y no requerir de cálculos complejos para generar los números aleatorios.

3.1. Método lineal de congruencias

Esta es una de las rutinas más comunes para generar números aleatorios entre cero y uno.

Para generar dichos números, primero es necesario generar enteros a través de la


siguiente relación recursiva:

𝑋𝑖+1 = (𝑎𝑋𝑖 + 𝑐) 𝑚𝑜𝑑𝑢𝑙𝑜 𝑚 ∀𝑖 = 0, 1, 2, 3, … , 𝑛

4 [ POLITÉCNICO GRANCOLOMBIANO]
Donde:
𝑋0 = 𝑢𝑛 𝑣𝑎𝑙𝑜𝑟 𝑖𝑛𝑖𝑐𝑖𝑎𝑙 𝑐𝑜𝑛𝑜𝑐𝑖𝑑𝑜 𝑐𝑜𝑛 𝑒𝑙 𝑛𝑜𝑚𝑏𝑟𝑒 𝑑𝑒 𝑆𝑒𝑚𝑖𝑙𝑙𝑎
𝑚 = 𝑢𝑛 𝑣𝑎𝑙𝑜𝑟 𝑐𝑜𝑛𝑠𝑡𝑎𝑛𝑡𝑒 𝑐𝑜𝑛𝑜𝑐𝑖𝑑𝑜 𝑐𝑜𝑚𝑜 𝑚ó𝑑𝑢𝑙𝑜
𝑚𝑜𝑑𝑢𝑙𝑜 = 𝑒𝑠 𝑙𝑎 𝑜𝑝𝑒𝑟𝑎𝑐𝑖ó𝑛 𝑚𝑜𝑑𝑢𝑙𝑜, 𝑙𝑎 𝑐𝑢𝑎𝑙 𝑑𝑒𝑣𝑢𝑒𝑙𝑣𝑒 𝑒𝑙 𝑟𝑒𝑠𝑖𝑑𝑢𝑜 𝑑𝑒 𝑢𝑛𝑎 𝑑𝑖𝑣𝑖𝑠𝑖ó𝑛
𝑎 = 𝑢𝑛 𝑣𝑎𝑙𝑜𝑟 𝑐𝑜𝑛𝑠𝑡𝑎𝑛𝑡𝑒 𝑐𝑜𝑛𝑜𝑐𝑖𝑑𝑜 𝑐𝑜𝑚𝑜 𝑐𝑜𝑛𝑠𝑡𝑎𝑛𝑡𝑒 𝑚𝑢𝑙𝑡𝑖𝑝𝑙𝑖𝑐𝑎𝑡𝑖𝑣𝑎
𝑐 = 𝑢𝑛 𝑣𝑎𝑙𝑜𝑟 𝑐𝑜𝑛𝑠𝑡𝑎𝑛𝑡𝑒 𝑐𝑜𝑛𝑜𝑐𝑖𝑑𝑜 𝑐𝑜𝑚𝑜 𝑖𝑛𝑐𝑟𝑒𝑚𝑒𝑛𝑡𝑜

Ahora bien vale la pena aclarar que la escogencia de todos estos parámetros a, c, m, X0
afecta directamente las propiedades estadísticas (uniformidad e independencia) y,
además, la longitud del ciclo (periodo).

Finalmente, para convertir los enteros generados con la relación recursiva presentada
anteriormente en números aleatorios entre cero y uno, basta con dividirlos entre el
módulo m.

Ejemplo:

Dados los siguientes parámetros:

𝑋0 = 27
𝑚 = 100
𝑎 = 17
𝑐 = 43

Emplee el método lineal de congruencias para generar números aleatorios.

Solución:

𝑋𝑖+1 = (𝑎𝑋𝑖 + 𝑐) 𝑚𝑜𝑑𝑢𝑙𝑜 𝑚

𝑋0 = 27
𝑋0+1 = 𝑋1 = (17 ∗ 27 + 43)𝑚𝑜𝑑𝑢𝑙𝑜 100 = 502 𝑚𝑜𝑑𝑢𝑙𝑜 100 = 2
𝑋1+1 = 𝑋2 = (17 ∗ 2 + 43)𝑚𝑜𝑑𝑢𝑙𝑜 100 = 77 𝑚𝑜𝑑𝑢𝑙𝑜 100 = 77
𝑋2+1 = 𝑋3 = (17 ∗ 77 + 43)𝑚𝑜𝑑𝑢𝑙𝑜 100 = 1352 𝑚𝑜𝑑𝑢𝑙𝑜 100 = 52
𝑋3+1 = 𝑋1 = (17 ∗ 52 + 43)𝑚𝑜𝑑𝑢𝑙𝑜 100 = 927 𝑚𝑜𝑑𝑢𝑙𝑜 100 = 27

Dado que ya se repitió el primer número la secuencia para y no se generan más enteros,
pues si lo hiciéramos se volvería a repetir la secuencia, 2, 77, 52,…

Ahora bien, recordemos que los números deben ser entre cero y uno, para ello de acuerdo
con el método, dice que se deben dividir los enteros calculados (X) nuevamente entre la
constante m (que para este caso es 100), de acuerdo con esto tenemos:

[ SIMULACIÓN GERENCIAL] 5
27
𝑅0 = = 0,27
100

2
𝑅1 = = 0,02
100
77
𝑅2 = = 0,77
100

52
𝑅3 = = 0,52
100

Y de esta forma se obtienen los números aleatorios (R) deseados.

4. Generación de variables aleatorias

Para que el modelamiento de un sistema tome forma se deben definir correctamente:

- Variables aleatorias que direccionen ciertos comportamientos del sistema (por ejemplo
los tiempos de arribo, los tiempos de servicio, las fallas de los recursos, etc.)

Con base en lo anterior es posible definir métodos para que a partir de muestras de números
aleatorios se puedan generar variables aleatorias que permitan describir diferentes procesos
estocásticos.

A continuación se presentará la metodología general para transformar un número entre 0 y 1


en una variable aleatoria:

Generación de
números Transformación
aleatorios {Xi}
X=f(U)
{Ui}

Algoritmo:

Independiente del tipo de variable que se quiera obtener (uniforme, exponencial, triangular),
el algoritmo que debe aplicarse es el mismo y es el siguiente:

6 [ POLITÉCNICO GRANCOLOMBIANO]
1. Calcular la función acumulada de probabilidad de la variable aleatoria X
2. Igualar dicha función de probabilidad acumulada con el número aleatorio F(X) = R
3. Resolver la ecuación para X en términos de R (despejar X)
4. Reemplazar por los valores numéricos y obtener la distribución deseada.

4.1. Variables uniformes

Ejemplo:

Suponga que se tienen los siguientes números aleatorios:

0,12 0,01 0,23 0,28 0,89

Transformarlos en una variable aleatoria con distribución uniforme con parámetros


mínimo: 6 y máximo:16

De acuerdo con lo anterior y siguiendo el algoritmo presentado tenemos que nos piden
una variable distribuida uniformemente U[6,16]:

1. Función acumulada de la distribución uniforme:

𝑋−𝑎
𝐹(𝑋) =
𝑏−𝑎
2. Igualar la función con el aleatorio:

𝑋−𝑎
=𝑅
𝑏−𝑎
3. Despejar X:
𝑋 = 𝑎 + (𝑏 − 𝑎)𝑅
4. Resolver:

7,2 6,1 8,3 8,8 14,9

4.2. Variables exponenciales

Ejemplo:
Suponga que se tienen los siguientes números aleatorios:

[ SIMULACIÓN GERENCIAL] 7
0,12 0,01 0,23 0,28 0,89

Transformarlos en una variable aleatoria con distribución exponencial con parámetro


lambda: 0,05

De acuerdo con lo anterior y siguiendo el algoritmo presentado anteriormente tenemos


que nos piden una variable distribuida exponencialmente Exp[λ=0,05]:

1. Función acumulada de la distribución uniforme:

𝐹(𝑋) = 1 − 𝑒 −𝜆𝑥

2. Igualar la función con el aleatorio:

1 − 𝑒 −𝜆𝑥 𝑅

3. Despejar X:

−1
𝑋= ln(1 − 𝑅)
𝜆
4. Resolver:

2,55 0,2 5,23 6,57 44,1

4.3. Variables triangulares

Ejemplo:

Suponga que se tienen los siguientes números aleatorios:

0,12 0,01 0,23 0,28 0,89

Transformarlos en una variable aleatoria con distribución triangular con parámetros


mínimo: 3, más probable: 8, máximo: 14.

De acuerdo con lo anterior y siguiendo el algoritmo presentado anteriormente tenemos


que nos piden una variable distribuida exponencialmente Tria[3, 8, 14]:

8 [ POLITÉCNICO GRANCOLOMBIANO]
1. Función acumulada de la distribución triangular:

0 𝑥<𝑎
(𝑥 − 𝑎)2
𝑎≤𝑥<𝑏
(𝑏 − 𝑎)(𝑐 − 𝑎)
𝐹(𝑥) =
(𝑐 − 𝑥)2
1− 𝑏≤𝑥<𝑐
(𝑐 − 𝑎)(𝑐 − 𝑏)
{ 1 𝑥≥𝑐

La función acumulada de la triangular está definida en dos rangos


diferentes, por lo tanto, al igualar la función debe tenerse especial cuidado
en verificar cuál de las dos funciones debe emplearse.

2. Igualar la función con el aleatorio:

(𝑥 − 𝑎)2 𝑏−𝑎
=𝑅 0≤𝑅<
(𝑏 − 𝑎)(𝑐 − 𝑎) 𝑐− 𝑎
(𝑐 − 𝑥)2 𝑏−𝑎
1− =𝑅 ≤𝑅<1
(𝑐 − 𝑎)(𝑐 − 𝑏) 𝑐−𝑎

3. Despejar X:
𝑏−𝑎
𝑎 + √(𝑏 − 𝑎)(𝑐 − 𝑎)𝑅 0≤𝑅<
𝑋={ 𝑐−𝑎
𝑏−𝑎
𝑐 − √(𝑐 − 𝑎)(𝑐 − 𝑏)(1 − 𝑅) ≤𝑅<1
𝑐−𝑎
4. Resolver:

4,90 3,55 5,63 5,90 11,31

[ SIMULACIÓN GERENCIAL] 9
4.4. Variables continuas empíricas

Cuando las distribuciones teóricas (como las vistas anteriormente) no son aplicables se
debe emplear distribuciones empíricas y, por lo tanto, el algoritmo cambia. A continuación
se explicará, a través de un ejemplo, la metodología que debe seguirse:

Ejemplo:
Suponga que se toman los tiempos de reparación de 100 componentes electrónicos:

xi-1 <x≤ xi Frecuencia


1,00 <x≤ 1,50 25,00
1,50 <x≤ 2,00 23,00
2,00 <x≤ 2,30 32,00
2,30 <x≤ 3,00 20,00

Calcular la frecuencia relativa a cada una de las clases (recuerde que la frecuencia relativa
simplemente es la frecuencia de la clase dividida en el número total de datos):

Frecuencia
xi-1 <x≤ xi Frecuencia
Relativa
1,00 <x≤ 1,50 25,00 0,25
1,50 <x≤ 2,00 23,00 0,23
2,00 <x≤ 2,30 32,00 0,32
2,30 <x≤ 3,00 20,00 0,20

Calcule la frecuencia acumulada (ci) de las clases:

Frecuencia Frecuencia
Frecuencia
xi-1 <x≤ xi Relativa Acumulada
(f)
(f/n) (ci)
1,00 <x≤ 1,50 25,00 0,25 0,25
1,50 <x≤ 2,00 23,00 0,23 0,48
2,00 <x≤ 2,30 32,00 0,32 0,80
2,30 <x≤ 3,00 20,00 0,20 1,00

Una vez calculada la frecuencia acumulada halle la pendiente de los datos (ai), dicha
pendiente se calcula de acuerdo a la siguiente expresión:

10 [ POLITÉCNICO GRANCOLOMBIANO]
𝑥𝑖 − 𝑥𝑖−1
𝑎𝑖 =
(𝑓/𝑛)

Frecuencia Frecuencia
Frecuencia
xi-1 <x≤ xi Relativa Acumulada Pendiente
(f)
(f/n) (ci) (ai)
1,00 <x≤ 1,50 25,00 0,25 0,25 2,00
1,50 <x≤ 2,00 23,00 0,23 0,48 2,17
2,00 <x≤ 2,30 32,00 0,32 0,80 0,94
2,30 <x≤ 3,00 20,00 0,20 1,00 3,50

Una vez se han calculado todas estas medidas es posible realizar la interpolación necesaria
de acuerdo a la expresión:

𝑋 = 𝑥𝑖−1 + 𝑎𝑖 (𝑅 − 𝑐𝑖−1 )
Cuando:
𝑐𝑖−1 < 𝑅 ≤ 𝑐𝑖

Si, por ejemplo, el aleatorio es R = 0.85, el valor de la variable sería:

𝑐𝑖−1 < 𝑅 ≤ 𝑐𝑖

𝑐3 < 𝑅 ≤ 𝑐4

0.80 < 0.85 ≤ 1

Por lo tanto, i = 4. Reemplazando en la expresión:

𝑋 = 𝑥𝑖−1 + 𝑎𝑖 (𝑅 − 𝑐𝑖−1 )

𝑋 = 𝑥3 + 𝑎4 (𝑅 − 𝑐3 )

𝑋 = 2.30 + 3.50(0.85 − 0,80)

𝑋 = 2.475

Si por ejemplo el aleatorio hubiese sido R = 0.36, el valor de la variable sería:

𝑐𝑖−1 < 𝑅 ≤ 𝑐𝑖

[ SIMULACIÓN GERENCIAL] 11
𝑐1 < 𝑅 ≤ 𝑐2

0.25 < 0.36 ≤ 0.48

Por lo tanto, i = 2. Reemplazando en la expresión:

𝑋 = 𝑥𝑖−1 + 𝑎𝑖 (𝑅 − 𝑐𝑖−1 )

𝑋 = 𝑥1 + 𝑎2 (𝑅 − 𝑐1 )

𝑋 = 1.50 + 2.17(0.36 − 0,25)

𝑋 = 1.738

Si trabajáramos con muchos números aleatorios, podríamos encontrar una gráfica como
la siguiente:

12 [ POLITÉCNICO GRANCOLOMBIANO]

También podría gustarte