Se i fisici possono avere la loro magia di sovrapposizione, allora lo sono anche gli statistici. Supponiamo di avere molti punti su tre variabili in tre gruppi. È necessario contare il numero di punti in ciascun gruppo. Ma tu non sai da quale gruppo proviene ogni punto. E, a proposito, ogni gruppo ha la stessa media su tutte le variabili. Prova a inventare un approccio per farlo prima di leggere il resto di questo post di blog.
I punti di raggruppamento sono di solito il compito dell'analisi del cluster. Gli scienziati informatici hanno un nome più colorato per questo: apprendimento senza supervisione. È facile. Basta raggruppare i dati in modo che i punti che si trovano l'uno vicino all'altro formino cluster; assegnare ciascun punto al cluster più vicino, contare i punti in ciascun cluster e il gioco è fatto.
Ma questi metodi di clustering non consentono mai la sovrapposizione dei cluster, tanto meno hanno gli stessi centri. Quindi il raggruppamento ordinario non farà proprio questo lavoro.
Prima di risolvere il problema, dobbiamo prima essere un po 'più specifici sui dati e generare un set di dati problema. Avremo i dati con distribuzioni normali multivariate e, sebbene ogni cluster abbia la stessa media, li distingueremo avendo una diversa struttura di covarianza per ciascun gruppo. Per essere semplici, genereremo dati normali multivariati non correlati, con ciascuno dei tre cluster con una varianza maggiore nella direzione di un componente che è univoco per quel cluster.

Script JSL per generare dati
Quindi generiamo una tabella, in questo caso con varianze di 1 per ogni variabile per ciascun cluster, tranne per il fatto che ogni cluster ha un componente con una varianza di 4, anziché uno. Il risultato è che ogni gruppo sporge in una direzione diversa, sebbene abbiano gli stessi centri. Ecco il codice JSL che ho usato per creare alcuni dati:

Contorni ellissoidi normali per 3 gruppi
Ed ecco un'immagine dei contorni di densità normale multivariata che risulta da questo:
Si noti che i gruppi con le grandi varianze X e Y hanno il 35% dei dati e il gruppo con la varianza Z grande ha solo il 30% dei dati. Se il metodo valuta bene le proporzioni, allora il problema è risolto. Non abbiamo bisogno di identificare ogni punto - abbiamo solo bisogno di stimare le proporzioni, o equivalentemente, i numeri in ciascun gruppo.
Ecco il segreto: invece di fare un normale cluster gerarchico o k-medio, facciamo le normali miscele. Questo è il modo in cui si adattano i mezzi, le varianze, le covarianze e le proporzioni relative di ciascun gruppo in modo da massimizzare la probabilità dei dati. Questo è stato implementato in JMP da Chris Gotwalt. Ecco i risultati.

Risultati delle miscele normali
Notate come abbiamo fatto bene. Le proporzioni sono .343, .351 e .308 per i tre gruppi, molto vicine alle proporzioni utilizzate per generare i dati, .35, .35, .30. E anche i mezzi e le deviazioni e le correlazioni standard sono vicini. Problema risolto. Ecco un'immagine dei dati con i punti colorati dell'appartenenza al gruppo più probabile.

Punti colorati per il gruppo più probabile
Questa magia è utile? Si scopre che esiste un tipo molto importante di conteggio che è molto importante fare nel misurare la densità delle infezioni nei casi di HIV. Esiste un tipo speciale di globuli bianchi - una cellula T helper - che esprime una proteina chiamata CD4. L'infezione da HIV è misurata, in parte, da quante di queste cellule sono presenti nei campioni di sangue, rispetto ad altri leucociti. Si scopre che è possibile identificare diversi tipi di globuli bianchi identificandosi taggando i loro siti di legame con diversi coloranti fluorescenti. Quindi lo mandi attraverso uno strumento chiamato citometro a flusso, che fa un piccolo getto di goccioline fluide contenente le cellule. Diversi laser di diverse lunghezze d'onda vengono sparati attraverso le goccioline, e ogni gocciolina viene misurata come fluorescente. Il risultato è un enorme set di dati, forse mezzo milione di righe su 12 o più misure di intensità a diverse lunghezze d'onda. I dati hanno una riga per ogni cella. Le diverse celle formano cluster che si sovrappongono e devi contare le celle in ogni cluster. La pratica corrente per farlo è trascinando i poligoni a mano sui cluster, dividendo arbitrariamente i gruppi a occhio. Usare le normali miscele per eseguire il conteggio fornirebbe un metodo molto più oggettivo e migliorerebbe la riproducibilità dei dati. Ma ci sono molti punti vaganti che non appartengono a nessun cluster. Nessun problema. Le routine di Chris Gotwalt includono un (robusto) metodo (di Huber) di gestione dei valori anomali. Fare questo in 12 dimensioni per mezzo milione di punti è attualmente piuttosto costoso, quindi stiamo cercando idee su come accelerarlo.
Magia abbastanza buona.
Rob Lake ha scritto:
Dici "Fare questo in 12 dimensioni per mezzo milione di punti è attualmente piuttosto costoso, ..." Quanto costa caro? La raccolta dei dati o l'analisi dei dati?
Ho alcune idee da condividere quando chiarisci.
Saluti,
Rob Lake