You are on page 1of 36

Generacindevariables aleatorias

20deFebrerode2007

NDICE
Definicindesimulacin. Generacindevariablesaleatorias: Generacindenmeroaleatorios Mtododelafuncininversa Otrosmtodos: Composicin Convolucin Transformacionesconocidas Generacindesecuencias Comprobacinderesultados Bibliografa

20deFebrerode2007

DEFINICINDESIMULACIN
SIMULACIN: "Experimentar con modelos matemticos en un computador". Esquemageneraldelasimulacin: Experimentacin/Medida Sistema Generacinde sealesdeentrada Anlisisde resultados Modelomatemtico delsistema Simulacin Anlisisde resultados

Enestecursocubriremoslostresaspectos Notar que, al trabajar en computador, siempre trabajaremos con secuenciasdiscretas(muestras,entodocaso,desealescontinuas)


20deFebrerode2007 3

GENERACINDEVARIABLESALEATORIAS
Muchos modelos de sistemas reales contienen elementos que precisanoadmitenunmodeladoestadstico: Sistemasdecomunicaciones:ruido,desvanecimiento,... Sistemas de conmutacin: llegadas de usuarios al sistema, duracindeservicios,... Sistemassensores:procesodedeteccin,procesodemedida,... ... Modeladotomaformadefiniendo: 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 aleatoriasymuestrasdeprocesosestocsticos.
20deFebrerode2007 4

GENERACINDEVARIABLESALEATORIAS(II)

Esquemageneraldegeneracindevariablesaleatoriasymuestras deprocesosestocsticos: Generacinde nmeros pseudoaleatorios {Ui} Transformacin X=f(U) {xi}

{Ui}: Conjunto de nmeros generados en el computador, que siguenunadistribucinuniformeentre0y1,independientes. {xi}:Conjuntodenmerosquepuedenversecomo: Muestrasdeunadeterminadavariablealeatoria Muestras de un proceso estocstico en distintos instantes de tiempo
20deFebrerode2007 5

GENERACINDENUMEROSALEATORIOS

Nmeros aleatorios: los que generan variables aleatorias con distribucinuniformeentre0y1. Importante:Poderreproducirexactamenteelmismoexperimento: Detectarcasossingulares Compararsistemassimilaresbajocondicionesidnticas. Objetivo: U(0,1) Secuenciadenmerosindependienteslinealmente:Incorrelados Secuenciareproducibleapartirdepocosdatos Costecomputacionalreducido

20deFebrerode2007

GENERACINDENUMEROSALEATORIOS(II)
Existen varias familias de mtodos de generacin de nmeros aleatorios. Aqu explicaremos el funcionamiento de los ms usuales: tipo congruenciallineal. Frmula: Generaunasecuenciadeenteros{zi}como: zi=(azi1+c)modm meselmdulo aeselmultiplicador ceselincremento m>0,m>a,m>c Elnmeroaleatorioentre0y1seobtienecomo: Ui=zi/m

20deFebrerode2007

GENERACINDENUMEROSALEATORIOS(III)
Propiedades: Ecuacin recursiva: con un valor inicial (z ) se define la o secuencia completa. A este valor se el denomina semilla aleatoria. Como mximo se pueden conseguir m nmeros aleatorios distintos. Tienecomportamientocclico.Longituddelciclocomomximo m,dependedez0. Quepasasiz =0?Seleccindez puedeserimportante. 0 0 Nopuedesalircualquiernmero,sololosdelaformaz/m. Dependenciafuertementenolineal Ejemplo:funcinranddeMATLAB4: zi=(77zi1)mod(2311)
20deFebrerode2007 8

GENERACINDENUMEROSALEATORIOS(IV)

Otrosmtodos,concarctergeneral,mantienenmismaestructura: Ecuacin recursivas, reproducibles a partir de valor inicial seleccionable. Dependenciasnolineales=>linealesimplicancorrelacinentre muestras. Tienencomportamientocclico.

20deFebrerode2007

