Documente Academic
Documente Profesional
Documente Cultură
20 de Febrero de 2007 1
NDICE
Definicin de simulacin. Generacin de variables aleatorias: Generacin de nmero aleatorios Mtodo de la funcin inversa Otros mtodos: Composicin Convolucin Transformaciones conocidas Generacin de secuencias Comprobacin de resultados Bibliografa
20 de Febrero de 2007 2
DEFINICIN DE SIMULACIN
SIMULACIN: "Experimentar con modelos matemticos en un computador". Esquema general de la simulacin: Experimentacin/Medida Anlisis de Sistema resultados Generacin de Modelo matemtico seales de entrada del sistema Simulacin Anlisis de resultados
En este curso cubriremos los tres aspectos Notar que, al trabajar en computador, siempre trabajaremos con secuencias discretas (muestras, en todo caso, de seales contin uas)
20 de Febrero de 2007 3
Sistemas sensores: proceso de deteccin, proceso de medida, ... ... Modelado toma forma definiendo: Variables aleatorias que rigen ciertos comportamientos del sistema Procesos estocsticos para modelar variacin de entradas en el tiempo. Se deben definir mtodos para generar muestras de variables aleatorias y muestras de procesos estocsticos.
20 de Febrero de 2007 4
Esquema general de generacin de variables aleatorias y muestr as de procesos estocsticos: Generacin de {Ui} Transformacin {xi} nmeros X=f(U) pseudoaleatorios {Ui}: Conjunto de nmeros generados en el computador, que siguen una distribucin uniforme entre 0 y 1, independientes. {xi}: Conjunto de nmeros que pueden verse como: Muestras de una determinada variable aleatoria Muestras de un proceso estocstico en distintos instantes de tiempo
20 de Febrero de 2007 5
Nmeros aleatorios: los que generan variables aleatorias con distribucin uniforme entre 0 y 1. Importante: Poder reproducir exactamente el mismo experiment o: Detectar casos singulares Comparar sistemas similares bajo condiciones idnticas. Objetivo: U(0,1)
Secuencia de nmeros independientes linealmente: Incorrelados Secuencia reproducible a partir de pocos datos Coste computacional reducido
20 de Febrero de 2007 6
20 de Febrero de 2007 7
secuencia completa. A este valor se el denomina semilla aleatoria. Como mximo se pueden conseguir m nmeros aleatorios distintos. Tiene comportamiento cclico. Longitud del ciclo como mximo m, depende de z0. Que pasa si z =0? Seleccin de z puede ser importante.
00
No puede salir cualquier nmero, solo los de la forma z/m. Dependencia fuertemente no lineal Ejemplo: funcin rand de MATLAB 4:
Otros mtodos, con carcter general, mantienen misma estructu ra: Ecuacin recursivas, reproducibles a partir de valor inicial seleccionable.
Dependencias no lineales => lineales implican correlacin entre muestras. Tienen comportamiento cclico.
20 de Febrero de 2007 9
densidad de probabilidad fX(x)). Sean independientes (linealmente). Generacin de {Ui} nmeros pseudoaleatorios Transformacin X=f(U) {xi}
20 de Febrero de 2007 10
Como U es una variable aleatoria uniforme, si 0<p<1 P(Up)=p. Por tanto F (y)=F (y)
YX
20 de Febrero de 2007 11
U 1 fU(U)
FX(X)
0 fX(X) X
20 de Febrero de 2007 12
Generacin completa de una muestra de una variable aleatoria: Se genera un numero aleatorio u con un generador de nmeros
i
aleatorios. Se transforma utilizando x =F(ui) iX Propiedades del mtodo: Si podemos asumir que los nmeros aleatorios son independientes, las muestras de las variables aleatorias transformadas tambin sern independientes General, vale para cualquier distribucin. 1 Problema: Generar F(U)
1 X
20 de Febrero de 2007 13
Extensin a variables aleatorias discretas: Solo los puntos x tienen una cierta probabilidad de aparecer
k
(p(xk)).
a Veamos grficamente
20 de Febrero de 2007 14
U 1 fU(U)
FX(X)
0 fX(X) X
20 de Febrero de 2007 15
Lo que cambia es el mtodo de generacin: Generacin completa de una muestra de una variable aleatoria discreta: Se genera un numero aleatorio u con un generador de nmeros
i
Implementacin prctica: Ordenar xk, ir recorriendo hasta que se cumpla la anterior condicin, devolver xi=xk. Generalizacin a distribuciones mixtas es inmediata.
20 de Febrero de 2007 16
EJEMPLOS
Generacin de muestras que siguen una distribucin exponencial: f (x)=1/c exp(x/c) para valores positivos de x.
X
F (x)=1exp(x/c)
X 1
f(u)=F(u)= c ln(1u)
X
MATLAB: >>x=c*log(1rand(1,1)); Generacin de muestras que siguen una distribucin discreta: p(1)=1/3, p(2)=1/2, p(4)=1/6 MATLAB: >>u=rand(1,1) >>if(u<1/3) x=1; >>else if(u<5/3) x=2; >>else x=4;
20 de Febrero de 2007 17
OTROS MTODOS
Problema del mtodo anterior es sintetizar FX1(U). En ocasiones, mas sencillo emplear propiedades de distribucione s. Ejemplos: Composicin Convolucin Transformaciones conocidas
20 de Febrero de 2007 18
COMPOSICIN
Mtodo tpico para generar distribuciones multimodales: fX(X)=p1fX1(X)+p2fX2(X)+p3fX3(X)+ ...+pNfXN(X) Si una distribucin es mezcla estadstica de otras, por que no: Generar una variable aleatoria discreta coherente con la probabilidad de cada modo Seleccionar el modo resultante Generar la variable aleatoria con la distribucin asociada al modo.
20 de Febrero de 2007 19
COMPOSICIN (II)
Ejemplo: distribucin de Laplace fX(X)=1/(2c) exp(|x|/c) Puede verse como composicin de dos exponenciales, una positiva y otra negativa Generando dos nmeros aleatorios u y u se puede calcular
12
decidiendo con el primero el signo (equiprobable) y con el segundo el mdulo (exponencial). MATLAB: if rand(1,1)<0.5 x=c*log(1rand(1,1)); else x=c*log(1rand(1,1));
20 de Febrero de 2007 20
CONVOLUCIN
En otras ocasiones, se sabe que una variable aleatoria es resulta do de la suma de varias otras variables. Si dos variables aleatorias (X e Y) son independientes, la funcin densidad de probabilidad se la suma Z=X+Y puede demostrarse (ISA) que es: fZ(z)=fX(z)*fY(z) => de hay el nombre del mtodo. Si sabemos que Z cumple esta propiedad, por que no: Generar muestras (en el ejemplo xe yi) de las variables i aleatorias originales (X e Y en el ejemplo) utilizando el mtodo que sea preciso. Sumarlas (en el ejemplo, z =x +y )
iii
20 de Febrero de 2007 21
CONVOLUCIN (II)
Ejemplo 1: mErlang que es la suma de m exponenciale s. MATLAB: x=0; for i=1:m x=xc/m *log(1rand(1,1)); end
20 de Febrero de 2007 22
CONVOLUCIN (III)
Ejemplo 2: Sntesis de gaussianas como suma de uniformes Teorema de lmite central. Sumando suficientes uniformes, tenderemos a una gaussiana. Mtodo clsico usa 12 => resultado: N(6,1)
20 de Febrero de 2007 23
TRANSFORMACIONES CONOCIDAS
En ocasiones, se conocen relaciones entre variables aleatorias q ue permiten transformar unas en otras. Ejemplo clsico: Generacin de variables aleatorias gaussianas Propiedad conocida: Si tenemos dos variables aleatorias gaussianas X e Y (media nula y varianza igual): Cual es la distribucin de |X+jY|? La de M=|X+jY|2 ? Y la de F=arg(X+jY)? Hay dependencia entre M y F? Generar variables aleatorias exponencial y uniforme no es complicado => ya hemos visto como
20 de Febrero de 2007 24
2 lnu 1 cos2 u2
Y = 2 ln u 1 sen 2 u2 Resultado: pareja de dos muestras de una gaussiana (N(0,1))), independientes entre si
20 de Febrero de 2007 25
20 de Febrero de 2007 26
GENERACIN DE SECUENCIAS
De entre todos los procesos aleatorios, nos vamos a quedar con los estacionarios. Existen mtodos para otras familias, pero no son de inters en este curso. OBJETIVO: Generar un proceso estocstico (discreto) con funcin densidad de probabilidad ( o distribucin) y correlacin ( o espectro) arbitrarias. Problema sin solucin general.
En general, incluso cuando es posible, sintetizar adecuadamente el proceso es difcil Vamos a exponer un mtodo de generacin lo ms genrico posible
20 de Febrero de 2007 27
Tratemos de generalizar ahora a otras distribucion es: Que pasa si: x[n] Generacin de variables aleatorias ?
H(f)
y[n]
Espectro: |H(f)|2 Pero distribucin se modifica: cada salida es resultado de suma s ponderadas de entradas Efecto sumamente difcil de controlar
20 de Febrero de 2007 29
H(f)
y[n]
f(Y)
z[n]=f(y[n])
Z=f(Y): No linealidad sin memoria. Distribucin es una gaussiana tras pasar por la transformacin f(Y) => predecible => controlando f(Y) podemos generar la distribucin deseada. Espectro, al pasar por no linealidad, se distorsiona (y por tanto correlacin). Tambin es predecible esta distorsin => controlando H(f), para una f(Y) dada, se puede controlar 20 de Febrero de 2007 30 espectro de la salida.
Como calcular f(Y)?: Puede hacerse en dos etapas: 1 Convertir gaussiana en uniforme: al igual que F(.) sirve para
X
transformar una uniforme en una distribucin, FX(.) sirve para transformar esa distribucin en uniforme. Convertir uniforme en la distribucin deseada (mtodo de la funcin inversa): 1 f(Y)=F(FY(Y))Z
20 de Febrero de 2007 31
Funcin densidad de probabilidad conjunta de dos muestras (u y v) de la variable aleatoria y[n] separadas n muestras:
11 2 2 g u , v , R ' n=exp u v 2R ' n uv
R n =
f u f v g u , v , R ' n dudv
Relacin R'(n)=funcin(R(n)) complicada de resolver en general. En introduccin terica a la prctica se da resuelta para algunos casos de distribuciones. En introduccin terica tambin se propone un mtodo de sntes is de filtros a partir de R(n) (usando la DFT).
20 de Febrero de 2007 33
COMPROBACIN DE RESULTADOS
En la prctica se van a generar un conjunto de muestras de variables aleatorias y de procesos estocsticos. Hay que validar los resultados. Para ello utilizaremos un conjunto de funciones de MATLAB, aplicndolas sobre los resultados obtenidos para estimar parmetros de las variable aleatorias y procesos estocsticos generados. En prcticas posteriores veremos que es lo que hacen intername nte estas funciones.
20 de Febrero de 2007 34
Habr que utilizar las siguientes funciones de MATLAB: mean: media std: desviacin tpica (raiz cuadrada de la varianza) xcorr: correlacin cruzada (como la usara para calcular autocorrelacin?) psd: densidad espectral de potencia de una seal hist: Histograma (recordar de LSCM)
20 de Febrero de 2007 35
RESUMEN
20 de Febrero de 2007 36