DataScience Training



Analiza discriminant liniară
Feedback form    |       Redare audio    |   Download:    |   


Analiza discriminant liniară

Introducere

Motivarea prin un exemplu ilustrativ Click to read  

Să presupunem că avem un eșantion de indivizi și observăm modul de transport (cu mașina, transportul public sau mersul pe jos) pe care îl folosesc de obicei pentru a se deplasa într-un oraș. Știm că alegerea modului de transport este parțial influențată de statutul lor economic și observăm date privind vârsta lor în ani și venitul anual al gospodăriei, împreună cu mijlocul de transport ales:

Dorim să știm cum aceste două covariante ajută la clasificarea (adică, la discriminarea) indivizilor, atribuindu-i unei categorii specifice de mod de transport. Putem observa că nu există o clasificare perfectă: persoanele cu venituri mari tind să folosească mașina mai des, dar există o mare suprapunere a categoriilor „mers pe jos” și „transport public” pentru cei cu venituri mai mici. Și există o suprapunere mai mare între categorii în ceea ce privește distribuția lor pe vârstă: persoanele în vârstă nu merg pe jos, dar la valori mai mici vârsta nu este un bun predictor al modului de transport. Aceasta este problema tipică pe care o abordează LDA.

 

 

LDA pentru clasificare

Formulare Click to read  

- Funcțiile LDA pot fi recuperate pentru a ajuta la clasificarea datelor pe baza unei matrice de covariantă 𝐗. 

 
- Similar analizei componentelor principale (PCA), funcțiile LDA urmăresc să găsească o combinație liniară a datelor originale ca:
 

- Coordonatele discriminante sunt obținute din vectorii proprii ai

Exemplu Click to read  

Ca exemplu ilustrativ, rezolvăm problema de clasificare a modului de transport pe baza vârstei și venitului de către LDA în R.  

Acest lucru se poate face cu ușurință prin funcția „lda” din biblioteca „de masă”. Pentru toată analiza prezentată aici, va trebui să instalăm și să încărcăm următoarele pachete R:

Datele studiate vin într-un fișier csv (numit „transnpor_example”), care poate fi importat cu ușurință în R rulând aceast cod:

Pentru a avea o primă impresie asupra datelor, putem reprezenta un grafic eșantionul sub forma unui grafic de dispersie ca:

Codurile de mai sus produc graficul de dispersie prezentat în secțiunea introductivă a celui de-al treilea document.

Alternativ, am putea reprezenta datele ca o serie de histograme ca:

Prin rularea oricăreia dintre aceste două linii, putem avea o idee despre modul în care modul de transport se distribuie între valorile legate de vârstă și venit.

De exemplu:

Or: 

LDA se realizează pur și simplu rulând:

Rezultatele clasice arată mediile inițiale pe grupe, coeficienții din proiecțiile LD și proporția dintre varianța (urmă) pe care o explică fiecare coordonată LD: 

În exemplul nostru, prima coordonată LD este corelată pozitiv cu venitul și negativ cu vârsta și conține aproape 90% din variabilitatea dintre clase. 

A doua funcție LD prezintă o corelație pozitivă, dar mai slabă, cu ambele variabile și reprezintă doar aproximativ 10% din variabilitatea între variabile.

Noile coordonate sunt produse proiectând punctele de date originale cu coeficienții LDA prin expresia 𝐮𝐓𝐗.

În aceste noi coordonate, observațiile sunt mai clar separate între grupuri. 

În exemplul nostru, avem două coordonate LD pentru fiecare individ, având în vedere vârsta și venitul acestuia. 

Coordonatele corespunzătoare primei funcție LD au puterea discriminantă mai mare. 

Putem vedea cu ușurință această putere discriminantă prin trasarea în R a unei histograme, punând acum primele coordonate LD în axa orizontală:

Obținând: 

Acest grafic arată modul în care cantitatea de suprapunere se reduce considerabil. 

