Classificazione (aka Cluster Analysis) Classificazione non gerarchica esk-means Classificazione gerarchica divisiva Classificazione gerarchica agglomerativa Legame: singolo, completo, medio, Coefficiente di correlazione cofenetica Classificazione con vincoli Metodi innovativi (machine learning) es Self-organizing maps
Classificazione (= Cluster Analysis) 3? 6 7 8 Obiettivo: massimizzare l omogeneità dei gruppi (o classi o clusters) (cioè: gli oggetti simili devono essere nello stesso cluster) Problema generale: cercare le discontinuità nello spazio dei dati da classificare Discontinuità Reali o naturali : es tassonomia Arbitrarie: es ecologia delle comunità
Clustering non-gerarchico: k-means Si utilizza direttamente la matrice dei dati calcolando distanze euclidee Si massimizza la varianza inter-classe per un numero dato a priori di classi In pratica, equivale a cercare le classi che massimizzano il rapporto F di una MANOVA a una via Procedura iterativa: k-means Scegli un numero di classi Assegna gli oggetti alle classi (a caso o in base ad un altra classificazione) 3 Sposta gli oggetti nelle classi il cui centroide è più vicino (la varianza intra-classe diminuisce) Ripeti lo step 3 finchè non c è più nessun cambiamento nella composizione delle classi 3
specie A A A specie A A A A A A A A A raclasse inerz iai t inerzia interclasse n in A tra ia c zr e in ess la Classificazione non gerarchica: Analisi delle Nubi Dinamiche (un algoritmo k-means) k-means con 3 classi Y 0 08 06 0 0 00 00 0 0 06 08 0 X Variabile InterSQ gdl IntraSQ gdl rapporto F X 036 0007 7 663 Y 0 000 7 3766 ** TOTALE ** 078 008
0 08 k-means con 3 classi Y 06 0 0 00 00 0 0 06 08 0 X Classe di 3 (contiene casi) Membri Statistiche Caso Distanza Variabile Min Media Max DevSt Caso 00 X 0 0 09 00 Caso 0 Y 003 09 07 0 Caso 3 006 Caso 00 Classe di 3 (contiene casi) Membri Statistiche Caso Distanza Variabile Min Media Max DevSt Caso 7 006 X 0 0 09 003 Caso 8 003 Y 06 070 077 007 Caso 9 00 Caso 0 006 Classe 3 di 3 (contiene casi) Membri Statistiche Caso Distanza Variabile Min Media Max DevSt Caso 00 X 077 077 078 00 Caso 6 00 Y 033 03 036 00 Svantaggi della classificazione k-means Ottimizza le classi, ma non in modo globale (iterando si può ottenere una partizione più efficace) isogna scegliere il numero di classi a priori Ma quante classi devono essere scelte?
classe classe classe 3 Mappa della struttura della comunità epifita di P oceanica Classificazione gerarchica Solitamente si rappresenta con un dendrogramma 6
Classificazione gerarchica Divisiva Si cercano partizioni successive di un insieme di oggetti in due sotto-insiemi in modo da soddisfare un criterio predefinito Agglomerativa Si aggregano gli oggetti in gruppi ed i gruppi fra loro secondo un criterio predefinito Classificazione gerarchica divisiva Si inizia con tutti gli oggetti in una sola classe, poi: 0 Association index si dividono mediante classificazioni k-means o altre tecniche divisive con partizioni in due classi; si divide ogni volta la classe più eterogenea Oppure si dividono simultaneamente tutte le classi esistenti Si tratta di tecniche efficienti, ma poco usate! 0 0 03 0 06 07 0 9 9 7
0 Classificazione gerarchica agglomerativa 9 9 07 06 0 0 03 0 0 Association index Si inizia con un oggetto per classe Le classi vengono fuse finchè ne rimane una soltanto E la classe di metodi di gran lunga più ampiamente diffusa Classificazione gerarchica agglomerativa Si lavora su una matrice di dissimilarità o distanza Procedura generale: Si calcola una matrice simmetrica di dissimilarità/distanza fra le classi Le classi fra cui la dissimilarità/distanza è minima vengono fuse fra loro 3 Si calcola la dissimilarità/distanza fra la nuova classe ottenuta e tutte le altre N I diversi algoritmi differiscono nel punto 3 8
Classificazione gerarchica agglomerativa A C D E A 0 03 0 C 0 067 0 D 0 0 07 0 E 0 06 078 09 0 Prima fusione: A e D AD C E AD 0? 0 C? 067 0 E? 06 078 0 Come calcolare le nuove distanze? Classificazione gerarchica agglomerativa Legame semplice A C D E A 0 03 0 C 0 067 0 D 0 0 07 0 E 0 06 078 09 0 AD C E AD 0 03 0 C? 067 0 E? 06 078 0 d(ad,)=min{d(a,), d(d,)} 9
Classificazione gerarchica agglomerativa Legame completo A C D E A 0 03 0 C 0 067 0 D 0 0 07 0 E 0 06 078 09 0 AD C E AD 0 0 0 C? 067 0 E? 06 078 0 d(ad,)=max{d(a,), d(d,)} Classificazione gerarchica agglomerativa Legame intermedio A C D E A 0 03 0 C 0 067 0 D 0 0 07 0 E 0 06 078 09 0 AD C E AD 0 00 0 C? 067 0 E? 06 078 0 d(ad,)=mean{d(a,), d(d,)} 0
Classificazione gerarchica agglomerativa Metodo di Ward Minimizza la varianza intra-classe Affine ad algortimi basati sul calcolo delle distanze dai centroidi di classe (come nel caso dell algoritmo k-means) 00 000 00 03 000 00 08 00 000 00 9 0 009 03 0 00 036 000 07 00 033 00 000 037 08 000 03 000 00 07 000 030 00 03 07 000 00 03 000 030 000 036 000 06 06 00 9 000 000 07 0 03 03 09 009 009 00 0 00 000 07 000 0 00 03 000 08 0 00 9 9 0 0 9 9 Average Linkage Legame intermedio 07 06 0 0 03 0 0 Association index
Legame Single Linkage singolo Legame Average intermedio Linkage 0 0 9 9 9 9 07 07 06 06 0 0 0 0 03 03 Association index 07 06 0 0 03 0 0 Association index 0 Legame Complete completo Linkage 9 Ward's Algoritmo di Ward 9 9 9 0 07 06 0 0 03 0 0 0 Association index 08 07 06 0 0 03 0 0 0 Association index Metodi di classificazione gerarchica agglomerativa Legame semplice Produce catene di oggetti, contrae lo spazio intorno alle classi Non appropriato se l errore di campionamento è grande Usato in tassonomia Invariante rispetto alle trasformazioni dei dati Legame completo Produce classi compatte e dilata lo spazio intorno a esse Non appropriato se l errore di campionamento è grande Invariante rispetto alle trasformazioni dei dati Legame intermedio, centroide, di Ward Maggiore probabilità di riconoscere partizioni naturali Non invarianti rispetto alle trasformazioni dei dati
distanza euclidea D 0 0 similarità di Jaccard -S 00 0 0 07 stazioni 3 6 8 7 stazioni 3 6 7 8 -S 00 0 0 07 specie 3 0 7 9 8 coefficiente di associazione di Fager & McGowan Coefficiente di correlazione cofenetica (CCC) Correlazione fra la matrice di dissimilarità originale e quella inferita in base alla classificazione CCC >~ 08 indica un buon accordo CCC <~ 08 indica che il dendrogramma non è una buona rappresentazione delle relazioni fra oggetti Si può usare il CCC per scegliere l algoritmo ottimale 3
Legame Single Linkage singolo Legame Average intermedio Linkage 0 0 9 9 9 9 CCC=077 CCC=083 07 07 06 06 0 0 0 0 03 03 Association index 07 06 0 0 03 0 0 Association index 0 Legame Complete completo Linkage 9 Ward's Algoritmo di Ward 9 9 9 0 CCC=080 CCC=07 07 06 0 0 03 0 0 0 Association index 08 07 06 0 0 03 0 0 0 Association index Classificazione vincolata Si definisce un vincolo di natura spaziale (es contiguità fra oggetti) o di natura temporale (es successione) Si definisce un metodo per verificare che il vincolo sia rispettato (es rete di Gabriel per rappresentare la contiguità) Si applica il vincolo ad un qualsiasi algoritmo di classificazione Le classi ottenute possono essere più vicine alla nostra percezione della realtà Il fuoco si sposta dalla composizone delle classi alle discontinuità fra di esse
Distanza euclidea (dati quantitativi) Rete di Gabriel k= Dissimilarità di Jaccard (dati binari) k= D =96 max D =83 max D =66 max D =7 max dissimilarità di Jaccard
Problemi aperti Esistono realmente classi biologicamente o ecologicamente rilevanti? Il dendrogramma rappresenta la realtà biologica (web-of-life vs tree-of-life)? Quante classi usare? le regole per la selezione sono arbitrarie! Quale metodo usare? la tecnica ottimale dipende dai dati! I dendrogrammi non sono efficienti nel visualizzare classificazioni complesse 0 0 0 03 0 0 06 Association index 07 08 09 0 33 3 6 09 70 39 6 80 33 6 8 6 3 70 303 7 6 3 0 0 7 9 80 36 8 30 7 8 8 37 3 00 3 83 9 96 9 009 0 00 0 0 7 08 67 09 66 06 07 97 98 6 83 78 79 68 8 73 3 3 9 06 0 76 0 7 73 36 7 0 0 39 3 3 89 90 09 8 6 8 30 0 08 83 6 390 399 6 88 99 7 3 3 69 37 9 0 68 07 67 73 3 380 6 99 8 3 3 966 3 930 6 67 86 69 69 6 309 30 979 3 677 07 7 93 6 3 63 90 0 3 06 38 6
C è qualcosa di meglio per casi complessi? Esistono metodi di nuova generazione, che non sono ancora molto diffusi in Ecologia La loro diffusione sta crescendo, ma bisogna che siano accettati dagli ecologi In molti casi, sfruttano le capacità di calcolo attualmente disponibili per tutti Si tratta soprattutto di tecniche mutuate dal campo del Machine Learning, dell Intelligenza Artificiale e del Data Mining Ordinamento e classificazione: Self-Organizing Maps (SOMs) o Mappe di Kohonen 7
sp O O O 3 Campioni O i O p Specie sp sp n Inizializzazione Addestramento delle unità virtuali (iterativo) - scelta casuale di un osservazione - identificazione della best matching unit (MU) - addestramento della MU e delle unità adiacenti Proiezione delle osservazioni sulla mappa O O O O O O O O O O O O O Vettoridiriferimento (unità virtuali) Specie Osservazioni O O O j O n sp x x x j x n sp x x x j x n sp i x i sp m x m x i x ij x in x m x mj x mn Al termine della procedura di addestramento O O j O n Specie Unità Virtuali UV UV UV k UV S sp w w w k w S sp w w w k w S sp i w i w i w ik w is sp m w m w m w mk w ms 8
Visualizzazione delle osservazioni Specie Osservazioni O O O j O n sp x x x j x n sp x x x j x n sp i x i x i x ij x in sp m x m x m x mj x mn O n O O j Visualizzazione delle Unità Virtuali Specie Unità Virtuali UV UV UV k UV S sp w w w k w S sp w w w k w S sp i w i w i w ik w is sp m w m w m w mk w ms O n O UV k UV UV UV S O j Ogni specie ha una diversa distribuzione Specie Unità Virtuali UV UV UV k UV S sp w w w k w S sp w w w k w S sp i w i w i w ik w is sp m w m w m w mk w ms Specie Specie Specie i 9
Una SOM 8 x basata sui dati di presenza/assenza delle farfalle UV diurne in un sottoinsieme Specie TAV delle piccole Accordo isole circumsarde ASI MAD SPI SER SMA LAP PCE 0939 ok SAN CCO 000 SPA UD ok PAE 0 086 0 ok CAP RAZ SOF TAV PMA 0 0000 0 ok PR 0 0000 0 ok PRA 097 ok PDA 076 ok CCR 0939 ok GCL 097 ok LSI 0 0000 0 ok LCE 076 ok CJA 0 078 0 ok VAT 000 ok VCA 0939 ok HNE 076 ok HAR 0939 ok MJU 0 078 0 ok LTI 000 ok LPH 000 ok LO 0 0000 0 ok LPI 0 0000 0 ok CAR 076 ok LCO 0 003 0 ok AAG 0 0000 0 ok ACR 097 ok MOL SST MOR PIC 0939 ok CAL 0 0 0 ok GPU 076 ok LAV PAS ILT FIG MAL LIN OGL PAL SPT CAV LE AR CAM MLT La matrice U consente di visualizzare le distanze fra gli elementi di una SOM ASI MAD SPI SER SMA LAP LAV PAS SAN CAP D D D SPA D D D UD RAZ SOF FIG ILT PAL SPT CAV LE AR MLT CAM TAV MOL SST MOR MAL LIN OGL 0
Un applicazione delle Self-Organizing Maps (SOMs) Dati estratti da: Marina Cobolli, Marco Lucarelli e Valerio Sbordoni (996) Le farfalle diurne delle piccole isole circumsarde iogeographia, 8: 69-8 specie 8 specie identificate in 30 isole
Una SOM 8 x basata sui dati di presenza/assenza delle farfalle UV diurne in un sottoinsieme Specie TAV delle piccole Accordo isole circumsarde ASI MAD SPI SER SMA LAP PCE 0939 ok SAN CCO 000 SPA UD ok PAE 0 086 0 ok CAP RAZ SOF TAV PMA 0 0000 0 ok PR 0 0000 0 ok PRA 097 ok PDA 076 ok CCR 0939 ok GCL 097 ok LSI 0 0000 0 ok LCE 076 ok CJA 0 078 0 ok VAT 000 ok VCA 0939 ok HNE 076 ok HAR 0939 ok MJU 0 078 0 ok LTI 000 ok LPH 000 ok LO 0 0000 0 ok LPI 0 0000 0 ok CAR 076 ok LCO 0 003 0 ok AAG 0 0000 0 ok ACR 097 ok MOL SST MOR PIC 0939 ok CAL 0 0 0 ok GPU 076 ok LAV PAS ILT FIG MAL LIN OGL PAL SPT CAV LE AR CAM MLT La matrice U consente di visualizzare le distanze fra gli elementi di una SOM ASI MAD SPI SER SMA LAP LAV PAS SAN CAP D D D SPA D D D UD RAZ SOF FIG ILT PAL SPT CAV LE AR MLT CAM TAV MOL SST MOR MAL LIN OGL
Self-Organizing Map vs Analisi delle Coordinate Principali ASI MAD SPI SER SMA LAP LAV PAS RAZ SST SAN CAP TAV SPA MOL UD RAZ SST MOR SOF FIG ILT MAL LIN OGL PAL SPT CAV LE AR MLT CAM UD SPA MOR MOL FIG SOF 0 TAV SAN CAP 0 LIN ILT PAL LAP SPI LEMLTOGLLAV SMA -0 CAMAR PAS MAL MAD CAV SPT SER - ASI - - - 0 3 Gonepteryx cleopatra (L, 767) Foto: wwwlepsit 3
Gonepteryx cleopatra Altitudine Foto: wwwlepsit Classification Trees
Il metodo: un esempio classico Nodo larg_petalo<0 FALSO Iris setosa Nodo larg_petalo>=0 VERO Nodo 3 larg_petalo<8 VERO 3 Nodo lung_petalo<7 VERO Nodo 6 lung_petalo>=7 FALSO Iris versicolor (9%) Iris verginica (9%) Iris verginica Nodo larg_petalo>=8 FALSO Iris verginica (98%) Iris versicolor (%) 80 lung_petalo 70 60 0 0 30 0 0 3 Iris setosa Iris verginica Iris versicolor 0 0 0 0 30 larg_petalo
Modelli strutturali: classification tree Variabili predittive: Profondità Varianza della profondità (raggio=00 m) Distanza dal punto noto senza Posidonia più vicino (distanza dal margine della prateria stimata per eccesso) Variabile da predire: Classe di densità della prateria (secondo Giraud) Un modello per Rosignano: Radice prof<0 varz(00)<939 prof<9 prof<6 II prof>=6 varz(00)<3833 varz(00)>=3833 III II prof>=9 III varz(00)>=939 IV prof>=0 d(margine)<3997 d(margine)>=3997 III IV 6
Classe vera Training Classe predetta I II III IV I II 3 8 III 7 9 IV 7 7 0 8 0 7 7 9% ok Classe vera Test Classe predetta I II III IV I II 7 III 3 IV 0 6 7 8% ok In sintesi 7
Alcuni metodi di classificazione Tipo Tecnica Uso Non gerarchico k-means Partizionare insiemi di dati Gerarchico divisivo k-means ripetuto uona tecnica su piccoli insiemi di dati Gerarchico agglomerativo Legame semplice Tassonomia Legame completo Classi omogenee Legame intermedio, centroide, di Ward Scelta più frequente Machine learning SOM Visualizzazione di insiemi di dati complessi Classification trees Previsione e pattern recognition 8