Analisi delle componenti principali

Da Wikipedia, l'enciclopedia libera.

L'analisi in componenti principali o PCA, dall'inglese principal component analysis, è una tecnica per la semplificazione dei dati utilizzata nell'ambito della statistica multivariata. Fu proposta nel 1901 da Karl Pearson e sviluppata da Harold Hotelling nel 1933. È nota anche come trasformata di Karhunen-Loève (KLT), trasformata di Hotelling o decomposizione ortogonale propria (POD, dall'inglese proper orthogonal decomposition).

Insieme all'analisi delle corrispondenze e all'analisi delle corrispondenze multiple, appartiene all'analisi fattoriale.

Lo scopo primario di questa tecnica è la riduzione di un numero più o meno elevato di variabili (rappresentanti altrettante caratteristiche del fenomeno analizzato) in alcune variabili latenti (feature reduction).

Risoluzione lineare[modifica | modifica sorgente]

Ciò avviene tramite una trasformazione lineare delle variabili che proietta quelle originarie in un nuovo sistema cartesiano nel quale la nuova variabile con la maggiore varianza viene proiettata sul primo asse, la variabile nuova, seconda per dimensione della varianza, sul secondo asse e così via.

La riduzione della complessità avviene limitandosi ad analizzare le principali (per varianza) tra le nuove variabili.

Diversamente da altre trasformazioni (lineari) di variabili praticate nell'ambito della statistica, in questa tecnica sono gli stessi dati che determinano i vettori di trasformazione.

Assumendo che a ciascuna delle variabili originarie venga sottratta la loro media e pertanto la nuova variabile (Xi) ha media nulla,

\mathbf{w}_1
  = \underset{\Vert \mathbf{w} \Vert = 1}{\operatorname{\arg\,max}}\,E
    \left\{ \left( \mathbf{w}^T \mathbf{x}\right)^2 
    \right\}

