You are on page 1of 8

RESAMPLING BOOTSTRAP PADA R

Joko Sungkono*

Abstrak:Pada tulisan ini, algoritma resampling bootstrap akan disajikan secara detail dalam bahasa
pemrograman software R untuk beberapa contoh kasus. Resampling bootstrap pada R diberikan dalam suatu
fungsi yang disusun mengikuti algoritma resampling bootstrap pada kasus yang diambil.
Untuk melihat keakuratan metode bootstrap pada masing-masing kasus diberikan suatu simulasi monte
carlo dengan membangkitkan data dari variabel random berdistribusi normal.

Kata kunci: bootstrap, resampling, software R, simulasi.

PENDAHULUAN dengan prosedur resampling dengan pengembalian

Bootstrap adalah suatu metode yang dapat dari data asli. Metode bootstrap dilakukan dengan
mengambil sampel dari sampel asli dengan ukuran
bekerja tanpa membutuhkan asumsi distribusi karena
sama dengan ukuran sampel asli dan dilakukan dengan
sampel asli digunakan sebagai populasi. Dalam
pengembalian. Kedudukan sampel asli dalam metode
Sahinler dan Topuz [4], Efron menyatakan bahwa
bootstrap dipandang sebagai populasi. Metode
bootstrap adalah teknik resampling nonparametrik
peyampelan ini biasa disebut dengan resampling
yang bertujuan untuk menentukan estimasi standar
bootstrap. Bootstrap juga sering digunakan untuk
eror dan interval konfidensi dari parameter populasi
mengestimasi standar eror estimator dan interval
seperti mean, rasio, median, proporsi, koefisien
konfidensi dari suatu parameter populasi yang tidak
korelasi atau koefisien regresi tanpa menggunakan
diketahui. Pada dasarnya teknik estimasi dengan
asumsi distribusi. Bootstrap dapat digunakan untuk
mengatasi permasalahan dalam statistika baik masalah metode resampling bootstrap menggunakan semua

data yang sedikit, data yang menyimpang dari kemungkinan sampel yaitu nn. Akan tetapi hal ini
sangat sulit untuk dilakukan untuk n>7. Untuk
asumsinya maupun data yang tidak memiliki asumsi
keperluan perhitungan biasanya digunakan
dalam distribusinya. Bootstrap adalah suatu metode
pendekatan simulasi, sehingga disebut simulasi
yang berbasis komputer yang sangat potensial untuk
bootstrap. Misalkan dimiliki sampel random
dipergunakan pada masalah keakurasian, [3].
berukuran n yaitu yang diambil
Bootstrap diperkenalkan pertama kali oleh
dari suatu populasi dan statistik adalah estimasi
Efron tahun 1979. Bootstrap adalah metode yang
untuk parameter berdasar sampel asli. Berdasarkan
didasarkan pada simulasi data untuk keperluan
uraian metode resampling bootstrap menurut Efron
inferensi statistik, [3]. Metode bootstrap digunakan
dan Tibshirani [3], prosedur resampling bootstrap
untuk mencari distribusi sampling dari suatu estimator
dapat dituliskan sebagai :

* Program Studi Pendidikan Matematika, FKIP UNWIDHA Klaten

Magistra No. 84 Th. XXV Juni 2013 47


ISSN 0215-9511
Resampling Bootstrap Pada R

