Pendahuluan

Bootstrap merupakan salah satu metode resampling yang digunakan untuk memperkirakan karakteristik populasi berdasarkan data sampel. Teknik ini dilakukan dengan mengambil sampel secara berulang menggunakan pengembalian (sampling with replacement), sehingga dapat digunakan untuk mengestimasi distribusi statistik tanpa harus mengetahui distribusi populasi secara langsung.

Pada praktikum ini dilakukan simulasi bootstrap terhadap data yang dibangkitkan dari distribusi normal. Selanjutnya akan diamati distribusi rata-rata sampel hasil bootstrap dan dibandingkan dengan distribusi data awal melalui visualisasi histogram.

Latihan 1

Membuat Data Bootstrap

library(ggplot2)
library(dplyr)

set.seed(456)

data_asli <- rnorm(
  n = 1200,
  mean = 28,
  sd = 2.8
)

Sanity Check Data Asli

length(data_asli)
## [1] 1200
round(mean(data_asli),2)
## [1] 28.18
round(sd(data_asli),2)
## [1] 2.73
round(min(data_asli),2)
## [1] 19.7
round(max(data_asli),2)
## [1] 36.56

Nilai di atas menunjukkan bahwa data berhasil dibangkitkan menggunakan distribusi normal dengan ukuran sampel yang cukup besar sehingga dapat digunakan untuk proses bootstrap.

Mengambil 50 Sampel Bootstrap

set.seed(789)

mean_boot <- numeric(50)

for(i in 1:50){

  sampel <- sample(
    data_asli,
    size = 40,
    replace = TRUE
  )

  mean_boot[i] <- mean(sampel)

}
mean_boot
##  [1] 28.33706 28.18715 28.35412 29.04771 28.38278 28.55700 28.95034 29.14178
##  [9] 27.75300 27.62331 28.04354 27.92509 28.72500 27.77908 28.31594 28.09784
## [17] 28.13793 27.62375 28.51590 27.60580 27.42328 28.15647 28.74735 28.54333
## [25] 27.94105 29.04160 28.78843 27.38796 28.23123 28.17355 28.62321 28.30896
## [33] 27.88990 28.79533 28.31856 28.23210 28.44306 28.97356 28.28840 27.88362
## [41] 28.33925 27.14605 29.59331 28.12076 28.82707 27.99062 28.00728 27.43094
## [49] 27.86759 27.94937

Ringkasan Rata-rata Bootstrap

round(mean(mean_boot),4)
## [1] 28.2513
round(sd(mean_boot),4)
## [1] 0.5087
round(min(mean_boot),4)
## [1] 27.146
round(max(mean_boot),4)
## [1] 29.5933

Hasil tersebut memperlihatkan bahwa rata-rata bootstrap berada sangat dekat dengan rata-rata data awal. Selain itu, variasi antar rata-rata bootstrap relatif kecil sehingga menunjukkan kestabilan estimasi yang diperoleh melalui metode bootstrap.

Latihan 2

Visualisasi Dua Histogram

par(mfrow = c(1,2))

# Histogram rata-rata bootstrap

hist(mean_boot,
     col = "skyblue3",
     border = "white",
     main = "Distribusi Rata-rata\nBootstrap",
     xlab = "Rata-rata Sampel",
     breaks = 12)

abline(v = mean(mean_boot),
       col = "red",
       lwd = 2,
       lty = 2)

legend("topright",
       legend = paste("Mean =", round(mean(mean_boot),2)),
       col = "red",
       lwd = 2,
       lty = 2,
       bty = "n")



# Histogram data asli

hist(data_asli,
     col = "darkorange",
     border = "white",
     main = "Distribusi Data Awal\n(1200 Observasi)",
     xlab = "Nilai",
     breaks = 25)

abline(v = mean(data_asli),
       col = "blue",
       lwd = 2,
       lty = 2)

legend("topright",
       legend = paste("Mean =", round(mean(data_asli),2)),
       col = "blue",
       lwd = 2,
       lty = 2,
       bty = "n")

