Pola aneh dalam estimasi interval kepercayaan deviasi standar melalui bootstrap


8

Saya ingin memperkirakan interval kepercayaan untuk deviasi standar untuk beberapa data. Kode R terlihat seperti berikut:

library(boot)
sd_boot <- function (x, ind) {                
        res <- sd(x$ReadyChange[ind], na.rm = TRUE)
        return(res)            
}
data_boot <- boot::boot(data, statistic = sd_boot, R = 10000)
plot(data_boot)

Dan saya punya plot selanjutnya: masukkan deskripsi gambar di sini

Saya terjebak dengan menafsirkan histogram bootstraps ini dengan benar. Setiap set data serupa lainnya menunjukkan distribusi normal perkiraan bootstrap ... Tapi tidak ini. Omong-omong, ini adalah data mentah aktual:

> data$ReadyChange
 [1] 27.800000  8.985046 11.728021  8.830856  5.738600 12.028310  7.771528  9.208924 11.778611  6.024259  5.969931  6.063484  4.915764
[14] 12.027639  9.111146 13.898171 12.921377  6.916667 10.764479  6.875000 12.875000  7.017917  9.750000  7.921782 12.911551  6.000000

Bisakah Anda membantu saya dengan interpretasi dari pola bootstrap ini?


1
Saya tidak dapat mereproduksi hasil Anda bahkan menyalin dan menempelkan kode. Saya mendapatkan histogram yang terdistribusi sangat normal.
jwimberley

1
@ jwimberley, ada vektor data yang salah ... Terima kasih atas waktu Anda untuk menemukannya. Data aktual ada di pos di bawah EDIT.
pengguna16

2
pola dikonfirmasi untuk data baru. Dugaan saya adalah bahwa ini disebabkan oleh datapoint 27.800000, yang jauh lebih besar dari yang lainnya.
psarka

2
@psarka Mengkonfirmasi itu. Menghapus titik ini menghilangkan perilaku aneh. Standar deviasi sd tanpa titik ini adalah 3.02, tetapi 4.24 dengan titik ini. Itu menjelaskan puncak di 3.02 dan 4.24 (titik tidak termasuk dalam bootstrap; titik termasuk dalam bootstrap). Resonansi yang lebih tinggi adalah ketika titik ini dimasukkan beberapa kali.
jwimberley

1
@mdewey Ini didasarkan pada pengamatan oleh psarka yang saya tidak ingin mengambil kredit untuk.
jwimberley

Jawaban:


21

Anda mungkin memiliki bug dalam kode Anda, atau perpustakaan bootstrap melakukan sesuatu yang lain dari yang diharapkan.

Edit:

Setelah data dikoreksi disediakan, menjadi jelas bahwa pola disebabkan oleh satu pencilan, dengan masing-masing puncak sesuai dengan jumlah kali pencilan yang dipilih menjadi sampel.

masukkan deskripsi gambar di sini


1
Ditto dalam R: Setelah membuat data 21 elemen vektor dengan cara yang jelas, buat matriks indeks dengan inds <- matrix(sample(21,10000*21,replace=TRUE),10000,21)dan kemudian mencari elemen data dari setiap kolom dan menemukan standar deviasi dengan hist(apply(inds,1,function(ind){sd(data[ind])})). Tidak ada banyak puncak.
jwimberley

1
Jawaban ini menjelaskan dan mengilustrasikan masalah dengan sangat baik, tetapi tidak memberikan panduan atau saran tentang apa yang harus dilakukan tentang hal itu dalam praktiknya.
amoeba

8

Saya ragu-ragu untuk meletakkan ini sebagai jawaban, tetapi bagi saya ini tampaknya disebabkan oleh sejumlah kecil data yang Anda gunakan untuk bootstrap Anda (21, perbaiki saya jika saya salah).

Untuk lebih tepatnya, bagi saya tampaknya nilai-nilai spesifik ini , dari mana Anda sampel, hanya memiliki beberapa standar deviasi (puncak pada histogram Anda). Jika sampel dasar lebih besar dan lebih beragam, histogram yang dihasilkan akan jauh lebih halus (dan mungkin lebih mirip dengan distribusi normal yang Anda harapkan).

Pada catatan umum dan anggap saya di sini, ini adalah contoh yang baik untuk menunjukkan bootstrap tidak memecahkan masalah memiliki sampel kecil.


3
Saya suka penjelasan seperti ini, tetapi saya tidak bisa mereproduksi hasilnya!
Nick Cox

1
@NickCox Anda benar untuk menunjukkannya. Saya memasukkan jawaban ini tanpa mencoba mereplikasi hasil ini. Seperti yang dapat dilihat pada jawaban Psarka (yang telah saya segera perbarui) pasti ada beberapa kesalahan pengkodean. Oleh karena itu, saya telah belajar sesuatu juga (untuk mencoba dan mereplikasi masalah seperti itu).
IWS

Kuncinya juga bahwa bootstrap selalu tergantung pada data asli.
Nick Cox

Tentu saja, apa maksud Anda?
IWS

1
Mendukungmu! Yaitu, dengan alasan bahwa artefak dimungkinkan dan kewaspadaan diperlukan.
Nick Cox
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.