1. Mengkonstruksi distribusi empiris dari suatu Tulisan ini memberikan paket resampling bootstrap
sampel dengan memberikan probabilitas 1/n pada secara detail dalam bahasa R yang disusun
setiap dimana i = 1, 2,..., n berdasarkan algoritma resampling bootstrap pada
2. Mengambil sampel bootstrap berukuran n secara kasus estimasi rata-rata dan estimasi parameter regresi
random dengan pengembalian dari distribusi 1. linear.
empiris , sebut sebagai sampel bootstrap
pertama
ESTIMASI BOOTSTRAP UNTUK RATA-RATA
3. Menghitung 1.statistik yang diinginkan dari
Pada bagian ini akan dibahas resampling
sampel bootstrap , sebut sebagai
bootstrap untuk estimasi rata-rata populasi. Misalkan
4. Mengulangi langkah 2 dan 3 hingga B kali, 1.
dimiliki sampel berukuran n yaitu
diperoleh
yang diambil dari suatu populasi dan adalah estimasi
5. Mengkontruksi suatu distribusi probabilitas dari
untuk parameter berdasar sampel asli. Berdasarkan
dengan memberikan probabilitas 1/B pada uraian metode resampling bootstrap menurut Efron
setiap . Distribusi tersebut dan Tibshirani [3], prosedur resampling bootstrap
merupakan estimator bootstrap untuk distribusi
untuk estimasi rata-rata dapat dituliskan sebagai
sampling dan dinotasikan dengan .
berikut
6. Pendekatan estimasi bootstrap untuk adalah
1. Mengkonstruksi distribusi empiris dari suatu
mean dari 1. distribusi yaitu
sampel dengan memberikan probabilitas 1/n pada
setiap dimana i = 1, 2,..., n
2. Mengambil sampel bootstrap berukuran n secara
random dengan pengembalian dari distribusi
Pendekatan bootstrap jika diulang lebih dari
empiris , sebut sebagai sampel bootstrap
satu kali akan memberikan hasil yang berbeda, hal
pertama
ini karena yang dilakukan adalah suatu simulasi. Jika
3. Menghitung statistik yang diinginkan dari
dapat dilakukan menggunakan semua kemungkinan
sampel bootstrap , sebut sebagai
sampel yaitu nn maka hasilnya akan sama.
4. Mengulangi langkah 2 dan 3 hingga B kali,
Secara teori, menurut Shao dan Tu [5], sifat
diperoleh
asimtotis distribusi bootstrap mendekati distribusi
sebenarnya. Pada penggunaannya, metode bootstrap 5. Mengkontruksi suatu distribusi probabilitas dari

harus dilakukan dengan bantuan komputer karena dengan memberikan probabilitas 1/B pada

melibatkan perhitungan yang sangat banyak. Software setiap . Distribusi tersebut

– software statistik belum ada yang memberikan paket merupakan estimator bootstrap untuk distribusi

resampling bootstrap secara langsung, sehingga sampling dan dinotasikan dengan .

metode ini masih jarang digunakan oleh peneliti.

48 Magistra No. 84 Th. XXV Juni 2013


ISSN 0215-9511
Resampling Bootstrap Pada R

6. Pendekatan estimasi bootstrap untuk adalah bootstrap persentil (1- )x 100% untuk diberikan
mean dari distribusi yaitu oleh

dengan adalah persentil ke 100x( )


