Regroupement des données spatiales dans R

12

J'ai un ensemble de données mensuelles sur la température de surface de la mer (SST) et je souhaite appliquer une méthodologie de cluster pour détecter les régions avec des modèles SST similaires. J'ai un ensemble de fichiers de données mensuels de 1985 à 2009 et je souhaite appliquer le clustering à chaque mois dans un premier temps.

Chaque fichier contient des données quadrillées pour 358416 points dont environ 50% sont des terres et sont marqués avec une valeur de 99,99 qui sera NA. Le format des données est:

   lon     lat   sst
-10.042  44.979  12.38
 -9.998  44.979  12.69
 -9.954  44.979  12.90
 -9.910  44.979  12.90
 -9.866  44.979  12.54
 -9.822  44.979  12.37
 -9.778  44.979  12.37
 -9.734  44.979  12.51
 -9.690  44.979  12.39
 -9.646  44.979  12.36

J'ai essayé la méthode de clustering CLARA et j'ai obtenu des résultats apparemment agréables, mais il me semble également qu'il s'agit simplement de lisser (grouper) des isolignes. Ensuite, je ne suis pas sûr que ce soit la meilleure méthode de clustering pour analyser les données spatiales.

Existe-t-il une autre méthode de clustering dédiée à ce type d'ensembles de données? Une référence serait bonne pour commencer à lire.

Merci d'avance.

pacomet
la source
2
Vous devriez consulter cran.r-project.org/web/views/Spatial.html . Il y a quelques paquets qui ont un cluster dans le nom qui seraient probablement intéressants.
Andy W
Avez-vous trouvé un bon package R pour regrouper les données spatiales?
kaptan
@kaptan Malheureusement, je ne l'ai pas fait et c'est l'un des
pacomet
Le titre de cette question prête à confusion: , pas ! R(x,y,T)R3R
GeoMatt22

Réponses:

2

Il existe différentes approches pour le clustering évolutif, l'approche de division et de conquête, le clustering parallèle et l'incrémentiel. Il s'agit d'une approche générale après avoir utilisé des méthodes de clustering normales. Il y a une bonne méthode de clustering que j'apprécie vraiment est DBSCAN (Densité-Based Spatial Clustering of Applications with Noise), c'est l'un des algorithmes de clustering les plus utilisés.

404Dreamer_ML
la source
Ok, je vais chercher DBSCAN et l'essayer. Merci
pacomet
Si une réponse vous a aidé ou si vous avez découvert une autre façon, il vaut mieux nous la donner, alors toute la communauté en profitera. Ou choisissez une réponse pour fermer la question, merci.
404Dreamer_ML
Je suis désolé pour le retard dans la réponse, mais le fait est que je n'ai pas beaucoup de temps pour essayer dbscan et les premières tentatives ont entraîné un problème de mémoire. R dit qu'il ne peut pas allouer de vecteur. Je commence par une grille espacée de 4 km avec 779191 points qui se termine par 300000 points lors de la suppression des points SST terrestres (non valides). Peut-être que je n'obtiens pas la bonne approche, tout indice serait apprécié.
pacomet
1
Salut, je ne trouve toujours pas de solution. J'ai lu quelques documents sur DBSCAN et j'ai des questions à propos de. Comment trouver la distance minimale avec R? Comme mes données sont la longitude, la latitude et la température en trois dimensions, quelle "distance" dois-je utiliser? quelle dimension est liée à cette distance? Température? Existe-t-il une méthode pour déterminer le nombre minimum de points pour un cluster? Recherche sur Google Je n'ai pas trouvé d'exemple R pour utiliser dbscan dans un ensemble de données similaire au mien, connaissez-vous un site Web avec ce genre d'exemples? Je peux donc lire et essayer de m'adapter à mon cas. Merci encore
Pacomet
0

PySAL est une bibliothèque python bien documentée pour l'analyse spatiale qui a un certain regroupement .

Une autre bibliothèque python en phase de développement qui se concentre sur le clustering spatial est clusterPy (présentation de diapositives pdf) .

Avec un choix plus limité d'algorithmes de clustering mais avec une belle interface de cartographie, le logiciel GUI GeoGrouper .

b_dev
la source
Merci, je n'ai jamais travaillé avec python. Je vais essayer de trouver une solution R
pacomet