Metode Resampling

Resampling adalah salah satu dari berbagai metode untuk:

  1. Memperkirakan ketepatan statistik sampel (median, varians, persentil),

  2. Bertukar label pada titik data saat melakukan uji signifikansi, dan

  3. Memvalidasi model dengan menggunakan himpunan bagian acak. Berikut akan dibahas beberapa teknik resampling.

Permutasi

Uji permutasi adalah uji signifikansi berdasarkan sampel permutasi yang diambil secara acak dari data asli. Sampel permutasi diambil tanpa pengembalian. Permutasi hanya digunakan ketika kita dapat melihat bagaimana membuat sampel ulang dengan cara yang konsisten dengan desain penelitian dan dengan hipotesis nol. Jika kita tidak dapat melakukan tes permutasi, kita sering dapat menghitung interval kepercayaan bootstrap sebagai gantinya.

Simulasi Permutasi

Skenario simulasi: menggunakan data dari GDP/capita dari beberapa negara yang dikelompok dalam 2 kategori investment risk level yaitu low dan high. Data dari kedua kelompok di acak dan dilakukan resampling dengan permutasi untuk dilihat apakah terdapat perbedaan rata-rata GDP/capita dari kelompok low dengan kelompok high.

d <- read.delim("clipboard")
head(d)
##        X1 Risk.Level
## 1 18.4444       high
## 2 22.9520       high
## 3 19.3188        low
## 4 20.1000       high
## 5 18.6500       high
## 6 17.9300       high

Hipotesis:

H0: mean.low = mean.high vs H1: mean.low != mean.high (mean.low tidak sama dengan mean.high)

Statistik uji

n.low <- length(d$Risk.Level=="low")
n.high <- length(d$Risk.Level=="high")
mean.low <- mean(d$X1[d$Risk.Level=="low"])
stdev.low <- sd(d$X1[d$Risk.Level=="low"])
mean.high <- mean(d$X1[d$Risk.Level=="high"])
stdev.high <- sd(d$X1[d$Risk.Level=="high"])
sgab <- sqrt(((n.low-1)*stdev.low^2+(n.high-1)*stdev.high^2)/(n.low+n.high-2))
test.stat1 <- abs((mean.low-mean.high)/(sgab*sqrt(1/n.low+1/n.high)))
test.stat1
## [1] 1.731653

Titik kritis (p-value)

set.seed(1234)
n <- length(d$Risk.Level)
P <- 10000
variable <- d$X1
PermSamples <- matrix(0, nrow=n, ncol=P)
for(i in 1:P){ PermSamples[,i] <- sample(variable, size= n,
replace=FALSE)}
permutasi <- PermSamples[, 1:117]
# initialize vectors to store all of the Test-stats:
Perm.test.stat1 <- Perm.test.stat2 <- rep(0, P)
# loop thru, and calculate the test-stats
for (i in 1:P){ Perm.test.stat1[i] <- abs( mean
(PermSamples [d$Risk.Level == "low",i]) - mean
(PermSamples [d$Risk.Level == "high",i]))}
pvalue <- mean(Perm.test.stat1 >= test.stat1)
pvalue
## [1] 0.0512

Kriteria Penolakan

H0 ditolak jika P-value < alpha. alpha yang digunakan sebesar 5%.

Kesimpulan

kesimpulan <- ifelse(pvalue<0.05, "Tolak H0", "Tak Tolak H0")
kesimpulan
## [1] "Tak Tolak H0"

Kesimpulannya tidak cukup bukti untuk menyatakan nilai tengah GDP/capita kelompok low berbeda dengan nilai tengah GDP/capita kelompok high pada taraf nyata 5%.

Bootstrap

Bootstrap adalah pengambilan sampel secara acak, dengan pengembalian, dari kumpulan data asli untuk digunakan dalam memperoleh perkiraan statistik. Metode simulasi ini berbasis data untuk inferensi statistik. Metode ini berbasis komputer untuk menetapkan ukuran akurasi untuk perkiraan statistik. Metode ini membutuhkan kekuatan komputer modern untuk menyederhanakan perhitungan rumit dari teori statistik tradisional.

Simulasi Bootstrap

Skenario simulasi: Menggunakan data stok item dari 5 store lalu mengestimasi perbandingan item1/total item dengan metode bootstrap. Mengulang resampling sebanyak 10000 kali, lalu hitung statistik dan bootstrap estimatornya dengan rumus berikut.