Menurut Bickel dan Freedman [2], sifat
asimtotis distribusi bootstrap untuk kuantitas pivot dan merupakan persentil ke
mendekati distribusi normal dengan 100x( ) dari distribusi
rata-rata nol dan variansi .
Algoritma resampling bootstrap pada kasus
Estimasi interval konfidensi bootstrap untuk
estimasi rata-rata dibuat dalam bahasa pemrograman
rata-rata diberikan dalam interval pendekatan normal
R dengan nama fungsi “boot” dan diberikan sebagai
dan interval persentil. Interval konfidensi bootstrap
berikut.
dengan pendekatan normal sebenarnya analog dengan
interval konfidensi standar. Menurut Bennett [1], > fix(boot)
pemanfaatan metode bootstrap dalam mengkonstruksi
Kemudian pada fungsinya diisikan sebagai berikut.
interval ini adalah untuk menentukan standar eror dari
function(x,B,a)
estimator. Berdasarkan sampel bootstrap dengan
replikasi B kali diperoleh . Variansi {
estimator bootstrap diberikan oleh
n<-length(x)
y <- matrix(0, nrow = B, ncol = n)
xbar <- seq(1:B)

Standar eror bootstrap diperoleh dari for(i in 1:B) {


akar variansi. Interval konfidensi bootstrap y[i, ] <- sample(x, n, replace = T)
pendekatan normal (1- )x 100% untuk diberikan
xbar[i] <- mean(y[i, ])
oleh
}
xbartot <- mean(xbar)
Interval konfidensi bootstrap persentil
bb<-mean(x)+qnorm(a/2)*sqrt(var(x)/n)
didasarkan pada distribusi estimator bootstrap.
Dibentuk distribusi empiris untuk ba<-mean(x)+qnorm(1-a/2)*sqrt(var(x)/n)
misalkan . Dari distribusi ini dapat dihitung nilai int<-cbind(bb,ba)
persentil yang merupakan ide dasar konstruksi interval bb1<-quantile(xbar,a/2)
konfidensi bootstrap persentil. Interval konfidensi
ba1<-quantile(xbar,1-(a/2))

Magistra No. 84 Th. XXV Juni 2013 49


ISSN 0215-9511
Resampling Bootstrap Pada R

int1<-cbind(bb1,ba1) Berdasarkan output R yang diperoleh terlihat


list(est.bootstrap=xbartot,int.normal=int,int.pct=int1) bahwa rata-rata populasi 33,02407 yang sangat dekat
dengan rata-rata populasi yaitu 33,03872. Sedangkan
}
estimasi interval konfidensi baik interval bootstrap
Untuk menjalankan program resampling pendekatan normal maupun interval bootstrap
bootstrap di R ini diberikan simulasi dengan persentil memberikan hasil yang hampir sama dan
membangkitkan data. Misalkan populasi terdiri dari keduanya memuat parameter populasi dengan range
20.000 data dari distribusi normal yang cukup sempit.

> x<-rnorm(20000,33,4)
> mean(x) ESTIMASI BOOTSTRAP UNTUK
[1] 33.03872 PARAMETER REGRESI LINEAR

Dari populasi kita dapat mengetahui rata-rata Pada bagian ini akan dibahas resampling

populasi yang yang akan kita estimasi adalah bootstrap untuk estimasi parameter regresi linear.

33,03872. Diambil sampel secara random berukuran Tanpa mengurangi keumuman pembahasan diambil

500 dari populasi. Sampel ini selanjutnya disebut regresi linear dengan satu variabel dependen dan dua

sampel asli. variabel independen. Model regresi linear populasinya


. Metode bootstrap
> y<-sample(x,500,replace=F)
yang diberikan pada regresi ini adalah resampling
Selanjutnya untuk mengestimasi rata-rata
residual. Misalkan dimiliki sampel berpasangan antara
populasi menggunakan resampling bootstrap
variabel dependen dan independen yang dituliskan
berdasarkan sampel asli dengan replikasi B=1000 dan
dalam bentuk matrik Y dan X dengan ukuran sampel
tingkat kepercayaan interval 95% diberikan oleh
n. Selanjutnya sampel ini disebut sampel asli. Menurut
> boot(y,1000,0.05) Sahinler dan Topuz [4], prosedur bootstrap resampling

$est.bootstrap residual untuk estimasi parameter regresi dapat


dituliskan sebagai berikut :
[1] 33.02407
1. Menentukan fit model berdasarkan sampel asli
$int.normal dengan menggunakan metode kuadrat terkecil,
bb ba diperoleh
[1,] 32.66326 33.37283 2. Menghitung nilai residual , diperoleh

$int.pct
3. Mengambil sampel bootstrap berukuran n dari
bb1 ba1
secara random dengan
2.5% 32.66392 33.3865 pengembalian, diperoleh sampel bootstrap
pertama

50 Magistra No. 84 Th. XXV Juni 2013


ISSN 0215-9511
Resampling Bootstrap Pada R

4. Menghitung nilai bootstrap untuk dengan Standar eror bootstrap diperoleh dari
menambahkan pada fit model, sehingga akar variansi. Interval konfidensi bootstrap
diperoleh pendekatan normal (1- )x 100% untuk diberikan
5. Menghitung koefisien regresi untuk sampel oleh
bootstrap yang pertama dengan , diperoleh

