J'ai 2 questions sur l'analyse d'un jeu de données GPS.
1) Extraction de trajectoires J'ai une énorme base de données de coordonnées GPS enregistrées du formulaire (latitude, longitude, date-time)
. En fonction des valeurs date-heure des enregistrements consécutifs, j'essaie d'extraire toutes les trajectoires / chemins suivis par la personne. Par exemple; disons à partir du temps M
, les (x,y)
paires changent continuellement jusqu'au temps N
. Après N
, le changement par (x,y)
paires diminue, à quel point je conclus que le chemin emprunté de temps M
àN
peut être appelé une trajectoire. Est-ce une approche décente à suivre lors de l'extraction de trajectoires? Y a-t-il des approches / méthodes / algorithmes bien connus que vous pouvez suggérer? Y a-t-il des structures ou des formats de données que vous souhaiteriez me suggérer pour maintenir ces points de manière efficace? Peut-être que pour chaque trajectoire, déterminer la vitesse et l'accélération serait utile?
2) Exploration des trajectoires Une fois que j'ai toutes les trajectoires suivies / chemins empruntés, comment puis-je les comparer / les regrouper? Je voudrais savoir si les points de début ou de fin sont similaires, alors comment les chemins intermédiaires se comparent-ils?
Comment comparer les 2 chemins / routes et conclure s'ils sont similaires ou non. En outre; comment regrouper des chemins similaires?
Je vous serais très reconnaissant de bien vouloir me signaler une recherche ou quelque chose de similaire à ce sujet.
Le développement sera en Python, mais toutes sortes de suggestions de bibliothèques sont les bienvenues.
J'ouvre exactement la même question /programming/4910510/comparing-clustering-trajectories-gps-data-of-xy-points-and-mining-the-data dans StackOverflow. Je pensais avoir plus de réponses ici ...
la source
Réponses:
Deux articles qui pourraient vous intéresser, car ils ont des motivations similaires aux vôtres:
Limits of Predictability in Human Mobility par: Chaoming Song, Zehui Qu, Nicholas Blumm, Albert-László Barabási. Science , vol. 327, no 5968. (19 février 2010), p. 1018-1021.
Comprendre les schémas de mobilité humaine individuelle par: Marta C. Gonzalez, Cesar A. Hidalgo, Albert-Laszlo Barabasi. Nature , vol. 453, n ° 7196. (5 juin 2008), p. 779-782.
Notez que les deux études utilisent les mêmes données, qui sont similaires aux vôtres mais pas au niveau de précision dans l'espace ou dans le temps. Je ne pense pas que je décrirais ce que vous voulez trouver comme trajectoire, mais je ne sais pas trop comment je l'appellerais. Pourquoi voulez-vous exactement regrouper les nœuds de début / fin de vos "trajectoires"?
la source
PySAL - la bibliothèque d'analyse spatiale Python peut être un bon début - http://code.google.com/p/pysal/
En particulier la section d'autocorrélation:
http://pysal.org/1.2/users/tutorials/autocorrelation.html
Vous pouvez également envisager d'utiliser les bibliothèques R http://cran.r-project.org/web/views/Spatial.html pour l' analyse de modèle de point .
Autres packages R:
Cela peut également simplifier l'analyse si vous accrochez les points aux réseaux de transport linéaire existants (routes / rail) disponibles auprès d'OSM. Ensuite, vous pouvez symboliser en fonction de ces lignes et du nombre de personnes qui les utilisent à des moments particuliers de la journée.
la source
Bien que je ne puisse pas beaucoup commenter les trajectoires ou les chemins de votre peuple, je pense que vous êtes sur la bonne voie avec l'approche cluster et temporelle.
J'ai monté une démo pour l'UC Esri l'année dernière en travaillant avec des gens au Snow Leopard Conservancy, disponible sur: http://resources.arcgis.com/gallery/file/geoprocessing/details?entryID=1F9F376F-1422-2418 -7FBC-C359E9644702
Il examine les «sites d'alimentation» (grappes) de léopards des neiges en fonction de critères donnés:
Bien qu'il utilise des outils Esri pour effectuer l'analyse de distance, le script python à l'intérieur peut vous aider avec l'idée de clustering une fois que vous savez quels points sont proches les uns des autres. (il utilise la théorie des graphes: http://en.wikipedia.org/wiki/Graph_theory )
Comme mentionné dans les autres réponses, il existe des documents pour déterminer les attributs dont vous auriez besoin pour prendre les décisions.
L'analyse était basée sur les concepts de Knopff, KH, ARA Knopff, MB Warren et MS Boyce. 2009. Évaluation des techniques de télémétrie du Global Positioning System pour estimer les paramètres de prédation des couguars. Journal of Wildlife Management73: 586-597.
la source
Pour exécuter tout type de clustering sur votre ensemble de trajectoires, vous devez avoir un moyen de calculer la similitude ou la distance des paires de trajectoires. Il existe plusieurs méthodes pour cela, et de nouvelles sont en cours de développement pour des cas particuliers ou pour corriger une lacune des méthodes traditionnelles (je travaille personnellement sur une nouvelle pour ma thèse de doctorat). Les algorithmes bien connus sont les suivants:
Si vous êtes dans ce domaine, je recommande fortement le livre intitulé "Computing with Spatial Trajectories" d'un certain nombre de reserachers Microsoft Asia.
la source
Cela peut aussi vous être utile:
Orellana D, Wachowicz M. Explorer les modèles de suspension de mouvement dans la mobilité des piétons. Geogr Anal. 2011; 43 (3): 241-60. PubMed PMID: 22073410.
Jetez également un œil à ce blog:
ideasonmovement.wordpress.com/
la source