store<-LETTERS[1:5]
item1<-c(999,1432,969,1548,1557)
item2<-c(1164,1424,1043,870,1101)
d1<-data.frame(store,item1,item2)
d1
##   store item1 item2
## 1     A   999  1164
## 2     B  1432  1424
## 3     C   969  1043
## 4     D  1548   870
## 5     E  1557  1101
n<-nrow(d1)
b<-10000
y<-matrix(sample(d1$item1,n*b,replace=T),b)
x<-matrix(sample(d1$item2,n*b,replace=T),b)
ybar<-apply(y,1,mean)
xbar<-apply(x,1,mean)
teta_i<-ybar/(xbar+ybar)
teta_b<-mean(teta_i)
var_b<-(sum(teta_i^2)-(b*teta_b^2))/(b-1)
se_b<-sqrt(var_b)
teta_b;var_b;se_b
## [1] 0.5365297
## [1] 0.0008385566
## [1] 0.02895784

Jadi, perbandingan item1/total item = 0.5369. Sehingga dapat diketahui jumlah item1 dengan item2 cenderung berimbang.

Jackknife

Metode Jackknife menggunakan partisi sistematis dari kumpulan data untuk mengestimasi properti dari estimator dihitung dari sampel penuh.

Quenouille (1949, 1956) menyarankan teknik untuk memperkirakan (dan, karenanya, mengurangi) bias dari suatu penduga.

Tukey (1958) menciptakan istilah pisau lipat untuk merujuk pada metode, dan juga menunjukkan bahwa metode tersebut berguna dalam mengestimasi varian dari suatu penduga.

Simulasi Jackknife

Skenario simulasi: Menggunakan data stok item dari 5 store (seperti pada contoh bootstrap) lalu mengestimasi perbandingan item1/total item dengan metode jackknife. pertam hitung proporsi duga selanjutnya mengulang resampling sebanyak 10000 kali, lalu hitung jackknife estimatornya dengan rumus berikut.

n<-nrow(d1)
teta_hat<-mean(d1$item1)/ 
(mean(d1$item1)+mean(d1$item2))
y<-matrix(NA,n,n-1)
x<-matrix(NA,n,n-1)
for (i in 1:n) {
y[i,]<-d1$item1[-i]
x[i,]<-d1$item2[-i]
}
ybar<-apply(y,1,mean)
xbar<-apply(x,1,mean)
teta_i<-ybar/(xbar+ybar)
teta_jk<-n*teta_hat-(n-1)*mean(teta_i)
var_jk<-(n-1)/n*(sum(teta_i^2)-(n*mean(teta_i)^2))
se_jk<-sqrt(var_jk)
teta_jk;var_jk;se_jk
## [1] 0.5378795
## [1] 0.001088501
## [1] 0.03299243

Jadi, perbandingan item1/total item = 0.5379. Sehingga dapat diketahui jumlah item1 dengan item2 cenderung berimbang. Hasil dugaan parameter yang didapatkan dari metode jackknife tidak berbeda jauh dengan bootstrap namun keragaman penduganya lebih besar.

Metode Resampling Lainnya

Terdapat beberapa metode resampling lainnya yaitu sebagai berikut.

Cross-validation

Cross-validation adalah metode statistika untuk memvalidasi hasil prediksi suatu model. Validasi menggunakan data yang tidak digunakan pada saat menyusun model. Terdapat beberapa tipe cross-validation (CV) yaitu K-fold CV, Kx2 CV, dan Leave-one-out CV. Validasi silang dapat menghindari “pengaruh diri”. Sering digunakan untuk memutuskan berapa banyak variabel prediktor yang akan digunakan dalam regresi.

Resubtitution

Resubtitution adalah Uji kemampuan prediksi model dengan menggunakan kasus sampel yang digunakan untuk mengembangkan model.

Monte Carlo

Resampling Monte Carlo dilakukan dengan pengambilan sampel berulang dari populasi dengan karakteristik yang diketahui untuk menentukan seberapa sensitif prosedur statistik terhadap karakteristik tersebut. Contoh Simulasi Monte Carlo untuk Pengujian Hipotesis Tentang Parameter dapat diakses pada link berikut. https://rpubs.com/annissanff/laporan3stk473