¿Cómo ayudaría PCA con un análisis de agrupamiento de k-means?

32

Antecedentes : quiero clasificar las áreas residenciales de una ciudad en grupos en función de sus características socioeconómicas, incluida la densidad de unidades de vivienda, la densidad de población, el área de espacios verdes, el precio de la vivienda, el número de escuelas / centros de salud / guarderías, etc. Quiero entender en cuántos grupos diferentes se pueden dividir las áreas residenciales y cuáles son sus características únicas. Esta información podría facilitar la planificación de la ciudad.

Basado en algunos ejemplos (cf., esta publicación de blog: PCA y K-means Clustering of Delta Aircraft ), descubrí que la forma de hacer el análisis es:

  1. Primero haga el análisis de PCA.

  2. Determine el número de grupos únicos (grupos) en función de los resultados de PCA (p. Ej., Utilizando el método de "codo" o, alternativamente, el número de componentes que explican del 80 al 90% de la varianza total).

  3. Después de determinar el número de agrupaciones, aplique la agrupación k-means para hacer la clasificación.

Mis preguntas: parecía que la cantidad de componentes de PCA está relacionada con el análisis de clústeres. Entonces, eso es cierto, si, por ejemplo, encontramos que 5 componentes de PCA explican más del 90% de la variación de todas las características, entonces aplicaríamos el agrupamiento k-means y obtendríamos 5 grupos. Entonces, ¿los 5 grupos corresponden exactamente a los 5 componentes en el análisis de PCA?

En otras palabras, supongo que mi pregunta es: ¿Cuál es la conexión entre el análisis de PCA y la agrupación de k-means?

Actualizaciones: Gracias a las entradas de Emre, xeon y Kirill. Entonces las respuestas actuales:

  1. Hacer PCA antes del análisis de agrupación también es útil para reducir la dimensionalidad como un extractor de características y visualizar / revelar agrupaciones.

  2. Hacer PCA después de la agrupación puede validar el algoritmo de agrupación (referencia: análisis de componentes principales del núcleo ).

  3. La PCA a veces se aplica para reducir la dimensionalidad del conjunto de datos antes de la agrupación. Sin embargo, Yeung y Ruzzo (2000) mostraron que la agrupación con las variables de la PC en lugar de las originales no necesariamente mejora la calidad de la agrupación. En particular, las primeras PC (que contienen la mayor parte de la variación en los datos) no capturan necesariamente la mayor parte de la estructura del clúster.

    • Yeung, Ka Yee y Walter L. Ruzzo. Un estudio empírico sobre análisis de componentes principales para agrupar datos de expresión génica. Informe técnico, Departamento de Informática e Ingeniería, Universidad de Washington, 2000. ( pdf )
  4. Parecía que PCA es necesario antes de un análisis de agrupación en dos pasos . Basado en Ibes (2015), en el que se realizó un análisis de conglomerados utilizando los factores identificados en el PCA.

enaJ
fuente
1
Puede usar PCA para reducir la dimensionalidad como un extractor de características y para visualizar los clústeres.
Emre
3
Comience de manera simple: ejecute un clasificador directamente en los datos que tenga y observe el rendimiento. Si no está satisfecho con el rendimiento, intente PCA (seleccione el número de componentes en la "rodilla" del gráfico de valor propio ordenado) y ejecute k-means. Si ve buenos clústeres, existe una buena posibilidad de que el clasificador PCA + haga un buen trabajo.
Vladislavs Dovgalecs
1
También puede hacer PCA después de la agrupación, para validar su algoritmo de agrupación; código de color de cada punto por su etiqueta de grupo También recomiendo buscar en el kernel PCA .
Emre
Existen métodos que realizan simultáneamente la reducción de la dimensionalidad y la agrupación. Estos métodos buscan una representación de baja dimensión elegida de manera óptima para facilitar la identificación de grupos. Por ejemplo, vea el paquete clustrd en R y las referencias asociadas.
Nat

Respuestas:

16

PCA no es un método de agrupamiento. Pero a veces ayuda revelar grupos.

Supongamos que tiene distribuciones normales de 10 dimensiones con media (vector de ceros) y alguna matriz de covarianza con 3 direcciones que tienen una varianza mayor que otras. La aplicación del análisis de componentes principales con 3 componentes le dará estas instrucciones en orden decreciente y el enfoque de "codo" le dirá que esta cantidad de componentes elegidos es correcta. Sin embargo, seguirá siendo una nube de puntos (1 clúster).0 010

Supongamos que tiene 10 distribuciones normales de 10 dimensiones con medias , , ... (las medias se quedan casi en la línea) y matrices de covarianza similares. La aplicación de PCA con solo 1 componente (después de la estandarización) le dará la dirección donde observará los 10 grupos. Analizando la varianza explicada (enfoque 'codo'), verá que 1 componente es suficiente para describir estos datos.1102101010

En el enlace que muestra, PCA se usa solo para construir algunas hipótesis con respecto a los datos. La cantidad de grupos se determina mediante el enfoque de 'codo' de acuerdo con el valor de la suma de cuadrados dentro de los grupos (no por la varianza explicada). Básicamente, repite el algoritmo K-means para diferentes cantidades de grupos y calcula esta suma de cuadrados. Si el número de grupos es igual al número de puntos de datos, la suma de los cuadrados es igual a .0 0

Kirill
fuente
Gracias por sus aportes. ¿Podría explicar qué son las distribuciones normales de 10 dimensiones con media 0? ¿Te refieres a diez variables de características de entrada y cada una de ellas sigue una distribución normal?
enaJ
Lo siento, estoy hablando de una variable aleatoria que sigue una distribución normal multivariada con una media que será un vector de 10 dimensiones y una matriz de covarianza que es una matriz simétrica de 10x10.
Kirill