Traiettorie di clustering (dati GPS di (x, y) punti) e mining dei dati


14

Solo un altro giorno in ufficio per la palla di cannone umana.

Ho 2 domande sull'analisi di un set di dati GPS.

1) Estrazione di traiettorie Ho un enorme database di coordinate GPS registrate nel modulo (latitude, longitude, date-time). In base ai valori data-ora di record consecutivi, sto cercando di estrarre tutte le traiettorie / percorsi seguiti dalla persona. Per esempio; diciamo dal tempo M, le (x,y)coppie cambiano continuamente fino al tempo N. Dopo N, il cambiamento nelle (x,y)coppie diminuisce, a quel punto concludo che il percorso preso di volta Min voltaNpuò essere chiamato una traiettoria. È un approccio decente da seguire quando si estraggono traiettorie? Ci sono approcci / metodi / algoritmi noti che puoi suggerire? Esistono strutture o formati di dati che vorresti suggerirmi per mantenere tali punti in modo efficiente? Forse, per ogni traiettoria, capire la velocità e l'accelerazione sarebbe utile?

2) Estrazione delle traiettorie Dopo aver seguito tutte le traiettorie seguite / percorsi, come posso confrontarle / raggrupparle? Vorrei sapere se i punti iniziale o finale sono simili, come si confrontano i percorsi intermedi?

Come faccio a confrontare i 2 percorsi / percorsi e concludere se sono simili o no. Inoltre; come posso raggruppare percorsi simili insieme?

Ti sarei molto grato se potessi indicarmi una ricerca o qualcosa di simile su questo argomento.

Lo sviluppo sarà in Python, ma tutti i tipi di suggerimenti per le biblioteche sono i benvenuti.

Sto aprendo la stessa identica domanda /programming/4910510/comparing-clustering-trajectories-gps-data-of-xy-points-and-mining-the-data in StackOverflow. Ho pensato di ottenere più risposte qui ...


1
Una buona risposta presterà attenzione al motivo per cui stai eseguendo questa analisi. Quali attività stanno facendo le tue "persone"? Cosa intendi, in questo contesto, per "traiettoria"? Perché sei interessato alle traiettorie? Cosa significa che le traiettorie sono "simili"? I tuoi chiarimenti suggeriranno risposte appropriate; senza chiarimenti, ottenere una risposta adeguata sarà una questione di fortuna e congetture.
whuber

Bene, sono interessato a capire la routine quotidiana della persona; dove va su base giornaliera / settimanale / mensile e quali percorsi / percorsi segue di solito quando ci si reca? Quali percorsi segue raramente?
Murat,

Il database contiene i punti GPS registrati delle persone per oltre un mese, con una frequenza di 1-2 secondi. Non so cosa stiano facendo; in realtà, questo è quello che mi interessa scoprire.
Murat,

1
@Murat OK, va bene. Diventiamo più precisi. Quando una persona si sposta in una casa o in un ufficio, lo considereresti fermo o stai cercando di rintracciare anche quelle traiettorie? Quando dici che due traiettorie sono "simili", vuoi dire che sembrano seguire lo stesso percorso tra i punti A e B, oppure entrambi vanno dal punto A al punto B (forse su percorsi diversi, ma senza fermarsi) o qualcos'altro? A proposito, i tuoi dati sono completi o - come ci si aspetterebbe - ci sono periodi in cui i dati sono mancanti o noti per essere errati?
whuber

1
@ user5013 - Dai un'occhiata a ciò che Microsoft Research ha pubblicato. Esso "contiene 17.621 traiettorie con una distanza totale di circa 1,2 milioni di chilometri e una durata totale di oltre 48.000 ore". research.microsoft.com/en-us/downloads/…
Murat

Risposte:


2

Due articoli che ti potrebbero interessare, in quanto hanno motivazioni simili alle tue:

Limiti della prevedibilità nella mobilità umana di: Chaoming Song, Zehui Qu, Nicholas Blumm, Albert-László Barabási. Science , Vol. 327, n. 5968. (19 febbraio 2010), pagg. 1018-1021.

Comprensione dei singoli modelli di mobilità umana di: Marta C. Gonzalez, Cesar A. Hidalgo, Albert-Laszlo Barabasi. Natura , vol. 453, n. 7196. (05 giugno 2008), pagg. 779-782.

Nota che i due studi usano gli stessi dati, che sono simili ai tuoi ma non a livello di precisione nello spazio o nel tempo. Non penso a come descriverei ciò che vorresti trovare come traiettoria, ma non sono nemmeno sicuro di come lo definirei. Perché esattamente vuoi raggruppare i nodi di inizio / fine delle tue "traiettorie".


2

PySAL - la libreria di analisi spaziale Python potrebbe essere un buon inizio - http://code.google.com/p/pysal/

In particolare la sezione di autocorrelazione:

L'autocorrelazione spaziale si riferisce al modello non casuale di valori di attributo su un set di unità spaziali. Ciò può assumere due forme generali: autocorrelazione positiva che riflette la somiglianza di valore nello spazio e autocorrelazione negativa o differenza di valore nello spazio. In entrambi i casi, l'autocorrelazione sorge quando il modello spaziale osservato è diverso da quello che ci si aspetterebbe da un processo casuale operante nello spazio.

http://pysal.org/1.2/users/tutorials/autocorrelation.html

Si potrebbe anche prendere in considerazione l'uso delle librerie R http://cran.r-project.org/web/views/Spatial.html per Point Pattern Analysis .

Altri pacchetti R:

