Czy tworzysz grupy punktów z par lat / dług za pomocą R?


11

Mam bazę danych, która zawiera pary Lat / Long, aby zidentyfikować lokalizację interesujących miejsc. Chciałbym pogrupować interesujące miejsca w grupy po 10. Grupa powinna być geograficznie lokalna i zawierać dokładnie 10 punktów. Każda grupa powinna mieć minimalną powierzchnię.

Patrzyłem na różne implementacje w R, ale żadna z nich (które widzę) nie pozwala ci określić określonego rozmiaru klastra.

Wcześniej pytałem Grupowanie punktów mapy w ustalone rozmiary skupień? ale nie wydaje mi się, żeby moje pytanie było wystarczająco dokładne, aby uzyskać dobrą odpowiedź.


Geograficznie lokalnie - myślę, że mam na myśli, że grupy nie powinny się w znacznym stopniu nakładać. W mojej aplikacji (przydzielanie ludzi do grup do celów monitorowania) byłoby idealnie, gdyby każda grupa była jak najmniejsza w obszarze fizycznym.
Minimalny obszar - ponownie, próbując ograniczyć obszar grupy do minimum. Przypuszczam, że można to określić ilościowo jako utrzymywanie obszaru każdej grupy poniżej określonego progu (aby uniknąć dziesiątek małych grup i jednej dużej).


2
Pomogłoby to być bardziej precyzyjnym w kwestii tego, czego szukasz. Jak oceniłbyś „geograficznie lokalnie” i „obszar minimalny”?
whuber

Czy w niektórych sytuacjach „minimalna powierzchnia” i „dokładnie 10 punktów” nie wykluczają się wzajemnie? Jak możesz oczekiwać, że oba będą używane na przykład w przypadku „minimalnej powierzchni” 1 mili i 1 funkcji, która nie ma innych cech w promieniu 10 mil (być może wartość odstająca)?
RyanKDalton,

Oczekuję, że będą pewne wyjątki, ale można je rozwiązać ręcznie. Mam zestaw danych o ustalonym rozmiarze i nie mam nic przeciwko ręcznemu manipulowaniu niektórymi grupami, ale naprawdę chciałbym automatyczne rozwiązanie dla reszty! :)
Graeme Hilton,


Opis jest wciąż zbyt „falisty”, aby można go było rozwiązać w sposób zautomatyzowany. Czy możesz upublicznić dane?
BradHards,

Odpowiedzi:


1

Myślę, że możesz szukać narzędzia najbliższego sąsiada. Tego typu narzędzie może być użyte do identyfikacji 10 najbliższych sąsiadów wszystkich punktów w zbiorze danych. Wydaje się, że istnieje kilka różnych opcji (niektóre używają różnych algorytmów lub mają nieco inne funkcje) i nie jestem pewien, która opcja byłaby najlepsza. Ale oto kilka linków:

http://stat.ethz.ch/R-manual/R-pched/library/class/html/knn.html http://en.wikibooks.org/wiki/Data_Mining_Algorithms_In_R/Classification/kNN

Konieczne może być połączenie wyników z algorytmem klastrowania lub narzędziem do tworzenia klastrów, aby zidentyfikować klastry punktów, które mają podobne zestawy sąsiadów, aby uzyskać klasyfikacje punktów, w których nakładanie się prawie nie występuje. Być może trzeba będzie zrobić trochę ręcznego manipulowania danymi wyjściowymi, ale powinno to pozwolić na zautomatyzowanie dużej części pracy

Niektóre linki: http://jmlr.csail.mit.edu/papers/volume3/strehl02a/strehl02a.pdf http://cran.r-project.org/web/packages/clue/vignettes/clue.pdf

Być może będziesz w stanie znaleźć narzędzie klastrowania k-średnich, które zrobi to wszystko w jednym kroku i wymusi 10 punktów w regule klastrowej (po prostu podziel całkowitą liczbę punktów przez 10 i wybierz to jako liczbę pożądanych klastrów dla narzędzie).


Uważam też, że samouczek YaRi jest pomocny dla R: ahandel.myweb.uga.edu/resources.htm
Jezibelle,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.