Simulasi ini merupakan replikasi dari Tugas K10 MSR (1) dengan skala 10× lebih besar — ukuran populasi N = 9.000, ukuran sampel n = 900, dan jumlah replikasi B = 10.000. Tujuannya adalah memeriksa apakah kesimpulan dari percobaan pertama tetap konsisten ketika skala diperbesar, sekaligus mengamati bagaimana perubahan skala memengaruhi nilai ragam penduga dan efisiensi relatif.

Skenario I — Populasi Homogen

Populasi homogen dibangkitkan dari satu distribusi normal yang sama (rnorm(N, mean = 500, sd = 50)), kemudian dibagi menjadi 3 strata masing-masing berisi 3.000 unit.

set.seed(1076)

# Bangkitkan populasi homogen (tidak ada perbedaan antar kelompok)
# Semua unit berasal dari distribusi yang sama
N <- 9000  # total populasi
populasi_homogen <- rnorm(N, mean = 500, sd = 50)

# Bagi jadi 3 strata (meski homogen, tetap dibagi untuk perbandingan)
strata1_h <- populasi_homogen[1:3000]
strata2_h <- populasi_homogen[3001:6000]
strata3_h <- populasi_homogen[6001:9000]

# Cek bahwa memang homogen (mean & sd antar strata mirip)
cat("=== CEK HOMOGENITAS ===\n")
## === CEK HOMOGENITAS ===
cat("Mean strata 1:", mean(strata1_h), "\n")
## Mean strata 1: 500.6022
cat("Mean strata 2:", mean(strata2_h), "\n")
## Mean strata 2: 500.9514
cat("Mean strata 3:", mean(strata3_h), "\n")
## Mean strata 3: 500.6423
cat("SD strata 1:", sd(strata1_h), "\n")
## SD strata 1: 50.64403
cat("SD strata 2:", sd(strata2_h), "\n")
## SD strata 2: 50.27453
cat("SD strata 3:", sd(strata3_h), "\n")
## SD strata 3: 49.70198
# Parameter populasi sebenarnya (true parameter)
mu_true <- mean(populasi_homogen)
cat("Mean populasi sebenarnya:", mu_true, "\n")
## Mean populasi sebenarnya: 500.732

Hasil cek homogenitas menunjukkan mean ketiga strata sangat mirip (~500.6, ~500.9, ~500.6) dengan SD yang seragam (~50), mengonfirmasi tidak ada perbedaan struktural antar kelompok. Mean populasi sebenarnya (true parameter μ) adalah 500.732.

#--------------------------------------------------
# SIMPLE RANDOM SAMPLING (SRS)
#--------------------------------------------------
n <- 900  # ukuran sampel total

B <- 10000  # jumlah replikasi simulasi
mean_srs_h <- numeric(B)

for (i in 1:B) {
  sampel_srs <- sample(populasi_homogen, n)
  mean_srs_h[i] <- mean(sampel_srs)
}

ragam_srs_h <- var(mean_srs_h)
cat("Ragam penduga SRS (homogen):", ragam_srs_h, "\n")
## Ragam penduga SRS (homogen): 2.553252

Dari 10.000 replikasi pengambilan sampel SRS, diperoleh ragam penduga mean sebesar 2.553. Dibandingkan percobaan pertama (0.264), nilai ini membesar ~10× — konsisten dengan fakta bahwa SD populasi dikali 10 (dari 5 ke 50) sehingga \(S^2\) membesar 100×, sementara n juga membesar 10× (dari 90 ke 900), menghasilkan ragam penduga yang membesar 10×.

#--------------------------------------------------
# STRATIFIED RANDOM SAMPLING — Alokasi Proporsional
#--------------------------------------------------
# Masing-masing strata diambil n/3 = 30 sampel
mean_strat_h <- numeric(B)

for (i in 1:B) {
  s1 <- sample(strata1_h, 300)
  s2 <- sample(strata2_h, 300)
  s3 <- sample(strata3_h, 300)
  
  # Penduga mean stratified (rata-rata tertimbang)
  mean_strat_h[i] <- (3000*mean(s1) + 3000*mean(s2) + 3000*mean(s3)) / N
}

