Bootstrap tidak mengasumsikan pengetahuan tentang bentuk distribusi induk yang mendasari dari mana sampel muncul. Estimasi parameter statistik klasik tradisional didasarkan pada asumsi normalitas. Bootstrap berurusan dengan non-normalitas dan lebih akurat dalam praktik daripada metode klasik.
Bootstrapping menggantikan daya komputasi mentah komputer untuk analisis teoretis yang ketat. Ini adalah perkiraan untuk distribusi sampling dari istilah kesalahan kumpulan data. Bootstrap meliputi: pengambilan sampel kembali data yang ditetapkan beberapa kali, menghitung rata-rata dari setiap sampel dan menemukan kesalahan standar rata-rata.
Kode "R" berikut menunjukkan konsep:
Contoh praktis ini menunjukkan manfaat bootstrap dan memperkirakan kesalahan standar. Kesalahan standar diperlukan untuk menghitung interval kepercayaan.
Biarkan kami menganggap Anda memiliki set data miring "a":
a<-rexp(395, rate=0.1) # Create skewed data
visualisasi dari kumpulan data yang miring
plot(a,type="l") # Scatter plot of the skewed data
boxplot(a,type="l") # Box plot of the skewed data
hist(a) # Histogram plot of the skewed data
Lakukan prosedur bootstrap:
n <- length(a) # the number of bootstrap samples should equal the original data set
xbarstar <- c() # Declare the empty set “xbarstar” variable which will be holding the mean of every bootstrap iteration
for (i in 1:1000) { # Perform 1000 bootstrap iteration
boot.samp <- sample(a, n, replace=TRUE) #”Sample” generates the same number of elements as the original data set
xbarstar[i] <- mean(boot.samp)} # “xbarstar” variable collects 1000 averages of the original data set
##
plot(xbarstar) # Scatter plot of the bootstrapped data
boxplot(xbarstar) # Box plot of the bootstrapped data
hist(xbarstar) # Histogram plot of the bootstrapped data
meanOfMeans <- mean(xbarstar)
standardError <- sd(xbarstar) # the standard error is the standard deviation of the mean of means
confidenceIntervalAboveTheMean <- meanOfMeans + 1.96 * standardError # for 2 standard deviation above the mean
confidenceIntervalBelowTheMean <- meanOfMeans - 1.96 * standardError # for 2 standard deviation above the mean
confidenceInterval <- confidenceIntervalAboveTheMean + confidenceIntervalBelowTheMean
confidenceInterval