Yörüngeleri kümeleme ((x, y) noktalarının GPS verileri) ve verilerin madenciliği


14

İnsan top mermisi ofisinde bir gün daha.

Bir GPS veri kümesini analiz etmeyle ilgili 2 sorum var.

1) Yörüngeleri ayıklamak Formun kaydedilmiş GPS koordinatlarının büyük bir veritabanına sahibim (latitude, longitude, date-time). Ardışık kayıtların tarih-saat değerlerine göre, kişi tarafından takip edilen tüm yörüngeleri / yolları çıkarmaya çalışıyorum. Örneğin; zaman demek M, (x,y)çiftleri sürekli zamana kadar değişiyor N. Sonra N, değişim (x,y)çiftleri hangi noktada yol zaman alınan sonucuna, azaltmak MiçinNyörünge denilebilir. Yörüngeleri çıkarırken takip edilmesi iyi bir yaklaşım mı? Önerebileceğiniz iyi bilinen yaklaşımlar / yöntemler / algoritmalar var mı? Bu noktaları etkili bir şekilde korumamı önermek istediğiniz veri yapıları veya formatları var mı? Belki de her bir yörünge için hız ve ivmenin anlaşılması yararlı olabilir mi?

2) Yörüngeleri madencilik Tüm yörüngeleri takip ettikten / izledikten sonra, bunları nasıl karşılaştırabilirim / kümeleyebilirim? Başlangıç ​​veya bitiş noktalarının benzer olup olmadığını bilmek istiyorum, o zaman ara yollar nasıl karşılaştırılır?

2 yolu / rotayı nasıl karşılaştırırım ve benzer olup olmadıklarına nasıl karar veririm. Bundan başka; benzer yolları birlikte nasıl kümeleyebilirim?

Beni bu konuda bir araştırmaya veya buna benzer bir şeye yönlendirebilirseniz çok memnun olurum.

Geliştirme Python'da olacak, ancak her türlü kütüphane önerisi kabul edilir.

Aynı soruyu StackOverflow'da /programming/4910510/comparing-clustering-trajectories-gps-data-of-xy-points-and-mining-the-data açıyorum . Burada daha fazla cevap alacağımı düşündüm ...


1
İyi bir cevap, bu analizi neden yaptığınıza dikkat edecektir . "Kişileriniz" ne yapıyor? Bu bağlamda, bir "yörünge" ile ne demek istiyorsun? Yörüngelerle neden ilgileniyorsunuz? Yörüngelerin "benzer" olması ne anlama gelir ? Açıklamalarınız uygun cevapları önerecektir; açıklığa kavuşturulmadan, uygun bir cevap almak şans ve tahmin işi olacaktır.
whuber

Kişinin günlük rutinini bulmakla ilgileniyorum; günlük / haftalık / aylık olarak nereye gidiyor ve oraya giderken genellikle hangi yolları / rotaları takip ediyor? Nadiren hangi yolları takip ediyor?
Murat

Veri tabanı, 1-2 saniyelik bir frekans ile bir aydan fazla bir süre boyunca kaydedilmiş GPS noktalarını içerir. Ne yaptıklarını bilmiyorum; Aslında, bunu öğrenmekle ilgileniyorum.
Murat

1
@Murat tamam, bu iyi. Daha kesin olalım. Bir kişi bir ev veya ofiste dolaştığında, bunun sabit olduğunu mu düşünürsünüz, yoksa bu yörüngeleri de mi izlemeye çalışıyorsunuz? İki yörüngenin "benzer" olduğunu söylediğinizde, A ve B noktaları arasında aynı yolu izlediklerini mi söylüyorsunuz, yoksa her ikisi de A noktasından B noktasına (belki de farklı rotalarda, ancak durmadan) veya başka bir şeye gidiyor mu? BTW, verileriniz eksiksiz mi - yoksa beklendiği gibi - verilerin eksik veya hatalı olduğu bilinen süreler var mı?
whuber

1
@ user5013 - Microsoft Research'ün neler yayınladığına bir göz atın. "Toplam mesafe 1.2 milyon kilometreye ve toplam 48.000 saatten fazla süreye sahip 17.621 yörünge içeriyor." Research.microsoft.com/tr-tr/downloads/…
Murat

