Daftar Anggota
- Mutiah Amalia Tangke (23611089)
- Wafiq Rahma Aulia Putri (23611100)
- Annisa Latifazahra (23611102)
- Abdullah Kafabih (23611114)
BOOTSTRAPPING DALAM R
Metode Bootsrapping dalam R
Dalam statistik, kita sering kali ingin melakukan pengambilan sampel ulang untuk menguji ketepatan estimasi sampel kita. Ini disebut bootstrapping atau sebuah pengujian yang didasarkan pada pengambilan sampel secara acak berulang dengan pengembalian (DiCiccio and Efron 1996).
Bootstrap merupakan metode statistik berbasis resampling yang digunakan untuk mengestimasi distribusi dari suatu statistik (misalnya mean, median, variansi) dengan menggunakan data sampel yang ada. Teknik ini sangat berguna ketika distribusi data populasi tidak diketahui atau sulit diasumsikan (Zulfa Laela Maulida 2025).
Tujuan Bootstrapping
Tujuan utama dari bootstrapping dalam R adalah untuk mengestimasi distribusi statistik dari sebuah sampel data, terutama ketika asumsi distribusi normal atau ukuran sampel yang kecil menjadikan metode statistik konvensional kurang akurat.
Contoh Bootstrapping
Pada contoh ini, digunakan data acak yang berasal dari distribusi normal hipotetis dengan rata-rata (mean) 20 dan standar deviasi 4,5 yang menghasilkan 2000 observasi. Data tersebut kemudian digunakan sebagai dasar untuk melakukan proses bootstrap. Berikut merupakan langkah-langkah bootstrapping dalam R Markdown
- Menetapkan seed acak untuk reproduksibilitas
Menggunakan
set.seed(300)bertujuan agar angka acak yang dihasilkan bersifat tetap dan bisa direproduksi kembali saat kode dijalankan ulang.
- Membuat data sampel dari distribusi normal
Fungsi
rnorm(2000, 20, 4.5)digunakan untuk menghasilkan 2000 data acak yang mengikuti distribusi normal dengan parameter mean 20 dan standar deviasi 4.5, dan hasilnya disimpan dalam vektor a
- Melakukan proses Bootstrapping Rumus manual mencari rata-rata dari data sampel adalah sebagai berikut: \[ \bar{x} = \frac{1}{n} \sum_{i=1}^{n} x_i \] Keterangan:
- \(\bar{x}\) = rata-rata
- \(n\) = banyaknya data
- \(x_i\) = nilai ke-\(i\)
Proses bootstrapping dilakukan dengan menggunakan fungsi
replicate()yang mengulang proses pengambilan sampel dari vektor a sebanyak 1000 kali dengan pengembalian(replace = TRUE), lalu pada setiap pengambilan sampel, dihitung nilai rata-ratanya menggunakanmean().Hasil dari 1000 kali penghitungan rata-rata tersebut disimpan dalam vektorbootstrap_mean.
- Melakukan evaluasi terhadap hasil Bootstrapping
## [1] 1000
Fungsi
length()untuk memastikan jumlah observasi bootstrap adalah 1000.
## [1] 20.26047
Fungsi lalu
mean()untuk menghitung rata-rata dari hasil bootstrap.
## [1] 0.1011457
Fungsi
sd()untuk menghitung simpangan baku
- Membuat visualisasi hasil bootstrapping dalam bentuk histogram
hist(bootstrap_mean, breaks = 30, col = "lightgreen",
main = "Distribusi Bootstrap dari Rata-rata",
xlab = "Nilai", ylab = "Frekuensi")
abline(v = mean(bootstrap_mean), col = "blue", lwd = 2, lty = 2)
legend("topright", legend = paste("Mean =", round(mean(bootstrap_mean), 5)),
col = "blue", lty = 2, lwd = 2)Fungsi
hist()digunakan untuk memvisualisasikan hasil distribusi bootstrap dalam bentuk histogram.Parameter breaks = 30menentukan jumlah batang pada histogram, sedangkancol = "lightgreen"memberikan warna hijau muda pada grafik. Fungsimain,xlab, danylabdigunakan untuk memberikan judul serta label pada sumbu X dan Y. Garis vertikal ditambahkan ke histogram menggunakanabline(v = mean(bootstrap_mean), ...), yang menunjukkan posisi rata-rata dari distribusi bootstrap. Garis ini diberi warna biru dan dibuat putus-putus untuk memperjelas tampilannya. Terakhir,legend()digunakan untuk menambahkan keterangan pada grafik yang menjelaskan arti dari garis biru tersebut
Kelebihan dan Kelemahan Bootstrapping
| No | Kelebihan | Kekurangan |
|---|---|---|
| 1 | Memungkinkan estimasi kesalahan standar dan interval kepercayaan tanpa memerlukan asumsi distribusi yang ketat | Hasil bootstrapping dapat terpengaruh apabila sampel asli memiliki bias atau mengandung outlier |
| 2 | Efektif digunakan pada ukuran sampel yang kecil | Membutuhkan komputasi yang intensif, terutama pada data berukuran besar, sehingga dapat memakan waktu yang lama |
| 3 | Mampu menangani data yang memiliki struktur rumit atau tidak mengikuti distribusi parametrik tertentu | Tidak selalu sesuai untuk semua jenis data, seperti data spasial atau data deret waktu yang memiliki ketergantungan kuat |
(Hanif Akhtar 2020)