Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Generación de Variables Aleatorias
Generación de Variables Aleatorias
5.1.- Introduccin
Buscamos mtodos que nos permitan obtener valores de variables aleatorias que sigan
determinadas distribuciones de probabilidad a partir de los nmeros aleatorios generados, que
siguen la distribucin Uniforme en el intervalo (0,1).
Hay cuatro mtodos generales de generacin de variables aleatorias y una serie de
mtodos particulares de las distintas distribuciones.
La facilidad de aplicacin de dichos mtodos, as como el coste computacional asociado a
los mismos, vara mucho segn la familia de variables aleatorias a las que se apliquen.
Normalmente existen varios algoritmos que se pueden utilizar para generar valores de una
determinada distribucin, y diferentes factores que se pueden considerar para determinar qu
algoritmo utilizar en un caso particular. Desafortunadamente dichos factores suelen entrar en
conflicto unos con otros y a veces se ha de llegar a una solucin de compromiso.
Algunos de estos factores son los siguientes:
Exactitud: se han de obtener valores de una variable con una precisin dada. A
veces se tiene suficiente con obtener una aproximacin y otras no.
Robusted: el mtodo tiene que ser eficiente para cualquier valor que tomen los
parmetros de la distribucin que siga la variable aleatoria.
Facilidad de implementacin.
donde P(Xx) es la probabilidad asociada con el suceso {Xx}. As F(x) es la probabilidad, cuando
se ha realizado el experimento, de que la variable X tome un valor menor o igual que x.
0 F(x) 1 x.
lim F ( x) 1 y
lim F (x) 0
Una variable aleatoria X se dice que es discreta si puede tomar unos valores determinados,
no pudiendo tomar ningn valor comprendido entre dos consecutivos. As la variable slo puede
tomar un conjunto finito de valores x1, x2, ..., xn. La probabilidad de que la variable aleatoria X
tome el valor xi es dado por:
p( xi ) 1
i1
donde la sumatoria significa la suma de todas las probabilidades p(x1), p(x2),... Todas las
probabilidades acerca de X se pueden calcular desde p(x), a la cual se le llama funcin de probabilidad
para la variable discreta X. Si I=[a,b], donde a y b son nmeros reales tales que ab, entonces
7
8
P( X I ) p( xi )
axi b
F( x) p(xi )
xi x
F(x)
u
7
9
F(x)
x
Lo que se va a hacer en este caso es que dado un u se va obtener como salida un xj tal que
j
j1
i1
Generar u
U(0,1) SI u<p1
ENTONCES salida x1
SI NO
SI u<p1+p2
ENTONCES salida x2
.
Este mtodo es un mtodo sencillo de aplicar, siempre y cuando la funcin de distribucin
no tenga una frmula complicada y utiliza slo un nmero aleatorio para calcular un valor de la
variable aleatoria.
c=
t(
x)dx
f ( x)dx = 1
8
0
f ( x)
Si u
t (x)
El algoritmo contina repitindose hasta que se genera un valor que es aceptado.
Para hacer que se rechacen el menor nmero de puntos posibles la funcin t(x) debe ser la
mnima funcin que acote a f(x).
funcin.
Cada uno de los fragmentos se puede expresara como producto de un funcin de distribucin y
un peso
ti ( x) f i ( x)wi y
n
i1
i 1
la
funcin de
distribucin global la
podemos obtener
El mtodo consiste en generar dos nmeros aleatorios, uno sirve para seleccionar un trozo
y el otro se utiliza para generar un valor de una variable que sigue la distribucin de dicho trozo.
El valor de la variable obtenida es el valor buscado.
El algoritmo general queda como sigue:
Generar u1,u2~U(0,1)
Si u1=w1 entonces generar
x~f1(x) Si no
Si u1=w1+w2 entonces generar x~f2(x)
8
1
f (x) = b - a
F(x) =
si a x b
otro caso
0 en
0 si x < a
x-a
-a
si a x b
1 x>b
La media de la distribucin es (x) = a + b y la varianza 2 (x) = (b - a) 2
2
12
Como los nmeros aleatorios que generamos siguen la distribucin uniforme en el
intervalo (0,1), para generar valores de una distribucin uniforme en cualquier intervalo (a,b) slo
tenemos que hacer un cambio de intervalo:
Generar u (sigue
U(0,1)) xa+(b-1)u
salida x
La distribucin uniforme es usada como modelo en primera aproximacin, para cantidades
aleatorias que vara entre a y b.
8
2
La variable aleatoria normal posee una funcin de densidad caracterizada por dos
parmetros, su media y su varianza ( y 2 respectivamente). La media mide la ubicacin de la
distribucin y la desviacin estndar mide su dispersin.
La distribucin Normal tiene como funcin de densidad la siguiente:
1
f (x)
2 2 e
1 x - 2
y varianza2, entonces
8
3
Convolucin:
Vamos a ver una serie de propiedades de la distribucin normal y un teorema que nos van
a servir para generar valores mediante este mtodo.
Propiedad: Si tenemos una variable X que sigue una N(,), entonces aX+b sigue una
N (a + b, a)
Teorema del Lmite Central : si X es una variable aleatoria con media y varianza 2, entonces
la media X , para una muestra de tamao n (si n es lo suficientemente grande), sigue una
distribucin Normal de meida y varianza 2/n.
n
X =
i 1xi
n
sigue N(, / n )
1 e x / , x 0
f (x) =
0,
F(x) =
en otro caso
x /
1 - e
, x0
0, en otro caso
8
4
x 1e x /
f (x) = G( )
x>0
0 en otro caso
donde () 0 x1ex dx
8
5
Para generar valores de gamma con 0<<1 y >1 han sido propuestos varios algoritmos.
Por ejemplo Aherns y Deiter proponen un algoritmo basado en el mtodo de aceptacin-rechazo
para valores de <1; Tadikamalla presenta tambin una serie de mtodos para volores >1 y
otros algoritmos estn propuestos por Fishman o por Cheng y Feast.
x
f (x) =
donde (1 ,2 ) 0
Su media E(x)
1
1
12
(1 - x)
1
2
0<x<1
(1 ,2 )
0 en otro caso
(1 x)a2 -1 dx
y su varianza Var(x)
12
(1 2 )(1 2 1)
Esta distribucin se usa a menudo para representar variables aleatorias que estn
restringidas al intervalo (0,1).
Se utiliza para generar entradas cuando no tenemos datos (por ejemplo el tiempo que tarda
en estropearse un aparato, el tiempo que tarda en suceder algo,...). Cuando en proyectos PERT se
ha de aproximar el tiempo que se le da a las distintas actividades, se usa esta distribucin. En
general suele usarse como modelo en primera aproximacin en ausencia de datos experimentales.
La funcin de densidad de esta variable puede adoptar una gran variedad de formas
dependiendo de los parmetros de la distribucin. Una de los ms comunes y simples mtodos de
generacin de valores de la distribucin beta es usar las relaciones que existen entre sta y la
distribucin gamma:
Si X1 es una gamma(1,1) y X2 es una gamma(2,1), entonces y X1 /( X 1 X 2 ) es una
beta(1, 2).
Este algoritmo es fcil de implementar pero debido a que los mtodos de generacin de
gammas pueden ser ineficientes, se han desarrollado mtodos de generacin basados en el mtodo
de aceptacin-rechazo (Ahrens and Deiter).
Se puede observar que una distribucin U(0,1) y una beta (1,1) son la misma distribucin.
Una variable X que sigue una beta(1, 2) en [0,1] puede reescalarse y desplazarse para
obtener una variable beta(1, 2) en [a,b] con los mismos parmetros de forma mediante la
transformacin a+(b-a)X.
Si X sigue una beta(1, 2) en [0,1], entonces (1-X) sigue una beta(2, 1) en [0,1].
8
6
0
1
0
1 . Su funcin de distribucin es
f (x) = x (1 - x)
1 1
1
= x
1
1
t
1
F( x) = 0 f (t)dt =0
1t 1 1dt =1 0
t1 1dt =1
=x 1 .
1
Si
suponemos
que
u = F (x) = x1 , entonces x = u 1 .
8
7
1- p
Su distribucin de probabilidad es p(x) = p
si x = 0
si x = 1
y su distribucin de
0 en otro caso
si x < 0
probabilidad acumulada F( x) = 1- p si 0 x 1
si x 1
x a, a +1,...,b
en otro caso
0
si x < a
si a x b
Su distribucin de probabilidad acumulada es F( x) = x- a +1
b - a +1
1 si x > b
Los parmetros a y b son enteros siendo a el parmetro de posicin. Su media es
E (x) a b y su varianza Var(x) = (b - a +1)
2
-1 .
12
Para generar valores de una variable que siga esta distribucin podemos utilizar el
siguiente algoritmo:
Generar u~U(0,1)
Dar como salida X a + (b - a +1)u , donde x es el operador que trunca
8
8
y su distribucin de
p(1- p)
1- (1 - p)
probabilidad acumulada F( x) =
si x 0,1,...
x1
0 en otro caso
si x 0
0 en otro caso
La media de la distribucin es
F0
E0
MIENTRAS E=0 HACER
Genera u~U(0,1)
SI u<=p
ENTONCES EE+1
SI NO FF+1
FIN_MIENTRAS
DEVOLVER F
n x
p (1
- p)nx
si x 0,1,2,...,n
y su
0 en otro caso
0
si x < 0
x n i
(1- p)
i0
ni
si 0 x n
1 si x > n
1) Si n es pequeo:
8
9
p (x =
j
j)=
p (1
j
Generar u~U(0,1)
Si u<p0 Entonces salida X=0
Si u<p0+p1 Entonces salida X=1
Si u<p0+p2+p3 Entonces salida X=2
...
Mediante convolucin de bernouilli
E0
PARA i=1 HASTA n
Genera u~U(0,1)
SI u<=p
ENTONCES EE+1
FIN_PARA
DEVOLVER E
2) Si n es grande, se pueden hacer aproximaciones de la binomial mediante otras
distibuciones:
Cuando p es pequeo se puede aproximar mediante una Poisson. Si p0 y n de forma tal que
la media =np permanece constante, entonces se puede aproximar una B(n,p) por una P().
Cuando p no es pequeo se puede aproximar mediante una Normal. Si X representa el nmero de
xitos en n experimentos independientes, donde p es la probabilidad de xito, entonces la proporcin de
xitos X/n sigue una distribucin aproximadamente normal con media =p y desviacin
tpica =
p(1- p)
n
El algoritmo es el siguiente:
Generar z~N(0,1)
v np + z np(1 - p)
SI v>np
ENTONCES x min
Si NO x max
DEVOLVER x
x-
1
2
x+
1
2
,0
,n
9
0
En todos los casos, las condiciones para que se trate de una distribucin de Poisson son:
e x
si x 0,1,...
Su distribucin de probabilidad es p(x) = x!
y
0 en otro caso
0 si x < 0
x
i
probabilidad acumulada F( x) =
i0
su distribucin de
si x 0
i!
i
i!
e i 0,1,...
9
1
Generar u~U(0,1)
Y-ln(u) (con
=1/) tt+Y
SI t>T
ENTONCES
finVERDAD SI NO
XX+1
FIN_MIENTRAS
DEVOLVER X
X es la variable que sigue una P(), en cada momento se va generando mediante
una exponencial Y el tiempo en el que ocurre el siguiente suceso. T es la cantidad de
tiempo en la que se quieren contar los sucesos ocurridos.
2) Cuando n es grande se puede aproximar una P() mediante una Normal de media y
varianza , N (, )., se debe de aplicar un factor de correccin ya que se pasa de
ENTONCES
finVERDAD SI NO
ii+1
FIN_MIENTRAS
DEVOLVER xi
9
2