Kernel Bandwidth: Aturan Scott vs. Silverman

14

Adakah yang bisa menjelaskan dalam bahasa Inggris apa perbedaan antara aturan praktis Scott dan Silverman untuk pemilihan bandwidth? Secara khusus, kapan yang satu lebih baik dari yang lain? Apakah ini terkait dengan distribusi yang mendasarinya? Jumlah sampel?

PS Saya mengacu pada kode di SciPy .

xrfang
sumber
1
Saya juga tidak ingin tahu python. Saya hanya ingin bantuan dalam memahami kapan harus menggunakan aturan mana, dan mengapa.
xrfang

Jawaban:

11

Komentar dalam kode tampaknya akhirnya mendefinisikan keduanya pada dasarnya identik (selain perbedaan yang relatif kecil dalam konstanta).

Keduanya dalam bentuk , keduanya dengan apa yang tampak seperti sama (perkiraan skala), dan sangat dekat dengan 1 (dekat relatif terhadap ketidakpastian tipikal dalam estimasi bandwidth optimal ).cSEBUAHn-1/5SEBUAHc

[Perkiraan binwdith yang lebih sering dikaitkan dengan Scott adalah yang berasal dari makalah 1979-nya [1] ( ) - mis. Lihat Wikipedia - gulir ke bawah sedikit - atau R's .]3.49sn-1/3nclass.scott

1.059 dalam apa yang oleh kode disebut "perkiraan Scott" ada dalam buku (sebelumnya) oleh Silverman (lihat hal. 45 dari referensi Silverman di tautan Anda - Derivasi Scott mengenai hal itu ada di p130-131 dari buku yang mereka rujuk). Itu berasal dari perkiraan teori normal.

Bandwidth optimal (dalam istilah kesalahan rata-rata kuadrat terintegrasi) adalah fungsi dari turunan kedua kuadrat terintegrasi, dan keluar dari perhitungan untuk normal, tetapi dalam banyak kasus itu jauh lebih baik daripada optimal untuk distribusi lainnya. .1,059σ

The istilah perkiraan (semacam perkiraan robustified, dengan cara yang mengurangi kecenderungan untuk itu menjadi terlalu besar jika ada outlier / skewness / ekor berat). Lihat Persamaan 3.30 pada halaman 47, dibenarkan pada halaman 46-7.SEBUAHσ

Untuk alasan yang serupa dengan yang saya sarankan sebelumnya, Silverman menyarankan pengurangan 1,059 (sebenarnya dia menggunakan 1,06 secara keseluruhan, bukan 1,059 - seperti halnya Scott dalam bukunya). Dia memilih nilai yang dikurangi yang kehilangan efisiensi tidak lebih dari 10% pada IMSE pada kondisi normal, di mana 0,9 berasal.

Jadi kedua binwidth tersebut didasarkan pada binwidth optimal IMSE di normal, satu tepat di optimal, yang lain (sekitar 15% lebih kecil, untuk mendapatkan 90% efisiensi dari optimum di normal). [Aku akan menelepon kedua mereka "Silverman" perkiraan. Saya tidak tahu mengapa mereka memberi nama 1.059 untuk Scott.]

Menurut saya, keduanya terlalu besar. Saya tidak menggunakan histogram untuk mendapatkan estimasi kepadatan optimal IMSE. Jika itu (memperoleh perkiraan kepadatan yang optimal dalam arti IMSE) adalah apa yang ingin saya lakukan, saya tidak ingin menggunakan histogram untuk tujuan itu.

Histogram harus berdosa pada sisi yang lebih berisik (biarkan mata melakukan penghalusan yang diperlukan). Saya hampir selalu menggandakan (atau lebih) jumlah default dari nampan yang diberikan oleh aturan semacam ini. Jadi saya tidak akan menggunakan 1,06 atau 0,9, saya akan cenderung menggunakan sekitar 0,5, mungkin kurang pada ukuran sampel yang sangat besar.

Benar-benar sangat sedikit untuk memilih di antara mereka, karena mereka berdua memberikan terlalu sedikit tempat sampah untuk digunakan dalam menemukan apa yang terjadi dalam data (yang, setidaknya pada ukuran sampel kecil, lihat di sini .

[1]: Scott, DW (1979), "Tentang histogram yang optimal dan berbasis data," Biometrika , 66 , 605-610.

Glen_b -Reinstate Monica
sumber
Menurut dokumen SciPy di sini , aturan Scott adalah: n ** (- 1./(d+4)). Dengan melihat kode, saya menemukan saya salah mengerti aturan sama dengan "scotts_factor". Anda benar bahwa bandwidth terlalu besar. Saya akan membuka pertanyaan baru tentang pemilihan bandwidth numerik. Terima kasih.
xrfang
d=1n-1/5SEBUAHc
@ Glen_b-ReinstateMonica Bisakah Anda melihat pertanyaan yang saya posting di sini ? Saya menunjukkan masalah yang mungkin terjadi pada aturan Silverman ketika ukuran sampel besar digunakan. Bisakah Anda menjawab apa yang sedang terjadi secara terperinci?
user269666