Membuat grup poin dari pasangan lat / panjang menggunakan R?

11

Saya memiliki database yang berisi pasangan Lat / Panjang untuk mengidentifikasi lokasi tempat menarik. Saya ingin mengelompokkan poin-poin yang menarik ke dalam kelompok-kelompok 10. Grup ini harus secara geografis lokal dan memuat tepat 10 poin. Setiap kelompok harus memiliki luas minimum.

Saya telah melihat berbagai implementasi dalam R tetapi tidak satupun dari mereka (yang dapat saya lihat) memungkinkan Anda untuk menentukan ukuran cluster yang pasti.

Saya sebelumnya bertanya Mengelompokkan poin peta ke dalam ukuran cluster tetap? tapi saya pikir saya tidak cukup tepat dalam pertanyaan saya untuk mendapatkan jawaban yang baik.


Lokal geografis - saya pikir maksud saya bahwa kelompok tidak boleh tumpang tindih secara signifikan. Dalam aplikasi saya (mengalokasikan orang ke kelompok untuk tujuan pemantauan) akan ideal jika setiap kelompok sekecil mungkin dalam bidang fisik.
Area minimum - lagi, mencoba menjaga area grup ke minimum. Saya kira ini dapat dikuantifikasi sebagai menjaga area masing-masing kelompok di bawah ambang batas yang ditentukan (untuk menghindari puluhan kelompok kecil dan satu kelompok besar).

Graeme Hilton
sumber
2
Akan membantu untuk menjadi sedikit lebih tepat tentang apa yang Anda cari. Bagaimana Anda mengukur "lokal geografis" dan "area minimum"?
whuber
Dalam beberapa situasi, bukankah "area minimum" dan "tepat 10 poin" akan saling eksklusif? Bagaimana Anda dapat mengharapkan keduanya digunakan, misalnya, Anda memiliki "area minimum" 1 mil, dan 1 fitur yang tidak memiliki fitur lain dalam jarak 10 mil (outlier, kemungkinan)?
RyanKDalton
Saya berharap akan ada beberapa pengecualian, tetapi ini bisa ditangani secara manual. Saya memiliki kumpulan data ukuran tetap dan tidak keberatan mengutak-atik beberapa grup secara manual, tetapi saya benar-benar menginginkan solusi otomatis untuk yang lain! :)
Graeme Hilton
Deskripsi masih terlalu "bergelombang tangan" untuk dapat dipecahkan dengan cara otomatis. Bisakah Anda membuat data publik?
BradHards

Jawaban:

1

Saya pikir Anda mungkin mencari alat tetangga k-terdekat. Jenis alat ini dapat digunakan untuk mengidentifikasi 10 tetangga terdekat dari semua poin dalam dataset Anda. Tampaknya ada beberapa opsi berbeda untuk ini (dengan beberapa menggunakan algoritma yang berbeda atau memiliki fungsi yang sedikit berbeda), dan saya tidak yakin mana yang akan menjadi pilihan terbaik. Tetapi di sini ada beberapa tautan:

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

Anda mungkin perlu menggabungkan hasilnya dengan algoritme pengelompokan atau alat ensembel gugus untuk mengidentifikasi kelompok titik yang memiliki kumpulan tetangga yang sama untuk memperoleh klasifikasi titik-titik di mana ada sedikit atau tidak ada tumpang tindih. Anda mungkin perlu melakukan sedikit mengutak-atik output secara manual, tetapi harus memungkinkan Anda untuk mengotomatisasi sebagian besar pekerjaan

Beberapa tautan: http://jmlr.csail.mit.edu/papers/volume3/strehl02a/strehl02a.pdf http://cran.r-project.org/web/packages/clue/vignettes/clue.pdf

Anda mungkin juga dapat menemukan alat pengelompokan k-means yang akan melakukan ini semua dalam satu langkah dan menegakkan 10 poin dalam aturan klaster (cukup bagi jumlah total poin dengan 10 dan pilih itu sebagai jumlah cluster yang diinginkan untuk alat).

Jezibelle
sumber
Juga, saya menemukan tutorial YaRi bermanfaat untuk R: ahandel.myweb.uga.edu/resources.htm
Jezibelle