Si los físicos pueden tener su magia de superposición, entonces los estadísticos también. Supongamos que tiene muchos puntos en tres variables en tres grupos. Necesitas contar el número de puntos en cada grupo. Pero no sabes de qué grupo proviene cada punto. Y, por cierto, cada grupo tiene la misma media en todas las variables. Intente inventar un enfoque para hacerlo antes de leer el resto de esta entrada de blog.
Agrupar puntos suele ser el trabajo de análisis de clúster. Los informáticos tienen un nombre más colorido para esto: aprendizaje no supervisado. Es fácil. Simplemente agrupa los datos para que los puntos que están cerca de cada uno formen grupos; asigne cada punto al grupo más cercano, cuente los puntos en cada grupo y listo.
Pero estos métodos de agrupación nunca permiten que los grupos se superpongan, y mucho menos tienen los mismos centros. Así que la agrupación ordinaria simplemente no hará este trabajo.
Antes de resolver el problema, primero debemos ser un poco más específicos acerca de los datos y generar un conjunto de datos de problemas. Los datos tendrán distribuciones normales multivariadas y, aunque cada grupo tendrá la misma media, los distinguiremos por tener una estructura de covarianza diferente para cada grupo. Para ser simples, generaremos datos normales multivariados no correlacionados, y cada uno de los tres grupos tendrá una variación mayor en una dirección de componente que es exclusiva de ese grupo.

Script JSL para generar datos.
Entonces generamos una tabla, en este caso con variaciones de 1 para cada variable para cada grupo, excepto que cada grupo tiene un componente con una variación de 4, en lugar de uno. El resultado es que cada grupo sobresale en una dirección diferente, aunque tienen los mismos centros. Aquí está el código JSL que usé para hacer algunos datos:

Contornos elipsoidales normales para 3 grupos.
Y aquí hay una imagen de los contornos de densidad normal multivariante que resulta de hacer esto:
Observe que los grupos con las variaciones grandes de X e Y tienen el 35% de los datos, y el grupo con las variaciones grandes de Z tiene solo el 30% de los datos. Si el método estima las proporciones bien, entonces el problema se resuelve. No necesitamos identificar cada punto, solo necesitamos estimar las proporciones, o equivalentemente, los números en cada grupo.
Aquí está el secreto: en lugar de hacer el clúster jerárquico o k-means habitual, hacemos mezclas normales. Es decir, ajustamos los medios, las variaciones, las covarianzas y las proporciones relativas de cada grupo para maximizar la probabilidad de los datos. Esto fue implementado en JMP por Chris Gotwalt. Aquí están los resultados.

Resultados de mezclas normales
Note lo bien que lo hicimos. Las proporciones son .343, .351 y .308 para los tres grupos, muy cerca de las proporciones utilizadas para generar los datos, .35, .35, .30. Y los medios y las desviaciones estándar y las correlaciones también están cerca. Problema resuelto. Aquí hay una imagen de los datos con los puntos coloreados por la membresía de grupo más probable.

Puntos de color para el grupo más probable
¿Es esta magia útil? Resulta que hay un tipo de conteo muy importante que es muy importante para medir la densidad de la infección en casos de VIH. Existe un tipo especial de glóbulos blancos, una célula T auxiliar, que expresa una proteína llamada CD4. La infección por VIH se mide, en parte, por la cantidad de estas células presentes en las muestras de sangre, en relación con otros leucocitos. Resulta que puedes hacer que diferentes tipos de glóbulos blancos se identifiquen marcando sus sitios de unión con diferentes tintes fluorescentes. Luego lo envía a través de un instrumento llamado citómetro de flujo, que produce un chorro diminuto de gotas de líquido que contienen las células. Se disparan varios láseres de diferentes longitudes de onda a través de las gotitas, y cada gotita se mide en forma de fluorescencia. El resultado es un gran conjunto de datos, tal vez medio millón de filas en 12 o más mediciones de intensidad en diferentes longitudes de onda. Los datos tienen una fila para cada celda. Las diferentes celdas forman grupos que se superponen, y usted necesita contar las células en cada grupo. La práctica actual para hacer esto es arrastrar los polígonos a lo largo de los grupos, dividiendo arbitrariamente los grupos a simple vista. El uso de mezclas normales para realizar el recuento proporcionaría un método mucho más objetivo y mejoraría la reproducibilidad de los datos. Pero hay muchos puntos extra que no pertenecen a ningún grupo. No hay problema. Las rutinas de Chris Gotwalt incluyen un método robusto (Huber) para manejar los valores atípicos. Hacer esto en 12 dimensiones por medio millón de puntos es actualmente bastante costoso, por lo que estamos buscando ideas sobre cómo acelerar esto.
Bastante buena magia.
Rob Lake escribió:
Usted dice: "Hacer esto en 12 dimensiones para medio millón de puntos es actualmente bastante caro, ..." ¿Qué es caro? ¿La recopilación de datos o el análisis de datos?
Tengo algunas ideas para compartir cuando aclaren.
Aclamaciones,
Rob Lake