La cluster analysis o clustering rappresenta l’attività descrittiva nei processi di data mining nei Big data e trova applicazioni in vari settori, dalle scienze sociali al marketing, dalla medicina alla biologia, dalla fisica all’economia. L’obiettivo consiste nel classificare i dati in strutture in modo tale da semplificarne la comprensione.
Durante la pandemia abbiamo imparato a conoscere la parola cluster, “grappolo”: indica che il contagio parte da un singolo individuo infetto super contagioso in grado di contagiare più individui tutti collegati tra di loro nello spazio e nel tempo, proprio come acini di un grappolo d’uva.
Cosa significa cluster analysis
La cluster analysis (dall’inglese cluster: grappolo, gruppo o sciame) è un metodo statistico per processare i dati, raggruppando gli elementi di un insieme, a seconda delle loro caratteristiche, in classi non assegnate a priori.
Serve a mostrare relazioni fra i dati che a prima vista non risultano evidenti, in modo da creare insiemi omogenei utili per ulteriori analisi. È un modo non supervisionato per ottenere insight dei dati nel mondo dei Big data.
In statistica è un insieme di strumenti e algoritmi usati per classificare differenti oggetti in gruppi, in modo tale che la somiglianza fra due oggetti: sia massima nel caso in cui appartengano allo stesso gruppo; viceversa, sia minima.
Video: Cluster analysis – Università degli Studio Modena e Reggio Emilia
Come funziona la cluster analysis
La cluster analysis funziona organizzando gli elementi in gruppi o cluster, sulla base della somiglianza e omogeneità fra di loro.
A tale scopo vengono sfruttati algoritmi di classificazione: sempre più complessi sotto il profilo informatico, ma anche sempre più performanti per estrarre informazioni utili dai dati mediante un’accurata e puntuale classificazione.
Quali sono i metodi della cluster analysis
I metodi dell’analisi dei cluster si distinguono in base agli algoritmi e alle classificazioni che essi generano. I risultati di una classificazione, in genere, si rappresentano con una matrice che ha per righe il numero n di elementi (o unità) e per colonne il numero G dei gruppi. Tale matrice (n x G) contiene i valori di una funzione di appartenenza.
Le tecniche di cluster analysis sono gerarchiche o non gerarchiche.
I metodi gerarchici si suddividono in:
- agglomerativi (metodo del legame singolo, completo e medio);
- scissori.
Il metodo del legame si distingue in:
- metodo del legame (SLM) singolo che si basa sulle distanze tra le unità (minima distanza);
- metodo del legame completo (CLM) che si fonda sullo stesso algoritmo del SLM, con la differenza che tra le unità si calcola con la massima distanza;
- metodo del legame medio (ALM) che si basa sulle distanze (media).
Due fattori governano i metodi non gerarchici:
- l’esistenza (o assenza) di centri;
- la presenza (o assenza) di una funzione obiettivo (come nel caso del metodo delle k-medie o HCM).
I più diffusi metodi non gerarchici sono quelli di:
- suddivisione iterativa;
- quelli di programmazione matematica.
L’approccio dei metodi non gerarchici produce:
- algoritmi esatti (partizioni di n elementi in c cluster);
- algoritmi euristici (approssimazione).
I vari metodi si distinguono in base alla classificazione:
- classica (partizioni);
- sovrapposta (ricoprimenti in cui i gruppi sono chiamati clump e la tecnica di analisi dei dati prende il nome di clumping o overlapping clustering): esempio è il metodo delle piramidi di Diday;
- sfocata (classica o sovrapposta): metodo gerarchico di classificazione sfocata è il metodo della sintesi di più partizioni di Zani (alla base della matrice delle similarità).
Il metodo della sintesi di più partizioni di Zani pone il problema della scelta della partizione iniziale di ogni carattere. I criteri per la ricerca della partizione iniziale dei caratteri quantitativi sono i seguenti:
- partizione in base ai quartili;
- metodo della minima varianza di Spath;
- delle classi naturali di Mineo;
- di ottimizzazione di Butler.
I metodi di Ponsard e Fustier assegnano una funzione, detta caratteristica, ad ogni unità, in grado di misurare la quantità di carattere attribuita a una unità rispetto a quella attribuita alle altre unità. I metodi di Ponsard e Fustier godono del vantaggio di non necessitare dei dati di partenza, ma di potersi accontentare di dati sfocati.
Il metodo delle k-medie fa parte dei metodi di classificazione sfocata di tipo non gerarchico. L’algoritmo delle k-medie descrive il metodo delle k-medie.
Il metodo Funny di Kaufmann prende il nome da un programma per Pc che genera classificazioni sfocate attraverso qualunque tipo di dati (numerici o misure di dissimilarità). Il metodo Funny differisce dal metodo delle k-medie sfocato: perché nel primo metodo, il parametro m è fisso (nel secondo m > 1); e per la differente funzione obiettivo (nelle k-medie sfocato, la distanza è al quadrato; invece nel Funny ha esponente uguale a 1).
L’algoritmo MND2 di Roubens è un altro metodo di classificazione sfocata.
Il metodo delle k-medie sfocato
Il metodo delle k-medie sfocato di Bezdek è il più celebre fra i metodi di classificazione sfocata di tipo non gerarchico. Esso richiede il seguente procedimento:
- si sceglie il numero c di cluster in cui si vogliono suddividere le n unità delle modalità x di p caratteri;
- una partizione iniziale delle unità nei c gruppi (casuale o costruita su conoscenze a priori);
- si svolgono successive iterazioni tendenti alla minimizzazione di una funzione obiettivo;
si ottiene una classificazione sfocata in cui per ciascuna unità è determinato il grado di appartenenza ai c gruppi; - la funzione obiettivo da minimizzare è una funzione di ottimizzazione che serve per calcolare i valori del grado di appartenenza: è funzione del quadrato della distanza tra l’unità i-esima e il centroide del k-esimo cluster e dipende da un parametro m (a seconda del valore che selezionato o fornito all’inizio della procedura, la classificazione ottenuta risulterà più o meno sfocata).
Il metodo delle k-medie è descritto dall’omonimo algoritmo: l’algoritmo delle k-medie, che ha un doppio vantaggio:
- approda rapidamente alla classificazione finale;
- a ciascuna iterazione successiva, il valore della funzione obiettivo decresce rispetto a quello dell’iterazione precedente, confermando la convergenza del metodo.
Il metodo delle k-medie semisfocato ha eliminato alcuni inconvenienti del metodo sfocato.
Come funziona l’algoritmo k-means?
L’analisi non gerarchica è nota anche come k-means cluster analysis. L’algoritmo k-means, che ha il vantaggio di convergere molto rapidamente, è un algoritmo di apprendimento non supervisionato che individua un numero fisso di cluster dentro un insieme di dati.
Consente di suddividere un insieme di oggetti in k gruppi, generati da distribuzioni gaussiane, sulla base dei loro attributi. Attributi degli oggetti che si possono rappresentare anche come vettori,: dunque, sono in grado di generare un campo vettoriale.
La procedura iterativa dell’algoritmo k-means funziona così:
- in principio forma k partizioni;
- attribuisce i punti d’ingresso a ogni partizione (o casualmente o usando informazioni euristiche);
- misura il centroide di ogni gruppo;
- in seguito realizza una nuova partizione assegnando ogni punto d’ingresso al gruppo il cui centroide sia più prossimo ad esso;
- ricalcola infine i centroidi per i nuovi gruppi e continua, fino ad ottenere la convergenza dell’algoritmo.
In quali settori viene applicata la cluster analysis
I settori in cui si impiega la cluster analysis spaziano dalla medicina alla biologia e biochimica, dalle scienze sociali al marketing,dalla fisica all’economia, dall’archeologia alla psicologia dell’educazione, dalle scienze giuridiche alla geografia, dalla linguistica all’antropologia. E molti altri ancora.
Medicina
In medicina l’analisi dei dati serve a cercare e ad individuare gruppi, per effettuare diagnosi di quadri clinici e prevedere casi di morbilità di individui e popolazioni. La cluster analysis, nel dettaglio, permette di organizzare gli elementi (soggetti, cose, eventi, ecc.) in cluster.
L’analisi dei cluster in medicina consente di:
- ridurre la complessità e mettere in risalto le connessioni tra i casi;
- raggruppare i dati in una struttura significativa e in base a metodi quantitativi;
- esplorare i dati in un grafico, semplice e sintetico;
- assegnare, per omogeneità, valori noti ai casi che mostrano dati lacunosi;
- creare fasce di popolazione (stratificazione) da sottoporre a campionamento;
- analizzare gli effetti di trattamenti sperimentali;
- trovare eventuali modelli, dopo aver elaborato e verificato ipotesi di classificazione dei casi.
Biologia
In biochimica la cluster analysis consente di raggruppare la composizione degli amino-acidi delle proteine e dei geni, per illustrare la sequenza evolutiva delle mutazioni da cui hanno avuto origine nuove specie.
Nelle scienze biologiche la tassonomia è l’analisi dei cluster: permette di creare sistemi di classificazione automatica per archiviare informazioni, documenti eccetera.
Scienze sociali
Gli istituti di statistica Istat ed Eurostat utilizzano la cluster analysis per aiutare gli scienziati sociali a fotografare meglio le nostre società, anche sotto il profilo demografico.
Per esempio, con il metodo della sintesi di più partizioni, per esempio, un’istituzione come l’Istat può raggruppare le regioni italiane in base agli indicatori demografici: per indice di fecondità, di vecchiaia, di mortalità.
Marketing
Nel marketing un cluster è un insieme di player (consumatori) o oggetti (prodotti, brand, aree geografiche eccetera) con peculiarità omogenee, riuniti insieme secondo criteri specifici.
In questo settore l’analisi dei cluster è un insieme di metodi di analisi dei dati, senza procedura fissa, con lo scopo di scegliere e raggruppare le informazioni a partire dagli elementi simili. Gli algoritmi utilizzati sono molteplici e il clustering risulta performante quando un insieme contiene il maggior numero di elementi omogenei fra loro.
Esempi di cluster analysis
L’analisi di cluster può essere impiegata in ambito marketing per segmentare un target oggetto di una ricerca di mercato, in demografia per raggruppare i Paesi dove il Covid-19 è la causa di decesso, in economia per valutare il grado di resilienza delle aree geografiche e così via. Vediamo gli esempi.
Segmentazione di mercato nel marketing
Nel marketing si svolge un’analisi dei cluster dopo aver segmentato il target oggetto di una ricerca di mercato. La cluster analysis serve a individuare la tipologia di clientela verso cui un brand può orientare una campagna marketing mirata. Infatti il clustering permette ai marchi di personalizzare l’offerta in maniera sempre più performante.
La segmentazione avviene, attribuendo a ogni asse di un piano cartesiano una variabile relativa al consumatore: per esempio, “customer satisfaction” e “fedeltà verso il brand”. Ogni consumatore viene rappresentato da un punto collocato sul piano cartesiano.
Il clustering consiste nel raggruppare i punti più vicini fra loro, raccogliendoli in un insieme il più possibile omogeneo: l’insieme dei clienti con maggiore soddisfazione, quelli più fedeli e poi l’insieme in cui le due variabili sono in maggior equilibrio. Grazie alla cluster analysis, è possibile segmentare i mercati: l’analisi dei cluster può migliorare l’export di un prodotto verso mercati esteri.
Demografia
Un’applicazione del metodo dei ricoprimenti sfocati consiste nel suddividere i Paesi europei per causa di mortalità.
Il metodo del k-medie medio sfocato può essere impiegato per raggruppare le opinioni degli italiani riguardo a un tema specifico. Esso permette di classificare i comuni secondo il grado di urbanità e ruralità, suddividendoli in: comuni rurali, semirurali, semiurbani e urbani). L’algoritmo è in grado di fotografare una situazione eterogenea, dove per esempio l’elemento rurale è presente, ma solo in tracce (comuni semiurbani) distinto dalla situazione in cui prevale l’elemento rurale (comuni semirurali).
Citologia
In citologia la cluster analysis permette di classificare campioni ematici, per definire gruppi sanguigni e tipologie di plasma, elaborando metodi per confermare o meno la presenza di cellule anomale.
L’economia durante la pandemia
L’algoritmo di k-means, sempre in pandemia, è stato utilizzato per indagare l’impatto economico del Covid-19. Per esempio: l’algoritmo di k-means sui dati di mobilità ha permesso di verificare il tasso di cambiamento dei mezzi di trasporto (pubblici o privati) durante la pandemia; applicato sugli indicatori economici, ha consentito di valutare il tasso di disoccupazione e la resilienza dei gruppi sociali e delle aree geografiche, durante il lockdown e le riaperture.