La tendenza a creare gruppi omogenei a partire dai dati di cui si dispone rappresenta un atteggiamento sempre più diffuso per descrivere un fenomeno che non si conosce a priori e renderlo facilmente comprensibile agli stakeholder.

immagine promozionale del white paper sulle fasi della data science

La scienza dei dati affronta in vari modi questo genere di esigenza. Alla base di questo genere di attività vi sono applicazioni statistiche come la cluster analysis. Vediamo di cosa si tratta e quali sono gli aspetti da considerare quando si intende eseguirla in un contesto di business.

Cos’è la cluster analysis

La cluster analysis è un metodo statistico per l’elaborazione dei dati. Si effettua organizzando i vari elementi in gruppi (cluster), in base alla loro somiglianza. Si può definire la cluster analysis come il raggruppamento degli oggetti sulla base delle loro caratteristiche, in modo che vi sia un’elevata similarità intra-cluster e una ridotta similarità inter-cluster.

Ciò implica che il raggruppamento sia effettuato in modo tale che gli oggetti nello stesso cluster siano più simili tra loro rispetto a quanto non lo siano gli oggetti in un altro cluster.

La classificazione in cluster viene effettuata utilizzando un’ampia varietà di criteri: distanze più piccole, densità dei data point, grafici e altre distribuzioni statistiche.

La cluster analysis ritrova oggi un impiego molto ampio e frequente nel machine learning non supervisionato, nel data mining, nella statistica, nella graph analytics, nella image processing e in numerose altre applicazioni nell’ambito della fisica e delle scienze sociali.

Come funziona

La cluster analysis non è riferibile ad un’unica applicazione metodologica, in quanto comprende una serie di tecniche di statistica multivariata che permettono di suddividere un campione eterogeneo di oggetti in vari gruppi (cluster), ognuno dei quali è appunto costituito da unità ritenute più o meno simili tra loro in base ad un determinato criterio.

Una delle caratteristiche tipiche della cluster analysis, che la distingue ad esempio rispetto all’analisi discriminante, è quella di essere un metodo esplorativo, mirato alla ricerca di gruppi tra loro similari in un set di “n” osservazioni. Come evidenziato, ciò avviene senza sapere a priori se vi siano, ed in quale misura, gruppi omogenei di dati.

La cluster analysis viene svolta mediante elaborazioni il cui scopo risiede nel riconoscere i gruppi che vengono rivelati in maniera naturale durante le osservazioni. Questo implica che la cluster analysis possa essere svolta sia a priori che a posteriori, a seconda della finalità della ricerca.

Come vedremo, le tecniche impiegate nel contesto della cluster analysis sono davvero moltissime, e sono accomunate dall’obiettivo di comprendere come i dati osservati possano essere raggruppati in modo naturale, secondo le caratteristiche insiste nei dati stessi.

Nell’ambito del machine learning, la cluster analysis è ad esempio riferibile ad un algoritmo di apprendimento non supervisionato, il che significa che non è noto a priori quanti cluster esistono nei dati analizzati. Per saperlo è necessario eseguire il modello.

A differenza di quanto accade nel caso di altri metodi statistici, la cluster analysis viene spesso utilizzata quando non vi è alcuna ipotesi di relazione all’interno dei dati. Consente infatti di ottenere informazioni in merito alla presenza di pattern e correlazioni all’interno dei dati, ma non offre particolari indicazioni in merito alla loro natura e al loro significato.

Come si esegue la cluster analysis

A prescindere dall’ambito applicativo, è opportuno considerare come la cluster analysis consista in una varietà di tecniche riferibili all’analisi dei dati. È pertanto essenziale che i dati utilizzati durante i processi di elaborazione siano acquisiti e preparati per garantire una data quality adeguata in funzione della tipologia di analisi da effettuare, in funzione delle caratteristiche dei metodi utilizzati.

Con ogni probabilità, lo step preparatorio più importante, nel caso della cluster analysis, è costituito dal data cleaning (pulizia dei dati), per assicurare che il data set utilizzato sia il più completo e pulito possibile, dal momento in cui il clustering mira a valutare ogni data point rispetto agli altri. In caso contrario, si potrebbe assistere a risultati incompleti o poco rappresentativi.

Nello specifico, il clustering viene misurato sulla base della distanza intra-cluster e inter-cluster.

Per distanza intra-cluster si intende la distanza tra i data point contenuti all’interno del cluster. In caso di una forte similarità, la distanza intra-cluster sarà molto ridotta. Al contrario i punti tenderanno a distribuirsi con una maggior distanza tra loro.

Per distanza inter-cluster ci si riferisce invece alla distanza presente tra i data point in cluster differenti. Si assiste ad un forte effetto clustering quando le distanze sono particolarmente marcate.

Premesso che, a fronte di un set di dati, non viene valutata a priori nessuna informazione sulla definizione dei cluster, gli obiettivi della cluster analysis potrebbero essere sintetizzate come segue:

  • – Definire quale misura di similarità nei cluster debba essere utilizzata e come ogni variabile debba essere pesata nella costruzione di tale misura.
  • – Una volta definite le similarità tra i soggetti, diventa necessario comprendere come debbano essere formate le classi.
  • – Una volta formate le classi, si procede alla definizione dei cluster.
  • – Una volta definiti i cluster, si procede a valutare quali conclusioni si possono ottenere riguardo alla loro attendibilità statistica.