GENERACINDEVARIABLESALEATORIAS
Sabemos generar U(0,1). Aqu generalizaremos para conseguir muestrasque: Siganunadistribucindeseada(funcindedistribucinF (x)o X densidaddeprobabilidadfX(x)). Seanindependientes(linealmente). Generacinde nmeros pseudoaleatorios {Ui} Transformacin X=f(U) {xi}

Comodebeserf(U)paraconseguirladistribucindeseada

20deFebrerode2007

10

MTODODELAFUNCININVERSA
Mtodoparafuncionescontinuas: f(U)=FX1(U) Demostracindesuvalidez: DefinimosY=f(U) QueremoscalcularF (y)=P(Yy) Y F (.)esmontonacreciente=>P(Yy)=P(F (Y)F (y)) X X X F (y)=P(F (f(U))F (y)) Y X X 1 F (y)=P(F (F (U))FX(y)) Y X X F (y)=P(UF (y)) Y X Como U es una variable aleatoria uniforme, si 0<p<1 P(Up)=p. PortantoF (y)=F (y) Y X
20deFebrerode2007 11

MTODODELAFUNCININVERSA(II)

U 1 fU(U)

FX(X)

0 fX(X) X
20deFebrerode2007 12

MTODODELAFUNCININVERSA(III)

Generacincompletadeunamuestradeunavariablealeatoria: Segeneraunnumeroaleatoriou conungeneradordenmeros i aleatorios. 1 Setransformautilizandox =F (ui) i X Propiedadesdelmtodo: Si podemos asumir que los nmeros aleatorios son independientes, las muestras de las variables aleatorias transformadastambinsernindependientes General,valeparacualquierdistribucin. 1 Problema:GenerarF (U) X

20deFebrerode2007

13

MTODODELAFUNCININVERSA(IV)

Extensinavariablesaleatoriasdiscretas: Solo los puntos x tienen una cierta probabilidad de aparecer k (p(xk)).

F X x=P X x= p x i
x i x

Alfinyalcabo,sondistribucionescomocualquierotra Veamosgrficamente

20deFebrerode2007

14

MTODODELAFUNCININVERSA(V)

U 1 fU(U) 0 fX(X) X

FX(X)

20deFebrerode2007

15

MTODODELAFUNCININVERSA(VI)

Loquecambiaeselmtododegeneracin: Generacin completa de una muestra de una variable aleatoria discreta: Segeneraunnumeroaleatoriou conungeneradordenmeros i aleatorios. Setransformaseleccionandoelmenorx talqueu <F(x ). k i k Implementacin prctica: Ordenar xk, ir recorriendo hasta que se cumplalaanteriorcondicin,devolverxi=xk. Generalizacinadistribucionesmixtasesinmediata.

20deFebrerode2007

16

EJEMPLOS
Generacin de muestras que siguen una distribucin exponencial: f (x)=1/cexp(x/c)paravalorespositivosdex. X F (x)=1exp(x/c) X 1 f(u)=F (u)=cln(1u) X MATLAB:>>x=c*log(1rand(1,1)); Generacindemuestrasquesiguenunadistribucindiscreta: p(1)=1/3,p(2)=1/2,p(4)=1/6 MATLAB: >>u=rand(1,1) >>if(u<1/3) x=1; >>elseif(u<5/3)x=2; >>elsex=4;
20deFebrerode2007 17

OTROSMTODOS

ProblemadelmtodoanterioressintetizarFX1(U). Enocasiones,massencilloemplearpropiedadesdedistribuciones. Ejemplos: Composicin Convolucin Transformacionesconocidas

20deFebrerode2007

18

COMPOSICIN

Mtodotpicoparagenerardistribucionesmultimodales: fX(X)=p1fX1(X)+p2fX2(X)+p3fX3(X)+...+pNfXN(X) Siunadistribucinesmezclaestadsticadeotras,porqueno: Generar una variable aleatoria discreta coherente con la probabilidaddecadamodo Seleccionarelmodoresultante Generar la variable aleatoria con la distribucin asociada al modo.

20deFebrerode2007

19

