Pengelompokan data spasial di R

12

Saya memiliki satu set data bulanan suhu permukaan laut (SST) dan saya ingin menerapkan beberapa metodologi cluster untuk mendeteksi daerah dengan pola SST yang serupa. Saya memiliki satu set file data bulanan yang berjalan dari tahun 1985 hingga 2009 dan ingin menerapkan pengelompokan ke setiap bulan sebagai langkah pertama.

Setiap file berisi data grid untuk 358416 poin di mana sekitar 50% adalah tanah dan ditandai dengan nilai 99,99 yang akan menjadi NA. Format data adalah:

   lon     lat   sst
-10.042  44.979  12.38
 -9.998  44.979  12.69
 -9.954  44.979  12.90
 -9.910  44.979  12.90
 -9.866  44.979  12.54
 -9.822  44.979  12.37
 -9.778  44.979  12.37
 -9.734  44.979  12.51
 -9.690  44.979  12.39
 -9.646  44.979  12.36

Saya telah mencoba metode CLARA clustering dan mendapatkan beberapa hasil yang tampaknya bagus tetapi juga bagi saya itu hanya menghaluskan (mengelompokkan) isoline. Maka saya tidak yakin ini adalah metode pengelompokan terbaik untuk menganalisis data spasial.

Apakah ada metode pengelompokan lain yang ditujukan untuk tipe dataset ini? Beberapa referensi akan baik untuk mulai membaca.

Terima kasih sebelumnya.

pacomet
sumber
2
Anda harus memeriksa cran.r-project.org/web/views/Spatial.html . Ada beberapa paket yang memiliki hak cluster atas nama yang mungkin menarik.
Andy W
Apakah Anda menemukan paket R yang baik untuk mengelompokkan data spasial?
kaptan
@kaptan Sayangnya saya tidak dan itu adalah salah satu dari
pacomet
Judul pertanyaan ini membingungkan: , bukan ! R(x,y,T)R3R
GeoMatt22

Jawaban:

2

Ada pendekatan yang berbeda untuk pengelompokan yang skalabel, pendekatan divide and conquer, pengelompokan paralel dan yang inkremental. Ini untuk pendekatan umum setelah Anda dapat menggunakan metode pengelompokan normal. Ada metode pengelompokan yang sangat saya hargai adalah DBSCAN (Aplikasi Clustering Spasial Berbasis Kepadatan dengan Kebisingan) ini adalah salah satu algoritma pengelompokan yang paling banyak digunakan.

404Dreamer_ML
sumber
Ok, saya akan mencari DBSCAN dan mencobanya. Terima kasih
pacomet
Jika ada jawaban yang membantu Anda atau Anda menemukan cara lain lebih baik memberi kami, jadi semua komunitas akan mengambil keuntungan dari itu. Atau pilih jawaban untuk menutup pertanyaan, terima kasih.
404Dreamer_ML
Saya minta maaf atas keterlambatan dalam menjawab tetapi intinya adalah saya tidak punya banyak waktu untuk mencoba dbscan dan upaya pertama menghasilkan masalah memori. R mengatakan itu tidak dapat mengalokasikan vektor. Saya mulai dengan grid berjarak 4 km dengan 779191 poin yang berakhir 300000 poin saat memindahkan tanah (tidak valid) poin SST. Mungkin saya tidak mendapatkan pendekatan yang tepat, petunjuk apa pun akan dihargai.
pacomet
1
Hai, saya masih belum bisa menemukan solusinya. Saya telah membaca beberapa dokumen tentang DBSCAN dan memiliki beberapa pertanyaan tentang. Bagaimana menemukan jarak minimum dengan R? Karena data saya adalah bujur tiga dimensi, garis lintang dan suhu, "jarak" mana yang harus saya gunakan? dimensi apa yang terkait dengan jarak itu? suhu? Apakah ada metode untuk menentukan jumlah minimum poin untuk sebuah cluster? Mencari melalui Google saya tidak bisa menemukan contoh R untuk menggunakan dbscan dalam dataset yang mirip dengan saya, apakah Anda tahu situs web dengan contoh seperti itu? Jadi saya bisa membaca dan mencoba beradaptasi dengan kasus saya. Terima kasih lagi
pacomet
0

Pustaka python yang didokumentasikan dengan baik untuk analisis spasial yang memiliki beberapa clustering adalah pySAL .

Pustaka python lain dalam tahap pengembangan yang difokuskan pada pengelompokan spasial adalah clusterPy (presentasi slide pdf) .

Dengan pilihan algoritma pengelompokan yang lebih terbatas tetapi dengan antarmuka pemetaan yang bagus adalah perangkat lunak GUI GeoGrouper .

b_dev
sumber
Terima kasih, saya belum pernah bekerja dengan python. Saya akan mencoba menemukan solusi R
pacomet