**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** 1. **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}$$ 2. **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 3. **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 4. **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) 5. **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.