COMPOSICIN(II)
Ejemplo:distribucindeLaplacefX(X)=1/(2c)exp(|x|/c) Puede verse como composicin de dos exponenciales, una positivayotranegativa Generando dos nmeros aleatorios u y u se puede calcular 1 2 decidiendo con el primero el signo (equiprobable) y con el segundoelmdulo(exponencial). MATLAB: ifrand(1,1)<0.5 x=c*log(1rand(1,1)); else x=c*log(1rand(1,1));
20deFebrerode2007 20

CONVOLUCIN

Enotrasocasiones,sesabequeunavariablealeatoriaesresultado delasumadevariasotrasvariables. Sidosvariablesaleatorias(XeY)sonindependientes,lafuncin densidad de probabilidad se la suma Z=X+Y puede demostrarse (ISA)quees:fZ(z)=fX(z)*fY(z)=>dehayelnombredelmtodo. SisabemosqueZcumpleestapropiedad,porqueno: Generar muestras (en el ejemplo x e yi) de las variables i aleatoriasoriginales(XeYenelejemplo)utilizandoelmtodo queseapreciso. Sumarlas(enelejemplo,z =x +y ) i i i

20deFebrerode2007

21

CONVOLUCIN(II)

Ejemplo1:mErlangqueeslasumademexponenciales. MATLAB: x=0; fori=1:m x=xc/m*log(1rand(1,1)); end

20deFebrerode2007

22

CONVOLUCIN(III)
Ejemplo2:Sntesisdegaussianascomosumadeuniformes Teoremadelmitecentral. Sumandosuficientesuniformes,tenderemosaunagaussiana. Mtodoclsicousa12=>resultado:N(6,1)

20deFebrerode2007

23

TRANSFORMACIONESCONOCIDAS
Enocasiones,seconocenrelacionesentrevariablesaleatoriasque permitentransformarunasenotras. Ejemploclsico:Generacindevariablesaleatoriasgaussianas Propiedad conocida: Si tenemos dos variables aleatorias gaussianasXeY(medianulayvarianzaigual): Cualesladistribucinde|X+jY|? LadeM=|X+jY|2? YladeF=arg(X+jY)? HaydependenciaentreMyF? Generar variables aleatorias exponencial y uniforme no es complicado=>yahemosvistocomo

20deFebrerode2007

24

TRANSFORMACIONESCONOCIDAS(II)
Apartirdedosvariablesaleatorias,unaexponencial(M)ylaotra uniforme entre 0 y 1 (F), se pueden generar dos gaussianas independientesutilizandolassiguientestransformaciones:
X = M cos2 F Y = M sen 2 F

Elmtodocompletoquedar: Generardosvariablesaleatoriasuniformes(u yu ). 1 2 Utilizarlasiguientetransformacin: x= 2 lnu 1 cos2 u2 Y = 2 ln u 1 sen 2 u2 Resultado: pareja de dos muestras de una gaussiana (N(0,1))), independientesentresi
20deFebrerode2007 25

TRANSFORMACIONESCONOCIDAS(III)
Ejemplo 2: Como modificar media y varianza de una variable aleatoria? Traslacin de la media: Y=X+m => aplicar sobre muestras generadasdeX(comprobarqueE{Y}=E{X}+m): yi=xi+m Modificacindelavarianza:RecordarqueY=aXimplicaque Var(Y)=a2 Var(X).Aplicardeformaequivalentealasmuestras generadasdeX: yi=axi Traslacindelamediaymodificacindelavarianzaconjuntas: QuepasaconmediayvarianzasiY=aX+m?Pensarantes deiralaprctica.
20deFebrerode2007 26

GENERACINDESECUENCIAS
Deentretodoslosprocesosaleatorios,nosvamosaquedarconlos estacionarios.Existenmtodosparaotrasfamilias,peronosonde intersenestecurso. OBJETIVO: Generar un proceso estocstico (discreto) con funcindensidaddeprobabilidad(odistribucin)ycorrelacin(o espectro)arbitrarias. Problemasinsolucingeneral. Engeneral,inclusocuandoesposible,sintetizaradecuadamente elprocesoesdifcil Vamos a exponer un mtodo de generacin lo ms genrico posible

