Métodos para Generar Variables aleatorias

28
Métodos para Generar Variables aleatorias Hay cuatro métodos generales de generación de variables aleatorias y una serie de métodos Particulares de las distintas distribuciones. La facilidad de aplicación de dichos métodos, así como el coste computacional asociado a los Mismos, varía mucho según la familia de variables aleatorias a las que se apliquen. Normalmente existen varios algoritmos que se pueden utilizar para generar valores de una Determinada distribución, 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 solución de compromiso. Algunos de estos factores son los siguientes: Exactitud: se han de obtener valores de una variable con una precisión dada. A veces se tiene suficiente con obtener una aproximación y otras no. Eficiencia: el algoritmo que implementa el método de generación tiene asociado un tiempo de ejecución y un gasto de memoria. Elegiremos un método que sea eficiente en cuando al tiempo y a la cantidad de memoria requeridos. Complejidad: Buscamos métodos que tengan complejidad mínima, siempre y cuando se garantice cierta exactitud. Robusted: el método tiene que ser eficiente para cualquier valor que tomen los parámetros de la distribución que siga la variable aleatoria. Facilidad de implementación. Métodos generales Los métodos generales para la generación de variables aleatorias son: Método de Inversión, de Aceptación-Rechazo,

Transcript of Métodos para Generar Variables aleatorias

Page 1: Métodos para Generar Variables aleatorias

Métodos para Generar Variables aleatorias

Hay cuatro métodos generales de generación de variables aleatorias y una serie de métodos Particulares de las distintas distribuciones.

La facilidad de aplicación de dichos métodos, así como el coste computacional asociado a los Mismos, varía mucho según la familia de variables aleatorias a las que se apliquen. Normalmente existen varios algoritmos que se pueden utilizar para generar valores de una Determinada distribución, 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 solución de compromiso.

Algunos de estos factores son los siguientes:

Exactitud: se han de obtener valores de una variable con una precisión dada. A veces se tiene suficiente con obtener una aproximación y otras no.Eficiencia: el algoritmo que implementa el método de generación tiene asociado un tiempo de ejecución y un gasto de memoria. Elegiremos un método que sea eficiente en cuando al tiempo y a la cantidad de memoria requeridos.Complejidad: Buscamos métodos que tengan complejidad mínima, siempre y cuando se garantice cierta exactitud.Robusted: el método tiene que ser eficiente para cualquier valor que tomen los parámetros de la distribución que siga la variable aleatoria.Facilidad de implementación.

Métodos generales

Los métodos generales para la generación de variables aleatorias son: Método de Inversión, de Aceptación-Rechazo, de Composición y de Convolución. A continuación pasamos a estudiarlos.Método De Los CuadradosConsiste en que cada número de una sucesión es producido tomando los dígitos medios de un número obtenido mediante la elevación al cuadrado.P1: Obtener semilla (valores iniciales 445)

P2: Aplicación de Algoritmos recursivos (elevar al cuadrado)

P3: Validación del conjunto de datos generadosEjemplo: Consideremos la semilla 445 X X2 N° Aleatorio445 1| 9802 | 5 0,98029802 96| 0792 | 04 0,0792792 6 | 2726 | 4 0,27262726 …………… ……………

Page 2: Métodos para Generar Variables aleatorias

Métodos para Generar Variables aleatorias

Método de InversiónLa función de distribución (también llamada función de distribución acumulativa), F(x), de una variable aleatoria X es definida para cada número real x como sigue:

F(x)=P(X≤x) para -∞<x<∞

Donde P(X≤x) es la probabilidad asociada con el suceso {X≤x}. 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.Una función de distribución F(x) tiene las siguientes propiedades:

Una variable aleatoria X se dice que es discreta si puede tomar unos valores determinados, no pudiendo tomar ningún valor comprendido entre dos consecutivos. Así la variable sólo 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:

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 función de probabilidad para la variable discreta X. Si I=[a,b], donde a y b son números reales tales que a≤b, entonces

El método de inversión va a aprovechar las propiedades de la función de distribución para obtener un valor de la variable aleatoria a partir de un número aleatorio uniformemente distribuido en el intervalo (0,1).

Page 3: Métodos para Generar Variables aleatorias

Vamos a ver en qué consiste dicho método tanto para el caso en el que la variable aleatoria sea continua como para cuando es discreta.

Caso continuo

En este caso la función de distribución es continua. Vamos a utilizar un número aleatorio u, uniformemente distribuido en (0,1) y vamos a suponer que es el valor que toma la función de distribución en un punto x. Tal punto va a ser el valor de la variable que queremos generar. Al ser la función de distribución continua, vamos a encontrar un valor de x para cualquier u.

