Saya datang dari pertanyaan ini kalau-kalau ada yang ingin mengikuti jejak.
Pada dasarnya saya memiliki kumpulan data terdiri dari objek mana setiap objek memiliki sejumlah nilai terukur yang melekat padanya (dua dalam kasus ini):
Saya perlu cara untuk menentukan probabilitas baru objek dari milik jadi saya disarankan dalam pertanyaan itu untuk mendapatkan kepadatan probabilitas f melalui estimator densitas kernel, yang saya percaya saya sudah punya .
Karena tujuan saya adalah untuk mendapatkan probabilitas objek baru ini ( ) dari milik ini 2D kumpulan data , saya diberitahu untuk mengintegrasikan pdf f lebih " nilai-nilai dari dukungan yang densitas kurang dari yang Anda amati ". The "mengamati" kepadatan f dievaluasi dalam objek baru p , yaitu: f ( x p , y p ) . Jadi saya perlu memecahkan persamaan:
PDF dari kumpulan data 2D saya (diperoleh melalui modul stats.gaussian_kde python ) terlihat seperti ini:
di mana titik merah mewakili objek baru diplot pada PDF dari kumpulan data saya.
Jadi pertanyaannya adalah: bagaimana saya bisa menghitung integral di atas untuk batas ketika pdf terlihat seperti itu?
Menambahkan
Saya melakukan beberapa tes untuk melihat seberapa baik metode Monte Carlo yang saya sebutkan di salah satu komentar bekerja. Inilah yang saya dapat:
Nilai-nilai tampak sedikit lebih bervariasi untuk daerah kepadatan lebih rendah dengan kedua bandwidth menunjukkan variasi yang kurang lebih sama. Variasi terbesar dalam tabel terjadi untuk titik (x, y) = (2,4,1.5) membandingkan nilai sampel 2500,000 1000 Silverman, yang memberikan perbedaan 0.0126
atau ~1.3%
. Dalam kasus saya ini sebagian besar dapat diterima.
Sunting : Saya baru saja memperhatikan bahwa dalam 2 dimensi aturan Scott sama dengan Silverman sesuai dengan definisi yang diberikan di sini .
Jawaban:
Cara sederhana adalah merasterisasi domain integrasi dan menghitung pendekatan diskrit ke integral.
Ada beberapa hal yang harus diperhatikan:
Pastikan untuk mencakup lebih dari batas poin: Anda harus menyertakan semua lokasi di mana estimasi kepadatan kernel akan memiliki nilai yang cukup besar. Ini berarti Anda perlu memperluas titik dengan tiga hingga empat kali bandwidth kernel (untuk kernel Gaussian).
Hasilnya akan sedikit berbeda dengan resolusi raster. Resolusi perlu sebagian kecil dari bandwidth. Karena waktu perhitungan proporsional dengan jumlah sel dalam raster, hampir tidak ada waktu ekstra untuk melakukan serangkaian perhitungan menggunakan resolusi yang lebih kasar daripada yang dimaksud: periksa bahwa hasil untuk yang lebih kasar konvergen pada hasil untuk resolusi terbaik. Jika tidak, resolusi yang lebih baik mungkin diperlukan.
Berikut ini adalah ilustrasi untuk dataset 256 poin:
Poin ditampilkan sebagai titik-titik hitam yang ditumpangkan pada dua perkiraan kepadatan kernel. Enam poin merah besar adalah "probe" di mana algoritma dievaluasi. Ini telah dilakukan untuk empat bandwidth (default antara 1,8 (vertikal) dan 3 (horizontal), 1/2, 1, dan 5 unit) pada resolusi 1000 oleh 1000 sel. Matriks scatterplot berikut menunjukkan seberapa kuat hasil bergantung pada bandwidth untuk enam titik penyelidikan ini, yang mencakup berbagai kepadatan:
Variasi terjadi karena dua alasan. Jelas perkiraan kepadatan berbeda, memperkenalkan satu bentuk variasi. Lebih penting lagi, perbedaan dalam estimasi kepadatan dapat menciptakan perbedaan besar pada setiap titik ("penyelidikan"). Variasi yang terakhir adalah yang terbesar di sekitar "pinggiran" kepadatan menengah dari kelompok titik - tepatnya lokasi tempat perhitungan ini paling sering digunakan.
Ini menunjukkan perlunya kehati-hatian yang substansial dalam menggunakan dan menafsirkan hasil perhitungan ini, karena mereka bisa sangat sensitif terhadap keputusan yang relatif sewenang-wenang (bandwidth untuk digunakan).
Kode R
Algoritma ini terkandung dalam setengah lusin baris fungsi pertama
f
,. Untuk menggambarkan penggunaannya, sisa kode menghasilkan angka-angka sebelumnya.sumber
Default
danHp5
bandwidth (saya berasumsiH1
danH5
berartih=1
danh=5
) ApakahHp5
nilainyah=1/2
? Kalau begitu apaDefault
?kde2d
bandwidth.nrd
kde
juga meningkat (dan jadi saya perlu memperpanjang batas integrasi)? Mengingat bahwa saya dapat hidup dengan kesalahan<10%
dalam nilai integral yang dihasilkan, apa pendapat Anda tentang penggunaan aturan Scott?sumber