L’esecuzione di una cluster analysis è potrebbe essere ricondotta a tre fasi principali.

  1. Definizione delle variabili di classificazione

Il primo step consiste nella scelta delle variabili di classificazione delle unità osservate. Questa operazione è fortemente soggettiva, sulla base della cultura e dell’approccio dello specialista dei dati che la effettua, il quale deve focalizzarsi sulle finalità dell’indagine, per non generare risultati dotati di una scarsa rilevanza a livello applicativo. Una delle operazioni più comuni da effettuare è la cosiddetta standardizzazione delle variabili presenti nei cluster, affinché tutte vengano espresse nella stessa unità di misura.

  1. Scelta di una misura di dissomiglianza tra le unita statistiche

Il secondo step è rappresentato dalla scelta di una misura di dissomiglianza esistente tra le unità statistiche considerate, sulla base di quattro scale di misura: nominali, ordinali, per intervalli e per rapporti. Mentre le variabili si adattano a qualsiasi scala, i caratteri qualitativi vengono espressi ricorrendo solamente alla scala di misura nominale o a quella ordinale. Nel caso dei caratteri quantitativi si ricorre a vari indici distanza. Tra i più comuni è possibile citare: la distanza euclidea, il quadrato della distanza euclidea, la distanza assoluta (distanza di Manhattan), la distanza di Chebychev e la distanza di Mahalanobis.

  1. Scelta di un algoritmo di raggruppamento

Il terzo step è costituito dalla scelta di un algoritmo di raggruppamento delle unità osservate, in primo luogo orientandosi verso i metodi gerarchici o i metodi non gerarchici.

Gli algoritmi utilizzati

È in primo luogo opportuno notare come la cluster analysis non sia qualcosa di riconducibile ad un singolo algoritmo. Vengono infatti utilizzati vari algoritmi, anche piuttosto differenti nella loro natura matematica, per soddisfare tutti i compiti previsti dall’analisi.

Come precisato nel precedente paragrafo, un algoritmo di cluster crea dei gruppi che tendono ad una similarità intra-cluster elevata, con dati presenti all’interno dei cluster molto simili tra loro. Al tempo stesso, i cluster dovrebbero risultare il più possibile dissimili tra loro.

Al momento sono noti moltissimi algoritmi di clustering a disposizione degli specialisti dei dati per effettuare le loro analisi. Nelle applicazioni business, gli algoritmi di clustering rappresentano una tecnica molto potente e versatile nell’ambito del machine learning.

Un algoritmo sviluppato per un modello di cluster specifico difficilmente può essere riutilizzato con successo quando si adotta un set di dati riconducibile ad un modello di cluster differente. Per questo motivo i data scientist utilizzano modelli differenti, che richiedono a loro volta differenti algoritmi.

Gli algoritmi di clustering si dividono pertanto in due categorie principali:

  • Algoritmi di clustering gerarchico
  • Algoritmi di clustering partizionale (non gerarchico)

Gli algoritmi di clustering gerarchico sono tali quando organizzano i dati in sequenze nidificate di cluster, secondo la classifica struttura ad albero.

Gli algoritmi di clustering non gerarchici sono definiti anche partizionali in quanto definiscono il partizionamento dei dati in cluster in modo ai fini di ridurre la distanza intra-cluster e aumentare la distanza inter-cluster. In questo caso non si assiste ad una definizione gerarchica, in quanto i cluster sono collocati al medesimo livello di partizionamento.

Gli algoritmi partizionali si prestano bene all’analisi di data set di grandi dimensioni, che sarebbe troppo complesso ed antieconomico trattare in maniera gerarchica, specie per via del notevole sforzo computazionale che comporterebbe.

Esistono ad oggi almeno un centinaio di algoritmi di clustering. Tra i più popolari ritroviamo K-Means e K-Medoids.

Esempi di cluster analysis

Per esemplificare i concetti chiave della cluster analysis possiamo formulare alcuni semplici esempi applicativi, in ambiti tra loro differenti.

Esempio 1: Retail Marketing

Le aziende attive nel business retail ricorrono al clustering per identificare gruppi di famiglie simili tra loro. Ad esempio, una società di vendita al dettaglio può raccogliere le seguenti informazioni:

  • – Reddito famigliare
  • – Numero dei membri
  • – Occupazione dei membri
  • – Distanza delle varie zone urbane

Sulla base di questi dati, una volta classificate come variabili, si potrebbe procedere con la definizione dei seguenti cluster:

  • – Cluster 1: famiglia piccola, spesa elevata
  • – Cluster 2: famiglia numerosa, spesa elevata
  • – Cluster 3: famiglia piccola, spesa ridotta
  • – Cluster 4: famiglia numerosa, spesa ridotta

Gli specialisti del marketing possono utilizzare queste informazioni per creare annunci personalizzati o lettere di vendita a ciascuna famiglia, sulla base della probabilità di conversione identificata dalle sue caratteristiche.

