Analisi Statistica Multivariata Progetto 1
-
Upload
davide-barlotti -
Category
Documents
-
view
19 -
download
3
description
Transcript of Analisi Statistica Multivariata Progetto 1
Analisi Statistica Multivariata. A.A. 2010-2011
Progetto n.1. Gruppo IV.
Barlotti Davide Mensali Giorgia
Problema 1
Si considerino i dati rainfalls (in DASL and More Data). Studiare gli
oggetti e le variabili (eliminando la colonna dell'anno): fare un'analisi
di clustering usando single e complete linkage, eventualmente considerando
varie distanze.
Interpretare i risultati indicando le eventuali eccezioni. Valutare i
raggruppamenti con anche un metodo di Multidimensional scaling,e
confrontare i risultati.
Problema 2
Si considerino i dati sui salmoni in T11-2 (in JW), corrispondenti ai
valori di crescita (diametro degli anelli di crescita) di due popolazioni
(dell'Alaska,famiglia 1 e Canadesi, famiglia 2), in due tempi diversi: in
acqua dolce (primo anno) ed acqua salata (primo anno). In tutta l'analisi,
si considerino solo i dati dei maschi (seconda colonna, genere=2).
1. Per la matrice di osservazioni relativa ad ogni popolazione considerata,
fare uno studio della normalità univariata e bivariata. Verificare
l'eventuale presenza di outliers ed eliminarli dall'analisi successiva
giustificando la scelta. Trasformare eventualmente le variabili, o alcune
di esse, per migliorare la normalità dei dati.
2. Determinare la regione di confidenza (99% e 95%) per la media, relati-
vamente alla famiglia Alaska. Riportare tutto sullo stesso grafico e
commentare.
3. Per le osservazioni provenienti dalle diverse popolazioni, valutare
l'ipotesi di uguale media delle popolazioni, con livello di signicativita
= 0.05 e = 0.01. Commentare i risultati. In caso di rifiuto, valutare
quale delle variabili è piu responsabile del rifiuto, facendo il confronto
di medie sulle singole variabili.
4. Determinare intervalli simultanei di confidenza (95%) e commentare su
eventuali differenze tra i risultati ottenuti rispetto al test del quesito
precedente.
5. Impostare un test di discriminanza per allocare la nuova osservazione x
= [140; 370] anche mediante uno studio grafico.
Problem 1
Dati di Partenza
Can Southern California's water supply in future years be predicted from past data? One factor affecting water availability is stream runoff. If runoff could be predicted, engineers, planners and policy makers could do their jobs more efficiently. Multiple linear regression models have been used in this regard.
The following dataset contains 43 years worth of precipitation measurements (in inches) taken at six sights in the Owens Valley labeled APMAM (Mammoth Lake), APSAB (Lake Sabrina), APSLAKE (South Lake), OPBPC (Big Pine Creek), OPRC (Rock Creek), and OPSLAKE, and stream runoff volume (measured in acre-feet) at a sight near Bishop, California (labeled BSAAM). Can precipitation predict runoff volume?
Year | APMAM | APSAB |APSLAKE| OPBPC | OPRC |OPSLAKE| BSAAM 1948 9.13 3.58 3.91 4.10 7.43 6.47 54235 1949 5.28 4.82 5.20 7.55 11.11 10.26 67567 1950 4.20 3.77 3.67 9.52 12.20 11.35 66161 1951 4.60 4.46 3.93 11.14 15.15 11.13 68094 1952 7.15 4.99 4.88 16.34 20.05 22.81 107080 1953 9.70 5.65 4.91 8.88 8.15 7.41 67594 1954 5.02 1.45 1.77 13.57 12.45 13.32 65356 1955 6.70 7.44 6.51 9.28 9.65 9.80 67909 1956 10.50 5.85 3.38 21.20 18.55 17.42 92715 1957 9.10 6.13 4.08 9.55 9.20 8.25 70024 1958 8.75 5.23 5.90 15.25 14.80 17.48 99216 1959 8.10 3.77 4.56 9.05 6.85 9.56 55786 1960 3.75 1.47 1.78 4.57 6.10 7.65 46153 1961 10.15 5.09 4.86 8.90 7.15 9.00 47947 1962 6.15 3.52 3.30 16.90 14.75 17.68 76877 1963 12.75 8.17 10.16 16.75 11.55 15.53 88443 1964 7.35 4.33 4.85 5.25 7.45 8.20 54634 1965 11.25 6.56 7.60 8.40 13.20 13.29 78806 1966 4.05 1.90 2.00 10.85 8.25 12.56 56542 1967 12.65 6.62 7.14 23.25 17.00 23.66 116244 1968 4.65 3.84 3.34 7.10 6.80 8.28 60857 1969 5.35 3.62 4.62 43.37 24.85 33.07 146345 1970 4.05 1.98 2.94 8.95 11.25 11.00 73726 1971 5.90 5.72 5.42 8.45 10.90 10.82 65530 1972 9.45 4.82 6.79 7.90 7.60 8.06 60772 1973 3.45 2.63 2.88 14.80 14.70 15.86 91696 1974 4.25 2.54 2.36 18.05 16.90 16.42 87377 1975 7.90 4.42 6.78 11.50 9.55 12.56 77306 1976 9.38 8.30 9.70 6.80 5.25 4.73 44756 1977 7.08 4.40 3.90 4.05 4.35 4.60 41785 1978 11.92 5.78 6.70 25.30 20.55 21.94 112653 1979 3.88 2.26 3.10 15.97 11.83 13.88 79975 1980 5.80 3.10 3.34 24.40 19.15 23.78 106821 1981 2.70 2.22 2.48 8.99 9.45 12.14 69177 1982 18.08 11.96 13.02 18.55 18.40 19.45 120463 1983 8.20 4.98 5.76 19.25 22.90 23.86 135043 1984 7.65 5.30 5.74 14.45 13.15 14.42 102001 1985 5.22 4.42 4.04 11.45 10.16 13.06 77790 1986 4.93 3.26 4.58 26.47 15.33 26.46 118144 1987 5.99 2.76 3.98 4.80 6.85 6.36 61229 1988 6.83 6.82 5.18 7.20 9.01 9.88 58942 1989 8.80 5.06 4.92 8.05 9.60 9.58 53965 1990 7.10 5.06 6.05 5.80 6.50 8.41 49774
Elaborazione Dati:
>> RAIN=RAINFALLS(:,2:8)
Analisi di clustering per le osservazioni
>> clustering(RAIN,'seuclidean')
>>clustering(RAIN,'correlation')
Dall’analisi di clustering sulle osservazioni (Anni) , utilizzando le distanze
‘seuclidean’ e ‘correlation’ , si osserva nei grafici relativi al complete
linkage che i risultati differiscono nell’accorpare le mie osservazioni. Nel
grafico relativo al complete linkage per la distanza ‘seuclidean’, ipotizzando
di “tagliare” al valore 4 dell’asse delle ordinate individuiamo 7 macrogruppi
di osservazioni , 2 dei quali ( osservazioni 22 e 35 ) sono composti da una
singola osservazione indipendente.
2 24 41 8 3 4 38 19 23 34 7 26 27 32 15 1 6 10 14 42 12 17 43 25 21 40 30 28 13 11 37 5 36 33 39 9 18 20 31 16 29 22 35
1
2
3
Observations. Single linkage
2 24 28 8 41 6 10 14 42 25 43 1 12 17 30 13 21 40 3 4 38 15 26 27 7 32 19 23 34 5 36 33 39 9 11 37 20 31 22 16 18 29 35
2
4
6
8
10Observations. Complete linkage
2 24 3 23 36 34 5 11 38 37 21 26 8 28 41 12 16 4 6 10 17 18 40 35 43 25 42 13 9 31 32 14 20 7 15 33 27 19 39 1 30 22 290
2
4
6
x 10-9 Observations. Single linkage
2 24 8 21 41 11 38 37 13 1 30 6 10 14 12 16 28 17 18 42 25 35 40 43 29 3 23 36 5 34 26 4 7 15 27 33 9 19 20 31 32 22 390
2
4
6
x 10-8 Observations. Complete linkage
Analizzando invece il grafico relativo al complete linkage per la distanza
‘correlation’ e “tagliando” al valore 2 dell’asse delle ordinate si
riscontrano 2 macrogruppi di osservazioni (Anni) e 2 gruppi isolati costituiti
l’uno dall’osservazione 29 ( Anno 1976 ) e l’altro dalle osservazioni 22 e 39
( Anni 1969 e 1986 ).
I grafici relativi al single linkage sono poco significativi in termini di analisi visiva , in quanto le distanze sono misurate da ogni membro di un cluster ad ogni membro dell’altro cluster , e tra tutte queste distanze la minima è considerata la distanza tra i cluster.
Analisi di clustering delle variabili:
Dato che la variabile 7° ( stream runoff volume misurata in Acro/piede e denominata BSAAM) è quantificata con una unità di misura differente dalle altre variabili abbiamo utilizzato le distanze ‘seuclidean’ e ‘correlation’ per l’analisi di clustering in quanto entrambe le distanze ci consentono di
analizzare le variabili senza risentire delle diverse unità di misura.
E’ opportuno notare inoltre che la variabile “stream runoff” ovvero “ruscellamento superficiale” costituisce una variabile che risulta si omogenea con le restanti variabili,in quanto dipendente dalle precipitazioni, ma rimane comunque sia una “misura” differente dal tasso di precipitazione misurato dalle altre .
>> clustering(RAIN','seuclidean')
>> clustering(RAIN','correlation')
2 3 1 4 6 5 70
5
10
15
Observations. Single linkage
2 3 1 4 6 5 70
5
10
15
Observations. Complete linkage
La distanza ‘seuclidean’ che normalizza i dati dalla varianza di ogni variabile,ci consente di individuare sia nel grafico del complete linkage che in quello del single linkage che la variabile 7 corrispondente allo “stream runoff volume” non risulta associata alle altre variabili che invece sono tutte strettamente associate tra di loro in quanto misure quantitative delle precipitazioni in 6 diverse zone della Owens Valley.
Dall’analisi dei grafici risultanti dal clustering con la distanza ‘correlation’ si evidenziano dei raggruppamenti di variabili totalmente diversi da quelli ricavati con la distanza ‘seuclidean’; in particolar modo la
variabile relativa allo “stream runoff volume” viene accorpata assieme alle variabili 4-5-6 , relative alle misurazioni di precipitazioni (Big Pine Creek, Rock Creek, and OPSLAKE ), sia nel single linkage che nel complete linkage , e le rimanenti variabili relative alle quantità di precipitazione in Mammoth Lake ,Lake Sabrina e South Lake costituiscono un gruppo a parte rispetto a quelle definite in precedenza.
Analisi delle osservazioni con MDS:
>>MDscaling1(RAIN)
>>Coeff. Di stress in 3D: 0.792948
4 6 7 5 1 2 3
0.2
0.4
0.6
Observations. Single linkage
4 6 5 7 1 2 3
0.2
0.4
0.6
0.8
1Observations. Complete linkage
-20
24
6
x 10-8
-5
0
5
x 10-9
-2
-1
0
1
2
x 10-9
29
39
correlation
333227
15 719
26
31
9
52034
4
36 323113813372428122116 2 8
423510
41
14
4018
6
1743
25 1
30
22
>> MDscaling1(RAIN)
*(modificato l’editor della funzione per richiamare la distanza seuclidean)
Coeff. di stress in 3D: 0.016484
L’analisi con il Metodo Multi-dimensional-scaling ci consente di fare ipotesi di associazioni tra le nostre osservazioni e variabili attraverso la visualizzazione tridimensionali degli oggetti in analisi pur rispettando le distanze tra essi.
Dal grafico relativo al MDS con la distanza ‘correlation’ risulta un coefficiente di stress pari al 79% che risulta quindi molto scarso , tuttavia possiamo notare che tutte le nostre osservazioni (Anni) sono riunite in uno spazio molto prossimo ad eccezione della 29 ( Anno 1976) che anche con l’analisi di clustering con la distanza ‘correlation’ risultava tale.
Dal grafico relativo all’MDS con la distanza ‘seuclidean’ si evince invece come l’osservazione 35 e la 29 ( Anno 1983 e 1976) si discostino significativamente dal gruppo formato da tutte le altre osservazioni ; particolarità che era stata messa in luce anche con l’analisi di clustering con la stessa distanza ‘seuclidean’ ma in cui anche l’osservazione 22 risultava non strettamente associata alle altre.
Analisi con MDS per le variabili
-10
-5
0
5
-4-20246-1.5
-1
-0.5
0
0.5
1
1313
7 7
1919
3434
2727
262632322323
22223333
3939 3 3
1515
2121
4040
4 4
3838 5 5
2 2
3030
1212
1 1
17173636
2424
9 9
3737
4242
4343
1111
2828
1010
4141
1414
6 6
2525
8 8
3131
seuclidean
2020
1818
2929
1616
3535
>> MDscaling1(RAIN',['APMAM ';'APSAB ';'APSLAKE';'OPBPC ';'OPRC ';'OPSLAKE';'BSAAM '])
Coeff. di stress in 3D: 0.000000
>> MDscaling1(RAIN',['APMAM ';'APSAB ';'APSLAKE';'OPBPC ';'OPRC ';'OPSLAKE';'BSAAM '])
Coeff. di stress in 3D: 0.000003
*(modificato l’editor della funzione per richiamare la distanza correlation)
-5
0
5
10
15
-1
-0.50
0.5
1
x 10-3
-4
-2
0
2
4
x 10-4
BSAAM
APMAM
seuclidean
APSLAKEAPSAB
OPRC
OPSLAKE
OPBPC
-0.8-0.6-0.4-0.200.20.40.6
-0.2
-0.1
0
0.1
0.2
-0.15
-0.1
-0.05
0
0.05
0.1
APSAB
APMAM
APSLAKE
correlation
OPRC
BSAAM
OPBPC
OPSLAKE
Il grafico relativo all’MDS con la distanza ‘seuclidean’ ci indica che la variabile “stream runoff” risulta separata dalle altre 6 variabili relative alla misura di precipitazione , in accordo con quanto esplicitato in precedenza; tuttavia a differenza dell’analisi di clustering con la stessa distanza , si evidenzia la formazione di 2 gruppi separati per le restanti variabili. Tale discrepanza tuttavia non è pero così illogica se si tiene in considerazione che esistono differenti “mesoclimi” all’interno di una stessa area e che quindi si possono verificare tassi di precipitazione considerevolmente differenti in zone diverse di unica area considerata.
Anche il grafico MDS relativo alla distanza ‘correlation’ mette in evidenza la considerazione fatta in precedenza , la quale si accorda alla medesima analisi di clustering.
A differenza dell’analisi MDS con la distanza ‘seuclidean’, in questo caso la variabile “stream runoff” viene accorpata alle variabili OPSLAKE,OPRC,OPBC così come era avvenuto con l’analisi di clustering.
Conclusioni relative alle osservazioni
Dall’analisi complessiva delle osservazioni relative ai diversi anni ,
utilizzando sia il metodo dell’MDS sia quello di clustering entrambi con
diverse “distanze”, si evidenziano le seguenti considerazioni.
La maggior parte delle osservazioni sono raggruppate assieme costituendo in
linea generale un unico blocco di dati, tuttavia concentrando l’analisi
sugli outliers desunti dai diversi grafici ed in particolare gli anni :
Year | APMAM | APSAB |APSLAKE| OPBPC | OPRC |OPSLAKE| BSAAM
1969 5.35 3.62 4.62 43.37 24.85 33.07 146345
1976 9.38 8.30 9.70 6.80 5.25 4.73 44756
1982 18.08 11.96 13.02 18.55 18.40 19.45 120463
1986 4.93 3.26 4.58 26.47 15.33 26.46 118144
Si evidenzia chiaramente come queste osservazioni siano differenti dalle altre in quanto il valore associato di “runoff volume” si discosti considerevolmente dai restanti dati sia come valori alti ( anni 1969,1982,1986) sia come valori bassi ( anno 1976). La variabile “runoff volume” , misurata nei pressi di Bishop, è una variabile consistente in associazione con le variabili relative al quantitativo di precipitazione misurato nei nei 6 diversi punti della zona.
Conclusioni relative alla variabili
Dall’analisi complessiva delle variabili relative alle misura di
precipitazione in 6 laghi di una stessa zona e della variabile relativa al
ruscellamento “stream runoff” , utilizzando sia il metodo dell’MDS sia
quello di clustering entrambi con diverse “distanze”, si evidenziano le
seguenti considerazioni.
Da una prima analisi generica si porterebbe a concludere che tutte le
variabili sono strettamente associate fra loro, il che non è sbagliato, ma
tuttavia occorre sottolineare come nei grafici relativi all’MDS ed al
clustering si ricavino altre informazioni.
La variabile “runoff volume” risulta accorpata alle variabili relative ai
Laghi Big Pine Creek ,Rock Creek , e OPSLAKE in cui si osservano anche i tassi di precipitazione maggiore in diversi anni e che pertanto “influiscono” maggiormente sul valore assunto dallo stream runoff volume proprio in quegli anni considerati.
Questa considerazione viene rafforzata anche dal grafico relativo all’MDS
con la distanza “correlation” dove i tre laghi( e relative variabili) di
cui sopra, costituiscono un gruppo a parte rispetto ai restanti tre. Il
maggior tasso di precipitazione riscontrato nei tre laghi ci porta pertanto
a differenziarli qualitativamente dai restanti e pertanto a considerarli
piu influenti nel determinare i valori assunti dallo stream runoff volume.
Problema 2
Dati di Partenza
Matrice di partenza in cui abbiamo:
1° Colonna Specie di Salmone 1 Alaska-2 Canada
2° Colonna Sesso 1 Femmina 2 Maschi
3° Colonna Diametro Anelli di crescita Acqua dolce Primo Anno
4° Colonna Diametro Anelli di crescita Acqua salata Primo Anno
Denomino la mia matrice di partenza TOT (size 100X4)
Dalla matrice originale di dati estrapolo quelli relativi ai soli maschi delle due famiglie Alaska e Canada.
>> ind=find(TOT(:,2)==2);
>> TOTMASCHI=TOT(ind,:)
Da questa matrice estrapolo poi le due popolazioni
>>ind=find(TOTMASCHI(:,1)==1);
>>ALASKA=TOTMASCHI(ind,:)
>> ind=find(TOTMASCHI(:,1)==2);
>> CANADA=TOTMASCHI(ind,:)
>> ALASKA=ALASKA(:,3:4)
>> CANADA=CANADA(:,3:4)
>> [n1,p]=size(ALASKA)
n1 = 24
p = 2
>> [n2,p]=size(CANADA)
n2 = 24
p = 2
>> [RALASKA,SALASKA,MALASKA]= funzbase(ALASKA) * vedi allegato per funzione
RALASKA =
1.0000 -0.3552
-0.3552 1.0000
SALASKA =
1.0e+003 *
0.1820 -0.1977
-0.1977 1.7023
MALASKA =
100.3333 436.1667
>> [RCANADA,SCANADA,MCANADA]= funzbase(CANADA)
RCANADA =
1.0000 0.2669
0.2669 1.0000
SCANADA =
370.1721 141.6431
141.6431 760.6504
MCANADA =
135.2083 364.0417
Da una prima analisi delle popolazioni attraverso le statistiche calcolate emergono già alcune differenze che occorre tenere in considerazione.
I valori assunti dal vettore media delle due popolazioni di salmoni risulta considerevolmente differente ,soprattutto per quanto riguarda la variabile crescita degli anelli in acqua salata, che nel caso dei Salmoni del Alaska assume un valore significativamente maggiore.
Inoltre si osserva che i valori assunti dalle varianze interne delle variabili delle due popolazioni sono considerevolmente alti ,in particolare quello relativo alla dispersione dalla media della crescita degli anelli in acqua salata per i Salmoni dell’Alaska, e quello relativo alla dispersione dalla media relativa alla crescita degli anelli in acqua dolce dei Salmoni del Canada.
Analisi della Normalità univariata per i salmoni dell’Alaska
Variabile 1 Diametro Anelli di crescita acqua dolce
>> qqplot1(ALASKA(:,1))
Corr.coeff 0.982067
Il test di normalità con il qqplot per la variabile “diametro anelli di crescita
in acqua dolce Primo Anno” dei Salmoni dell’Alaska mi riporta un valore del
coefficiente di correlazione pari a 0.982067, che se confrontato con i valori
tabellari corrispondenti per Sample size=25 ed α=5% e 1% risulta superiore in
entrambi i casi (0.9591 per α=5% , e 0.9410 per α=1%) .
Accetto pertanto l’ipotesi di normalità dei dati relativi alla mia variabile.
>> testchi2(ALASKA(:,1),8,0.05)
ans = 1.8327 11.0705
do NOT reje ct normality hypothesis
>> testchi2(ALASKA(:,1),8,0.01)
ans = 1.8327 15.0863
do NOT reject normality hypothesis
Anche con il test del χ2 con un livello di significatività α dell’1% ed del 5% accetto l’ipotesi di normalità dei dati relativi alla mia variabile.
70 80 90 100 110 120 13060
70
80
90
100
110
120
130
140
normal distribution
observ
ations
50 60 70 80 90 100 110 120 130 140 1500
1
2
3
4
5
6
7
1 2 3 4 5 6 7 81
1.5
2
2.5
3
3.5
4
4.5
50 60 70 80 90 100 110 120 130 140 1500
1
2
3
4
5
6
7
1 2 3 4 5 6 7 81
1.5
2
2.5
3
3.5
4
4.5
Variabile 2 Diametro Anelli di crescita acqua salata
>> qqplot1(ALASKA(:,2))
Corr.coeff 0.986257
Il test di normalità con il qqplot per la variabile “diametro anelli di crescita
in acqua salata Primo Anno” dei Salmoni dell’Alaska mi riporta un valore del
coefficiente di correlazione pari a 0.986257, che se confrontato con i valori
tabellari corrispondenti per Sample size=25 ed α 5% e 1% risulta superiore in
entrambi i casi (0.99591 per α=5% , e 0.9410 per α=1%) .
Accetto pertanto l’ipotesi di normalità dei dati relativi alla mia variabile.
>> testchi2(ALASKA(:,2),8,0.05)
ans = 3.4167 11.0705
do NOT reject normality hypothesis
>> testchi2(ALASKA(:,2),8,0.01)
ans = 3.4167 15.0863
do NOT reject normality hypothesis
Figura 1 (α=5%)
Figura 1 (α=1%)
340 360 380 400 420 440 460 480 500 520 540300
350
400
450
500
550
normal distribution
observ
ations
1 2 3 4 5 6 7 81
1.5
2
2.5
3
3.5
4
4.5
5
5.5
6
300 350 400 450 500 550 6000
1
2
3
4
5
6
7
Figura 1 (α=5%)
Analisi della Normalità univariata per i salmoni del Canada
Variabile 1 Diametro Anelli di crescita acqua dolce
>> qqplot1(CANADA(:,1))
Corr.coeff 0.988822
>> testchi2(CANADA(:,1),8,0.05)
ans = 3.7097 11.0705
do NOT reject normality hypothesis
>> testchi2(CANADA(:,1),8,0.01)
ans = 3.7097 15.0863
do NOT reject normality hypothesis
Accetto pertanto l’ipotesi di normalità dei dati relativi alla mia variabile.
Variabile 2 Diametro Anelli di crescita acqua salata
>> qqplot1(CANADA(:,2))
Corr.coeff 0.971166
300 350 400 450 500 550 6000
1
2
3
4
5
6
7
1 2 3 4 5 6 7 81
1.5
2
2.5
3
3.5
4
4.5
5
5.5
6
90 100 110 120 130 140 150 160 170 18090
100
110
120
130
140
150
160
170
180
normal distribution
observ
ations
300 320 340 360 380 400 420 440300
320
340
360
380
400
420
440
normal distribution
observ
ations
>> testchi2(CANADA(:,2),8,0.01)
ans = 10.3242 15.0863
do NOT reject normality hypothesis
>> testchi2(CANADA(:,2),8,0.05)
ans = 10.3242 11.0705
do NOT reject normality hypothesis
Accetto pertanto l’ipotesi di normalità dei dati relativi alla mia variabile.
Analisi della Normalità bivariata per i salmoni dell’Alaska
[xm,S,n_in,n_out]=testnorm2v(ALASKA)
n_in = 11
n_out = 13
>>chi2plotnew(ALASKA)
70 80 90 100 110 120 130360
380
400
420
440
460
480
500
520
0 1 2 3 4 5 6 7 80
1
2
3
4
5
6
7
8
9
2p
dis
tances
141117 7 912152122
816 32324
1918 1 5 2
13 20 10 6
4
I due test di normalità bivariata escludono la normalità delle mie due variabili considerate contestualmente.
Dal grafico risultante dal test del χ2 per la normalità bivariata si evince la presenza di due osservazioni outliers corrispondenti alla 4° ed alla 6° della mia popolazione di salmoni dell’Alaska.
Analisi della Normalità bivariata per i salmoni del Canada
>> [xm,S,n_in,n_out]=testnorm2v(CANADA)
n_in = 15
n_out = 9
>> chi2plotnew(CANADA)
>>chi2plotnew(CANADA)
Visto il buon risultato ottenuto con il test del χ2 accetto l’ipotesi di
normalità bivariata, anche se dal grafico risultante dal test si evince la
presenza di due outliers corrispondenti alle osservazioni 10° e 8° della
popolazione di Salmoni del Canada.
90 100 110 120 130 140 150 160 170300
320
340
360
380
400
420
440
0 1 2 3 4 5 6 7 80
1
2
3
4
5
6
7
8
2p
dis
tances
11 420132114221524 1 516
1218 6 3
2319
2
17 7
9
10 8
Trasformazioni verso la normalità per le due popolazioni di salmoni dell’Alaska e del Canada
Direttamente dal Workspace di Matlab modifico la mia matrice “ALASKA” eliminando le osservazioni 4° e 6° che risultano outliers rispetto agli altri dati , in particolare si osserva che le due suddette osservazioni si discostano dalla retta del test χ2 per la normalità bivariata a causa della 2° variabile , ovvero il diametro degli anelli di crescita sulle squame in acqua salata ; dove L’osservazione 4 assume i valori (117,489) e la l’osservazione 6 i valori (123,372)rispetto alla media di popolazione pari a MALASKA = [100.3333 , 436.1667]. Da notare inoltre che la variabilità interna relativa alla 2° variabile nella popolazione di salmoni dell’Alaska era ben visibile già dalla matrice di covarianza calcolata in precedenza.
Successivamente effettuo una trasformazione logaritmica dei dati relativi alla 2° variabile della mia matrice “ALASKA” che ora ha dimensioni 22X2.
>> ALASKA(:,2)=log(ALASKA(:,2))
Verifica della normalità per la popolazione di Salmoni del Alaska dopo la trasformazione logaritmica e l’eliminazione di due osservazioni
Ripeto i due test di normalità bivariata per verificare se l’eliminazione delle due osservazioni nella popolazione di salmoni dell’Alaska e la successiva trasformazione logaritmica della 2° variabile hanno migliorato le mie osservazioni dal punto di vista della loro normalità di distribuzione.
>>[xm,S,n_in,n_out]=testnorm2v(ALASKA)
n_in = 11
n_out = 11
>> chi2plotnew(ALASKA)
Anche se il test di normalità bivariata , dopo la trasformazione effettuata, non mi da un buon livello di normalità delle mie due variabili considerate contestualmente , decido di proseguire con l’analisi , in quanto almeno il 50% delle osservazioni della popolazione di salmoni dell’Alaska rispetta l’ipotesi di normalità.
70 80 90 100 110 120 1305.9
5.95
6
6.05
6.1
6.15
6.2
6.25
0 1 2 3 4 5 6 7 80
1
2
3
4
5
6
7
8
2p
dis
tances
12 915 5
19 710131420 321
622
17 4 2
1618 1 11
8
Trasformazione logaritmica dei dati relativi alla seconda variabile della popolazione di salmoni del Canada per dare l’omogeneità necessaria ai dati oggetto di confronto
>> CANADA(:,2)=log(CANADA(:,2))
Verifica della normalità per la popolazione di Salmoni del Canada dopo la trasformazione logaritmica della seconda variabile
>> [xm,S,n_in,n_out]=testnorm2v(CANADA)
n_in =
15
n_out =
9
>>chi2plotnew(CANADA)
Visualizzazione Grafica delle distribuzione delle mie due popolazioni con i dati trasformati
>> plot(ALASKA(:,1),ALASKA(:,2),'*b')
>> hold on
>> plot(CANADA(:,1),CANADA(:,2),'*r')
70 80 90 100 110 120 130 140 150 160 1705.7
5.8
5.9
6
6.1
6.2
6.3
6.4
90 100 110 120 130 140 150 160 1705.7
5.75
5.8
5.85
5.9
5.95
6
6.05
6.1
6.15
0 1 2 3 4 5 6 7 80
1
2
3
4
5
6
7
8
2p
dis
tances
11 420211413222415 516 1
1218 6
32319
2
17 7
9
8
10
Ridefinizione “statistiche” delle matrici relative alle due popolazioni
>> [n1,p]=size(ALASKA)
n1 = 22
p = 2
>> [n2,p]=size(CANADA)
n2 = 24
p = 2
[RALASKA,SALASKA,MALASKA]= funzbase(ALASKA)
RALASKA =
1.0000 -0.3802
-0.3802 1.0000
SALASKA =
158.2597 -0.4269
-0.4269 0.0080
MALASKA =
98.5455 6.0754
>> [RCANADA,SCANADA,MCANADA]= funzbase(CANADA)
RCANADA =
1.0000 0.2778
0.2778 1.0000
SCANADA =
370.1721 0.4026
0.4026 0.0057
MCANADA =
135.2083 5.8945
Determinazione della regione di confidenza al 99% e 95% relativamente alla popolazione di salmoni dell’Alaska
>> Fisher1=((p*(n1-1))/(n1-p))*finv(0.99,p,n1-p)
Fisher1 = 12.2828
>> ellisse(MALASKA,SALASKA/n1,Fisher1)
>> hold on
>> Fisher5=((p*(n1-1))/(n1-p))*finv(0.95,p,n1-p)
Fisher5 = 7.3349
>> ellisse(MALASKA,SALASKA/n1,Fisher5)
>> hold on
>> plot(ALASKA(:,1),ALASKA(:,2),'*r')
Le regioni di confidenza al 99% ed al 95% , aventi come centro il vettore media della popolazione di salmoni dell’Alaska, contengono rispettivamente 3 osservazioni (99%) e 2 osservazioni (95%)su un totale di osservazioni pari a 22.
Tutte le osservazioni che ricadono nelle diverse regioni di confidenza possono costituire la vera media della popolazione considerata.
La rappresentazione grafica ci conferma pertanto che le osservazioni relative alla popolazione di salmoni dell’Alaska presentano una “dispersione” considerevolmente elevata rispetto alla media.
Confronto sulle medie delle due popolazioni di Salmoni
Test dell’Ipotesi H0 MALASKA=MCANADA con P(T2 ≤ c2)= 1-α
Ipotesi aggiuntive:
n1 e n2 piccoli le due popolazioni in esame hanno distribuzione normale
Sx=Sy , nel nostro caso le due matrici di covarianza sono molto simili fatta eccezione per la varianza interna della 1° variabile che differisce di circa un
fattore 2 fra le due matrici.
70 80 90 100 110 120 1305.9
5.95
6
6.05
6.1
6.15
6.2
6.25
Decido comunque di effettuare il test per la verifica di uguali medie delle due popolazioni considerando le matrici di covarianza uguali in quanto il numero di osservazioni è molto piccolo e l’utilizzo dell’altro test con ipotesi che le matrici di covarianza siano diverse presenta come condizione aggiuntiva la presenza di un grande numero di osservazioni, condizione che non si verifica in questo caso.
SALASKA = 158.2597 -0.4269 -0.4269 0.0080
SCANADA = 370.1721 0.4026
0.4026 0.0057
>> DIFF=[MALASKA-MCANADA]
DIFF = -36.6629 0.1808
>> Scom=(((n1-1)*SALASKA)+((n2-1)*SCANADA))/((n1-1)+(n2-1))
Scom =
269.0321 0.0067
0.0067 0.0068
>> T2samecov=(DIFF)*(inv(((1/n1)+(1/n2))*Scom))*(DIFF)'
T2samecov = 113.3806
>> Fisher5Test=(((n1+n2-2)*p)/(n1+n2-p-1))*finv(0.95,p,n1+n2-p-1)
Fisher5Test = 6.5785
>> Fisher1Test=(((n1+n2-2)*p)/(n1+n2-p-1))*finv(0.99,p,n1+n2-p-1)
Fisher1Test = 10.5100
Dal momento che il mio valore calcolato risulta superiore ai valori del χ2 di riferimento sia per un livello di significatività al 5% che per l’1%, rifiuto l’ipotesi nulla relativa all’uguaglianza delle medie delle due popolazioni.
>> ellisse(DIFF,((1/n1)+(1/n2))*Scom,Fisher5Test)
>> hold on
>> plot(0,0,'*r')
>> hold on
>> plot(ALASKA(:,1),ALASKA(:,2),'*b')
>> hold on
>> plot(CANADA(:,1),CANADA(:,2),'*g')
>> Amax_dif=inv(Scom)*(DIFF)'
Amax_dif = -0.1369 26.8572
Il vettore A mi indica la combinazione lineare con la massima differenza delle variabili che in questo caso corrisponde alla 2° variabile , relativa al diametro degli anelli di crescita in acqua salata.
Le due popolazioni di Salmoni pertanto , se considerate esclusivamente per le due variabili “diametri degli anelli di crescita delle squame in acqua dolce e salata Primo Anno” , non possono essere ritenute uguali e quindi appartenenti ad unica popolazione di individui.
Si può ipotizzare che i Salmoni dell’Alaska che presentano un valore medio di accrescimento in acqua salata superiore di quello relativo ai Salmoni del Canada, si accrescano maggiormente sia per motivazioni connesse alle caratteristiche anatomiche della specie (maggiore peso in età adulta) sia per motivi legati alla sopravvivenza ( maggiori scorte di grasso per affrontare la migrazione in acque dolci per riprodursi).
Confronto sulle medie delle due popolazioni di Salmoni con il test d’ipotesi alternativo (SALASKA≠SCANADA)
>> T2Test_diffcovar=(DIFF)*inv(((1/n1)*SALASKA)+((1/n2)*SCANADA))*(DIFF)'
T2Test_diffcovar =
111.557
>> chi2inv(0.05,p)
ans =
0.1026
-50 0 50 100 150 2000
1
2
3
4
5
6
7
-45 -40 -35 -30 -25 -20 -15 -10 -5 0
0
0.05
0.1
0.15
0.2
Anche con questo test rifiuto l’ipotesi nulla H0 e affermare con un livello di significatività del 5% che le due popolazioni sono differenti per quanto concerne le variabili considerate.
Intervalli simultanei di confidenza al 95% considerando il test d’ipotesi svolto con matrici di covarianza considerate simili
>> a1=[1;0];
>> a2=[0;1];
>> c=sqrt(Fisher5Test)
c = 2.5649
>> A1=(a1')*(DIFF')-(c)*(sqrt((a1')*(((1/n1)+(1/n2))*Scom)*(a1)))
A1 =
-49.0802
>> A2=(a1')*(DIFF')+(c)*(sqrt((a1')*(((1/n1)+(1/n2))*Scom)*(a1)))
A2 =
-24.2456
L’intervallo di confidenza relativo al vettore a1 è pertanto (-49.0802,-24.2456)
>> B1=(a2')*(DIFF')-(c)*(sqrt((a2')*(((1/n1)+(1/n2))*Scom)*(a2)))
B1 =
0.1186
>> B2=(a2')*(DIFF')+(c)*(sqrt((a2')*(((1/n1)+(1/n2))*Scom)*(a2)))
B2 =
0.2431
L’intervallo di confidenza relativo al vettore a2 è pertanto (0.1186,0.2431)
Dall’analisi degli intervalli di confidenza simultanei al 95% emerge che l’origine del grafico corrispondente alla mia Ho (medie delle due popolazioni uguali) si discosta dalla regione di confidenza avente come centro il vettore DIFF ( vettore differenza medie delle 2 popolazioni)sia per l’intervallo di confidenza relativo alla prima variabile sia per l’intervallo relativo alla seconda. Si puo pertanto concludere che entrambi le variabili relative alla crescita degli anelli sulle squame in acqua dolce e salata differiscono significativamente in entrambe le popolazioni di Salmoni.
Questa risultanza è in contrasto con il risultato ottenuto in precedenza , ma va considerata ugualmente attendibile in quanto non è da escludere che i salmoni Canadesi, che hanno un valore medio di accrescimento in acqua dolce maggiore rispetto a quello della specie dell’Alaska, abbiano una maggiore disponibilità di
risorse alimentari nell’ambiente in cui nascono o in alternativa abbiano un accrescimento iniziale maggiore rispetto alla specie dell’Alaska per potere affrontare da subito la discesa verso le acque salate.
In conclusione si può affermare che le due popolazioni di Salmoni dell’Alaska e del Canada si differenziano fra di loro in quanto i primi danno luogo ad un accrescimento maggiore rispetto agli altri nelle acque salate mentre i secondi nelle acque dolci a partire dal primo anno di nascita.
Allocazione della nuova osservazione X=[140,370]
>> X=[140,370]
X =
140 370
>> X(1,2)=log(X(1,2))
X =
140.0000 5.9135
>> discr2pop(ALASKA,CANADA,X')
S =
269.0321 0.0067
0.0067 0.0068
a =
-0.1369 26.8572
ans =
139.6480 144.7339
Allocate pop.2
APER= 0.0652
La nuova osservazione rientra all’interno della popolazione di salmoni del Canada.
Il valore dell’APER ( Apparent error rate ) che costituisce la proporzione di
osservazioni classificate erroneamente è pari al 6% ,quindi molto buono.
70 80 90 100 110 120 130 140 150 160 170
5.8
5.9
6
6.1
6.2
6.3
6.4
variabile x1
varia
bile
x2
Salmone del Canada Genere Oncorhynchus Specie: O. nerka
Il salmone canadese neonato rimane nel suo habitat natale per un massimo di tre anni, ovvero più di ogni altro salmone.
Poi si mette in viaggio verso il mare, dove cresce rapidamente, nutrendosi principalmente di zooplancton.
Rimane quindi nell'oceano da uno a quattro anni.
Lunghezza: 85 cmPeso: dai 2,5 ai 7 Kg
Salmone dell’Alaska Genere Oncorhynchus Specie: O. tshawytscha
La crescita del salmoni del genere Oncorhynchus nell’oceano è assai rapida. Il loro nutrimento è tanto abbondante che creano una riserva di grasso importante e utile al momento di abbandonare l’oceano. A seconda della diversa specie di appartenenza rimangono in mare svariati anni fino al raggiungimento dell’età riproduttiva per poi risalire nelle acque dolci.
Lunghezza: 150 cmPeso: fino a 60 Kg
Genere Oncorhynchus Specie: O. tshawytscha Genere Oncorhynchus Specie: O. nerka
Elenco Funzioni utilizzate
function clustering(X,s)%function clustering(X)%% rows are observations% columns are variables % Euclidean distance% D=pdist(X);% JaccardD=pdist(X,s);% Correlation%D=pdist(X,'correlation'); DistanceMatrix = squareform(D)n=size(X,1);Similarity_coeff=ones(n,n)-DistanceMatrixZ1=linkage(D,'single');Z2=linkage(D,'complete'); subplot(2,1,1)dendrogram(Z1,0);title('Observations. Single linkage')subplot(2,1,2)dendrogram(Z2,0);title('Observations. Complete linkage')
function MDscaling1(X,names)%function MDscaling1(X,names)% matrice X:% rows are observations% columns are variables% names= contiene una stringa di nomi degli oggetti.% **non e' necessaria**% if (nargin ==1), names=num2str([1:size(X,1)]'); end D=pdist(X,'correlation'); [Y,stress] = mdscale(D,2,'Criterion','sstress');%[Y,stress] = mdscale(D,2,'Criterion','sstress','Start','random'); fprintf('Coeff. di stress in 2D: %f\n',stress) figure(1) plot(Y(:,1),Y(:,2),'x') text(Y(:,1),Y(:,2),names) title('correlation') [Y,stress] = mdscale(D,3,'Criterion','sstress');%[Y,stress] = mdscale(D,3,'Criterion','sstress','Start','random'); fprintf('Coeff. di stress in 3D: %f\n',stress) figure(2) plot3(Y(:,1),Y(:,2),Y(:,3),'x') text(Y(:,1),Y(:,2),Y(:,3),names) title('correlation')
function [R,S,M]= funzbase(X)R=corrcoef(X)S=cov(X)M=mean(X)
function qqplot1(X)%function qqplot1(X)%% variant of qqplot for 1 variable%% X = vector of observations [n,p]=size(X);if p>1, X=X(:,1);fprintf('Only first column is processed\n');end [d,ix]=sort(X);j=(1:n)';z=norminv( (j-0.5)/n,mean(X),std(X));qqplot(z,d);xlabel('normal distribution');ylabel('observations');rho=corrcoef([z,d]);fprintf('Corr.coeff %f \n', rho(1,2))
function testchi2(x,nh,alpha)%function testchi2(x,nh,alpha)%% Test chi2 di adattamento della distribuzione% normale univariata ai dati%% x = vettore di osservazioni% nh = numero di intervalli del range (es. nh=10)% alpha = livello di sign.% n=length(x);[f,xm]=hist(x,nh);l=(max(x)-min(x))/(nh+1);xm=xm+l/2;m=mean(x);s=std(x); z=(xm-m)/s; p=normcdf(z);pn1=length(p); F=[p(1),p(2:pn1)-p(1:pn1-1)]; F=F*n;figure(1)plot(f),hold on;plot(F,'r'),hold offfigure(2)histfit(x); chi2=sum((f-F).^2./F);chi2ref=chi2inv(1-alpha,pn1-3); [chi2,chi2ref]if (chi2>chi2ref), fprintf('reject normality hypothesis\n'), elsefprintf('do NOT reject normality hypothesis\n'), end
function [xm,S,n_in,n_out]=testnorm2v(X)%function [xm,S,n_in,n_out]=testnorm2v(X)%% Effettua un test bivariato di normalita'% X matrice di osservazioni, n x p (p=2)% % in uscita:% xm vettore media (vettore riga)% S matrice di covarianza% n_in numero di osservazioni dentro l'ellisse% n_out numero di osservazioni fuori dall'ellisse c2=chi2inv(.5,2);X=X(:,1:2);n=size(X,1); xm=mean(X);S=cov(X); dev=X-ones(n,1)*xm;Sdev=S\dev';fprintf('Distanza statistica:\n')dist=diag(dev*Sdev);disp(dist') n_in=length(find(dist<=c2));n_out=length(find(dist>c2)); ellisse1(xm,c2,S)hold onplot(X(:,1),X(:,2),'*r')hold off
function chi2plotnew(X) [n,p]=size(X); S=cov(X); m = mean(X); for k=1:n, d(k,1) = ( X(k,:)-m)*(S\(X(k,:)-m)');end[d,ix]=sort(d);j=(1:n)';z=chi2inv( (j-0.5)/n,p);qqplot(z,d);xlabel('\chi^2_p');ylabel('distances');hold ontext(z,d,int2str(ix));hold off
function ellisse(xbar,S,c2)%function ellisse(xbar,S,c2)% Grafico dell'ellisse %
% (t - xbar)^T inv(S) (t-xbar) = c2 centro: xbar=[x1;x2] %% con c2 = \chi_2^2 = 1.39% (per test normalita')% x1 centro prima variabile (scalare)% x2 centro seconda variabile (scalare)% S matrice di distanza statistica % (per test normalita', e' la m. covarianza) x1=xbar(1); x2=xbar(2);%c2=1.39;[v,e]=eig(S); theta = 0:.01:2*pi;ntheta=length(theta);T=[x1;x2]*ones(1,ntheta)+v*sqrt(c2*e)*[cos(theta);sin(theta)]; plot(T(1,1),T(2,1),'.');hold onfor k=2:ntheta,plot(T(1,k),T(2,k),'.')endhold off