20deFebrerode2007

27

GENERACINDESECUENCIAS(II)
Comogenerarprocesosgaussianosconunaciertacorrelacin? RecordardeISA: Sitenemosunruidoblancogaussiano PasamosporunfiltroconrespuestaenfrecuenciaH(f) Espectrodelruidocoloreado:|H(f)|2 Distribucinsiguesiendogaussiana. Esteeselfundamentodelageneracindesecuenciascorreladas: Generacinde x[n] gaussianas SY(f)=|H(f)|2 RY[n]=1{|H(f)|2}
20deFebrerode2007 28

H(f)

y[n]

GENERACINDESECUENCIAS(III)

Tratemosdegeneralizarahoraaotrasdistribuciones: Quepasasi: Generacinde variablesaleatorias ?


x[n]

H(f)

y[n]

Espectro:|H(f)|2 Perodistribucinsemodifica:cadasalidaesresultadodesumas ponderadasdeentradas Efectosumamentedifcildecontrolar


20deFebrerode2007 29

GENERACINDESECUENCIAS(IV)
Cambiemosahoraelmtodo: Quepasasi: Generacinde x[n] gaussianas ?

H(f)

y[n]

f(Y)

z[n]=f(y[n])

Z=f(Y):Nolinealidadsinmemoria. Distribucin es una gaussiana tras pasar por la transformacin f(Y) => predecible => controlando f(Y) podemos generar la distribucindeseada. 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 espectrodelasalida.
20deFebrerode2007 30

GENERACINDESECUENCIAS(V)

Comocalcularf(Y)?:Puedehacerseendosetapas: 1 Convertir gaussiana en uniforme: al igual que F (.) sirve para X transformar una uniforme en una distribucin, FX(.) sirve para transformaresadistribucinenuniforme. Convertir uniforme en la distribucin deseada (mtodo de la funcininversa): 1 f(Y)=F (FY(Y)) Z

20deFebrerode2007

31

GENERACINDESECUENCIAS(VI)
ComocalcularH(f)?: Autocorrelacinantesdepasarpornolinealidad:R'(n) Funcindensidaddeprobabilidadconjuntadedosmuestras(uy v)delavariablealeatoriay[n]separadasnmuestras:
g u , v , R ' n=

1 1 2 2 exp u v 2R ' n uv 2 2 1R ' n

Autocorrelacinalasalida(z[n]):

R n =

f u f v g u , v , R ' n dudv

A partir de autocorrelacin =>|H(f)|2={R'[n]}. Usar mtodos dediseodefiltrosdigitales.


20deFebrerode2007 32

GENERACINDESECUENCIAS(V)

Relacin R'(n)=funcin(R(n)) complicada de resolver en general. En introduccin terica a la prctica se da resuelta para algunos casosdedistribuciones. Enintroduccintericatambinseproponeunmtododesntesis defiltrosapartirdeR(n)(usandolaDFT).

20deFebrerode2007

33

COMPROBACINDERESULTADOS

En la prctica se van a generar un conjunto de muestras de variablesaleatoriasydeprocesosestocsticos. Hayquevalidarlosresultados. 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. Enprcticasposterioresveremosqueesloquehaceninternamente estasfunciones.

20deFebrerode2007

34

COMPROBACINDERESULTADOS(II)

HabrqueutilizarlassiguientesfuncionesdeMATLAB: mean:media std:desviacintpica(raizcuadradadelavarianza) xcorr: correlacin cruzada (como la usara para calcular autocorrelacin?) psd:densidadespectraldepotenciadeunaseal hist:Histograma(recordardeLSCM)

20deFebrerode2007

35

RESUMEN

Generacinde nmeros pseudoaleatorios

{Ui} Transformaciones X=f(U)

{xi}

Anlisisde resultados

Requisitos: Distribucin Espectro/Autocorrelacin

20deFebrerode2007

36