
L'analisi delle componenti principali (in inglese "principal component analysis" o abbreviata "PCA"), anche nota come trasformata di Karhunen-Loève, trasformata di Hotelling o decomposizione ortogonale propria, è una tecnica per la semplificazione dei dati utilizzata nell'ambito della statistica multivariata. Questo metodo fu proposto per la prima volta nel 1901 da Karl Pearson e sviluppato poi da Harold Hotelling nel 1933, e fa parte dell'analisi fattoriale. Lo scopo della tecnica è quello di ridurre il numero più o meno elevato di variabili che descrivono un insieme di dati a un numero minore di variabili latenti, limitando il più possibile la perdita di informazioni.
Ciò avviene tramite una trasformazione lineare delle variabili che proietta quelle originarie in un nuovo sistema cartesiano in cui 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 (X) abbia media nulla,
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"
e sostituendo questo
Un metodo più semplice per calcolare la componente w 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. Se viene utilizzata la matrice di correlazione, l'autovalore relativo alla prima componente principale, ossia quella con varianza massima, sarà pari ad 1. In ogni caso 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 loading. 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 formula_4, dove W è il vettore colonna avente come elementi le nuove variabili w1, w2, ..., wn e X è il vettore colonna avente come elementi le "vecchie variabili" x1, x2, ..., xn, si possono trovare le coordinate di ciascun punto nel nuovo spazio vettoriale. Utilizzando le coordinate per ciascun punto relative alle componenti principali si costruisce 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, in cui 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 lo stesso tipo di informazione, oppure se sono distanti (e quindi non sono simili).
Quindi gli elementi dell'autovettore colonna corrispondente a un autovalore esprimono 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. Invece nel caso in cui sia l'operatore a scegliere le componenti principali senza considerare la relativa varianza espressa dai rispettivi autovalori, si ha un supervised pattern recognition.
Si può costruire la matrice dei fattori, in pratica una matrice modale, che elenca per riga le variabili originarie e per colonna le variabili latenti: ogni valore, compreso tra 0 e 1, dice quanto le seconde incidano sulle prime.
Invece la matrice del punteggio fattoriale ha la stessa struttura della precedente, ma dice quanto le singole variabili originarie abbiano pesato sulla determinazione della grandezza di quelle latenti.
Si supponga di disporre di un'indagine che 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. Si standardizzino i valori con la formula:
formula_5
E(x) è il valore atteso di X, ovvero il valor medio, SD è la deviazione standard.
La matrice dei coefficienti di correlazione è:
La diagonale principale è composta da valori uguali ad 1 perché è il coefficiente di correlazione di una variabile con se stessa. È pure una matrice simmetrica perché il coefficiente di correlazione tra la variabile "x" e la variabile "y" è uguale a quello tra "y" e "x". Si vede come ci sia un forte legame tra voto, media ore studio e intelligenza.
Dall'analisi degli autovalori si possono trarre conclusioni:
Gli autovalori sono in ordine decrescente e il loro rapporto con la somma degli autovalori dà la percentuale di varianza che spiegano. Sono stati selezionati arbitrariamente solo quelli che hanno valore maggiore di 1 in quanto più significativi, che spiegano il 70,708% e il 26,755% rispettivamente.
Si osservi alla matrice delle componenti principali:
Il fattore 1 pesa fortemente sul voto medio. Sembrerebbe pure che pesi in maniera negativa sulla variabile della zona di origine; chiaramente questa affermazione non ha senso perché inverte il nesso di causalità: spetta allo statistico dare una spiegazione e una lettura sensate.
Si calcoli quindi la matrice di punteggio fattoriale:
Come si vede la variabile provenienza continua ad avere un influsso di segno negativo sull'autovalore principale. Le altre variabili invece hanno peso positivo.


In statistica, il clustering o analisi dei gruppi (dal termine inglese "cluster analysis" introdotto da Robert Tryon nel 1939) è un insieme di tecniche di analisi multivariata dei dati volte alla selezione e raggruppamento di elementi omogenei in un insieme di dati. Le tecniche di "clustering" si basano su misure relative alla somiglianza tra gli elementi. In molti approcci questa similarità, o meglio, dissimilarità, è concepita in termini di distanza in uno spazio multidimensionale. La bontà delle analisi ottenute dagli algoritmi di "clustering" dipende molto dalla scelta della metrica, e quindi da come è calcolata la distanza. Gli algoritmi di "clustering" raggruppano gli elementi sulla base della loro distanza reciproca, e quindi l'appartenenza o meno ad un insieme dipende da quanto l'elemento preso in esame è distante dall'insieme stesso.
Le tecniche di "clustering" si possono basare principalmente su due "filosofie":
Esistono varie classificazioni delle tecniche di clustering comunemente utilizzate. Una prima categorizzazione dipende dalla possibilità che un elemento possa o meno essere assegnato a più cluster:
Un'altra suddivisione delle tecniche di clustering tiene conto del tipo di algoritmo utilizzato per dividere lo spazio:
Queste due suddivisioni sono del tutto trasversali, e molti algoritmi nati come "esclusivi" sono stati in seguito adattati nel caso "non-esclusivo" e viceversa.
Gli algoritmi di clustering di questa famiglia creano una partizione delle osservazioni minimizzando una certa funzione di costo:
dove formula_2 è il numero dei cluster, formula_3 è il formula_4-esimo cluster e formula_5 è la funzione di costo associata al singolo cluster. L'algoritmo più famoso appartenente a questa famiglia è il k-means, proposto da MacQueen nel 1967. Un altro algoritmo abbastanza conosciuto appartenente a questa classe è il Partitioning Around Medioid (PAM).
Le tecniche di clustering gerarchico non producono un partizionamento "flat" dei punti, ma una rappresentazione gerarchica ad albero. 
Questi algoritmi sono a loro volta suddivisi in due classi:
Una rappresentazione grafica del processo di clustering è fornita dal dendrogramma.
In entrambi i tipi di clustering gerarchico sono necessarie funzioni per selezionare la coppia di cluster da fondere ("agglomerativo"), oppure il cluster da dividere ("divisivo").
Nel primo caso, sono necessarie funzioni che misurino la "similarità" (o, indistintamente, la "distanza") tra due cluster, in modo da fondere quelli più simili. Le funzioni utilizzate nel caso agglomerativo sono:
Nei 4 casi precedenti, formula_10 indica una qualsiasi funzione distanza su uno spazio metrico.
Invece nel clustering divisivo è necessario individuare il cluster da suddividere in due sottogruppi. Per questa ragione sono necessarie funzioni che misurino la compattezza del cluster, la densità o la sparsità dei punti assegnati ad un cluster. Le funzioni normalmente utilizzate nel caso divisivo sono:
Nel "Clustering density-based", il raggruppamento avviene analizzando l'intorno di ogni punto dello spazio. In particolare, viene considerata la densità di punti in un intorno di raggio fissato.
Un esempio è il metodo di clustering Dbscan.
Algoritmi di clustering molto usati sono:
Il QT ("Quality Threshold") Clustering (Heyer et al., 1999) è un metodo alternativo di partizionare i dati, inventato per il clustering dei geni. Richiede più potenza di calcolo rispetto al "K"-Means, ma non richiede di specificare il numero di cluster "a priori", e restituisce sempre lo stesso risultato quando si ripete diverse volte.
L'algoritmo è:
La distanza tra un punto ed un gruppo di punti è calcolata usando il concatenamento completo, cioè come la massima distanza dal punto di ciascun membro del gruppo (vedi il "Clustering gerarchico agglomerativo" sulla distanza tra i cluster nella sezione clustering gerarchico).
