Tema 4: Sistemi di V.A. Gaussiane Vettore Gaussiano: N v.a. congiuntamente Gaussiane ddp congiunta di ordine N Vettore valori medi [ statistica di ordine 1 ] Matrice di covarianza [ statistica di ordine 2 ]
Proprietà dei vettori Gaussiani Proprietà 1: la ddp congiunta di ordine N di un vettore aleatorio Gaussiano è completamente specificata dal vettore valori medi e dalla matrice di covarianza Proprietà 2: una trasformazione lineare di vettori Gaussiani preserva la Gaussianità: Proprietà 3: una qualsiasi r-upla di v.a. estratte da X è ancora un vettore aleatorio Gaussiano, in particolare ogni Xk è una v.a. Gaussiana
Proprietà dei vettori Gaussiani Proprietà 4: Funzione caratteristica di un vettore Gaussiano Se {Xi; i=1,2, … , N} sono v.a. Gaussiane indipendenti: Se {Xi; i=1,2,3,4} sono v.a. Gaussiane con valori medi nulli:
Proprietà dei vettori Gaussiani Proprietà 5: se N v.a. congiuntamente Gaussiane sono a due a due incorrelate, esse sono anche indipendenti Se sono anche identicamente distribuite: , dove I è la matrice identità, e
Proprietà dei vettori Gaussiani Proprietà 6: la ddp di una qualsiasi r-upla di v.a. condizionata ad un qualsiasi sottogruppo di k v.a. (prese tra le rimanenti N-r) è Gaussiana vettore valori medi e matrice di covarianza condizionati
Densità di Probabilità (ddp) di due v.a. congiuntamente Gaussiane: Sistema di 2 v.a. congiuntamente Gaussiane Densità di Probabilità (ddp) di due v.a. congiuntamente Gaussiane: y x
Influenza di valori medi e varianze Curve di livello: x y y x
Influenza del coefficiente di correlazione x y
Esempio di file.m: ddpgausscorr.m % Calcolo analitico della ddp congiunta di coppia di v.a. cong. Gaussiane function ddp=ddpgausscorr(vx,vy,ex,ey,sx,sy,rho,graf) % IN: vettori dei valori di cui calcolare la ddp, vx,vy; % media della prima e seconda v.a. Gaussiana, ex, ey; % dev. standard della prima e seconda v.a. Gaussiana, sx, sy; % coefficiente di correlazione, rho; % flag grafico 3D/curve di livello (0,1), graf % OUT: matrice di valori della ddp congiunta; % uscita su video della ddp congiunta x=repmat(vx,size(vy,2),1); % prepara una matrice di valori di x per y costanti y=repmat(vy,size(vx,2),1); y=y'; % prepara una matrice di valori di y per x costanti fattnorm=1/(2*pi*sx*sy*sqrt(1-rho^2)); fattesp=1/(2*(1-rho^2)); formaquadr=(x-ex).^2/sx^2-2*rho*(x-ex).*(y-ey)/(sx*sy)+(y-ey).^2/sy^2; ddp=fattnorm*exp(-fattesp*formaquadr); % valuta la ddp if graf == 0 mesh(x,y,ddp) % grafico 3D else contour(x,y,ddp) % curve di livello hold on plot([min(vx) max(vx)],[0 0],'g--') hold on plot([0 0],[min(vy) max(vy)],'g--') end
ddp marginali e condizionate y y x y y y
ddp marginali e condizionate x y retta di regressione
Esempio di file.m: ddpcondgauss.m % Calcolo analitico della ddp condizionata Y|X per coppia di v.a. X,Y cong. Gaussiane function ddpc=ddpcondgauss(x,vy,ex,ey,sx,sy,rho) % IN: valore della v.a. X a cui condizionare la v.a. Y, x; % vettore dei valori di Y di cui calcolare la d.d.p. cond., vy; % media della prima e seconda v.a. Gaussiana, ex, ey; % dev. standard della prima e seconda v.a. Gaussiana, sx, sy; % coefficiente di correlazione, rho; % OUT: vettore di valori della ddp cond.; % uscita su video della ddp cond. etaycond=ey+rho*sy/sx*(x-ex); sigmaycond=sy*sqrt(1-rho^2); % calcola media e dev. standard cond. ddpc=normpdf(vy,etaycond,sigmaycond); % calcola ddp cond. plot(vy,ddpc) hold on plot(0,0,'go') hold on plot(etaycond,0,'r*') % valor medio cond.
Generazione di V.A. cong. Gaussiane correlate ? desiderati Decomposizione di Cholesky matrice triangolare superiore oppure Decomposizione spettrale
Generazione di V.A. cong. Gaussiane correlate Vettore Gaussiano 2-D: N=2 Metodo per N=2: M coppie di campioni di v.a. X ed Y cong. Gaussiane:
Calcolo di “scatterplot” e coeff. di correlazione - Generare M realizzazioni del vettore 2-D Z=[X Y], X ed Y v.a. cong. Gaussiane Visualizzare lo “scatterplot” (diagramma di dispersione, rappresentazione cartesiana delle coppie di campioni) [istruzioni utili: load, plot, axis] - Calcolare le medie, le varianze ed il coefficiente di correlazione [istruzioni utili: mean, std] Confrontare lo scatterplot con la ddp analitica determinata dai parametri calcolati elaborando N coppie di campioni [Sugg.: utilizzare il programma ddpgausscorr.m]
Esempio di risultati scatterplot Valori dei parametri della ddp: media X = 2; media Y = 4; varianza X = 9; varianza Y = 4; coeff. di correlazione r = -0.5 scatterplot y load coppie.mat plot(x,y,'.') axis([-8 12 -4 12]) hold on plot([-8 12],[0 0],'g--') plot([0 0],[-4 12],'g--') x
Esempio di risultati e file.m: calcrho.m % Misura empirica del coefficiente di correlazione function rho = calcrho(x,y) % IN: vettori di realizzazioni della coppia di v.a. (x,y) % OUT: coefficiente di correlazione rho etax=mean(x); % calcola le medie e deviazioni standard etay=mean(y); sigx=std(x,1); sigy=std(y,1); rho=mean((x-etax).*(y-etay))/(sigx*sigy); % calcola la covarianza % normalizzata Valori effettivi: media X = 2; media Y = 4; varianza X = 9; varianza Y = 4; coeff. di correlazione r = -0.5 » mean(x) 1.9904 » mean(y) 3.9958 » std(x)^2 9.1204 » std(y)^2 4.0664 » calcrho(x,y) -0.5192
Esempio di risultati Scatterplot + Curve di livello hold on ddpgausscorr([-8:.1:12],[-4:.1:12],mean(x),mean(y),std(x),std(y),calcrho(x,y),1); Scatterplot + Curve di livello y x
Esempio di risultati ddpgausscorr([-8:.1:12],[-4:.1:12],2,4,3,2,-0.5,1); hold on ddpgausscorr([-8:.1:12],[-4:.1:12],mean(x),mean(y),std(x),std(y),calcrho(x,y),1); Confronto tra ddp effettiva e la ddp analitica con i parametri misurati dai dati y x
Esempio di file.m: gengausscorr1.m % Generazione coppie di v.a. cong. Gaussiane correlate % metodo della decomposizione di Cholesky function [x,y] = gengausscorr1(n,etax,etay,sig2x,sig2y,rho) % IN: numero di realizzazioni, n; % media della prima e seconda v.a. Gaussiana, etax, etay; % varianza della prima e seconda v.a. Gaussiana, sig2x, sig2y; % coefficiente di correlazione, rho; % OUT: vettori di realizzazioni della prima e seconda v.a. Gaussiana, x,y; R=[sig2x sqrt(sig2x*sig2y)*rho; sqrt(sig2x*sig2y)*rho sig2y]; % matrice di covarianza Ch=chol(R); % determina la trasform. lineare 2x2 tramite decomposizione di Cholesky; A=Ch.'; w=randn(2,n); % genera n realizzazioni di un vettore di 2 v.a. Gaussiana standard indip. % organizzate in una matrice 2xn; c=A*w; % trasformazione lineare 2x2 % applicata a tutte le realizzazioni; x=c(1,:)+etax; % impone le medie y=c(2,:)+etay;
Esempio di file.m: gengausscorr2.m % Generazione coppie di v.a. cong. Gaussiane correlate % metodo della decomposizione agli autovalori function [x,y] = gengausscorr2(n,etax,etay,sig2x,sig2y,rho) % IN: numero di realizzazioni, n; % media della prima e seconda v.a. Gaussiana, etax, etay; % varianza della prima e seconda v.a. Gaussiana, sig2x, sig2y; % coefficiente di correlazione, rho; % OUT: vettori di realizzazioni della prima e seconda v.a. Gaussiana, x,y; R=[sig2x sqrt(sig2x*sig2y)*rho; sqrt(sig2x*sig2y)*rho sig2y]; % matrice di covarianza [V,L]=eig(R); % determina le matrici degli autovettori e degli autovalori; A=V*L.^(1/2); % calcola la trasformazione lineare 2x2 w=randn(2,n); % genera n realizzazioni di un vettore di 2 v.a. Gaussiana standard indip. % organizzate in una matrice 2xn; c=A*w; % trasformazione lineare 2x2 % applicata a tutte le realizzazioni; x=c(1,:)+etax; % impone le medie y=c(2,:)+etay;