L’analisi delle componenti principali di un insieme di dati

Supponiamo di avere delle serie di dati $x_1, x_2, \ldots x_N$ e $y_1, y_2, \ldots y_N$. Possiamo metterli insieme in una matrice $N \times 2$,

$$X = \begin{pmatrix} x_1 & y_1 \\ x_2 & y_2 \\ \vdots & \vdots \\ x_N & y_N\end{pmatrix}$$

Possiamo quindi formare la loro matrice di correlazione

$$C = X X^T$$

che è una matrice $N \times N$. Se abbiamo $M$ serie di dati, possiamo formare la matrice $N \times M$

$$X = \begin{pmatrix} x_1 & y_1 & \cdots & z_1 \\ x_2 & y_2 & \cdots & z_2 \\ \vdots & \vdots & \vdots & \vdots \\ x_N & y_N & \cdots & z_N\end{pmatrix}$$

e con la stessa definizione $C$ è di nuovo una matrice $N \times N$.

L’analisi delle componenti principali utilizza la matrice $C$ per trovare delle relazioni tra le serie di dati. L’idea è banalmente quella di diagonalizzare la matrice $C$. I suoi autovalori più grandi indicheranno le direzioni che hanno le relazioni più forti tra le serie $x$, $y$, ecc. Una volta individuate tali direzioni possiamo utilizzarle per ridurre la dimensione della serie di dati (riduzione dimensionale); ad esempio se $x$ e $y$ sono fortemente correlati, non perdiamo granché in termini di informazione se prendiamo uno solo tra $x$ e $y$. In termini pratici l’analisi delle componenti principali ci dice come escludere dei pezzi in maniera sistematica: diagonalizziamo $C$ e teniamo solo i componenti collegati agli autovalori più grandi. Più autovalori escludiamo peggiore sarà l’approssimazione, ma maggiore sarà la riduzione dimensionale. La scelta va fatta caso per caso.

Matematicamente, poiché $C$ è una matrice ortogonale può essere diagonalizzata da una matrice ortogonale $S$,

$$C = S^T D S \quad\quad \quad \quad \implies \quad\quad \quad \quad  D = (SX) (SX)^T$$

dove $D$ è la matrice diagonale che contiene gli autovalori. Le serie di dati $X’ = SX$ corrispondono ai vari autovalori, ed eliminando vari autovalori piccoli (e quindi le corrispondenti righe e colonne di $X’$) troviamo le serie di dati dimensionalmente ridotte.

Per costruzione gli autovettori di una matrice sono combinazioni lineari dei vettori in ingresso. In altre parole, con questo sistema siamo in grado di eliminare delle variabili collegate da relazioni lineari. Se tuttavia i dati sono collegati da relazioni non-lineari (o magari lo si sospetta), bisogna prima trasformarli con una appropriata funzione di nostra scelta, $x_i \to f(x_i)$ e poi applicare l’analisi dei componenti principali ai dati trasformati. Per questo scopo non c’è purtroppo una ricetta generale, ma va fatto caso per caso.

Questa voce è stata pubblicata in informatica. Contrassegna il permalink.

Commenta

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.