Saya mengerti bahwa begitu kita memplot nilai-nilai sebagai grafik, kita dapat mengidentifikasi distribusi bimodal dengan mengamati puncak kembar, tetapi bagaimana kita menemukannya secara terprogram? (Saya mencari sebuah algoritma.)
Saya mengerti bahwa begitu kita memplot nilai-nilai sebagai grafik, kita dapat mengidentifikasi distribusi bimodal dengan mengamati puncak kembar, tetapi bagaimana kita menemukannya secara terprogram? (Saya mencari sebuah algoritma.)
Jawaban:
Mengidentifikasi mode untuk distribusi kontinu membutuhkan perataan atau pemadaman data.
Binning biasanya terlalu procrustean: hasilnya seringkali tergantung pada tempat Anda meletakkan cutpoints bin.
Pemulusan kernel (khususnya, dalam bentuk estimasi kepadatan kernel ) adalah pilihan yang baik. Walaupun banyak bentuk kernel yang mungkin, biasanya hasilnya tidak banyak bergantung pada bentuk. Itu tergantung pada bandwidth kernel. Dengan demikian, orang-orang baik menggunakan kernel smoothing adaptif atau melakukan urutan smoothing kernel untuk memvariasikan bandwidth tetap untuk memeriksa stabilitas mode yang diidentifikasi. Meskipun menggunakan yang lebih adaptif atau "optimal" menarik, perlu disadari bahwa sebagian besar (semua?) Ini dirancang untuk mencapai keseimbangan antara presisi dan akurasi rata-rata: mereka tidak dirancang untuk mengoptimalkan estimasi lokasi mode.
Sejauh implementasi berjalan, kernel lebih baik secara lokal menggeser dan skala fungsi yang telah ditentukan untuk menyesuaikan data. Asalkan fungsi dasar ini dapat dibedakan - Gaussians adalah pilihan yang baik karena Anda dapat membedakannya sebanyak yang Anda suka - maka yang harus Anda lakukan adalah menggantinya dengan turunannya untuk mendapatkan turunan dari smooth. Maka itu hanya masalah menerapkan prosedur penemuan nol standar untuk mendeteksi dan menguji titik-titik kritis. ( Metode Brent bekerja dengan baik.) Tentu saja Anda dapat melakukan trik yang sama dengan turunan kedua untuk mendapatkan tes cepat apakah ada titik kritis adalah maksimum lokal - yaitu, mode.
Ada makalah terkenal oleh Silverman yang membahas masalah ini. Ini menggunakan estimasi kernel-density. Lihat
BW Silverman, Menggunakan perkiraan kepadatan kernel untuk menyelidiki multimodality , J. Royal Stat. Soc. B , vol. 43, tidak. 1, 1981, hlm. 97-99.
Perhatikan bahwa ada beberapa kesalahan dalam tabel kertas. Ini hanyalah titik awal, tetapi cukup bagus. Ini menyediakan algoritma yang terdefinisi dengan baik untuk digunakan, jika itu yang paling Anda cari. Anda dapat melihat Google Cendekia di makalah yang mengutipnya untuk pendekatan yang lebih "modern".
Saya datang terlambat ke pesta, tetapi jika Anda hanya tertarik pada apakah itu multimodal atau tidak, berarti Anda tidak tertarik pada jumlah mode, Anda harus melihat diptest .
Dalam R
paket disebut diptest
.
Definisi dalam wiki sedikit membingungkan bagi saya. Probabilitas kumpulan data kontinu yang hanya memiliki satu mode adalah nol. Cara sederhana untuk memprogram distrubiton bimodal adalah dengan dua distribusi normal yang terpisah berpusat secara berbeda. Ini menciptakan dua puncak atau apa yang disebut mode wiki. Anda benar-benar dapat menggunakan hampir dua distribusi, tetapi salah satu peluang statistik yang lebih sulit adalah menemukan bagaimana set data terbentuk setelah menggabungkan dua distribusi data acak.