Ada banyak cara untuk menghitung CI bootstrap dan nilai-p. Masalah utama adalah bahwa tidak mungkin bagi bootstrap untuk menghasilkan data di bawah hipotesis nol. Tes permutasi adalah alternatif berbasis resampling yang layak untuk ini. Untuk menggunakan bootstrap yang tepat, Anda harus membuat beberapa asumsi tentang distribusi sampling dari statistik uji.
Sebuah komentar tentang kurangnya invarian pengujian: sangat mungkin untuk menemukan 95% CI tidak termasuk dari null belum ap> 0,05 atau sebaliknya. Untuk mendapatkan persetujuan yang lebih baik, perhitungan sampel bootstrap di bawah nol harus dilakukan dengan daripada . Dengan kata lain jika kerapatan miring tepat di sampel bootstrap, kerapatan harus miring kiri di nol. Sangat tidak mungkin untuk membalikkan tes untuk CI dengan solusi non-analitis (mis. Resampling) seperti ini.β * 0 = β * - ββ∗0=β^−β^∗β∗0=β^∗−β^
bootstrap normal
Salah satu pendekatan adalah bootstrap normal di mana Anda mengambil mean dan standar deviasi dari distribusi bootstrap, menghitung distribusi sampling di bawah nol dengan menggeser distribusi dan menggunakan persentil normal dari distribusi nol pada titik perkiraan dalam sampel bootstrap asli . Ini adalah pendekatan yang masuk akal ketika distribusi bootstrap normal, inspeksi visual biasanya mencukupi di sini. Hasil menggunakan pendekatan ini biasanya sangat dekat dengan kuat, atau estimasi kesalahan berbasis sandwich yang kuat terhadap heteroskedastisitas dan / atau asumsi varian sampel terbatas. Asumsi statistik uji normal adalah kondisi yang lebih kuat dari asumsi dalam tes bootstrap berikutnya yang akan saya bahas.
bootstrap persentil
Pendekatan lain adalah bootstrap persentil yang menurut saya sebagian besar dari kita pertimbangkan ketika kita berbicara tentang bootstrap. Di sini, distribusi parameter yang bootstrap memperkirakan distribusi empiris sampel di bawah hipotesis alternatif. Distribusi ini mungkin tidak normal. A 95% CI mudah dihitung dengan mengambil kuantil empiris. Tetapi satu asumsi penting adalah bahwa distribusi semacam itu sangat penting . Ini berarti bahwa jika parameter yang mendasarinya berubah, bentuk distribusi hanya bergeser oleh konstanta, dan skala tidak selalu berubah. Ini asumsi yang kuat! Jika ini berlaku, Anda dapat menghasilkan "distribusi statistik di bawah hipotesis nol" (DSNH atauF∗0) dengan mengurangi distribusi bootstrap dari perkiraan, lalu menghitung berapa persentase DSNH "lebih ekstrem" dari perkiraan Anda dengan menggunakan2×min(F∗0(β^),1−F∗0(β^))
Bootstrap resmi
Solusi bootstrap termudah untuk menghitung nilai- adalah dengan menggunakan bootstrap mahasiswa. Dengan setiap iterasi bootstrap, hitung statistik dan kesalahan standarnya dan kembalikan statistik siswa. Ini memberikan distribusi siswa bootstrap untuk hipotesis yang dapat digunakan untuk menghitung nilai cis dan p sangat mudah. Ini juga mendasari intuisi di balik bootstrap yang bias dikoreksi. Distribusi t bergeser lebih mudah di bawah nol karena hasil terpencil diturunkan oleh varians tinggi yang sesuai.p
Contoh pemrograman
Sebagai contoh, saya akan menggunakan city
data dalam paket bootstrap. Interval kepercayaan bootstrap dihitung dengan kode ini:
ratio <- function(d, w) sum(d$x * w)/sum(d$u * w)
city.boot <- boot(city, ratio, R = 999, stype = "w", sim = "ordinary")
boot.ci(city.boot, conf = c(0.90, 0.95),
type = c("norm", "basic", "perc", "bca"))
dan hasilkan output ini:
BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
Based on 999 bootstrap replicates
CALL :
boot.ci(boot.out = city.boot, conf = c(0.9, 0.95), type = c("norm",
"basic", "perc", "bca"))
Intervals :
Level Normal Basic
90% ( 1.111, 1.837 ) ( 1.030, 1.750 )
95% ( 1.042, 1.906 ) ( 0.895, 1.790 )
Level Percentile BCa
90% ( 1.291, 2.011 ) ( 1.292, 2.023 )
95% ( 1.251, 2.146 ) ( 1.255, 2.155 )
Calculations and Intervals on Original Scale
95% CI untuk bootstrap normal diperoleh dengan menghitung:
with(city.boot, 2*t0 - mean(t) + qnorm(c(0.025, 0.975)) %o% sqrt(var(t)[1,1]))
Nilai p diperoleh demikian:
> with(city.boot, pnorm(abs((2*t0 - mean(t) - 1) / sqrt(var(t)[1,1])), lower.tail=F)*2)
[1] 0.0315
Yang setuju bahwa CI normal 95% tidak termasuk nilai rasio nol 1.
Persentil CI diperoleh (dengan beberapa perbedaan karena metode ikatan):
quantile(city.boot$t, c(0.025, 0.975))
Dan nilai p untuk bootstrap persentil adalah:
cvs <- quantile(city.boot$t0 - city.boot$t + 1, c(0.025, 0.975))
mean(city.boot$t > cvs[1] & city.boot$t < cvs[2])
Memberikan p ap 0,035 yang juga setuju dengan interval kepercayaan dalam hal pengecualian 1 dari nilai. Kita tidak dapat secara umum mengamati bahwa, sementara lebar CI persentil hampir selebar CI normal dan bahwa CI persentil lebih jauh dari nol bahwa CI persentil harus memberikan nilai-p yang lebih rendah. Ini karena bentuk distribusi sampling yang mendasari CI untuk metode persentil tidak normal.