170 likes | 346 Views
Baltrum, isole Frisone. Immagine grezza (con disturbo aleatorio). Immagine filtrata. Tema 2: Istogrammi, trasformazioni di v.a., e misura di indici statistici. Esempio di v.a.: Immagini radar. Concetto di Istogramma.
E N D
Baltrum, isole Frisone Immagine grezza (con disturbo aleatorio) Immagine filtrata Tema 2: Istogrammi, trasformazioni di v.a., e misura di indici statistici Esempio di v.a.: Immagini radar
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 Trasformaz. di v.a.: v.a. ampiezza 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 conteggiDeltax=x0(2)-x0(1); % calcola larghezza binddp= count/Deltax/Nx; % normalizza bar(x0,ddp)% grafico
500 bin 50 bin 10 bin Esempio di risultati % 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); [ per confronto si è sovrapposta la ddp effettiva ]
con X v.a. uniforme su [0,1] Generazione di v.a. exp. negativa Generazione di v.a. Y con d.d.p. fY(y) e funzione di distribuzione FY(y): • 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 realizzazionigenerate al calcolatore [ Istruzioni utili: rand, mean, std ]
Esempio di file.m & risultati (1) % Generazione delle v.a. esponenziali negative con eta=1x=genespneg(20000);% calcola media e deviazione standard mean(x)std(x)% oppure std(x,1) ans = 1.0102 ans = 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 3x=rand(1,1000)*4-1;% calcola media e deviazione standard mean(x)std(x)% oppure std(x,1)% calcolo con sole 10 realizzazionimean(x(1:10))std(x(1:10))% oppure std(x(1:10),1) ans = 1.0645ans = 1.1713 ans = 1.2035ans = 0.8916 N=1000 N=10 Valori effettivi: media=1; dev_stand=1.1547
dove è la varianza Skewness e Kurtosis Definizione di Skewness e Kurtosis: 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 dativalor 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 file.m: skewkurt.m % Misura della media, dev. standard, skewness e kurtosis di v.a. Gaussiane ed esponenziali clcclear 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 medieetaGA(indice)=mean(GA(1:ncamp));stdEN(indice)=std(EN(1:ncamp),1); % valuta le deviazioni standardstdGA(indice)=std(GA(1:ncamp),1);skeEN(indice)=skewness(EN(1:ncamp)); % valuta le skewnessskeGA(indice)=skewness(GA(1:ncamp));kurEN(indice)=kurtosis(EN(1:ncamp))-3; % valuta le kurtosiskurGA(indice)=kurtosis(GA(1:ncamp))-3; end a=10*[1:N/10]; % esegue i graficifiguresemilogx(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.')figuresemilogx(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.')