Saya perlu memperkirakan fungsi kerapatan berdasarkan serangkaian pengamatan menggunakan penduga kerapatan kernel. Berdasarkan set pengamatan yang sama, saya juga perlu memperkirakan turunan pertama dan kedua dari kepadatan menggunakan turunan dari penduga kepadatan kernel. Bandwidth pasti akan memiliki efek yang besar pada hasil akhir.
Pertama, saya tahu ada beberapa fungsi R yang memberikan bandwidth KDE. Saya tidak yakin mana yang lebih disukai. Adakah yang bisa merekomendasikan salah satu dari fungsi R ini untuk bandwidth KDE?
Kedua, untuk turunan dari KDE, haruskah saya memilih bandwidth yang sama?
r
nonparametric
pdf
kernel-smoothing
pengguna13154
sumber
sumber
Jawaban:
Bandwidth optimal untuk estimasi turunan akan berbeda dari bandwidth untuk estimasi kepadatan. Secara umum, setiap fitur densitas memiliki pemilih bandwidth optimal sendiri.
Jika tujuan Anda adalah untuk meminimalkan rata-rata kesalahan kuadrat terintegrasi (yang merupakan kriteria biasa), tidak ada yang subjektif tentang hal itu. Ini adalah masalah menurunkan nilai yang meminimalkan kriteria. Persamaan diberikan dalam Bagian 2.10 dari Hansen (2009) .
Bagian yang sulit adalah bandwidth yang optimal adalah fungsi dari kepadatan itu sendiri, sehingga solusi ini tidak berguna secara langsung. Ada sejumlah metode di sekitar untuk mencoba mengatasi masalah itu. Ini biasanya memperkirakan beberapa fungsi kerapatan menggunakan perkiraan normal. (Catatan, tidak ada asumsi bahwa kerapatan itu sendiri normal. Asumsinya adalah bahwa beberapa fungsi kerapatan dapat diperoleh dengan asumsi normalitas.)
Di mana perkiraan dikenakan menentukan seberapa baik pemilih bandwidth. Pendekatan paling kasar disebut "aturan referensi normal" yang memaksakan perkiraan pada tingkat tinggi. Akhir Bagian 2.10 dalam Hansen (2009) memberikan rumus menggunakan pendekatan ini. Pendekatan ini diimplementasikan dalam
hns()
fungsi dariks
paket pada CRAN. Itu mungkin yang terbaik yang akan Anda dapatkan jika Anda tidak ingin menulis kode Anda sendiri. Jadi, Anda dapat memperkirakan turunan kepadatan sebagai berikut (menggunakanks
):Pendekatan yang lebih baik, biasanya dikenal sebagai pemilih "plug langsung", memaksakan pendekatan pada tingkat yang lebih rendah. Untuk estimasi kepadatan lurus, ini adalah metode Sheather-Jones, diimplementasikan dalam R menggunakan
density(x,bw="SJ")
. Namun, saya tidak berpikir ada fasilitas serupa yang tersedia dalam paket R untuk estimasi turunan.Daripada menggunakan estimasi kernel langsung, Anda mungkin lebih baik dengan estimator polinomial lokal. Ini dapat dilakukan dengan menggunakan
locpoly()
fungsi dariks
paket di R. Sekali lagi, tidak ada pemilihan bandwidth yang optimal diimplementasikan, tetapi bias akan lebih kecil daripada untuk estimator kernel. misalnya,sumber