Yanıtlar:


2

Sizinle benzer motivasyonları olduğu için muhtemelen ilginizi çekecek iki makale:

İnsan Hareketliliğinde Öngörülebilirliğin Sınırları : Chaoming Song, Zehui Qu, Nicholas Blumm, Albert-László Barabási. Science , Cilt no. 327, No. 5968. (19 Şubat 2010), sayfa 1018-1021.

Bireysel insan hareketliliği kalıplarını anlama : Marta C. Gonzalez, Cesar A. Hidalgo, Albert-Laszlo Barabasi. Nature , Cilt no. 7196. (05 Haziran 2008), sayfa 779-782.

İki çalışmanın sizinkine benzeyen ancak boşluk veya zamanda kesinlik düzeyinde olmayan aynı verileri kullandığını unutmayın. Yörünge olarak bulmak istediğiniz şeyi ne tarif edeceğimi düşünmüyorum, ama buna ne diyeceğimi de bilmiyorum. Neden "yörüngelerinizin" başlangıç ​​/ bitiş düğümlerini kümelemek istiyorsunuz?


2

PySAL - Python Mekansal Analiz Kütüphanesi iyi bir başlangıç ​​olabilir - http://code.google.com/p/pysal/

Özellikle otokorelasyon bölümü:

Uzamsal otokorelasyon, bir takım uzamsal birimler üzerindeki rasgele olmayan nitelik değerleriyle ilgilidir. Bu iki genel biçim alabilir: uzayda değer benzerliğini yansıtan pozitif otokorelasyon ve uzayda negatif otokorelasyon veya değer farklılığı. Her iki durumda da, otokorelasyon, gözlemlenen uzamsal düzen, uzayda çalışan rastgele bir işlem altında beklenenden farklı olduğunda ortaya çıkar.

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

Nokta Desen Analizi için http://cran.r-project.org/web/views/Spatial.html R kütüphanelerini kullanmayı da düşünebilirsiniz .

Diğer R paketleri:

Hayvan takibi için uzamsal verilere erişme ve bunları değiştirme işlevleri. Hız için filtre uygulayın ve hayvan izi verilerinden harcanan zaman grafikleri oluşturun.

Noktaları OSM'den temin edilebilen mevcut doğrusal taşıma ağlarına (yollar / demiryolu) bağlarsanız analizi de basitleştirebilir. Daha sonra bu çizgilere ve günün belirli saatlerinde kaç kişinin kullandığına göre sembolize edebilirsiniz.


Otokorelasyonun incelenmesini öneren sorunun bağlamı göz önüne alındığında, bir anlamı yoktur. Hangi özelliklerin otomatik korelasyonu?
Andy W

GPS okumaları için zaman damgası, bir şehrin veya şehrin hangi bölgelerinin günün farklı saatlerinde kullanıldığını görmek için kullanılabilir. Birincil araştırmanın insanların ne yaptığını veya oraya nasıl ulaştığını bulmak olup olmadığı açık değildir.
geographika

Ayrıca gruplandırılmış ve bir "süre" parametresi verilen bireyler için yakından ilişkili noktaları olan türetilmiş bir nokta veri seti analiz edilebilir
geographika

İlk yorumunuz analiz birimini insanlardan yerlere değiştirir. Sorunun biraz belirsiz olduğunu kabul etsem de, OP'nin yerleri kümelemek istediğini ima edecek hiçbir şey yok. İkinci yorum için bir argüman görebiliyorum (bir nokta hız özelliğine sahiptir). İlginç bir kavram olsa da, oldukça soyut ve yeni, bu yüzden mekansal oto-korelasyonu incelemeyi önermenin çok mantıklı olduğunu düşünmüyorum ve kafa karıştırıcı olması muhtemeldir (bu çerçevede noktaları tüm yollar değil, kümeleyebilirsiniz). Yine de, pysal ve R kütüphanelerinin ilgisini çekeceğine katılıyorum.
Andy W

2

