Introduccin
Muchos de los mtodos de estadstica computacional requieren la capacidad de generar variables aleatorias de distribuciones de probabilidad conocidas. Esto es el ncleo para poder realizar simulacin estadstica. El objetivo de este taller es proveer las herramientas necesarias para generar los tipos de variables aleatorias que a menudo surgen en la prctica y para ello se darn algunos ejemplos que ilustran los mtodos. La primera parte se tratar las tcnicas generales para la generacin de variables aleatorias, como la transformacin inversa. Luego, se proporcionarn algoritmos y el cdigo de MATLAB para la generacin de variables aleatorias para algunas distribuciones tiles. Por ltimo se propondr como ejercicio de simulacin de un servidor ftp.
Cabe sealar que los nmeros aleatorios que se distribuyen uniformemente en un intervalo de A a B pueden ser generados por una simple transformacin, como la siguiente: X=(b-a).U+a
Ejemplo 2.1
% Obtiene un vector de variables aleatorias uniformes en (0,1). x = rand(1,1000); % Hacer un histograma. % Primero obtenemos el alto de las barras. [N,X]=hist(x,15); %Se usa la funcin bar para dibujar. bar(X,N,1,'w') title('HISTOGRAMA DE VARIABLES ALEATORIAS UNIFORMES') xlabel('X') ylabel('FRECUENCIA') % Genera 3 muestras aleatorias de tamao 5. x=zeros(3,5); % almacenar for i=1:3 rand('state',i) % cambia el estado x(i,:)=rand(1,5); end %Establecer un estado anterior. rand('state',2) xt = rand(1,5); %Compare x con xt
U = F ( X ).
Si U es una variable aleatoria uniforme (0,1), entonces se puede obtener la variable aleatoria deseada X de la siguiente relacin:
X = F 1 (U ).
Veamos primero un ejemplo de cmo utilizar el mtodo de la transformada inversa cuando hablamos de la generacin de variables aleatorias de la distribucin exponencial El procedimiento general para el mtodo de transformacin inversa es el siguiente: PROCEDIMIENTO Mtodo de la transformada inversa (continua) 1. Deducir la expresin de la funcin de distribucin inversa X = F 1 (U ) . 2. Generar un nmero aleatorio uniforme U. 3. Obtener la X deseada de X = F 1 (U )
Ejemplos: Generacin de Variables aleatorias continas Ejemplo 2.2 -Distribucin exponencial El mtodo de al transformada inversa puede ser usado para generar variables aleatorias de una distribucin exponencial y sirve como un ejemplo de este procedimiento. La funcin de distribucin para una variable aleatoria exponencial con el parmetro esta dada por
Dejando:
Ejemplo 2.3 DISTRIBUCIN BETA La distribucin beta es til en simulaciones, ya que abarca un amplio rango de formas de distribucin, dependiendo de los valores de los parmetros y Estas formas incluyen distribuciones sesgadas, uniformes y aproximadamente normales. En primer lugar, se describir un mtodo sencillo para la generacin de variables aleatorias beta con parmetros y , cuando ambos son nmeros enteros [Rubinstein, 1981; Gentle, 1998]. Se sabe [David, 1981] que la estadstica de orden K o de uniforme N (0,1) variables se distribuye de acuerdo a una distribucin beta con K parmetros y .Esto significa
n k +1
variables
aleatorias
+ +1
El resultado se muestra en el grfico izquierdo de la figura 4.6. Tenga en cuenta que esta densidad se ve aproximadamente en forma de campana. La densidad de beta de la derecha tiene los parmetros de Y vemos que esta curva tiene un bao en el centro con los modos en cada extremo. Se pide al lector para la construccin de esta parcela en los ejercicios. Para el siguiente laboratorio veremos un mtodo para la generacin de Variables aleatorias discretas.
SIMULACIN
Suponga que el canal de comunicacin tiene una capacidad fija de R bps y que soporta solamente una conexin abierta al tiempo. Se ha desarrollado un registro de los accesos de los usuarios al servidor por medio de un archivo de registro ubicado en la siguiente direccin: ftp://integratic.net/Lab_Stat_Matlab/log_ftp.xls Cada usuario que se conect, solicit un nmero de archivos que est dado por una distribucin Poisson con lambda=2.5 archivos/sesin, y cada archivo es de un tamao que puede ser estimado por medio de una distribucin pseudo uniforme por tramos de las siguientes caractersticas: El archivo puede tener un tamao inferior a 500 bytes o superior a 500 bytes con la misma probabilidad de 0.48 cada grupo. Los archivos mas pequeos tienen distribucin uniforme entre 1 y 500 bytes y los mas grandes tienen distribucin uniforme entre 500 y 100.000 bytes. Existe un ltimo grupo de archivos, de tamao mayores a 100.000 bytes, que ocurren con una probabilidad de 0.04 y que tienen una distribucin uniforme entre 100.000 y 1.000.000 bytes. Cada uno de estos archivos son enviados a travs del enlace y su tiempo de transmisin es igual a la longitud del archivo, dividida por la velocidad del enlace en bits/seg. Se debe realizar lo siguiente: 1. El ajuste de una curva de probabilidad a los tiempos entre conexiones de los usuarios al servidor de FTP, para ello utilice la herramienta fittool de Matlab. Cuidado, lo mas seguro es que no pueda ajustar una curva a todo el archivo, pues no son constantes los parmetros durante todo el da, es decir, no es lo mismo hacer el anlisis a las 3 de la maana que a las 3 de la tarde. 2. Realizar los generadores aleatorios para cada uno de los casos anteriores, tanto para el tiempo en el cual los usuarios se conectan al sistema (que se obtiene a partir del log de ftp), como para el nmero de archivos pedidos al servidor y el tamao de cada archivo solicitado. En general, el tamao de archivos solicitados ser igual a la suma del nmero de archivos solicitados multiplicado por su tamao. 3. Se debe realizar la codificacin de la simulacin en Matlab o cualquier otro programa que desee, en la cual se modele el sistema como una cola de un servidor, con llegadas de usuarios con distribucin genrica (no necesariamente exponencial, depende de lo
obtenido en el tiempo 1) y tiempo de atencin definitivamente no exponencial, pues depende del tamao de los archivos solicitados por el usuario y de la velocidad del canal de comunicacin. 4. Se debe analizar las siguientes variables aleatorias, el tamao promedio de la cola, el retardo promedio de los archivos solicitados en conjunto (es decir, desde que el usuario solicita todo el conjunto de archivos hasta que los recibe completamente) y la utilizacin promedio del canal. Para cada uno de ellos, se debe entregar claramente la definicin de los estadsticos utilizados y el intervalo de confianza de los resultados con un nivel de significacin del 5%. (esto ltimo si en clase se ha visto el tema)
[Gentle, 1998]: Gentle, James E. 1998. Random Number Generation and Monte Carlo Methods, New York: Springer-Verlag.