4.2 KiB
Definizione
- Analisi dei Componenti Principali (PCA) è un metodo di riduzione della dimensionalità utilizzato in statistica ed elaborazione dei dati.
- Lo scopo principale del PCA è trasformare una serie di variabili correlate in un numero inferiore di variabili non correlate, detti "Componenti Principali", che spiegano la maggior parte della varianza nel set di dati originale.
Processo
-
Standardizzazione dei Dati: I dati vengono standardizzati in modo che abbiano una media di 0 e deviazione standard di 1.
Z = \frac{X-\mu}{\sigma}
-
Calcolo della Matrice di Covarianza:
- si calcola la matrice di covarianza
\text{cov}(x_1, x_2) = \frac{\sum_{i=1}^{n} (x_{1i} - \bar{x_1})(x_{2i} - \bar{x_2})}{n-1}
- la covarianza può essere:
- positiva: se x1 aumenta, aumenta pure x2
- negativa: se x1 aumenta, x2 diminuisce
- zero: non c'è una relazione diretta tra x1 e x2
- si calcola la matrice di covarianza
-
Calcolo degli autovettori e degli autovalori:
- gli autovettori rappresentano le direzioni principali (componenti principali) lungo cui i dati mostrano la massima variazione
- gli autovalori corrispondenti indicano la quantità di varianza "contenuta" in una direzione
-
Selezione dei Componenti Principali:
- Si selezionano i primi k autovettori corrispondenti ai più grandi autovalori (k < numero di variabili originali).
- k lo posso scegliere o sulla base delle dimensioni finali che voglio avere, o, guardando la "explained variance": la percentuale di varianza dei dati trattenuta da un determinato componente principale
explained_var = np.cumsum(eigenvalues) / np.sum(eigenvalues)
- l'array in output contiene alla posizione i la percentuale di varianza che preserverò scegliendo i componenti (k = i)
-
Trasformazione dei Dati:
- I dati originali vengono proiettati lungo questi nuovi assi per ottenere le componenti principali.
Componenti Principali
- Le componenti principali sono combinazioni lineari delle variabili originali, ordinate in base alla quantità di varianza spiegata.
- La prima componente principale è quella che spiega la maggior parte della varianza nei dati e così via.
Formula per le Componenti Principali
Z_i = \sum_{j=1}^p X_j \cdot v_{ij}
dove
-
Z_i
è il valore del i-esimo componente principale. -
X_j
sono i valori delle variabili originali. -
v_{ij}
sono gli elementi del j-esimo autovettore. -
Visualizzazione dei Dati: Per ridurre la dimensionalità e aiutare nella visualizzazione di dati multivariabili.
-
Riduzione del Rumore: Per eliminare rumori presenti nei dati originali, in particolare quando i dati sono interrelati.
-
Preprocessing per Modelli Di Machine Learning: Riduce la dimensionalità dei dati mantenendo al massimo il contenuto informativo.
Considerazioni e limitazioni
-
Interpretazione: Ogni componente rappresenta una combinazione lineare di tutte le variabili originali, il che può rendere difficile l'interpretazione dei risultati.
-
Il primo componente principale è quello che cattura la varianza maggiore nei dati.
-
Per ottimizzare il processo, vogliamo che non ci sia correlazione tra gli assi risultanti dopo la proiezione dei dati. In altre parole, vogliamo che il secondo componente catturi la varianza ortogonale al primo componente, e così via.
-
Perdita di informazione: stiamo letteralmente comprimendo i dati, cerchiamo di farlo perdendo meno informazione possibile ma qualcosa si perde. La scelta del numero k delle componenti principali richiede un equilibrio tra la varianza che si vuole preservare e la dimensionalità.
-
In PCA si assume che l'informazione si trovi nella varianza delle feature: più alta è la varianza in una feature, più importanti saranno le informazioni contenute in quella feature.
-
PCA assume che la relazione tra le variabili sia lineare. In caso contrario PCA potrebbe non funzionare bene.
-
Può essere computazionalmente molto costoso per dataset grandi, soprattutto se il numero di variabili nel dataset è largo.
Conclusione
Il PCA è uno strumento di analisi dati molto utile quando si ha a che fare con molti dati interrelati. Tuttavia, come per ogni tecnica statistica, richiede attenta considerazione del contesto applicativo e delle ipotesi di base.