Wenn Physiker ihre magische Überlagerung haben können, dann auch Statistiker. Angenommen, Sie haben in drei Gruppen viele Punkte für drei Variablen. Sie müssen die Anzahl der Punkte in jeder Gruppe zählen. Sie wissen jedoch nicht, aus welcher Gruppe jeder Punkt stammt. Im Übrigen hat jede Gruppe über alle Variablen hinweg den gleichen Mittelwert. Versuchen Sie, einen Ansatz zu erfinden, bevor Sie den Rest dieses Blogeintrags lesen.
Das Gruppieren von Punkten ist normalerweise Aufgabe der Clusteranalyse. Die Informatiker haben dafür einen bunteren Namen: unüberwachtes Lernen. Es ist einfach. Sie gruppieren die Daten nur so, dass nahe beieinander liegende Punkte Cluster bilden. Weisen Sie jeden Punkt dem nächstgelegenen Cluster zu, zählen Sie die Punkte in jedem Cluster, und Sie sind fertig.
Diese Clustering-Methoden lassen jedoch niemals zu, dass sich die Cluster überschneiden, noch weniger haben sie die gleichen Zentren. Normales Clustering wird diese Aufgabe also nicht erfüllen.
Bevor wir das Problem lösen, müssen wir uns zunächst etwas genauer mit den Daten befassen und einen Problemdatensatz generieren. Wir haben die Daten multivariate Normalverteilungen, und obwohl jeder Cluster den gleichen Mittelwert haben wird, unterscheiden wir sie durch eine unterschiedliche Kovarianzstruktur für jede Gruppe. Um einfach zu sein, generieren wir unkorrelierte, multivariate normale Daten, wobei jeder der drei Cluster eine größere Varianz in einer Komponentenrichtung aufweist, die für diesen Cluster einzigartig ist.

JSL-Skript zum Generieren von Daten
Wir generieren also eine Tabelle, in diesem Fall mit Varianzen von 1 für jede Variable für jeden Cluster, mit der Ausnahme, dass jeder Cluster eine Komponente mit einer Varianz von 4 anstatt einer hat. Das Ergebnis ist, dass jede Gruppe in eine andere Richtung ragt, obwohl sie die gleichen Zentren haben. Hier ist der JSL-Code, mit dem ich Daten erstellt habe:

Normale Ellipsoidkonturen für 3 Gruppen
Und hier ist ein Bild der multivariaten Normaldichte-Konturen, die sich daraus ergeben:
Beachten Sie, dass die Gruppen mit den großen X- und Y-Abweichungen 35% der Daten haben und die Gruppe mit der großen Z-Varianz nur 30% der Daten. Wenn die Methode die Anteile gut schätzt, ist das Problem gelöst. Wir müssen nicht jeden Punkt identifizieren - wir müssen nur die Anteile oder gleichwertig die Zahlen in jeder Gruppe abschätzen.
Hier ist das Geheimnis: Anstelle eines üblichen hierarchischen oder k-mean-Clusters machen wir normale Mischungen. Das heißt, wir passen die Mittelwerte, Varianzen, Kovarianzen und relativen Anteile jeder Gruppe an, um die Wahrscheinlichkeit der Daten zu maximieren. Dies wurde in JMP von Chris Gotwalt implementiert. Hier sind die Ergebnisse.

Normalmischungen Ergebnisse
Beachten Sie, wie gut wir es geschafft haben. Die Proportionen sind für die drei Gruppen 0343, 0,351 und 0,308, sehr nahe an den zur Erzeugung der Daten verwendeten Proportionen, 0,35, 0,35, 0,30. Auch die Mittel- und Standardabweichungen und Korrelationen sind eng. Problem gelöst. Hier ist ein Bild der Daten mit den Punkten, die von der wahrscheinlichsten Gruppenzugehörigkeit eingefärbt sind.

Für die wahrscheinlichste Gruppe farbige Punkte
Ist diese Magie nützlich? Es stellt sich heraus, dass es eine sehr wichtige Art der Zählung gibt, die bei der Messung der Infektionsdichte in HIV-Fällen sehr wichtig ist. Es gibt eine spezielle Art von weißen Blutkörperchen - eine Helfer-T-Zelle -, die ein Protein namens CD4 exprimiert. Die HIV-Infektion wird zum Teil daran gemessen, wie viele dieser Zellen in den Blutproben vorhanden sind, im Vergleich zu anderen Leukozyten. Es stellt sich heraus, dass Sie verschiedene Typen von weißen Blutkörperchen identifizieren können, indem Sie ihre Bindungsstellen mit unterschiedlichen Fluoreszenzfarbstoffen markieren. Dann schicken Sie es durch ein Instrument namens Durchflusszytometer, das einen winzigen Strahl von Flüssigkeitströpfchen erzeugt, der die Zellen enthält. Mehrere Laser unterschiedlicher Wellenlänge werden durch die Tröpfchen geschossen, und jedes Tröpfchen wird gemessen, wie es fluoresziert. Das Ergebnis ist ein riesiger Datensatz, vielleicht eine halbe Million Reihen bei etwa 12 Intensitätsmessungen bei verschiedenen Wellenlängen. Die Daten haben für jede Zelle eine Zeile. Die verschiedenen Zellen bilden Cluster, die sich überlappen, und Sie müssen die Zellen in jedem Cluster zählen. Die gegenwärtige Praxis, dies zu tun, besteht darin, Polygone von Hand über die Cluster zu ziehen und die Gruppen willkürlich durch das Auge zu teilen. Die Verwendung normaler Gemische für die Zählung würde zu einer viel objektiveren Methode führen und die Reproduzierbarkeit der Daten verbessern. Es gibt jedoch viele Streupunkte, die keinem Cluster angehören. Kein Problem. Die Routinen von Chris Gotwalt beinhalten eine (Huber) robuste Methode zur Behandlung von Ausreißern. Dies in zwölf Dimensionen für eine halbe Million Punkte zu machen, ist derzeit ziemlich teuer. Daher suchen wir nach Ideen, wie wir dies beschleunigen können.
Ziemlich gute Magie.
Rob Lake schrieb:
Sie sagen "Das ist in 12 Dimensionen für eine halbe Million Punkte derzeit ziemlich teuer, ..." Was ist teuer? Die Datenerhebung oder die Datenanalyse?
Ich habe einige Ideen zu teilen, wenn Sie klarstellen.
Prost,
Rob Lake