Esempio 2: Assicurazioni sanitarie

Le compagnie di assicurazione sanitaria ricorrono spesso alla cluster analysis per identificare gruppi di consumatori dotati di caratteristiche comuni.

Riferendosi ad una famiglia, gli assicuratori potrebbero raccogliere le seguenti informazioni:

  • – Numero di visite dal medico per anno
  • – Numero membri
  • – Numero di malattie corniche
  • – Età media

Sulla base di queste variabili, l’assicuratore può procedere alla definizione di cluster utili a classificare le famiglie ai fini di valutare i rischi e procedere alla quantificazione dei premi.

Esempio 3: Sports Science

Lo sport professionistico ricorre molto spesso alla data science ed in particolare al cluster per identificare i giocatori sulla base delle statistiche di gioco. Nel caso della pallacanestro, è possibile utilizzare le seguenti informazioni:

  • – Punti per partita
  • – Rimbalzi per partita
  • – Assist per partita
  • – Palle recuperate per partita

Gli specialisti dei dati inseriscono queste variabili in un algoritmo di clustering per identificare i giocatori sulla base del loro valore assoluto e dei loro punti deboli e punti di forza, per finalità di pura informazione per lo staff tecnico, utili ad esempio per comprendere al meglio il rendimento della squadra o per creare programmi di allenamento personalizzati.

I casi d’uso

La cluster analysis viene utilizzata con profitto in numerosi casi d’uso, in settori molto differenti tra loro: medicina, biologia, biochimica, scienze sociali, marketing, fisica, economia, archeologia, scienze giuridiche, geografia, linguistica, antropologia, ecc. Nel dettaglio, a titolo esemplificativo, è opportuno citare le seguenti applicazioni.

  • Marketing

La cluster analysis viene spesso utilizzata dagli specialisti del marketing per segmentare i clienti in gruppi omogenei, sulla base delle abitudini d’acquisto, dei dati demografici e di altre caratteristiche. La segmentazione è fondamentale per creare campagne di marketing mirate o per sviluppare nuovi prodotti che si rivolgono a gruppi di clienti specifici, sulla base di alcuni caratteri di omogeneità.

  • Medicina

La cluster analysis viene utilizzata in molte applicazioni nel campo della medicina, ad esempio per scoprire i geni associati a malattie specifiche o per raggruppare pazienti con caratteristiche cliniche simili tra loro. Questi aspetti possono agevolare la diagnosi e il trattamento delle malattie, oltre a facilitare l’indirizzo della ricerca farmacologica.

  • Image Processing

Nell’ambito della image processing, la cluster analysis è spesso utilizzata per raggruppare pixel dotati di proprietà similari, ai fini di identificare gli oggetti e i pattern presenti all’interno delle immagini digitali.

  • Rilevamento delle anomalie

La cluster analysis viene utilizzata per trattare i dati provenienti da sistemi di computer vision, ai fini di rilevare anomalie rispetto ai pattern riconosciuti come standard. Questo genere di applicazioni è molto ricorrente nei sistemi anti-frode e nei sistemi di cybersicurezza chiamati a identificare le anomalie nel traffico dati sulle reti informatiche.

  • Social Network

La cluster analysis è comunemente impiegata nel contesto analitico dei social network per creare gruppi di utenti accomunabili per via di caratteristiche sociali similari, e di procedere via via con la definizione di sottogruppi ancora più specifici.

  • Biologia

Nel campo della biochimica la cluster analysis è utilizzata per clusterizzare la composizione del genoma, con varie finalità, a partire dalla descrizione della sequenza evolutiva da cui hanno avuto origine le nuove specie.

  • Scienze sociali

Le scienze sociali ricorrono con regolarità alle applicazioni statistiche per descrizioni di carattere demografico. L’Istat impiega la cluster analysis per raggruppare le regioni sulla base di indicatori come l’indice di natalità e mortalità, giusto per citare i più comuni.

immagine promozionale del white paper sulle fasi della data science
ARGOMENTI CORRELATI
Categoria: DATA SCIENCE
Ragazzo e ragazza che osservano dati sul monitor del pc. La ragazza indica lo schermo.

Customer data platform (CDP): cos’è e quando utilizzarla

Nell’era del digitale, acquisire e ottenere conoscenza attraverso i dati dei clienti riveste un’importanza vitale per il business delle organizzazioni.… Leggi tutto

Ragazza in primo piano che sorride con tablet in mano e sullo sfondo colleghi che discutono

Data Driven: cosa significa e come applicarne i principi in azienda

Nell’era del digitale, parlare di data-driven è diventato quasi un imperativo categorico, ma cosa vuol dire per davvero, essere un’azienda… Leggi tutto

Le fasi del processo analitico di Data Science. Immagine che raffigura persone di fronte ad una lavagna bianca su cui sono rappresentate le 6 fasi della Data Science.

Data Science Lifecycle, le 6 (+1) fasi del processo

La Data Science è un campo di studi interdisciplinare il cui obiettivo finale è estrarre informazione e conoscenza utili da… Leggi tutto