Pertama-tama: Dari apa yang saya mengerti, residu bootstrap bekerja sebagai berikut:
- Sesuaikan model dengan data
- Hitung residu
- Resample residu dan tambahkan ke 1.
- Sesuaikan model dengan dataset baru dari 3.
- Ulangi
n
kali, tetapi selalu tambahkan residu resampled ke fit dari 1.
Apakah itu benar sejauh ini?
Yang ingin saya lakukan adalah sesuatu yang sedikit berbeda:
Saya ingin memperkirakan parameter dan prediksi ketidakpastian untuk suatu algoritma yang memperkirakan beberapa variabel lingkungan.
Apa yang saya miliki adalah deret waktu bebas kesalahan (dari simulasi) variabel itu, x_true
yang saya tambahkan noise, x_noise
untuk menghasilkan dataset sintetik x
. Saya kemudian mencoba mencari parameter optimal dengan menyesuaikan algoritma saya dengan jumlah kuadrat sum((x_estimate - x_true)^2)
(! Tidak x_estimate - x
!) Sebagai fungsi objektif. Untuk melihat bagaimana algoritme saya bekerja dan membuat sampel distribusi parameter saya, saya ingin menguji ulang x_noise
, menambahkannya x_true
, menyesuaikan model saya lagi, bilas dan ulangi. Apakah itu pendekatan yang valid untuk menilai ketidakpastian parameter? Bisakah saya mengartikan cocok ke set data bootstrap sebagai ketidakpastian prediksi, atau apakah saya harus mengikuti prosedur yang saya posting di atas?
/ edit: Saya pikir saya belum benar-benar menjelaskan apa yang dilakukan model saya. Anggap saja sesuatu seperti metode de-noising. Ini bukan model prediktif, ini adalah algoritma yang mencoba untuk mengekstrak sinyal yang mendasari serangkaian waktu data lingkungan yang berisik.
/ edit ^ 2: Untuk Pengguna MATLAB di luar sana, saya menuliskan beberapa contoh regresi linier cepat & kotor tentang apa yang saya maksud.
Inilah yang saya yakini sebagai bootstrap residu "biasa" (mohon perbaiki jika saya salah): http://pastebin.com/C0CJp3d1
Inilah yang ingin saya lakukan: http://pastebin.com/mbapsz4c
sumber
Jawaban:
Berikut adalah algoritma umum (semi-parametrik-bootstrap) lebih terinci:
model:
y= x β+ ϵ
biarkan menjadi residuϵ^
sumber
Saya tidak yakin pemahaman saya benar. Tapi di sini adalah saran saya untuk memodifikasi kode Anda ("bootstrap residual", baris 28-34) menjadi:
Idenya adalah bahwa setiap kali Anda menggunakan residu bukan dari jalankan pertama, tetapi dari fit bootstrap sebelumnya. Bagi saya, semua yang lain tampaknya valid.
Ini adalah versi revisi yang telah diperiksa di MATLAB. Dua kesalahan telah diperbaiki.
sumber
Untuk melihat bagaimana suatu algoritma bekerja dalam hal akurasi prediksi / kesalahan kuadrat rata-rata, Anda mungkin memerlukan bootstrap "optimisme" Efron-Gong. Ini diimplementasikan agar mudah digunakan dalam
rms
paket R. Lihat fungsinyaols
,validate.ols
,calibrate
.sumber