(Dove arg max indica l'insieme degli argomenti w in cui è raggiunto il massimo.) Con i primi (k-1) componenti, il k-esimo componente può essere trovato sottraendo i primi (k-1) componenti principali a X

\mathbf{\hat{x}}_{k - 1}
  = \mathbf{x} -
    \sum_{i = 1}^{k - 1}
      \mathbf{w}_i \mathbf{w}_i^T \mathbf{x}

e sostituendo questo

\mathbf{w}_k 
  = \underset{\Vert \mathbf{w} \Vert = 1}{\operatorname{arg\,max}}\,E
    \left\{ \left( \mathbf{w}^T \mathbf{\hat{x}}_{k - 1} 
    \right)^2 \right\}

Risoluzione matriciale[modifica | modifica sorgente]

Un metodo più semplice per calcolare la componente wi utilizza la matrice delle covarianze di x. La stessa operazione può essere eseguita partendo dalla matrice dei coefficienti di correlazione anziché dalla matrice di varianza-covarianza delle variabili "x".

Innanzitutto si devono trovare gli autovalori della matrice di covarianza (o della matrice dei coefficienti di correlazione). Si ottengono tanti autovalori quante sono le variabili x. L'autovalore con il maggiore valore corrisponde alla dimensione w che ha la maggiore varianza: esso sarà dunque la varianza della componente principale 1. In ordine decrescente, il secondo autovalore sarà la varianza della componente principale 2, e così via per gli n autovalori. Per ciascun autovalore viene calcolato il corrispondente autovettore, ossia la matrice (riga vettore) dei coefficienti che moltiplicano le vecchie variabili x nella combinazione lineare per l'ottenimento delle nuove variabili w. Questi coefficienti sono anche definiti loadings. La matrice degli autovettori (ossia la matrice che ha per riga ciascun autovettore prima calcolato), è la cosiddetta matrice di rotazione V. Eseguendo l'operazione matriciale W= V.X (dove W= vettore colonna avente come elementi le nuove variabili w1, w2, ..., wn e X= vettore colonna avente come elementi le "vecchie variabili" x1, x2, ..., xn.) si possono trovare le coordinate di ciascun punto nel nuovo spazio vettoriale. Basterà infine prendere le coordinate per ciascun punto relative alle componenti principali per ottenere il grafico denominato score plot. Se le componenti principali sono 3 si avrà un grafico tridimensionale, se sono 2 sarà bidimensionale, se invece si è scelta una sola componente principale lo score plot sarà allora monodimensionale. Mediante lo score plot è possibile verificare quali dati sono simili tra di loro (e quindi si può ad esempio dedurre quali campioni presentano la medesima composizione).

In PCA esiste anche un altro tipo di grafico, definito loading plot, nel quale sono le variabili x ad essere riportate nel nuovo sistema avente per assi le componenti principali. Con questo tipo di grafico è possibile osservare se due variabili sono simili (e pertanto forniscono la stessa tipologia di informazione) oppure se sono distanti (e quindi non sono simili).

Ricapitolando: gli elementi dell'autovettore colonna corrispondente ad un autovalore esprimono quindi il legame tra le variabili di partenza e la componente considerata attraverso dei pesi. Il numero di variabili latenti da considerare come componenti principali si fonda sulla grandezza relativa di un autovalore rispetto agli altri infatti. Nel caso invece sia l'operatore a scegliere le componenti principali senza considerare la relativa varianza espressa dai rispettivi autovalori, si avrà una supervised pattern recognition.

Possiamo costruire quindi la matrice dei fattori (in pratica una matrice modale) che elenca per riga le variabili originarie, per colonna le variabili latenti: ogni valore ci dice quanto le seconde incidano sulle prime (con valori che vanno da 0 ad 1).

La matrice del punteggio fattoriale, invece, ha la stessa struttura della precedente ma, a differenza della stessa, ci dice quanto le singole variabili originarie abbiano pesato sulla determinazione della grandezza di quelle latenti.

Esempio[modifica | modifica sorgente]

Facciamo una simulazione. Poniamo di disporre di un'indagine che ci riporta per 10 soggetti: voto medio (da 0 a 33), intelligenza (da 0 a 10), media ore studiate in un giorno e zona d'origine (che varia da 1 a 3). Standardizziamo i valori con la formula:

z=(Xi-E(X))/SD

(con "E(x)" che è X medio).

Dopo di che calcoliamo la matrice dei coefficienti di correlazione che sarà:

Matrice di correlazione.jpg

Chiaramente la diagonale principale è composta da valori uguali ad 1 (il coefficiente di correlazione di una variabile con se stessa deve dare necessariamente questo valore). È pure una matrice simmetrica (il coefficiente di correlazione tra la variabile "x" e la variabile "y" sarà uguale a quello tra "y" e "x"). Vediamo come ci sia un forte legame tra voto, media ore studio e intelligenza.

Studiamo allora gli autovalori (eigenvalues) e quanto spiegano:

Totale della varianza spiegata.JPG

Abbiamo posto gli autovalori più alti per primi, e, come detto, il loro rapporto con la somma degli autovalori ci dà la varianza che spiegano. Abbiamo selezionato (arbitrariamente) solo quelli che hanno valore maggiore di 1: i più significativi, che ci spiegano il 70,708% e il 26,755% rispettivamente.

Guardiamo ora alla matrice delle componenti principali:

Matrice delle componenti.JPG

Il fattore 1 (che, facendo una congettura, si potrebbe chiamare bravura) pesa dunque fortemente sul voto medio. Sembrerebbe pure che pesi in maniera negativa sulla variabile della zona di origine (chiaramente questa affermazione non avrebbe senso perché invertiremmo il nesso di causalità, spetta infatti allo statistico saper dare una spiegazione e una lettura sensate).

Dopo di che ottengo la matrice di punteggio fattoriale:

Matrice dei punteggi fattoriali.JPG


Come vediamo la variabile provenienza continua ad avere un influsso di segno negativo sull'autovalore principale. Le altre variabili invece hanno peso positivo.

Bibliografia[modifica | modifica sorgente]

  • Bolasco Sergio, Analisi multidimensionale dei dati. Metodi, strategie e criteri d'interpretazione, 1999, Roma, Carocci, ISBN 88-430-1401-3 (3^ ristampa 2008)
  • Roberto Todeschini, Introduzione alla chemiometria, 1ª ed., Napoli, EdiSES, 2003, ISBN 88-7959-146-0.

Voci correlate[modifica | modifica sorgente]

Altri progetti[modifica | modifica sorgente]

matematica Portale Matematica: accedi alle voci di Wikipedia che trattano di matematica