DataScience Training



Analisi discriminante lineare

Analisi discriminante lineare

Introduzione

Spiegazione con un esempio illustrativo Click to read  

Supponiamo di avere un campione di individui e di osservare la modalità di trasporto (in auto, con i mezzi pubblici o a piedi) che di solito impiegano per spostarsi all'interno di una città. Sappiamo che la scelta della modalità di trasporto è parzialmente influenzata dallo status economico, inoltre osserviamo i dati sulla loro età e il loro reddito annuo familiare, insieme al mezzo di trasporto scelto:

Vogliamo sapere come queste due covariate aiutano a classificare (cioè discriminare) gli individui assegnandoli a una specifica categoria di modalità di trasporto. Possiamo vedere che non esiste una classificazione perfetta: gli individui con reddito elevato tendono a usare le auto più frequentemente, ma c'è una grande sovrapposizione di categorie "a piedi" e "trasporto pubblico" per coloro che hanno redditi più bassi. Inoltre, c'è una maggiore sovrapposizione tra le categorie per quanto riguarda la loro distribuzione per età: gli individui più anziani non camminano. L'età, però, non è un buon predittore della modalità di trasporto. Questo è il tipico problema che LDA affronta.

LDA per la classificazione

Formulazione Click to read  

► Le funzioni LDA possono essere utilizzate per aiutare con la classificazione dei dati sulla base di una matrice di covariate X
 
► Analogamente all’ Analisi in Componenti Principali (PCA), le funzioni LDA mirano a trovare una combinazione lineare dei dati originali come:
 
 
dove la varianza tra classi (B) è massimizzata rispetto alla varianza all'interno della classe (W), che può essere affrontata come un problema generalizzato agli autovalori.
Le coordinate discriminanti sono ottenute dagli autovettori di 

 
 
Un esempio Click to read  

Come esempio illustrativo, risolviamo il problema della classificazione della modalità di trasporto in base all'età e al reddito attraverso la tecnica LDA in R, utilizzando la funzione "lda" all'interno della libreria "mass". Per tutte le analisi qui presentate, dovremo installare e caricare i seguenti pacchetti R:

I dati sono in formato csv (chiamato "trasnpor_example"), che può essere importato in R eseguendo i seguenti comandi:

Per avere una prima descrizione dei dati, possiamo tracciare il campione sotto forma di grafico a dispersione:

Le righe di codice precedenti producono il grafico a dispersione mostrato nella sezione introduttiva del documento. In alternativa, potremmo tracciare i dati come una serie di istogrammi:

Eseguendo uno di questi comandi,  possiamo avere un'idea di come la modalità di trasporto si distribuisce tra i valori dell'età e del reddito. Per esempio:

Oppure: 

LDA si ottiene eseguendo:

L'output tipico mostra le medie iniziali per gruppo, i coefficienti nelle proiezioni LD e la proporzione della varianza between che ogni coordinata LD spiega:

Nel nostro esempio, la prima coordinata LD è correlata positivamente con il reddito e negativamente con l'età e contiene quasi il 90% della variabilità inte-class. La seconda funzione LD mostra una correlazione positiva, ma più debole con entrambe le variabili e rappresenta solo circa il 10% della variabilità between.

Le nuove coordinate vengono prodotte proiettando i punti originali con i coefficienti LDA, utilizzando l'espressione utX. In queste nuove coordinate, le osservazioni sono separate più chiaramente tra i gruppi. Nel nostro esempio, abbiamo due coordinate LD per ogni individuo, data la loro età e reddito. Le coordinate corrispondenti alla prima funzione LD hanno la potenza discriminante maggiore. Possiamo facilmente vedere questa potenza discriminante tracciando in R un istogramma, mettendo ora le prime coordinate LD nell'asse orizzontale:

Obtaining: 