En este caso la función de distribución es discontinua y tiene una forma

escalonada.

Caso discreto

Al ser discreta no hay fórmula de su inversa y puede ocurrir que dado un u no se encuentre imagen x de la función, sino que este valor esté entre dos valores posibles.

Método de Aceptación Rechazo

Este método es más probabilístico que el anterior. Los métodos de inversión, composición y convolución son métodos de generación directos, en el sentido en que tratan directamente con la función de distribución. El método de aceptación-rechazo es menos directo en su aproximación

Es a X una variable aleatoria con función de densidad  .

Supóngase que f(x)=Cg(x)h(x) con C una constante,  ,   y

h(x) una función de densidad en I. Si  e Y (con función de densidad h) son independientes, entonces 

Demostración: 

Page 4: Métodos para Generar Variables aleatorias

Q.E.D. 

Algoritmo de aceptación y rechazo:

1.

Se genera   y un valor y de la variable Y (de forma independiente).

2.Si u>g(y), se va al paso 1.

3.

Si  , entonces se hace x=y.Ahora interesa conocer cuál es la probabilidad de que en una iteración concreta se rechace el valor generado: 

Como el número de iteraciones del método hasta aceptar un valor sigue

una distribución geométrica de parámetro   (cuya esperanza es C), entonces si queremos optimizar el método habrá que intentaar que C sea próxima a uno y que h sea sencilla de generar. 

Si hacemos  , entonces buscamos que sea  . Se tendrá 

Page 5: Métodos para Generar Variables aleatorias

Como   coincide con h salvo la constante y h es una función de

densidad en I, entonces también se tiene que cumplir que   sea finita. 

Método de composición

El método consiste en generar dos números aleatorios, uno sirve para seleccionar un trozo y el otro se utiliza para generar un valor de una variable que sigue la distribución de dicho trozo. El valor de la variable obtenida es el valor buscado.

Sea f(x) la función de densidad de una variable aleatoria X. El método de composición consiste en lo siguiente:1.

Se descompone f como , con fi función de densidad, 

,  ,  .2.

Se elige la i-ésima función con probabilidad pi y se genera un valor para la función de densidad fi.

Método de convolución

Muchas variables aleatorias incluyendo la normal, binomial, poisson, gamma, erlang, etc., se pueden expresar de forma exacta o aproximada mediante la suma lineal de otras variables aleatorias.

El método de convolución se puede usar siempre y cuando la variable aleatoria x se pueda expresar como una combinación lineal de k variables aleatorias

Permite generar una distribución a partir de la suma de distribuciones más elementales o mediante la transformada z.

Procedimientos especiales

Existen algunas distribuciones estadísticas de probabilidad en las cuales es posible emplear sus propiedades para obtener expresiones matemáticas para la generación de variables aleatorias en forma eficiente. En varios casos se aplica el Teorema Central del Límite y en otros se utiliza el método directo para encontrar las variables aleatorias.

Page 6: Métodos para Generar Variables aleatorias

Transformada inversa, aceptación-rechazo, convolución, directos.

El método de la transformada inversa: Suponga que queremos generar el valor de una variable aleatorio discreta X con función de masa de probabilidad

(Transformada Inversa de La place) La Transformada Inversa de La place de una función F (s) es una función única L−1 {F } (t) = f (t), que es continua en [0, ∞), tal que satisface F (s) = L{f} (s).

En otras palabras, la transformada inversa de La place de una función F (s) es una función f (t) cuya TL sea F (s).

A la transformada inversa de una función se le denota con la letra minúscula correspondiente a la de su transformada o utilizando el operador transformada inversa L−1 {.}.

En las siguientes propiedades se asume que las funciones f(t) y g(t) con funciones que poseen transformada de La place.

Page 7: Métodos para Generar Variables aleatorias

Observaciones: 1.- Podemos escribir lo anterior en forma algorítmica, como Generar un número aleatorio USi U<p0 hacer X = x0 y terminarSi U<p0+ p1 hacer X = x1 y terminarSi U<p0+ p1 + p2 hacer X = x2 y terminar

Page 8: Métodos para Generar Variables aleatorias

Generación de variables aleatorias discretas: distribuciones poisson,Binomial, y geométrica.

Método de la transformación inversa

Sea X una variable aleatoria discreta con función de distribución F y probabilidades puntuales 

Considerando la función F, que es escalonada, se tiene el siguiente algoritmo:1.

Se hace s=p1, i=1.2.

