Tengo una base de datos que contiene pares Lat / Long para identificar la ubicación de los puntos de interés. Me gustaría agrupar los puntos de interés en grupos de 10. El grupo debe ser geográficamente local y contener exactamente 10 puntos. Cada grupo debe ser de un área mínima.
He visto varias implementaciones en R, pero ninguna de ellas (que puedo ver) le permite especificar un tamaño de clúster definido.
Previamente le pregunté a los puntos del mapa de Agrupación en tamaños de clúster fijos? pero no creo que haya sido lo suficientemente exacto en mi pregunta para obtener una buena respuesta.
Geográficamente local : creo que quiero decir que los grupos no deberían superponerse significativamente. En mi aplicación (asignar personas a grupos para fines de monitoreo) sería ideal si cada grupo fuera lo más pequeño posible en el área física.
Área mínima : nuevamente, tratando de mantener el área del grupo al mínimo. Supongo que esto podría cuantificarse como mantener el área de cada grupo por debajo de un umbral específico (para evitar docenas de grupos pequeños y uno grande).
fuente
Respuestas:
Creo que podrías estar buscando una herramienta vecina k-más cercana. Este tipo de herramienta se puede utilizar para identificar los 10 vecinos más cercanos de todos los puntos en su conjunto de datos. Parece que hay algunas opciones diferentes para esto (algunas usan algoritmos diferentes o tienen funcionalidades ligeramente diferentes), y no estoy seguro de cuál sería la mejor opción. Pero aquí hay algunos enlaces:
http://stat.ethz.ch/R-manual/R-patched/library/class/html/knn.html http://en.wikibooks.org/wiki/Data_Mining_Algorithms_In_R/Classification/kNN
Es posible que deba combinar los resultados con un algoritmo de agrupación o una herramienta de conjunto de agrupación para identificar agrupaciones de puntos que tengan conjuntos similares de vecinos para obtener clasificaciones de puntos donde hay poca o ninguna superposición. Puede que tenga que hacer un poco de manipulación manual con la salida, pero debería permitirle automatizar una gran parte del trabajo
Algunos enlaces: http://jmlr.csail.mit.edu/papers/volume3/strehl02a/strehl02a.pdf http://cran.r-project.org/web/packages/clue/vignettes/clue.pdf
También puede encontrar una herramienta de agrupación de k-means que haga todo esto en un solo paso y aplique los 10 puntos en una regla de agrupación (solo divida la cantidad total de puntos por 10 y seleccione esa cantidad como la cantidad de agrupaciones deseadas para la herramienta).
fuente