Cara bootstrapping di r (dengan contoh)


Bootstrapping adalah metode yang dapat digunakan untuk memperkirakan kesalahan standar suatu statistik dan menghasilkan interval kepercayaan untuk statistik tersebut.

Proses dasar untuk bootstrap adalah sebagai berikut:

  • Ambil k sampel replikasi dengan penggantian dari kumpulan data tertentu.
  • Untuk setiap sampel, hitung statistik minat.
  • Hal ini memberikan k perkiraan berbeda untuk statistik tertentu, yang kemudian dapat Anda gunakan untuk menghitung kesalahan standar statistik dan membuat interval kepercayaan untuk statistik tersebut.

Kita dapat melakukan bootstrap di R menggunakan fungsi berikut dari perpustakaan bootstrap :

1. Hasilkan sampel bootstrap.

boot(data, statistik, R,…)

Emas:

  • data: vektor, matriks, atau blok data
  • statistik: fungsi yang menghasilkan statistik yang akan dimulai
  • A: Jumlah pengulangan bootstrap

2. Hasilkan interval kepercayaan bootstrap.

boot.ci(objek boot, conf, ketik)

Emas:

  • bootobject: Objek yang dikembalikan oleh fungsi boot()
  • conf : Interval kepercayaan yang akan dihitung. Nilai defaultnya adalah 0,95
  • type : Jenis interval kepercayaan yang akan dihitung. Pilihannya mencakup ‘standar’, ‘basic’, ‘stud’, ‘perc’, ‘bca’ dan ‘all’ – defaultnya adalah ‘all’

Contoh berikut menunjukkan cara menggunakan fungsi-fungsi ini dalam praktik.

Contoh 1: bootstrap statistik tunggal

Kode berikut menunjukkan cara menghitung kesalahan standar untuk R-kuadrat dari model regresi linier sederhana:

 set.seed(0)
library (boot)

#define function to calculate R-squared
rsq_function <- function (formula, data, indices) {
  d <- data[indices,] #allows boot to select sample
  fit <- lm(formula, data=d) #fit regression model
  return (summary(fit)$r.square) #return R-squared of model
}
#perform bootstrapping with 2000 replications
reps <- boot(data=mtcars, statistic=rsq_function, R=2000, formula=mpg~disp)

#view results of boostrapping
reps

ORDINARY NONPARAMETRIC BOOTSTRAP


Call:
boot(data = mtcars, statistic = rsq_function, R = 2000, formula = mpg ~ 
    available)


Bootstrap Statistics:
     original bias std. error
t1* 0.7183433 0.002164339 0.06513426

Dari hasilnya kita dapat melihat:

  • Estimasi R-squared untuk model regresi ini adalah 0.7183433 .
  • Kesalahan standar untuk perkiraan ini adalah 0,06513426 .

Kami juga dapat dengan cepat memvisualisasikan distribusi sampel bootstrap:

 plot(reps)

Histogram sampel bootstrap di R

Kita juga dapat menggunakan kode berikut untuk menghitung interval kepercayaan 95% untuk estimasi R-kuadrat model:

 #calculate adjusted bootstrap percentile (BCa) interval
boot.ci(reps, type=" bca ")

CALL: 
boot.ci(boot.out = reps, type = "bca")

Intervals: 
Level BCa          
95% (0.5350, 0.8188)  
Calculations and Intervals on Original Scale

Dari hasilnya terlihat bahwa interval kepercayaan 95% bootstrap untuk nilai R-kuadrat sebenarnya adalah (0,5350, 0,8188).

Contoh 2: bootstrap beberapa statistik

Kode berikut menunjukkan cara menghitung kesalahan standar untuk setiap koefisien dalam model regresi linier berganda:

 set.seed(0)
library (boot)

#define function to calculate fitted regression coefficients
coef_function <- function (formula, data, indices) {
  d <- data[indices,] #allows boot to select sample
  fit <- lm(formula, data=d) #fit regression model
  return (coef(fit)) #return coefficient estimates of model
}

#perform bootstrapping with 2000 replications
reps <- boot(data=mtcars, statistic=coef_function, R=2000, formula=mpg~disp)

#view results of boostrapping
reps

ORDINARY NONPARAMETRIC BOOTSTRAP


Call:
boot(data = mtcars, statistic = coef_function, R = 2000, formula = mpg ~ 
    available)


Bootstrap Statistics:
       original bias std. error
t1* 29.59985476 -5.058601e-02 1.49354577
t2* -0.04121512 6.549384e-05 0.00527082

Dari hasilnya kita dapat melihat:

  • Koefisien perkiraan untuk intersep model adalah 29.59985476 dan kesalahan standar perkiraan ini adalah 1.49354577 .
  • Koefisien estimasi disp variabel prediktor dalam model adalah -0.04121512 dan standar error estimasi ini adalah 0.00527082 .

Kami juga dapat dengan cepat memvisualisasikan distribusi sampel bootstrap:

 plot(reps, index=1) #intercept of model
plot(reps, index=2) #disp predictor variable

Bootstrap di R

Kita juga dapat menggunakan kode berikut untuk menghitung interval kepercayaan 95% untuk setiap koefisien:

 #calculate adjusted bootstrap percentile (BCa) intervals
boot.ci(reps, type=" bca ", index=1) #intercept of model
boot.ci(reps, type=" bca ", index=2) #disp predictor variable

CALL: 
boot.ci(boot.out = reps, type = "bca", index = 1)

Intervals: 
Level BCa          
95% (26.78, 32.66)  
Calculations and Intervals on Original Scale
BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
Based on 2000 bootstrap replicates

CALL: 
boot.ci(boot.out = reps, type = "bca", index = 2)

Intervals: 
Level BCa          
95% (-0.0520, -0.0312)  
Calculations and Intervals on Original Scale

Dari hasil tersebut terlihat bahwa interval kepercayaan 95% bootstrap untuk koefisien model adalah sebagai berikut:

  • IC untuk intersepsi: (26.78, 32.66)
  • CI untuk tampilan : (-.0520, -.0312)

Sumber daya tambahan

Cara melakukan regresi linier sederhana di R
Cara melakukan regresi linier berganda di R
Pengantar Interval Keyakinan

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *