1 Analisi delle componenti principali
Vengono caricati i packages necessari per realizzare questo documento
1.1 Primo esempio con tre sole variabili
Data Frame Summary
dati
Dimensions: 1427 x 3Duplicates: 103
No | Variable | Stats / Values | Freqs (% of Valid) | Graph | Valid | Missing |
---|---|---|---|---|---|---|
1 | Altezza [numeric] | Mean (sd) : 151.9 (10.1) min < med < max: 127 < 151 < 183 IQR (CV) : 15 (0.1) | 54 distinct values | 1427 (100%) | 0 (0%) | |
2 | Span [numeric] | Mean (sd) : 153.6 (11.2) min < med < max: 123 < 153 < 184 IQR (CV) : 16 (0.1) | 60 distinct values | 1427 (100%) | 0 (0%) | |
3 | Torace [numeric] | Mean (sd) : 75.6 (7.8) min < med < max: 57 < 74 < 104 IQR (CV) : 10 (0.1) | 44 distinct values | 1427 (100%) | 0 (0%) |
Generated by summarytools 0.9.6 (R version 4.0.2)
2021-03-11
1.2 Variabili osservate.
matrice di grafici per le sole variabili Altezza, Span, Torace rilevate su 1427 righe
Altezza Span Torace
Altezza 1.000 0.892 0.587
Span 0.892 1.000 0.578
Torace 0.587 0.578 1.000
1.3 Principal Component Analysis
Primo esempio con tre sole variabili:
Come misurare la correlazione globalmente presente fra le 3 variabili?
Possiamo trovare una nuova variabile combinazione lineare delle variabili originali che in qualche modo le riassuma meglio
cerchiamo la retta che minimizza la somma dei quadrati degli scarti dei punti dalla retta stessa (misurata ortogonalmente) (retta rossa nella figura)
Vedremo dopo che questa nuova variabile corrispondente a questa retta (ossia le nuove coordinate ottenute dalle proiezioni dei punti) è quella che ha la massima varianza
Altezza Span Torace
Altezza 1.000 0.892 0.587
Span 0.892 1.000 0.578
Torace 0.587 0.578 1.000
[1] 2.383 0.509 0.108
[1] 3
[,1] [,2] [,3]
[1,] -0.609 -0.352 0.711
[2,] -0.606 -0.372 -0.703
[3,] -0.512 0.859 -0.013
glX
1
Importance of components:
Comp.1 Comp.2 Comp.3
Standard deviation 1.5430776 0.7134693 0.32828463
Proportion of Variance 0.7942527 0.1697985 0.03594879
Cumulative Proportion 0.7942527 0.9640512 1.00000000
You must enable Javascript to view this page properly.
1.4 Retta di regressione principale
Voglio trovare la retta che meglio passa attraverso i dati.
Sottolineo la differenza con la regressione semplice e multipla: adesso voglio minimizzare le distanze dai punti ortogonalmente rispetto a questa retta, che chiameremo Retta di regressione principale
1.5 Rotazione assi
Dopo aver fatto questa operazione una prima volta, possiamo ripeterla cercando un’altra retta che minimizzi la sommadei quadrati delle distanze dei punti da questa retta, ma limitando la ricerca alle retteortogonali rispetto alla prima retta di regressione principale
L’operazione si può ripetere fino alla \(k-\)esima retta…
Analisi delle componenti principali: con tre variabili non vi è alcuna perdita di informazione ovviamente; la trasformazione corrisponde ad una rotazione degli assi
2 Esempio numerico:
List of 7
$ sdev : Named num [1:3] 1.543 0.713 0.328
..- attr(*, "names")= chr [1:3] "Comp.1" "Comp.2" "Comp.3"
$ loadings: 'loadings' num [1:3, 1:3] 0.609 0.606 0.512 0.352 0.372 ...
..- attr(*, "dimnames")=List of 2
.. ..$ : chr [1:3] "Altezza" "Span" "Torace"
.. ..$ : chr [1:3] "Comp.1" "Comp.2" "Comp.3"
$ center : Named num [1:3] 8.90e-16 -8.87e-16 7.67e-16
..- attr(*, "names")= chr [1:3] "Altezza" "Span" "Torace"
$ scale : Named num [1:3] 1 1 1
..- attr(*, "names")= chr [1:3] "Altezza" "Span" "Torace"
$ n.obs : int 1427
$ scores : num [1:1427, 1:3] -1.95 -1.36 -1.83 -2.02 -1.26 ...
..- attr(*, "dimnames")=List of 2
.. ..$ : NULL
.. ..$ : chr [1:3] "Comp.1" "Comp.2" "Comp.3"
$ call : language princomp(x = rid)
- attr(*, "class")= chr "princomp"
NULL