Interval konfidensi bootstrap persentil


6. Mengulangi proses diatas sebanyak B kali,
didasarkan pada distribusi estimator bootstrap. Untuk
diperoleh
setiap k, dibentuk distribusi empiris untuk
7. Pendekatan estimasi bootstrap untuk parameter misalkan . Dari distribusi ini
regresi adalah mean dari distribusi dapat dihitung nilai persentil yang merupakan ide
yaitu dasar konstruksi interval konfidensi bootstrap
persentil. Interval konfidensi bootstrap persentil (1-
)x 100% untuk diberikan oleh

Pada kasus ini karena terdapat dua variabel


independen maka matrik , dengan adalah persentil ke 100x( )

dan . dan merupakan persentil ke

Estimasi interval konfidensi bootstrap untuk 100x( ) dari distribusi


parameter regresi diberikan dalam interval pendekatan
Algoritma resampling bootstrap pada kasus
normal dan interval persentil. Interval konfidensi
estimasi parameter regresi dibuat dalam bahasa
bootstrap dengan pendekatan normal sebenarnya
pemrograman R dengan nama fungsi “reg” dan
analog dengan interval konfidensi standar. Menurut
diberikan sebagai berikut.
Bennett [1], pemanfaatan metode bootstrap dalam
mengkonstruksi interval ini adalah untuk menentukan > fix(reg)
standar eror dari estimator. Berdasarkan sampel
Kemudian pada fungsinya diisikan sebagai berikut.
bootstrap dengan replikasi B kali diperoleh
function(y, x1, x2,B,a)
. Variansi estimator bootstrap
untuk k=0,1,2 diberikan oleh {
n<-length(y)
b0 <- matrix(coef(lm(y ~ x1 + x2)), nrow = 1,
ncol = 3)
yfit <- b0[, 1] + b0[, 2] * x1 + b0[, 3] * x2

Magistra No. 84 Th. XXV Juni 2013 51


ISSN 0215-9511
Resampling Bootstrap Pada R

e <- seq(1:n) int2 <- matrix(c(lop0, upp0, lop1, upp1, lop2,


for(i in 1:n) { upp2), nrow = 3, byrow= T)

e[i] <- y[i] - yfit[i] list(est.boot=bboot,int.normal=int1,int.pct=int2)


}
}
estar <- matrix(0, nrow = B, ncol = n) Untuk menjalankan program resampling bootstrap di

ystar <- matrix(0, nrow = B, ncol = n) R ini diberikan simulasi dengan membangkitkan data.
Misalkan populasi terdiri dari 30 data dari untuk y, x1
b <- matrix(0, nrow = B, ncol = 3)
dan x2 masing-masing sebagai berikut.
for(i in 1:B) {
> x1<-rnorm(30,4,1.5)
estar[i, ] <- sample(e, n, replace = T)
> x2<-rnorm(30,5,1.5)
ystar[i, ] <- b0[, 1] + b0[, 2] * x1 + b0[, 3] * x2
> e<-rnorm(30)
+ estar[i, ]
> y<-3+7*x1+x2+e
b[i, ] <- coef(lm(ystar[i, ] ~ x1 + x2))
} Berdasarkan data ini kita sudah mengetahui
nilai parameter populasinya , , berturut-
bboot <- apply(b, 2, mean)
tur ut 3, 7 dan 1. Selanjutnya untuk melihat
lo0<- b0[, 1] + qnorm(a/2) * sqrt(var(b[,1]))
keakuratan metode bootstrap akan dilakukan
lo1<- b0[, 2] + qnorm(a/2) * sqrt(var(b[,2])) estimasi berdasarkan data sampel. Estimasi
lo2 <- b0[, 3] + qnorm(a/2) * sqrt(var(b[,3])) par ameter regresi menggunakan resampling
bootstrap dengan replikasi B=1000 dan tingkat
up0 <- b0[, 1] + qnorm(1-a/2) * sqrt(var(b[,1]))
kepercayaan interval 95% diberikan oleh
up1 <- b0[, 2] + qnorm(1-a/2) * sqrt(var(b[,2]))
> reg(y,x1,x2,1000,0.05)
up2 <- b0[, 3] + qnorm(1-a/2) * sqrt(var(b[,3]))
int1 <- matrix(c(lo0, up0, lo1, up1, lo2, up2), $est.boot
nrow = 3, byrow = T) [1] 2.813375 6.895319 1.075275
lop0 <- quantile(b[,1], a/2)
lop1 <- quantile(b[,2], a/2) $int.normal
lop2 <- quantile(b[,3], a/2) [,1] [,2]