Se genera  . 

Si  , entonces x=xi es el valor que se genera y finaliza el algoritmo. Si u>s, entonces se hace i=i+1, s=s+pi y se repite el paso 2.

Método del alias

(Este método sólo es válido para variables cuya probabilidad está concentrada en un número finito de puntos) Sea X tal

que P(X=xi)=pi,  . Tras una fase de preprocesamiento que se detalla más adelante, se tiene el siguiente algoritmo:1.

Se genera  . Sean y=1+[ku], z=frac(ku).2.

Si  , entonces k=y. Si z>Q(y), entonces k=A(y). Se toma x=xk.

Falta determinar los valores Q(i) y los alias A(i) de modo que se tenga 

Page 9: Métodos para Generar Variables aleatorias

Fase de preprocesamiento:1.

Para cada   se define 

2.Se repiten las siguientes operaciones (a lo sumo) k-1 veces:

Selecciónese i tal que  , Ii=true. Si esto no es posible, finaliza el preprocesamiento.

Selecciónese j tal que  , Ij=true.

Hágase Ii=false, A(i)=j, Q(i)=kai,  .

Ejemplo: Sea   con x=0,1,2,3. El

vector de probabilidades es (  ) 

i=4, j=1, I(4)=False, A(4)=1,  ,   

i=3, j=2, I(3)=False, A(3)=2,  ,   

Page 10: Métodos para Generar Variables aleatorias

i=1, j=2,  , A(1)=2,   

Ahora asignamos el 1 al valor 0, el 2 al 1, el 3 al 2 y el 4 al 3, con lo cual cuando apliquemos la segunda parte del algoritmo del alias nos dará los valores que buscamos.

Distribuciones concretas

Distribución geométrica

Representa el número de fracasos hasta que se produce el primer éxito en un experimento de Bernouilli de parámetro p. 

La variable geométrica se puede relacionar fácilmente con la variable exponencial: 

Sea  . 

Sea x>0. 

Page 11: Métodos para Generar Variables aleatorias

Como  , tomemos   tal que   para conseguir la expresión de probabilidad puntual de una distribución G(p). Basta

tomar  . Tras esto se toma un valor y generado según

una   y se toma x=[y]. Ya se vio que para ello hay que

hacer  , con  , por lo que se concluye que 

Distribución binomial negativa

Representa el número de fracasos antes del r-ésimo éxito en un experimento de Bernouilli de parámetro p. 

Existen varias formas de simular variables con distribución binomial negativa: la más inmediata es ir simulando experimentos de Bernouilli de parámetro p y contabilizar los fracasos hasta que se obtiene el éxito r-ésimo. Otro modo consiste en observar que una variable BN(p,r) es suma de r variables geométricas G(p) independientes, por lo que basta simular r veces una geométrica con parámetro p y sumar los valores obtenidos. 

Veamos también un algoritmo directo basado en el método de composición. 

Sean   (Poisson) y  . 

Page 12: Métodos para Generar Variables aleatorias

Luego esta composición es  . Como nosotros queremos simular

una BN(p,r), entonces debemos tomar  ,  , resultando el siguiente algoritmo:1.

Se genera  .2.

Se genera  . 

Este valor x está distribuido según una distribución binomial negativa BN(p,r).

Distribución de Poisson

En la primera parte de la asignatura se vio que si los tiempos entre

sucesos consecutivos son  , entonces el número de sucesos por

unidad de tiempo sigue una distribución de Poisson de parámetro  . En

consecuencia, para generar una variable  , podemos proceder del

siguiente modo: se generan valores   tales que

. Ese valor x corresponderá a una variable  . 

Como los valores Tj son exponenciales de parámetro  , entonces se

tiene que  , con  , por lo que 

Page 13: Métodos para Generar Variables aleatorias

En resumen, el algoritmo es el siguiente:1.

Sean k=1, x=1.2.

Se genera   y se hace k=kui.3.

Si  , entonces x-1 es el valor buscado. En caso contrario se hace x=x+1 y se va al paso 2.

Generación de variables aleatorias continuas: distribuciones Uniforme,Exponencial, normal, Erlang, Gamma, Beta, y Triangular

Page 14: Métodos para Generar Variables aleatorias

Distribución exponencial

Un método que ya se usado varias veces consiste en tomar 

con  . Otro método, basado en los estadísticos ordenados y que permite generar n valores a la vez, es el siguiente: se generan 

Ordenando   obtenemos   y definimos u(0)=0, u(n)=1. Ahora se hace 

Estos valores corresponden a una variable Exp(1) y son independientes.

