Resampling adalah salah satu dari berbagai metode untuk:
Memperkirakan ketepatan statistik sampel (median, varians, persentil),
Bertukar label pada titik data saat melakukan uji signifikansi, dan
Memvalidasi model dengan menggunakan himpunan bagian acak. Berikut akan dibahas beberapa teknik resampling.
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.
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
H0: mean.low = mean.high vs H1: mean.low != mean.high (mean.low tidak sama dengan mean.high)
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
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
H0 ditolak jika P-value < alpha. alpha yang digunakan sebesar 5%.
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 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.
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.
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.
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.
Terdapat beberapa metode resampling lainnya yaitu sebagai berikut.
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 adalah Uji kemampuan prediksi model dengan menggunakan kasus sampel yang digunakan untuk mengembangkan model.
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