Étant donné les points de données avec la longitude, la latitude et une troisième valeur de propriété de ce point. Comment puis-je regrouper des points en groupes (sous-régions géographiques) en fonction de la valeur de la propriété? J'ai recherché par google et compris que ce problème semble être appelé "clustering contraint spatial" ou "régionalisation". Cependant, je ne suis pas familier avec la gestion des données géographiques et je n'ai aucune idée du type d'algorithmes qui sont bons et des packages python / R qui conviennent à cette tâche.
Pour donner une idée plus intuitive de ce que je veux, disons que mes diagrammes de dispersion de données sont les suivants:
Ainsi, chaque point est un point, x est la longitude, y est la latitude et la palette de couleurs indique si la valeur est grande ou petite. Je veux diviser ces points en sous-régions / groupes / grappes en fonction de l'emplacement et de la similitude des valeurs. Comme ce qui suit (ce n'est pas exactement ce que je veux, juste pour montrer une idée intuitive.):
Alors, comment puis-je y parvenir?
la source
Réponses:
Le package rioja fournit des fonctionnalités pour le clustering hiérarchique contraint. Pour ce que vous considérez comme "contraint spatialement", vous spécifieriez vos coupes en fonction de la distance alors que pour la "régionalisation", vous pourriez utiliser k voisins les plus proches. Je recommande fortement de projeter vos données afin qu'elles soient dans un système de coordonnées basé sur la distance.
la source