Cu alte cuvinte, prima coordonată LD (rețineți că este un „compozit” care se corelează negativ cu vârsta și pozitiv cu venitul) discriminează în mod adecvat între categoriile de transport.

 

 

LDA predictivă

Procedura Click to read  

LDA poate fi folosit nu numai în scopuri de clasificare (descriptive), ci și cu obiectivul de a prezice apartenența la clasă. De exemplu, să presupunem că avem date despre vârsta și venitul anual al gospodăriei pentru o persoană (în eșantion sau în afara eșantionului) și am dori să anticipăm modul de transport pe care este cel mai probabil să îl folosească această persoană. LDA poate fi de ajutor pentru a ne oferi o predicție, într-un mod similar cu modelele multinominale logit sau probit.

În acest scop predictiv, sunt necesare câteva ipoteze:

  • grupurile sunt multivariate normale
  • varianțe-covarianțe egale între grupuri

Formularea LDA predictivă este legată de formularea teoremei lui Bayes pentru actualizarea probabilităților: Fie 𝑔 numărul de grupuri și 𝑞𝑖 probabilitatea anterioară (frecvențele relative de obicei observate) pentru grupul 𝑖. Fie 𝐱 un vector de observații ale covariatelor pentru un individ. Probabilitatea (posterior) de a face parte din grupul 𝐺𝑖 condiționată de 𝐱, P(𝐺𝑖 |𝐱), poate fi exprimată ca:

Aceasta este o abordare bayesiană care actualizează probabilitățile anterioare 𝑞𝑖 pe baza probabilităților condiționate P(𝐱|𝐺𝑖). În ipotezele de normalitate:

unde |𝐖| este determinantul matricei de varianță în cadrul clasei și  Di  este  . Conectand expresia de  în formula pentru  , avem: 

 

 

 

 

Exemplu folosind R Click to read  

Rutina LDA în R poate produce probabilități posterioare pe baza ipotezelor și a formulării detaliate mai înainte. Funcțiile LDA permit prezicerea celui mai probabil membru al clasei pentru orice individ, având în vedere un vector de covarianță (vârsta și venitul gospodăriei în exemplu).
Ca o ilustrare, tabelul afișat mai jos arată probabilitățile prezise pentru fiecare grup pentru un subset de indivizi din eșantion. Se presupune că ponderile qi sunt identice pentru fiecare dintre cele trei moduri de transport 
().

Clasa prezisă corespunde celui mai mare   pentru fiecare individ. Acestea sunt calculate prin aplicarea următoarei rutine în Rstudio:

În cele mai multe cazuri, LDA prezice corect grupul căruia îi aparține fiecare individ. Există însă unele cazuri pentru care LDA nu prezice corect. Aceste cazuri corespund observațiilor suprapuse care rămân încă în clasificarea LDA



Keywords

analiza discriminant, clasificare, R, analiză bayesiană

Objectives/goals:

Obiectivul acestui modul este de a introduce și explica elementele de bază ale analizei discriminante liniare (LDA).

La sfârșitul acestui modul vei fi capabil să: 




  • Identificați situațiile în care LDA poate fi utilă

  • Calculați funcțiile LDA

  • Interpretarea rezultatelor produse de LDA descriptiv și predictiv


Description:

În acest modul de instruire veți fi introdus în utilizarea analizei discriminante lineare (LDA). LDA este o metodă de găsire a combinațiilor liniare de variabile care separă cel mai bine observațiile în grupuri sau clase și a fost dezvoltată inițial de Fisher (1936).

Această metodă maximizează raportul dintre variația dintre clase și varianța în interiorul clasei în orice anumit set de date. Făcând acest lucru, variabilitatea între grupuri este maximizată, ceea ce are ca rezultat separabilitatea maximă.

LDA poate fi folosit cu scopuri pur de clasificare, dar și cu obiective predictive.
 

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

Parteneri

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