Esempio di v.a.: Immagini radar Tema 2: Istogrammi, trasformazioni di v.a., e misura di indici statistici Esempio di v.a.: Immagini radar Immagine grezza (con disturbo aleatorio) Immagine filtrata Baltrum, isole Frisone
Concetto di Istogramma K(xi) = Num. osservati che cadono nell’intervallo (bin) centrato in xi Istogramma ottenuto mediante N=1000 realizzazioni, { x[k]; k=1,2,..,N }, di una v.a. Gaussiana standard Normalizzazione: Nota sulla accuratezza della misura: deve essere soddisfatta la regola empirica “bin” dove
Istogramma di immagini radar Istogramma non normalizzato Dettaglio immagine grezza v.a. ampiezza La mappa riporta il logaritmo delle ampiezze Istogramma normalizzato Istogramma normalizzato v.a. ampiezza Trasformaz. di v.a.: v.a. intensità ddp exp. negativa ddp di Rayleigh Nota: disturbi aleatori con ddp analoghe si trovano anche nei ponti radio
Calcolo di istogrammi Esercizio: Calcolare e visualizzare l’istogramma normalizzato utilizzando N=105 realizzazioni di una v.a. Gaussiana standard, e confrontarlo con la ddp ideale: Problema: fissato N, come scegliere Dx (ovvero il numero di bin)? Verificare il compromesso risoluzione/accuratezza [ Istruzioni utili: randn, function, size, hist, bar ]
Esempio di file.m: istog.m % Calcolo istogramma normalizzato function [ddp,x0] = istog(NBIN,x) % IN: vettore dati, x; numero di bin, nbin; % OUT: istogramma normalizzato, ddp; % vettore valori di centro-bin, x0; % uscita su video di istogramma normalizzato Nx=size(x,2); % numero di dati [count,x0]= hist(x,NBIN); % esegue i conteggi Deltax=x0(2)-x0(1); % calcola larghezza bin ddp= count/Deltax/Nx; % normalizza bar(x0,ddp) % grafico
Esempio di risultati 500 bin 50 bin % Compromesso accuratezza/risoluzione dell'istogramma x=randn(1,10000); figure [d,x0]=istog(10,x); figure [d,x0]=istog(50,x); figure [d,x0]=istog(500,x); 500 bin 50 bin 10 bin [ per confronto si è sovrapposta la ddp effettiva ]
Generazione di v.a. exp. negativa Generazione di v.a. Y con d.d.p. fY(y) e funzione di distribuzione FY (y): con X v.a. uniforme su [0,1] Generare N=104 realizzazioni di una v.a. esponenziale negativa con parametro h=1 [ Istruzioni utili: rand, ... ] Calcolare e visualizzare l’istogramma normalizzato dei dati generati [ Istruzioni utili: hist, bar ]
Esempio di file.m: genespneg.m % Generazione v.a. exp. negative con parametro eta=1 function X = genespneg(N) % IN: numero di v.a., N; % OUT: vettore di v.a. esponenziali negative (eta=1); unif=rand(1,N); % genera N v.a. uniformi tra 0 e 1 X=-log(1-unif); % trasformazione di v.a. per ottenere % le v.a. esponenziali negative (eta=1); % nota: si può usare anche la trasformazione % X=-log(unif) % generazione 20000 v.a. x= genespneg(20000); % istogramma normalizz. con 100 bin [d,x0]=istog(100,x);
Misura del valor medio e deviazione standard Dati: { x[k]; k=1,2,..,N } - Valutare sperimentalmente il valor medio e la deviazione standard della v.a. esponenziale negativa generata, e di una v.a. uniforme nell’intervallo [-1,3] di cui si hanno N=1000 e N=10 realizzazioni generate al calcolatore [ Istruzioni utili: rand, mean, std ]
Esempio di file.m & risultati (1) % Generazione delle v.a. esponenziali negative con eta=1 x=genespneg(20000); % calcola media e deviazione standard mean(x) std(x) % oppure std(x,1) ans = 1.0102 1.0034 Valori effettivi: media=1; dev_stand=1
Esempio di file.m & risultati (2) % Generazione 1000 realizzazioni di v.a. uniforme tra –1 e 3 x=rand(1,1000)*4-1; % calcola media e deviazione standard mean(x) std(x) % oppure std(x,1) % calcolo con sole 10 realizzazioni mean(x(1:10)) std(x(1:10)) % oppure std(x(1:10),1) ans = 1.0645 ans = 1.1713 ans = 1.2035 ans = 0.8916 N=1000 N=10 Valori effettivi: media=1; dev_stand=1.1547
Skewness e Kurtosis Sono indici di non Gaussianità ! Definizione di Skewness e Kurtosis: dove è la varianza Sono indici di non Gaussianità !
Misura di Indici Statistici Esercizio: Generare una sequenza di N=105 realizzazioni di una v.a. X, Gaussiana standard e di una v.a. Y, exp monolatera, avente varianza unitaria Misurare dai dati valor medio, varianza e skewness al variare del numero n di campioni utilizzati per la misura, e graficare il risultato per 1<n<N Osservazione: si noti il diverso comportamento al variare di n, in particolare si noti come all’aumentare dell’ordine del momento misurato il numero di dati necessario per ottenere una misura “accurata” aumenti …
Esempio di risultati (3) Misure empiriche (stime) di valor medio, dev. standard, skewness e kurtosis al variare del numero n di campioni utilizzati per la misura: n=1,2, …, N
Esempio di risultati (4)
Esempio di file.m: skewkurt.m % Misura della media, dev. standard, skewness e kurtosis di v.a. Gaussiane ed esponenziali clc clear N=10000; EN=exprnd(1,1,N); % genera N v.a. esponenziali negative (eta=1); GA=randn(1,N); % genera N v.a. Gaussiane standard; for indice=1:N/10, % per numero di campioni variabile a passi di 10 ncamp=indice*10; etaEN(indice)=mean(EN(1:ncamp)); % valuta le medie etaGA(indice)=mean(GA(1:ncamp)); stdEN(indice)=std(EN(1:ncamp),1); % valuta le deviazioni standard stdGA(indice)=std(GA(1:ncamp),1); skeEN(indice)=skewness(EN(1:ncamp)); % valuta le skewness skeGA(indice)=skewness(GA(1:ncamp)); kurEN(indice)=kurtosis(EN(1:ncamp))-3; % valuta le kurtosis kurGA(indice)=kurtosis(GA(1:ncamp))-3; end a=10*[1:N/10]; % esegue i grafici figure semilogx(a,etaEN,'r',a,stdEN,'g',a,skeEN,'b',a,kurEN,'k') xlabel('num. campioni') title('v.a. esponenziale negativa (eta=1)') legend('media','dev. stand.','skew.','kurt.') figure semilogx(a,etaGA,'r',a,stdGA,'g',a,skeGA,'b',a,kurGA,'k') xlabel('num. campioni') title('v.a. Gaussiana standard') legend('media','dev. stand.','skew.','kurt.')