Tengo una pregunta sobre los clústeres que estoy considerando tratar con un enfoque de mezcla no paramétrica (creo). Estoy trabajando en la explicación del comportamiento humano.
Cada fila de mi base de datos contiene:
- la identificación de alguien
- Algunos parámetros del entorno X (ejemplo: la temperatura, el viento, etc.)
- una variable binaria Y que representa la reacción de la persona a los parámetros (ejemplo: enfermarse o no enfermarse debido al clima).
Mi idea (basada en la intuición y no en los datos) es que podemos reunir personas en un número finito de grupos para que en un grupo, las personas tengan la misma reacción a la temperatura (algunos se enferman fácilmente, otros nunca se enferman ...) . En un grupo dado, más formalmente, la ley de Y condicional a los parámetros X es la misma.
No tengo ni idea de la ley de Y condicionada a X . Para los parámetros X , puedo hacer algunas hipótesis si es necesario.
Me gustaría crear un grupo de personas que "tengan más o menos" la misma reacción al parámetro. Además, me gustaría predecir la reacción de una persona dada a un valor dado de los parámetros (incluso si este evento nunca ha sucedido en la base de datos).
Me parece que podemos tratar el problema como un modelo de mezcla no paramétrico. Como no tengo hipótesis sobre la ley condicional de Y , creo que tendré que crearla con el método de los núcleos, por ejemplo. He encontrado este artículo . Además, me parece que, en este caso, cada fila de observación no es una simple realización de alguna variable aleatoria, pero es una realización de una variable aleatoria, e es una realización de una variable aleatoria condicional a . No sé si hace la diferencia.
Tengo alrededor de 100000 filas. El vector tiene algunos componentes discretos, y otros son continuos. Me pregunto:
- ¿Es correcto mi enfoque?
- ¿Recomendaría otro punto de vista para este problema?
Estaría muy interesado en cualquier referencia al respecto.
No dude en pedirme que reformule la declaración del problema.
Respuestas:
Respondiendo a su punto "¿Recomendaría otro punto de vista para este problema?", Sugeriría que realmente eche un vistazo a sus datos. Esto puede ayudarlo a planificar mejor los próximos pasos a seguir. Después de todo, el sistema ojo-cerebro humano es bastante bueno en el reconocimiento de patrones y es posible que pueda decidir mejor la cantidad de grupos, si opta por un grupo no supervisado.
En consecuencia, y dado que sus datos parecen ser "altos" -dimensionales, podría intentar realizar un Análisis de Componentes Principales (PCA) ya que este es un análisis muy rápido, especialmente para su conjunto de datos de 100k puntos. Sin embargo, PCA no es el único y no necesariamente el enfoque más apropiado para la reducción de dimensiones con el objetivo de la visualización (2D / 3D), ya que es un método paramétrico y lineal. Sin embargo, sus datos pueden comportarse de forma no lineal. Puedo sugerir la caja de herramientas de reducción de dimensiones para Matlab de Laurens van der Maaten, que incluye muchas técnicas diferentes. Sin embargo, algunas de las técnicas son inherentemente lentas, por lo que es posible que desee probarlas en datos submuestreados. Una técnica de reducción de dimensiones no paramétrica y no lineal muy reciente y potente es BH-SNEque también debería funcionar para el tamaño de su conjunto de datos, aunque podría tomar alrededor de 30 minutos a 1 hora dependiendo de su hardware disponible. Dado que está interesado en la detección de clústeres, BH-SNE podría ser una buena opción ya que (y su "predecesor" t-SNE) ha demostrado un rendimiento impresionante a este respecto en varios conjuntos de datos (en el manuscrito).
Finalmente, al abordar su punto sobre datos continuos / discretos, esto es algo en lo que todavía no tengo experiencia de cómo esto influye en la reducción de dimensiones. En consecuencia, es posible que desee intentar discretizar las variables continuas o ignorar las (¿pocas?) Variables discretas, si es posible. Alternativamente, es posible que desee tomar la variable binaria (reacción de la persona) para codificar con color los puntos en la visualización de baja dimensión (2D / 3D).
PD Realizar un agrupamiento jerárquico (análisis de vinculación) y observar el dendrograma resultante es otra forma de crear una representación de baja dimensión de sus datos que puede ayudarlo a estimar mejor si hay grupos y potencialmente también cuántos grupos hay.
fuente