Di sini @gung membuat referensi ke aturan .632+. Pencarian Google cepat tidak menghasilkan jawaban yang mudah dimengerti tentang apa arti aturan ini dan untuk tujuan apa aturan itu digunakan. Apakah seseorang tolong jelaskan aturan .632+?
Di sini @gung membuat referensi ke aturan .632+. Pencarian Google cepat tidak menghasilkan jawaban yang mudah dimengerti tentang apa arti aturan ini dan untuk tujuan apa aturan itu digunakan. Apakah seseorang tolong jelaskan aturan .632+?
Jawaban:
Saya akan sampai ke penaksir 0,632, tetapi itu akan menjadi pengembangan yang agak panjang:
Misalkan kita ingin memprediksi dengan menggunakan fungsi , di mana dapat bergantung pada beberapa parameter yang diperkirakan menggunakan data , misal
Perkiraan kesalahan prediksi yang naif adalah mana adalah beberapa fungsi kerugian, misalnya kuadrat kesalahan hilang. Ini sering disebut kesalahan pelatihan. Efron et al. menyebutnya tingkat kesalahan jelas atau tingkat penggantian. Ini tidak terlalu baik karena kami menggunakan data kami agar sesuai dengan . Ini menghasilkan menjadi bias ke bawah. Anda ingin tahu seberapa baik model tidak dalam memprediksi nilai-nilai baru.
Seringkali kita menggunakan validasi silang sebagai cara sederhana untuk memperkirakan kesalahan prediksi sampel tambahan yang diharapkan (seberapa baik model kita lakukan pada data tidak dalam set pelatihan kita?).
Cara yang populer untuk melakukan ini adalah dengan melakukan -validasi silang. Pisahkan data Anda ke dalam grup (mis. 10). Untuk setiap kelompok , paskan model Anda pada kelompok tersisa dan ujilah pada kelompok ke- . Kesalahan prediksi ekstra-sampel tervalidasi silang kami hanya rata-rata mana adalah beberapa fungsi indeks yang menunjukkan partisi di mana pengamatan dialokasikan dan adalah nilai prediksi menggunakan data yang tidak ada dalam set .
Estimator ini kira-kira tidak bias untuk kesalahan prediksi sebenarnya ketika dan memiliki varian yang lebih besar dan lebih mahal secara komputasi untuk lebih besar . Jadi sekali lagi kita melihat bias-varians trade-off yang dimainkan.
Alih-alih validasi silang, kita bisa menggunakan bootstrap untuk memperkirakan kesalahan prediksi sampel tambahan. Resampling bootstrap dapat digunakan untuk memperkirakan distribusi sampling dari berbagai statistik. Jika data pelatihan kami adalah , maka kita dapat mempertimbangkan untuk mengambil sampel bootstrap (dengan penggantian) dari set ini mana setiap adalah satu set sampelSekarang kita dapat menggunakan sampel bootstrap kami untuk memperkirakan kesalahan prediksi sampel ekstra: mana adalah nilai prediksi pada dari model yang cocok dengan
Namun, jika kita memiliki fungsi prediksi yang sangat berlebihan (yaitu ) maka bahkan penaksir .632 akan menjadi bias ke bawah. Estimator .632+ dirancang untuk kompromi yang kurang bias antara dan . dengan mana adalah tingkat kesalahan tidak-informasi, diperkirakan dengan mengevaluasi model prediksi pada semua kemungkinan kombinasi dari target dan prediktor .
Di sini mengukur tingkat overfitting relatif. Jika tidak ada overfitting (R = 0, ketika ) ini sama dengan estimator .632.
Anda akan menemukan informasi lebih lanjut di bagian 3 ini 1 kertas. Tetapi untuk meringkas, jika Anda memanggil sampel angka dari diambil secara acak dan dengan penggantian, berisi rata-rata sekitar elemen unik.
Alasannya adalah sebagai berikut. Kami mengisi dengan mengambil sampel kali (secara acak dan dengan penggantian) dari . Pertimbangkan indeks tertentu .
Kemudian:
dan
dan ini benar (secara intuitif, karena kami sampel dengan penggantian, probabilitas tidak bergantung pada )
jadi
Anda juga dapat melakukan simulasi kecil ini untuk memeriksa secara empiris kualitas perkiraan (yang tergantung pada ):
n <- 100
fx01 <- function(ll,n){
a1 <- sample(1:n, n, replace=TRUE)
length(unique(a1))/n
}
b1 <- c(lapply(1:1000,fx01,n=100), recursive=TRUE)
mean(b1)
1. Bradley Efron dan Robert Tibshirani (1997). Peningkatan Validasi Silang: Metode .632+ Bootstrap . Jurnal Asosiasi Statistik Amerika , Vol. 92, No. 438, hlm. 548--560.
Dalam pengalaman saya, terutama berdasarkan simulasi, varian bootstrap 0.632 dan 0.632+ dibutuhkan hanya karena masalah berat yang disebabkan oleh penggunaan aturan penilaian akurasi yang tidak tepat, yaitu proporsi "diklasifikasikan" dengan benar. Saat Anda menggunakan aturan penilaian yang tepat (misalnya skor penyimpangan atau Brier) atau semi-layak (misalnya, -index = AUROC), bootstrap optimisme Efron-Gong standar berfungsi dengan baik.
Jawaban itu sangat bermanfaat. Saya tidak dapat menemukan cara untuk mendemonstrasikannya dengan matematika jadi saya menulis beberapa kode Python yang bekerja dengan sangat baik:
from numpy import mean
from numpy.random import choice
N = 3000
variables = range(N)
num_loop = 1000
# Proportion of remaining variables
p_var = []
for i in range(num_loop):
set_var = set(choice(variables, N))
p=len(set_var)/float(N)
if i%50==0:
print "value for ", i, " iteration ", "p = ",p
p_var.append(p)
print "Estimator of the proportion of remaining variables, ", mean(p_var)