İnsanlarınızın yörüngeleri veya yolları hakkında fazla yorum yapamam da, küme ve zaman yaklaşımıyla doğru yolda olduğunuzu düşünüyorum.

Snow Leopard Conservancy'de bazı insanlarla çalışırken geçen yıl Esri UC için bir demo hazırladım: http://resources.arcgis.com/gallery/file/geoprocessing/details?entryID=1F9F376F-1422-2418 -7FBC-C359E9644702

Verilen kriterlere göre Kar Leoparlarının "beslenme alanlarına" (kümelerine) bakar:

  • bu noktaların nasıl gruplandığı (birbirinden uzaklık)
  • minimum puan eşiği (her 12 saatte bir okumalar yapıldığı için analizim 4+ puan gerektiriyordu)
  • puanlar sıralı olmalıdır (analizin kolay bir parçası, doğrusal bir sırayla toplanması gerektiği için)

Mesafe analizini yapmak için Esri araçlarını kullanırken, içerideki python betiği, hangi noktaların birbirine yakın olduğunu öğrendikten sonra kümeleme fikrinde size yardımcı olabilir. (grafik teorisini kullanır: http://en.wikipedia.org/wiki/Graph_theory )

Diğer cevaplarda belirtildiği gibi, kararları vermeniz gereken nitelikleri belirlemek için orada makaleler var.

Analiz, Knopff, KH, ARA Knopff, MB Warren ve MS Boyce gibi kavramlara gevşek bir şekilde dayanıyordu. 2009. Puma predasyon parametrelerini tahmin etmek için Global Konumlandırma Sistemi telemetri tekniklerinin değerlendirilmesi. Yaban Hayatı Yönetimi Dergisi73: 586-597.


2

Yörünge kümenizde herhangi bir küme çalıştırmak için, yörünge çiftlerinin benzerliğini veya mesafesini hesaplamanın bir yoluna sahip olmanız gerekir. Bunun için birkaç yöntem vardır ve özel durumlar veya geleneksel olanların eksikliğini gidermek için yenileri geliştirilmektedir (kişisel olarak doktora tezim için yeni bir yöntem üzerinde çalışıyorum). İyi bilinen algoritmalar şunlardır:

  • En yakın çift mesafesi: 2 yörüngenin mesafesini birbirine en yakın nokta çiftinin mesafesine göre tanımlayın. Yörüngeler aynı sayıda noktadan oluşmalıdır.
  • Çiftlerin toplamı mesafesi: Her bir nokta çifti için mesafeleri hesaplayın ve ekleyin. Sadece yörüngeler aynı uzunlukta olduğunda da çalışır
  • Dinamik Zaman Çözgü (DTW) mesafesi: Bu algoritma, farklı miktarda ölçülen noktalardaki yörüngeleri işlemek için geliştirilmiştir. Nokta çiftleri üzerinde çalışır ve diğeri "çok hızlı" hareket ediyorsa, bir yörüngenin bir noktasının çift mesafe hesaplamalarında birden çok kez kullanılmasına izin verir. DTW illüstrasyon( Wikipedia'dan resim )
  • En Uzun Ortak Alt Sıra: adından da anlaşılacağı gibi, iki yörüngenin benzerliğini, orijinal yolların birbirine yaklaştığı en uzun alt yörüngenin uzunluğuna göre tanımlar.
  • Gerçek Sıradaki Mesafeyi Düzenle (EDR) ve Gerçek Ceza ile Mesafeyi Düzenle (ERP), yörüngelerden birini diğerine dönüştürmek için gereken düzenleme işlemlerinin sayısına (ekleme, kaldırma veya değiştirme) göre benzerlik tanımlar.

Bu alana girerseniz, bir dizi Microsoft Asya araştırmacısından "Mekansal Yörüngelerle Hesaplama" adlı kitabı şiddetle tavsiye ederim.


0

Bu sizin için de yardımcı olabilir:

Orellana D, Wachowicz M. Yaya hareketliliğinde hareket süspansiyonunun örüntülerini keşfetmek. Geogr Anal. 2011; 43 (3): 241-60. Yayınlanan PMID: 22073410.

Ayrıca bu bloga bir göz atın:

ideasonmovement.wordpress.com/

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.