Estoy interesado en varios métodos para medir la dispersión de los vectores, principalmente para su uso en el análisis de conglomerados. Se me ocurren tres métodos:
- Encuentre el vector medio (centroide), luego calcule la varianza de las distancias de todos los vectores a este vector medio. Es posible que el conjunto de vectores sea diferente, pero tenga la misma distancia al vector medio. En este caso, no parecería una gran medida, aunque esta situación puede ser poco probable en la práctica. Parece que la medida de calidad de cluster de Davies-Bouldin utiliza esto para medir la calidad intra-cluster.
- Utiliza la distancia media por pares entre vectores. He visto que se utiliza para medir la calidad intra e interclúster. Esto parece requerir algún tipo de matriz de distancia. La implementación puede ser difícil si se intenta añadir o eliminar vectores y actualizar la matriz de distancia sobre la marcha.
- Calcule la varianza de la población para cada componente de los vectores. Esto daría como resultado un vector que contiene la varianza de la población para cada componente. A continuación, tome la suma de los componentes en este vector.
Mis preguntas:
- ¿Alguna opinión sobre estas medidas?
- ¿Alguna otra buena medida?
- Además, ¿alguien conoce un algoritmo de una sola pasada para calcular #1 y #2?
Sé cómo calcular #3 con un algoritmo de una pasada numéricamente estable. Esencialmente, cada vez que añado o quito un vector de un cluster me gustaría que la medida de calidad se actualizara automáticamente. He tenido algo de suerte con esto para ciertas medidas.