La cluster analysis, detta anche analisi dei cluster o dei gruppi in italiano, è una tecnica di data analysis multivariata, che permette di suddividere le osservazioni contenute nel dataset in gruppi, ciascuno dei quali contiene unità statistiche simili tra loro.
Un cluster è, appunto, un sottoinsieme di osservazioni delle variabili analizzate che contiene caratteristiche simili.
Il clustering è una tecnica statistica diversa dalle altre, perché si basa sull’apprendimento non supervisionato, cioè consente di raggruppare un insieme di oggetti senza poter sfruttare esempi da utilizzare come base di apprendimento. Infatti, in ambito di ricerca, si usa splittare i dati da modellizzare in data test e data training, ma tale discorso va oltre l’obiettivo di questo articolo, e quindi non lo vedremo in modo approfondito.
Continuando a leggere comprenderai non solo come condurre la cluster analysis, ma conoscerai anche i diversi algoritmi di clustering che i principali software statistici come SPSS ed R includono.
Questo tipo di analisi possono essere utilizzate per accorpare osservazioni simili delle variabili coinvolte nello stesso cluster. Viene utilizzata in svariati campi per rispondere a diverse ipotesi di ricerca:
Prima di iniziare a scoprire tutte le caratteristiche della cluster analysis sappi che ho creato un video corso apposta. Ti lascio il video di presentazione.
Nel caso della cluster analysis, per suddividere il dataset in gruppi si possono utilizzare sia variabili numeriche che categoriali, o includere entrambi i tipi.
Una volta scelte le variabili, a questo punto devi scegliere quale metrica utilizzare per calcolare la distanza tra le varie unità statistiche. Infatti, l’appartenenza di due elementi a un stesso gruppo dipende da quanto sono vicini: minore è la distanza tra essi, maggiore è la probabilità che appartengono allo stesso cluster.
Di seguito ti elenco le formule delle distanze più conosciute.
La distanza Euclidea è la formula della distanza più utilizzata per calcolare lo spazio tra due punti del piano cartesiano. Ogni punto è un’osservazione presente nei tuoi dati.
La distanza di Manhattan è definita come la somma del valore assoluto delle differenze delle coordinate dei punti.
La distanza di Mahalanobis è basata sulle correlazioni tra variabili.
La distanza di Hamming è usata soprattutto nell’ambito informatico, per calcolare la differenza tra due stringhe di bit.
In questo caso si inizia considerando le singole unità statistiche per poi aggregarle nei gruppi. Tale approccio è anche noto come bottom-up, ossia dal basso verso l’alto.
L’aggregazione tra cluster può essere effettuata valutando le distanze cluster-to-cluster, cioè le misure che riguardano due gruppi. Se si opera con la matrice delle distanze (calcolata con una delle distanze viste precedentemente), questa fornisce già la distanza cluster-to-cluster al primissimo livello. Per fondere cluster con diversa cardinalità occorre definire il legame (o link) secondo cui esprimere la dissomiglianza che due cluster possono avere. Di seguito ti descrivo i vari tipi di metodi di aggregazione più popolari.
All’inizio del processo di aggregazione, quando ogni cluster è formato da un solo elemento, la devianza interna è zero. Quando due osservazioni si fondono in un singolo cluster si introduce un grado di variabilità destinato a crescere in funzione della numerosità del gruppo stesso. Ad ogni passo di tale processo, il metodo di Ward considera via via tutti i gruppi a due a due e procede alla fusione di quelli che minimizzano la devianza totale dal centroide del nuovo gruppo.
La distanza o dissimilarità tra due cluster coincide con la distanza minima tra due entità di cui una nel primo cluster e lʼaltro nel secondo.
La distanza o dissimilarità tra due cluster coincide con la distanza massima tra due entità di cui una nel primo cluster e lʼaltro nel secondo.
La distanza cluster-to-cluster è la distanza media tra tutte le unità contenute nei due cluster
Come il precedente legame solo che si tiene conto di quante unità sono già contenute nei due cluster. Le unità inserite nel cluster più piccolo hanno un peso più piccolo
Questo legame non tiene conto delle dimensioni dei cluster da aggregare
A differenza del precedente, questo link tiene conto delle dimensioni dei cluster da aggregare.
Ma quale metodo aggregativo risulta più conveniente scegliere? Le tecniche appena viste possiedono tutte dei punti critici. Ad esempio, sono molto sensibili ai valori anomali ed ai disturbi nel calcolo delle distanze o dissimilarità (come gestire le distanze uguali?), non riescono ad intercettare bene strutture in cui sono compresenti gruppi poco numerosi e gruppi molto numerosi.
Inoltre, forti divari nelle distribuzioni multivariate creano difficoltà nella scelta del metodo di aggregazione. Ecco allora alcune linee guida che ti permettono di prendere la decisione più appropriata:
Al contrario del metodo aggregativo, quello divisivo segue l’approccio top-down ossia partendo dal dataset completo e dividendolo in partizioni fino a che non si raggiunga una condizione prestabilita che la maggior parte delle volte coincide con il numero di cluster fissato.
Il metodo divisivo è più complesso rispetto a quello agglomerativo perché si basa sull’esecuzione di subroutine che permettono di suddividere il data points iniziale. In alcuni casi risulta anche essere più efficiente nel senso che il metodo divisivo converge più velocemente rispetto a quello aggregativo. Inoltre, l’algoritmo divisivo è più accurato perché tiene conto della distribuzione globale dei dati per creare le prime partizioni.
Nel caso della cluster analysis gerarchica, come già accennato, è necessario guardare il dendrogramma per capire quanti gruppi formare. Ad esempio, nel grafico qui sotto
Nel caso della cluster analysis non gerarchica bisogna osservare le medie dei gruppi e dare un nome agli stessi. Di solito una rappresentazione con il grafico radar rende meglio l’idea. Attento che al concetto di media aritmetica va sempre associato quello di deviazione standard.
In conclusione, se vuoi ripassare velocemente la deviazione standard, ti lascio questo mio video in cui te la spiego in modo chiaro e semplice utilizzando una metafora statistica.
Quando ti approccerai al software per condurre la cluster analysis, io uso SPSS, noterai che spesso si trova posizionata vicino all'analisi discriminante. Questo perchè entrambe riguardano la suddivisione di diversi dati statistici in gruppi omogenei, però sono due tecniche con obiettivi molto diversi.
La cluster analysis, come abbiamo visto, ha lo scopo di suddividere le osservazioni contenute nel dataset in gruppi, mentre l’analisi discriminante si utilizza per i dati presenti in classi distinte, e per assegnare poi nuove osservazioni in uno dei gruppi che hai precedentemente definito.
Quindi, benchè le due tecniche possano sembrare simili, in realtà vanno a delineare due diverse aree di analisi.
I maggiori software statistici come SPSS e R permettono di condurre l’analisi dei cluster usando le diverse tecniche di clustering viste sopra. Qui di seguito ti mostro i comandi da usare.
Non c’è un comando
Analizza >>> Riduzione delle dimensioni >>> Cluster…
Il modo in cui una squadra gioca nel suo complesso determina il successo. Si può avere un gruppo formato dalle migliori stelle del mondo, ma se non giocano bene insieme, la squadra non varrà un centesimo.
(BABE RUTH, Giocatore di baseball statunitense)