Page 15: Métodos para Generar Variables aleatorias

Distribución gamma

Sea   y  . Como esta distribución es reproductiva respecto

del segundo parámetro y una variable   es una  , consideramos la siguiente descomposición: 

Es por esto por lo que basta limitarse a simular variables   

con  . El siguiente teorema nos da un método directo para simular

estas variables. Si   y  son independientes, entonces 

Page 16: Métodos para Generar Variables aleatorias

Demostración: Sean v>0, 0<w<1. Por la independencia de W y V: 

Se considera el cambio 

Así 

El recinto transformado es 

La distribución marginal de X es 

Page 17: Métodos para Generar Variables aleatorias

Luego  . Q.E.D.

Distribución beta

Si  ,  , entonces f está acotada y se puede aplicar aceptación y

rechazo. El valor máximo de f se alcanza en   para una cota de 

Sin embargo, el método sólo es eficiente si tanto   como   están próximos a uno. En los dos siguientes teoremas veremos dos métodos

para simular variables beta de modo eficiente. Si   e   son independientes, entonces 

Demostración: 

Page 18: Métodos para Generar Variables aleatorias

Se considera el cambio de variable 

La densidad conjunta es 

El recinto transformado es 

La distribución marginal de X1 es 

Page 19: Métodos para Generar Variables aleatorias

Luego   Q.E.D. 

Sean U1,   e independientes,  . Si  , entonces 

Demostración: Como U1 y U2 son independientes, entonces Y1 e Y2 también lo son. 

Distribución de Y1 (la de Y2 se obtiene de forma análoga pero considerando   en lugar de  ): 

El recinto transformado es 0<y1<1. Distribución de (Y1,Y2): 

Como Y1 e Y2 son independientes, entonces 

Distribución de  : 

Se considera el cambio de variable 

Page 20: Métodos para Generar Variables aleatorias

El recinto transformado es 

Ahora, si  , entonces: 

En consecuencia, 

Luego 

Page 21: Métodos para Generar Variables aleatorias

Además, la probabilidad de que se acepte el par (y1,y2) en una iteración concreta es 

Q.E.D.

Distribución normal

Para generar una variable  , basta generar una variable N(0,1), pues 

Con el fin de generar una variable N(0,1) se considera el cambio de coordenadas siguiente (cambio polar): 

con   e independientes. Las variables Z1, Z2 son N(0,1) e independientes.

Demostración:

El recinto transformado es  . 

Page 22: Métodos para Generar Variables aleatorias

Así 

Luego   y son independientes. 

Distribuciones Empíricas de probabilidad

La distribución empírica asociada a una muestra es la ley de probabilidad sobre el conjunto de las modalidades, que afecta a

cada observación con el peso  . La idea es la siguiente. Supongamos que queremos aumentar artificialmente la cantidad de datos. La forma más simple sería sacar aleatoriamente nuevos valores a partir de los valores ya observados, respetando sus frecuencias. En otras palabras, se simularía la distribución empírica.

Definición 2.1   Sean   una muestra,   los

diferentes valores que toman los  . Para   denotamos:

el número de veces que el valor   aparece o sea el efectivo del

valor  . La distribución empírica de la muestra es la ley de

probabilidad  sobre el conjunto  , tal que:

La media, la varianza y la desviación estándar pueden ser vistas como carácterísticas probabilistas de la distribución empírica.

Page 23: Métodos para Generar Variables aleatorias

La media de la muestra es la esperanza de su distribución empírica. 

Para un carácter discreto, la moda de la distribución empírica es el valor que tiene la frecuencia más alta. Para un carácter continuo agrupado en clases de amplitudes iguales, hablamos de clase modal. Una distribución empírica se llama unimodal si la frecuencia maximal es significativamente mayor que las otras. Puede ser bimodal o multimodal en otros casos. 

Para estudiar una distribución empírica, la primera etapa consiste en ordenar los datos en orden creciente, es decir escribir sus estadígrafos de orden.

Definición 2.2   Sea   una muestra numérica. Llamamos estadígrafos de orden de la muestra, a los

valores   iguales a los   puestos en orden creciente:

Aquí tenemos como ejemplo a una muestra de tamaño   y sus   estadígrafos de orden.

La función de distribución empírica es la función de distribución de la distribución empírica.

Definición 2.3   La función de distribución empírica es la función

de   en  , que denotamos por   y que toma los valores:

Page 24: Métodos para Generar Variables aleatorias

En otras palabras,   es la proporción de los elementos de la muestra que son menores o iguales a  .