par(mfrow=c(1,1))

Interpretasi Histogram

perbandingan <- data.frame(

Aspek = c(
"Rata-rata (Mean)",
"Standar Deviasi",
"Bentuk Distribusi",
"Kesimpulan"
),

Data_Asli = c(
round(mean(data_asli),2),
round(sd(data_asli),2),
"Normal",
"Memiliki variasi lebih besar"
),

Bootstrap = c(
round(mean(mean_boot),2),
round(sd(mean_boot),4),
"Mendekati Normal",
"Variasi lebih kecil"
)

)

knitr::kable(
perbandingan,
caption = "Perbandingan Data Asli dan Bootstrap"
)
Perbandingan Data Asli dan Bootstrap
Aspek Data_Asli Bootstrap
Rata-rata (Mean) 28.18 28.25
Standar Deviasi 2.73 0.5087
Bentuk Distribusi Normal Mendekati Normal
Kesimpulan Memiliki variasi lebih besar Variasi lebih kecil

Penjelasan Konseptual

Histogram pertama menunjukkan distribusi rata-rata hasil bootstrap sebanyak 50 kali pengambilan sampel. Distribusi tersebut tampak lebih sempit dibandingkan data awal karena setiap nilai merupakan rata-rata dari sejumlah observasi sehingga variasinya menjadi lebih kecil.

Histogram kedua merupakan distribusi data asli yang dibangkitkan dari distribusi normal. Penyebaran data terlihat lebih lebar karena menggambarkan seluruh observasi individu, bukan nilai rata-rata.

Perbedaan kedua histogram tersebut mendukung konsep Central Limit Theorem (CLT), yaitu distribusi rata-rata sampel akan cenderung mengikuti distribusi normal meskipun diperoleh melalui proses resampling. Selain itu, simpangan baku rata-rata sampel (standard error) akan lebih kecil dibandingkan simpangan baku data asli.

Secara matematis hubungan tersebut dapat dituliskan sebagai

\[ SE=\frac{\sigma}{\sqrt{n}} \]

yang menunjukkan bahwa semakin besar ukuran sampel, semakin kecil nilai standard error sehingga distribusi rata-rata sampel menjadi lebih rapat di sekitar nilai rata-rata populasi.

Kesimpulan

kesimpulan <- data.frame(

Faktor = c(
"Bootstrap",
"Distribusi Mean",
"Variasi Data",
"Central Limit Theorem"
),

Hasil = c(
"Resampling dilakukan dengan replacement.",
"Distribusi rata-rata bootstrap mendekati distribusi normal.",
"Variasi rata-rata bootstrap lebih kecil dibanding data asli.",
"Semakin besar ukuran sampel, standard error semakin kecil."
)

)

knitr::kable(
kesimpulan,
caption = "Ringkasan Hasil Praktikum"
)
Ringkasan Hasil Praktikum
Faktor Hasil
Bootstrap Resampling dilakukan dengan replacement.
Distribusi Mean Distribusi rata-rata bootstrap mendekati distribusi normal.
Variasi Data Variasi rata-rata bootstrap lebih kecil dibanding data asli.
Central Limit Theorem Semakin besar ukuran sampel, standard error semakin kecil.

Berdasarkan simulasi yang dilakukan, metode bootstrap mampu menghasilkan distribusi rata-rata sampel yang stabil dan mendekati distribusi normal. Nilai rata-rata bootstrap hampir sama dengan rata-rata data awal, sedangkan penyebarannya lebih kecil karena merupakan hasil perataan dari beberapa observasi.

Hasil praktikum ini juga memperlihatkan bahwa konsep Central Limit Theorem berlaku pada proses bootstrap. Dengan bertambahnya ukuran sampel, estimasi rata-rata menjadi semakin konsisten sehingga bootstrap dapat dimanfaatkan sebagai salah satu pendekatan untuk mengestimasi parameter populasi ketika distribusi populasi tidak diketahui.