upp0 <- quantile(b[,1], 1-a/2) [1,] 1.2532716 4.343726

upp1 <- quantile(b[,2], 1-a/2) [2,] 6.6799812 7.120587

upp2 <- quantile(b[,3], 1-a/2) [3,] 0.7967511 1.343550

52 Magistra No. 84 Th. XXV Juni 2013


ISSN 0215-9511
Resampling Bootstrap Pada R

$int.pct
[,1] [,2]
[1,] 1.2339186 4.118422
[2,] 6.6603225 7.091760
[3,] 0.8117778 1.354883

Berdasarkan output R yang diperoleh terlihat dapat diringkas dalam Tabel 1.

Tabel 1. Ringkasan Hasil

Int. Pendekatan Int. Persentil


Parameter Estimasi Normal
BB BA BB BA
0 2,813375 1.2532716 4.343726 1.2339186 4.118422
1 6,895319 6.6799812 7.120587 6.6603225 7.091760
2
1,075275 0.7967511 1.343550 0.8117778 1.354883

Berdasarkan Tabel 1, estimasi bootstrap untuk parameter regresi , , masing-masing 2,813, 6,895
dan 1,07 cukup dekat dengan parameter populasinya yaitu 3, 7 dan 1. Sedangkan estimasi interval konfidensi
baik interval bootstrap pendekatan normal maupun interval bootstrap persentil memberikan hasil yang hampir
sama dan keduanya memuat parameter populasi dengan range yang cukup sempit.

KESIMPULAN

Berdasarkan uraian di atas terdapat beberapa hal penting yang dapat disimpulkan. Metode resampling
bootstrap dapat dilakukan dengan bantuan software R. Program resampling bootstrap menggunakan R disusun
berdasarkan algoritma bootstrap pada masing-masing kasus. Berdasarkan studi simulasi, metode bootstrap dapat
digunakan sebagai metode alternatif yang memberikan hasil estimasi yang sangat dekat dengan parameter
populasi. Estimasi interval juga memberikan interval konfidensi yang memuat parameter populasi dan dengan
range interval yang cukup sempit. Hal ini menunjukkan bahwa metode bootstrap memiliki keakuratan yang
tinggi.

Magistra No. 84 Th. XXV Juni 2013 53


ISSN 0215-9511
Resampling Bootstrap Pada R

DAFTAR PUSTAKA

Bennett, P. J., 2009, Introduction to the Bootstrap and Sahinler, S. and Topuz, D., 2007, Bootstrap and
Robust Statistics. Winter Term, PSY711/712. Jackknife Resampling Algorithms for Estimation

Bickel, P. J. and Freedman, D. A., 1981, Some of Regression Parameters, JAQM, no. 2, 2, 188-

Asymtotic Theory for the Bootstrap, Ann. Statist., 199.

no. 6, 9, 1196–1217. Shao, J. and Tu, D., 1995, The jacknife and bootstrap,

Efron, B. and Tibshirani, R. J., 1993, An Introduction Springer Verlag Inc., New York.

to the Bootstrap, Chapman and Hall, New York.

54 Magistra No. 84 Th. XXV Juni 2013


ISSN 0215-9511

You might also like