ragam_strat_h <- var(mean_strat_h)
cat("Ragam penduga Stratified (homogen):", ragam_strat_h, "\n")
## Ragam penduga Stratified (homogen): 2.520379

Ragam penduga Stratified sebesar 2.520 — hampir sama dengan SRS (2.553), konsisten dengan skenario homogen di percobaan pertama.

# Efisiensi relatif: seberapa besar SRS lebih boros dibanding Stratified
efisiensi_h <- ragam_srs_h / ragam_strat_h
cat("Efisiensi Relatif (homogen):", efisiensi_h, "\n")
## Efisiensi Relatif (homogen): 1.013043

Efisiensi relatif sebesar 1.013 (≈ 1) mengonfirmasi bahwa pada populasi homogen, kedua metode praktis setara. Nilai ini sedikit lebih mendekati 1 dibanding percobaan pertama (0.933) karena jumlah replikasi yang lebih besar (B = 10.000) menghasilkan estimasi ragam yang lebih stabil dan mendekati nilai teoritis.

Skenario II — Populasi Terstratifikasi

Populasi terstratifikasi dibangkitkan dari tiga distribusi normal yang berbeda secara signifikan: strata rendah (mean = 300), strata sedang (mean = 500), dan strata tinggi (mean = 700), masing-masing dengan sd = 50.

# Bangkitkan populasi dengan perbedaan nyata antar strata
strata1_s <- rnorm(3000, mean = 300, sd = 50)  # strata rendah
strata2_s <- rnorm(3000, mean = 500, sd = 50)  # strata sedang
strata3_s <- rnorm(3000, mean = 700, sd = 50)  # strata tinggi

populasi_strat <- c(strata1_s, strata2_s, strata3_s)

# Cek bahwa memang heterogen antar strata
cat("=== CEK HETEROGENITAS ===\n")
## === CEK HETEROGENITAS ===
cat("Mean strata 1:", mean(strata1_s), "\n")
## Mean strata 1: 299.6924
cat("Mean strata 2:", mean(strata2_s), "\n")
## Mean strata 2: 499.5628
cat("Mean strata 3:", mean(strata3_s), "\n")
## Mean strata 3: 700.2647
mu_true_s <- mean(populasi_strat)
cat("Mean populasi sebenarnya:", mu_true_s, "\n")
## Mean populasi sebenarnya: 499.84

Cek heterogenitas mengonfirmasi perbedaan mean antar strata yang sangat jelas (~299.7, ~499.6, ~700.3), sementara mean populasi keseluruhan tetap ~500 karena ketiga strata berukuran sama.

#--------------------------------------------------
# SIMPLE RANDOM SAMPLING (SRS)
#--------------------------------------------------
mean_srs_s <- numeric(B)

for (i in 1:B) {
  sampel_srs <- sample(populasi_strat, n)
  mean_srs_s[i] <- mean(sampel_srs)
}

ragam_srs_s <- var(mean_srs_s)
cat("Ragam penduga SRS (terstratifikasi):", ragam_srs_s, "\n")
## Ragam penduga SRS (terstratifikasi): 29.42689

Ragam penduga SRS melonjak drastis ke 29.427 — sekitar 11.5× lebih besar dibanding skenario homogen (2.553), dan sekali lagi ~10× lebih besar dari percobaan pertama (3.048). Pola lonjakan ini konsisten: SRS tetap sangat sensitif terhadap heterogenitas populasi regardless of scale.

#--------------------------------------------------
# STRATIFIED RANDOM SAMPLING — Alokasi Proporsional
#--------------------------------------------------
mean_strat_s <- numeric(B)

for (i in 1:B) {
  s1 <- sample(strata1_s, 300)
  s2 <- sample(strata2_s, 300)
  s3 <- sample(strata3_s, 300)
  
  mean_strat_s[i] <- (3000*mean(s1) + 3000*mean(s2) + 3000*mean(s3)) / N
}

