Tema Tres Simulacion MD Ruiz Medina
Tema Tres Simulacion MD Ruiz Medina
Tema Tres Simulacion MD Ruiz Medina
Introducci on
El dise no de m etodos de generaci on de procesos aleatorios que evolucionan en el tiempo requiere de algoritmos m as complejos que los asociados a la generaci on de variables aleatorias, dada la presencia de correlaciones en el tiempo de las componentes aleatorias que denen dichos procesos. Generalmente, se suelen realizar simplicaciones sobre la estructura de dichos procesos. Por ejemplo, se considera una discretizaci on del par ametro temporal, comenz andose por la implementaci on de t ecnicas de simulaci on de procesos constituidos por componentes aleatorias independientes, o bien, se consideran estructuras de dependencia d ebil tales como las asociadas a modelos o procesos de Markov (e.g. Cadenas de Markov). En este cap tulo, comenzaremos dise nando algoritmos de simulaci on sencillos, basados en la hip otesis de independencia, para la generaci on de procesos aleatorios elementales tales como los recorridos aleatorios, el movimiento Browniano y el proceso de Poisson. N otese que los recorridos aleatorios se construyen a partir de secuencias de variables aleatorias independientes. Bajo ciertas condiciones, el movimiento Browniano admite una denici on como proceso l mite de un recorrido aleatorio. Este proceso posee incrementos independientes al igual que el proceso de Poisson, que tambi en se generar a y visualizar a en este cap tulo. Con frecuencia este tipo de procesos son de gran inter es en aplicaciones dada su f acil impementaci on, an alisis estad stico e interpretaci on.
2.
Un recorrido aleatorio es una formalizaci on matem atica de una trayectoria denida mediante una secuencia de saltos aleatorios. El recorrido aleatorio constituye un modelo de proceso estoc astico amplimente utilizado en el an alisis y representaci on de sistemas en diversas areas aplicadas tales como Ciencias de la Computaci on, F sica, Ecolog a, Econom a, etc. Por ejemplo la trayectoria descrita por una mol ecula en un l quido o gas, el precio de un stock con uctuaciones, etc. Por otra parte los recorridos aleatorios permiten aproximar asint oticamente diversos procesos tales como procesos tipo movimiento Browniano, procesos tipo L evy, etc. Los recorridos aleatorios se hallan relacionados con los procesos de difusi on y constituyen una herramienta fundamental en el estudio de procesos de Markov. Existe una gran variedad de modelos de recorridos aleatorios. De hecho, un recorrido aleatorio puede asociarse a un grafo, una l nea, un plano, o bien, a espacios de dimensi on
superior. En el caso m as sencillo, un recorrido aleatorio se suele denir sobre los n umeros enteros.
2.1.
Sea Sn , n N, un recorrido aleatorio simple, siendo S0 = 0, es decir, que comienza en cero. En cada paso, el recorrido realiza un salto unitario 1 (ascendente o descendente) con igual probabilidad. Formalmente, se construye a partir de una secuencia de variables aleatorias independientes Z1 , Z2 , . . . , Zk , . . . , cada una de las cuales toma el valor 1 con probabilidad 1/2 y el valor 1 con probabilidad 1/2. Se considera entonces la variable aleatoria suma Sn denida mediante la ecuaci on
n
Sn =
j =1
Zj .
La secuencia {Sn , n N} recibe el nombre de recorrido aleatorio simple. Este concepto admite una formulaci on general, en t erminos de una probabilidad p (0, 1) de tomar el valor 1 (ascenso) y una probabilidad 1 p de tomar el valor 1 (descenso) para cada una de las variables aleatorias Zi , i N, de la secuencia involucrada en la denici on de un recorrido aleatorio {Sn , n N} . Seguidamente se muestra un algoritmo de generaci on de un recorrido aleatorio simple con probabilidad de salto ascendente p y descendente (1 p) en c odigo MatLab. clear all p=0.5; y=[0 cumsum(2.*(rand(1, n 1) <= p) 1)]; plot([0 : n 1],y);
2.2.
Se dene de forma an aloga al caso anterior (recorrido aleatorio simple), considerando en lugar de saltos unitarios, saltos (ascendentes o descendentes) de tama no aleatorio, denido mediante una distribuci on de probabilidad centrada. Seguidamente se muestra, en c odigo MatLab, un algoritmo de generaci on de un recorrido aleatorio simple con longitud de salto aleatoria, denida mediante una distribuci on uniforme. clear all x=rand(1,n)-1/2; y=[0 cumsum(x)-1)]; plot([0:n-1],y);
3.
Movimiento Browniano
La universalidad del movimiento Browniano dentro de la teor a de procesos estoc asticos es similar a la de la distribuci on normal dentro de la teor a de variables aleatorias. De hecho, el proceso movimiento Browniano se puede interpretar como una versi on continua de un recorrido aleatorio. Aunque inicialmente este proceso surge como modelo para el movimiento de part culas suspendidas en un l quido o un gas, posteriormente, ha sido utilizado en la representaci on de procesos aleatorios en diversos campos aplicados, tales como las Finanzas, Ingenier a, Biolog a, Geof sica, Medio-Ambiente, etc. Existen, por tanto, diferentes caracterizaciones del proceso movimiento Browniano asociadas a diferentes campos (Matem aticas, F sica, etc.). Resumiremos su caracterizaci on matem atica habitual. El proceso Movimiento Browniano se dene como un proceso estoc astico B (t), t 0, satisfaciendo: B (0) = 0 B (t) es continuo casi seguramente B posee incrementos independientes con B (s + t) B (s) N (0, t), para cualquier s 0, t > 0. Seguidamente se muestra, en c odigo MatLab, un algoritmo de generaci on del movimiento Browniano a partir de su aproximaci on mediante un recorrido aleatorio en tiempo discreto. clear all n=1000; dt=1; y=[0 cumsum(dt 0.5.*randn(1,n))]; plot([0:n],y);
4.
Proceso de Poisson
El proceso de Poisson es un ejemplo cl asico de Cadena de Markov en tiempo continuo. Asimismo, se suele introducir desde la teor a de procesos de recuento y procesos de renovaci on. Este es tambi en un modelo universal. Su distribuci on de probabilidad y propiedades se caracterizan mediante un u nico par ametro , que representa la tasa de ocurrencia de los sucesos aleatorios que contabiliza. Desde el punto de vista estad stico, es un modelo id oneo para la inferencia ya que se halla caracterizado en t erminos de un u nico par ametro. La inferencia sobre este modelo se centra, pues, en la estimaci on puntual y por intervalos de conanza del par ametro , as como en el planteamiento de contrastes 3
de hip otesis sobre dicho par ametro y funciones del mismo. El proceso de Poisson ha sido ampliamente utilizado como modelo para representar el n umero de fallos de un sistema en Fiabilidad, el n umero de nacimientos o muertes en An alisis de Supervivencia, la distribuci on de excesos sobre umbrales en Medicina, la ocurrencia de incendios forestales en Medio-Ambiente, etc. Matem aticamente, el proceso de Poisson {N (t), t 0} , con par ametro , se dene como un proceso de recuento, es decir, N (t) N (0) = N (t) contabiliza el n umero de sucesos aleatorios ocurridos en un intervalo de longitud t, satisfaciendo las siguientes condiciones: Posee incrementos independientes (el n umero de sucesos aleatorios ocurridos en dos intervalos temporales disjuntos se distribuye de forma independiente). Posee incrementos estacionarios (el n umero de sucesos aleatorios ocurridos en un intervalo temporal no depende de su localizaci on sino de su longitud). Para cualquier t R+ y h > 0, N (t + h) N (t) P (h), donde se denota por P (h) la distribuci on de Poisson con par ametro h. Adicionalmente, se tiene que los tiempos aleatorios entre ocurrencias de sucesos se distribuyen seg un una esponencial con par ametro y que los tiempos de espera hasta que se produce la ocurrencia de n sucesos aleatorios se distribuyen seg un una Gamma con par ametro n. Seguidamente se muestra, en c odigo MatLab, un algoritmo de generaci on del Proceso de Poisson con par ametro considerando un n umero jo de ocurrencias de sucesos aleatorios, es decir, se simulan n tiempos aleatorios entre ocurrencias de sucesos a partir de la distribuci on exponencial con par ametro . clear all interarr=[0 -log(rand(1, n))./lambda]; stairs(cumsum(interarr), 0:n); Otra opci on en el dise no de algoritmos para la simulaci on del proceso de Poisson es considerar un intervalo temporal jo [0, T ] y contabilizar el n umero de sucesos aleatorios que ocurren en dicho intervalo. El n umero de sucesos ocurridos en dicho intervalo se distribuye seg un una Poisson con media T. Condicionando al n umero de sucesos que ocurrieron, los sucesos se distribuyen uniformemente en el intervalo. Seguidamente se muestra, en c odigo MatLab, un algoritmo de generaci on del Proceso de Poisson con par ametro considerando un intervalo temporal jo [0, T ] 4
clear all npoints = poissrnd(lambda*T); if (npoints > 0) arrt = [0; sort(rand(npoints, 1)*T)]; else arrt = 0; end stairs(arrt, 0:npoints); Una versi on vectorial del algoritmo anterior es dif cil de obtener, sin embargo, se puede realizar una versi on alternativa desde la teor a de procesos de renovaci on con tiempos aleatorios entre renovaciones exponencialmente distribuidos. Seguidamente se muestra, en c odigo MatLab, un algoritmo de generaci on del Proceso de Poisson desde la perspectiva de procesos de renovaci on. clear all tarr = zeros(1, nproc); i = 1; while (min(tarr(i,:))<= T) tarr = [tarr; tarr(i, :)-log(rand(1, nproc))/lambda]; i = i+1; end tarr2=tarr; X=min(tarr2); stairs(X, 0:size(tarr, 1)-1);
5.
Versiones multidimensionales
En esta secci on, se introducen extensiones de los algoritmos anteriores para la generaci on de versiones multidimensionales de recorridos aleatorios, movimiento Browniano y proceso de Poisson.
5.1.
Se introducen a continuaci on dos algoritmos, en c odigo MatLab, para la generaci on de recorridos aleatorios bidimensionales y tridimensionales. Recorrido aleatorio bidimensional 5
clear all n=100000; colorstr=[b r g y]; for k=1:4 z=2.*(rand(2,n)0.5)-1; x=[zeros(1,2); cumsum(z)]; col=colorstr(k); plot(x(:,1),x(:,2),col); hold on end grid
Recorrido aleatorio tridimensional clear all p=0.5; n=10000; colorstr=[b r g y]; for k=1:4 z=2.*(rand(3,n)<=p)-1; x=[zeros(1,3); cumsum(z)]; col=colorstr(k); plot3(x(:,1),x(:,2),x(:,3),col); hold on end grid
5.2.
En el siguiente algoritmo, escrito en c odigo MatLab, se implementa un m etodo de generaci on del movimiento Browniano tridimensional. clear all npoints = 5000; dt = 1; bm = cumsum([zeros(1, 3); dt 0.5*randn(npoints-1, 3)]); gure(1); plot3(bm(:, 1), bm(:, 2), bm(:, 3), k); pcol = (bm-repmat(min(bm), npoints, 1))./ ... repmat(max(bm)-min(bm), npoints, 1); 6
hold on; scatter3(bm(:, 1), bm(:, 2), bm(:, 3), ... 10, pcol, lled); grid on; hold o;
5.3.
El proceso de Poisson bidimensional permite representar puntos localizados aleatoriamente en el espacio, o bien, en el espacio y tiempo. La intensidad de puntos es proporcional al area espacial, o bien, al volumen del conjunto tridimensional considerado. El n umero de puntos que se localizan en dos conjuntos bidimensionales o tridimensionales disjuntos se distribuyen de forma independiente. Se introduce a continuaci on un algoritmo, en c odigo MatLab, para la generaci on del Proceso de Poisson en el cubo unidad. clear all lambda=100; nmb=poissrnd(lambda) x=rand(1,nmb); y=rand(1,nmb); z=rand(1,nmb); grid scatter3(x,y,z,5,5.*rand(1,nmb));