Questo grafico mostra come la quantità di sovrapposizioni diminuisca considerevolmente. In altre parole, la prima coordinata LD (ricordiamo che è un "composito" che correla negativamente con l'età e positivamente con il reddito) discrimina adeguatamente tra le categorie di trasporto. 

LDA predittivo

La procedura Click to read  

LDA può essere utilizzato non solo per scopi di classificazione (descrittiva), ma anche con l'obiettivo di prevedere l'appartenenza alla classe. Ad esempio, supponiamo di avere dati sull'età e sul reddito familiare annuale per un individuo (in-sample o out-of-sample) e vorremmo prevedere la modalità di trasporto che questa persona è più probabile che utilizzi. LDA può essere utile per fornirci una previsione, in modo simile ai modelli logit o probit multinominali.

Per questo scopo predittivo, sono necessarie alcune ipotesi:

  • i gruppi sono multivariati
  • Varianze-covarianze uguali tra gruppi

La formulazione dell'LDA preventiva è correlata alla formulazione del teorema di Bayes per l'aggiornamento delle probabilità: Sia g il numero di gruppi e qi la probabilità precedente (frequenze relative) per il gruppo i. Sia X un  vettore di osservazioni di covariate per un individuo. La probabilità (posteriore) di appartenere al gruppo Gi  condizionata da X, P(Gi |X), può essere espressa come:

Questo è un approccio bayesiano che aggiorna le probabilità precedenti qi basandosi sulle probabilità condizionali P(X|Gi). Sotto le ipotesi di normalità:

dove |W| è il determinante della matrice di varianza all'interno della classe e Di  è  . Con l’inserimento dell'espressione di   nella formula per  , otteniamo:

 

 

Un esempio con R Click to read  

La routine LDA in R può produrre probabilità posteriori basate sulle ipotesi e sulla formulazione descritta in precedenza. Le funzioni LDA consentono di prevedere l'appartenenza alla classe più probabile per ogni individuo, dato un vettore di covariate (età e reddito familiare nell'esempio).

A titolo illustrativo, la tabella visualizzata di seguito mostra le probabilità previste per ciascun gruppo per un sottoinsieme di individui nel campione. A priori si assume che q_i siano identici per ciascuna delle tre modalità di trasporto ().

La classe prevista corrisponde alla più alta   per individuo. Sono calcolati applicando la seguente routine in Rstudio:

Nella maggior parte dei casi, LDA prevede correttamente il gruppo a cui appartiene ogni individuo. Ci sono alcuni casi, tuttavia, per i quali LDA non riesce a fare una previsione corretta. Questi casi corrispondono alle osservazioni sovrapposte che rimangono ancora nella classificazione LDA.



Keywords

Analisi discriminante, classificazione, R, analisi bayesiana

Objectives/goals:

L'obiettivo di questo modulo è introdurre e spiegare le basi dell'analisi discriminante lineare (LDA).



Alla fine di questo modulo sarai in grado di:




  1. Identificare le situazioni in cui LDA può essere utile

  2. Calcolare le funzioni LDA

  3. Interpretare i risultati prodotti da LDA descrittivo e predittivo


Description:

In questo modulo di formazione verrai introdotto all'uso dell'analisi discriminante lineare (LDA). LDA è un metodo per trovare combinazioni lineari di variabili che meglio separa le osservazioni in gruppi o classi, ed è stato originariamente sviluppato da Fisher (1936).

Questo metodo massimizza il rapporto tra la varianza tra classi e la varianza all'interno della classe in un particolare set di dati. In questo modo, la variabilità tra gruppi è massimizzata, il che si traduce in massima separabilità.

LDA può essere utilizzato con scopi puramente di classificazione, ma anche con obiettivi predittivi.

Bibliography

Boedeker, P., & Kearns, N. T. (2019). Linear discriminant analysis for prediction of group membership: A user-friendly primer. Advances in Methods and Practices in Psychological Science, 2, 250-263.


Related training material

Partner

Università del Salento
Demostene Centro Studi
IHF
IWS
Universidad de Oviedo
ASE
WAI