ragam_strat_s <- var(mean_strat_s)
cat("Ragam penduga Stratified (terstratifikasi):", ragam_strat_s, "\n")
## Ragam penduga Stratified (terstratifikasi): 2.537749

Ragam penduga Stratified sebesar 2.538 — hampir tidak berubah dibanding skenario homogen (2.520) maupun dibanding percobaan pertama (0.249 × 10 = 2.49). Ini kembali membuktikan robustness Stratified terhadap heterogenitas populasi.

efisiensi_s <- ragam_srs_s / ragam_strat_s
cat("Efisiensi Relatif (terstratifikasi):", efisiensi_s, "\n")
## Efisiensi Relatif (terstratifikasi): 11.59567

Efisiensi relatif sebesar 11.596 — sedikit lebih rendah dari percobaan pertama (12.256), namun tetap >> 1. Perbedaan kecil ini disebabkan oleh estimasi ragam yang lebih stabil dengan B = 10.000, meredam fluktuasi acak yang di percobaan pertama sedikit memperbesar angka efisiensi.

Ringkasan & Visualisasi

#--------------------------------------------------
# TABEL RINGKASAN
#--------------------------------------------------
hasil <- data.frame(
  Skenario = c("Homogen", "Terstratifikasi"),
  Ragam_SRS = c(ragam_srs_h, ragam_srs_s),
  Ragam_Stratified = c(ragam_strat_h, ragam_strat_s),
  Efisiensi_Relatif = c(efisiensi_h, efisiensi_s)
)
print(hasil)
##          Skenario Ragam_SRS Ragam_Stratified Efisiensi_Relatif
## 1         Homogen  2.553252         2.520379          1.013043
## 2 Terstratifikasi 29.426889         2.537749         11.595666
#--------------------------------------------------
# VISUALISASI — Distribusi Penduga Mean
#--------------------------------------------------
par(mfrow = c(2, 2))

hist(mean_srs_h, main = "SRS — Populasi Homogen",
     xlab = "Dugaan Mean", col = "steelblue", border = "white")
abline(v = mu_true, col = "red", lwd = 2)

hist(mean_strat_h, main = "Stratified — Populasi Homogen",
     xlab = "Dugaan Mean", col = "steelblue", border = "white")
abline(v = mu_true, col = "red", lwd = 2)

hist(mean_srs_s, main = "SRS — Populasi Terstratifikasi",
     xlab = "Dugaan Mean", col = "darkorange", border = "white")
abline(v = mu_true_s, col = "red", lwd = 2)

hist(mean_strat_s, main = "Stratified — Populasi Terstratifikasi",
     xlab = "Dugaan Mean", col = "darkorange", border = "white")
abline(v = mu_true_s, col = "red", lwd = 2)

Skenario Ragam SRS Ragam Stratified Efisiensi Relatif
Homogen 2.553 2.520 1.013
Terstratifikasi 29.427 2.538 11.596

Perbandingan dengan Percobaan Pertama

Efisiensi Relatif — Homogen Efisiensi Relatif — Terstratifikasi
MSR (1): N=900, n=90, B=1.000 0.933 12.256
MSR (2): N=9.000, n=900, B=10.000 1.013 11.596

Dua temuan utama dari perbandingan antar percobaan:

  1. Kesimpulan substantif tetap konsisten — efisiensi relatif homogen ≈ 1 dan terstratifikasi >> 1 di kedua percobaan, membuktikan bahwa temuan tidak bergantung pada skala simulasi.

  2. Skala yang lebih besar menghasilkan estimasi yang lebih stabil — efisiensi relatif homogen bergeser dari 0.933 ke 1.013 (lebih mendekati nilai teoritis 1.0), dan efisiensi relatif terstratifikasi sedikit menyesuaikan dari 12.256 ke 11.596. Kedua pergeseran ini mencerminkan reduksi Monte Carlo error akibat penambahan replikasi dari 1.000 ke 10.000 — bukan perubahan kesimpulan.