Funzioni per l'accesso e la manipolazione dei dati spaziali per la localizzazione degli animali. Filtra per la velocità e crea grafici del tempo trascorso dai dati sulle tracce degli animali.

Può anche semplificare l'analisi se si agganciano i punti alle reti di trasporto lineari esistenti (strade / ferrovia) disponibili da OSM. Quindi puoi simbolizzare in base a queste linee e al numero di persone che le usano in particolari momenti della giornata.


Dato il contesto della domanda che suggerisce di esaminare l'autocorrelazione non ha alcun senso. Correlazione automatica di quali attributi?
Andy W,

Il timestamp per le letture GPS può essere utilizzato per vedere quali aree di una città vengono utilizzate in diversi momenti della giornata. Anche se non è chiaro se la ricerca principale sia quella di scoprire cosa fanno le persone o come le persone ci arrivano.
geographika,

Anche un set di dati di punti derivati ​​con punti strettamente correlati per gli individui raggruppati e dati un parametro "durata" potrebbe essere analizzato
geographika

Il tuo primo commento cambia l'unità di analisi dalle persone ai luoghi. Anche se concordo sul fatto che la domanda sia alquanto ambigua, non c'è nulla che insinui che l'OP vuole raggruppare i luoghi. Vedo un argomento per il secondo commento (un punto ha un attributo di velocità). Sebbene sia una nozione interessante, è piuttosto astratta e innovativa, quindi non penso che abbia molto senso suggerire di esaminare l'auto-correlazione spaziale ed è probabile che sia fonte di confusione (è possibile raggruppare i punti in quella struttura, non interi percorsi). Concordo tuttavia sul fatto che le librerie pysal e R saranno di interesse.
Andy W,

2

Anche se non posso commentare molto le traiettorie o i percorsi della tua gente, penso che tu sia sulla strada giusta con il cluster e l'approccio temporale.

L'anno scorso ho realizzato una demo per Esri UC mentre lavoravo con alcune persone presso Snow Leopard Conservancy, disponibile su: http://resources.arcgis.com/gallery/file/geoprocessing/details?entryID=1F9F376F-1422-2418 -7FBC-C359E9644702

Esamina i "siti di alimentazione" (gruppi) di Snow Leopards in base a determinati criteri:

  • come erano raggruppati quei punti (distanza l'uno dall'altro)
  • una soglia minima di punti (la mia analisi ha richiesto più di 4 punti poiché le letture venivano prese ogni 12 ore circa)
  • i punti devono essere sequenziali (parte semplice dell'analisi in quanto dovrebbero essere raccolti in un ordine lineare)

Mentre utilizza gli strumenti Esri per eseguire l'analisi della distanza, lo script python all'interno potrebbe aiutarti con l'idea del cluster una volta che sai quali punti sono vicini l'uno all'altro. (utilizza la teoria dei grafi: http://en.wikipedia.org/wiki/Graph_theory )

Come menzionato nelle altre risposte, ci sono documenti là fuori per determinare gli attributi di cui avresti bisogno per prendere le decisioni.

L'analisi si basava vagamente sui concetti di: Knopff, KH, ARA Knopff, MB Warren e MS Boyce. 2009. Valutazione delle tecniche di telemetria del sistema di posizionamento globale per la stima dei parametri di predazione del puma. Journal of Wildlife Management73: 586-597.


2

Per eseguire qualsiasi tipo di raggruppamento sul set di traiettorie, è necessario disporre di un modo per calcolare la somiglianza o la distanza delle coppie di traiettorie. Esistono diversi metodi per questo, e ne vengono sviluppati di nuovi per casi speciali o per correggere un difetto di quelli tradizionali (sto lavorando personalmente a uno nuovo per la mia tesi di dottorato). Gli algoritmi ben noti sono i seguenti:

  • Distanza minima della coppia: basta definire la distanza di 2 traiettorie in base alla distanza della coppia di punti più vicina tra loro. Le traiettorie devono essere costituite dallo stesso numero di punti.
  • Somma della distanza delle coppie: calcola le distanze per ciascuna coppia di punti e sommale. Funziona anche solo se le traiettorie hanno la stessa lunghezza
  • Distanza Dynamic Time Warping (DTW): questo algoritmo è stato sviluppato per gestire traiettorie di diverse quantità di punti misurati. Funziona su coppie di punti e consente di utilizzare più volte un punto di una traiettoria nei calcoli della distanza della coppia, se l'altro si sta muovendo "troppo velocemente". Illustrazione DTW(Immagine da Wikipedia )
  • Conseguenza comune più lunga: come suggerisce il nome, definisce la somiglianza di due traiettorie per la lunghezza della sotto-traiettoria più lunga in cui i percorsi originali si spostano vicini.
  • Modifica distanza su sequenza reale (EDR) e Modifica distanza con penalità reale (ERP) definiscono la somiglianza per il numero di operazioni di modifica (aggiungi, rimuovi o sostituisci) necessarie per trasformare una delle traiettorie nell'altra.

Se sei in questo campo, consiglio vivamente il libro intitolato "Computing with Spatial Trajectories" da un certo numero di ricercatori Microsoft Asia.


0

Questo può essere di aiuto anche per te:

Orellana D, Wachowicz M. Esplorazione dei modelli di sospensione del movimento nella mobilità pedonale. Geogr Anal. 2011; 43 (3): 241-60. PubMed PMID: 22073410.

Dai un'occhiata anche a questo blog:

ideasonmovement.wordpress.com/

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.