Pendahuluan

Tujuan

Praktikum ini bertujuan untuk mempelajari bagaimana ukuran sampel dan variabilitas data memengaruhi lebar interval kepercayaan (Confidence Interval/CI). Selain itu, praktikum ini juga membandingkan hasil interval kepercayaan ketika standar deviasi populasi diketahui (menggunakan distribusi Z) dan ketika standar deviasi populasi tidak diketahui (menggunakan distribusi t).

Dasar Teori

Interval kepercayaan merupakan suatu rentang nilai yang digunakan untuk memperkirakan parameter populasi berdasarkan data sampel. Lebar interval kepercayaan dipengaruhi oleh beberapa faktor, di antaranya ukuran sampel, tingkat variasi data (standar deviasi), dan tingkat kepercayaan yang digunakan.

Secara umum, semakin besar ukuran sampel maka interval kepercayaan akan semakin sempit karena estimasi menjadi lebih presisi. Sebaliknya, semakin besar standar deviasi maka interval kepercayaan akan semakin lebar karena data memiliki penyebaran yang lebih besar.

Parameter yang digunakan pada simulasi ini adalah sebagai berikut:

Parameter Nilai
Ukuran sampel (n) 10, 30, 100
Standar deviasi (SD) 10, 50, 80
Mean populasi 75
Tingkat kepercayaan 95%

Lebar interval kepercayaan dihitung menggunakan rumus berikut.

Jika standar deviasi populasi diketahui

\[ CI = \bar{x} \pm z_{\alpha/2}\frac{\sigma}{\sqrt{n}} \]

Jika standar deviasi populasi tidak diketahui

\[ CI = \bar{x} \pm t_{\alpha/2,\,n-1}\frac{s}{\sqrt{n}} \]

Pada praktikum ini akan dilakukan simulasi terhadap berbagai kombinasi ukuran sampel dan standar deviasi untuk melihat perubahan lebar interval kepercayaan pada kedua kondisi tersebut.

Fungsi Simulasi

library(dplyr)
library(ggplot2)
library(knitr)

Membuat Fungsi Simulasi

Fungsi berikut digunakan untuk membangkitkan data acak dari distribusi normal dan menghitung interval kepercayaan menggunakan distribusi Z maupun distribusi t.

Membuat Fungsi Simulasi

Fungsi berikut digunakan untuk membangkitkan data acak dari distribusi normal dan menghitung interval kepercayaan menggunakan distribusi Z maupun distribusi t.

simulasi_ci <- function(n, sd_pop, mu = 75, conf = 0.95){

  # Membuat data sampel
  sampel <- rnorm(
    n = n,
    mean = mu,
    sd = sd_pop
  )

  # Statistik sampel
  rata2 <- mean(sampel)
  s <- sd(sampel)

  alpha <- 1 - conf

  # Interval kepercayaan Z
  z <- qnorm(1 - alpha/2)

  moe_z <- z * (sd_pop / sqrt(n))

  lower_z <- rata2 - moe_z
  upper_z <- rata2 + moe_z

  # Interval kepercayaan t
  t <- qt(1 - alpha/2, df = n - 1)

  moe_t <- t * (s / sqrt(n))

  lower_t <- rata2 - moe_t
  upper_t <- rata2 + moe_t

  data.frame(
    n = n,
    SD = sd_pop,
    Mean = round(rata2, 2),
    CI_Z_Bawah = round(lower_z, 2),
    CI_Z_Atas = round(upper_z, 2),
    Lebar_Z = round(upper_z - lower_z, 2),
    CI_T_Bawah = round(lower_t, 2),
    CI_T_Atas = round(upper_t, 2),
    Lebar_T = round(upper_t - lower_t, 2)
  )

}

Menjalankan Semua Kombinasi Simulasi

set.seed(123)

ukuran_sampel <- c(10, 30, 100)
standar_deviasi <- c(10, 50, 80)

kombinasi <- expand.grid(
  n = ukuran_sampel,
  SD = standar_deviasi
)

hasil_simulasi <- data.frame()

for(i in 1:nrow(kombinasi)){

  hasil <- simulasi_ci(
    n = kombinasi$n[i],
    sd_pop = kombinasi$SD[i]
  )

  hasil_simulasi <- rbind(
    hasil_simulasi,
    hasil
  )

}

hasil_simulasi
##     n SD  Mean CI_Z_Bawah CI_Z_Atas Lebar_Z CI_T_Bawah CI_T_Atas Lebar_T
## 1  10 10 75.75      69.55     81.94   12.40      68.92     82.57   13.65
## 2  30 10 75.35      71.78     78.93    7.16      72.01     78.70    6.68
## 3 100 10 74.93      72.97     76.89    3.92      73.08     76.78    3.70
## 4  10 50 51.30      20.31     82.29   61.98       5.74     96.86   91.12
## 5  30 50 82.69      64.79    100.58   35.78      65.11    100.27   35.16
## 6 100 50 75.74      65.94     85.54   19.60      66.52     84.96   18.44
## 7  10 80 85.02      35.44    134.60   99.17      37.39    132.65   95.27
## 8  30 80 90.64      62.02    119.27   57.25      56.22    125.06   68.84
## 9 100 80 69.33      53.66     85.01   31.36      53.66     85.01   31.34

Tabel Hasil

knitr::kable(
  hasil_simulasi,
  caption = "Hasil Simulasi Interval Kepercayaan"
)
Hasil Simulasi Interval Kepercayaan
n SD Mean CI_Z_Bawah CI_Z_Atas Lebar_Z CI_T_Bawah CI_T_Atas Lebar_T
10 10 75.75 69.55 81.94 12.40 68.92 82.57 13.65
30 10 75.35 71.78 78.93 7.16 72.01 78.70 6.68
100 10 74.93 72.97 76.89 3.92 73.08 76.78 3.70
10 50 51.30 20.31 82.29 61.98 5.74 96.86 91.12
30 50 82.69 64.79 100.58 35.78 65.11 100.27 35.16
100 50 75.74 65.94 85.54 19.60 66.52 84.96 18.44
10 80 85.02 35.44 134.60 99.17 37.39 132.65 95.27
30 80 90.64 62.02 119.27 57.25 56.22 125.06 68.84
100 80 69.33 53.66 85.01 31.36 53.66 85.01 31.34

Faktor 1: Pengaruh Ukuran Sampel (n)

Grafik berikut menunjukkan perubahan lebar interval kepercayaan terhadap ukuran sampel dengan standar deviasi tetap sebesar 50.

plot_n <- hasil_simulasi %>%
  filter(SD == 50)

ggplot(plot_n,
       aes(x = factor(n), y = Lebar_Z, group = 1)) +
  geom_line(size = 1, color = "steelblue") +
  geom_point(size = 3, color = "steelblue") +
  geom_line(aes(y = Lebar_T),
            color = "firebrick",
            linetype = "dashed",
            size = 1) +
  geom_point(aes(y = Lebar_T),
             color = "firebrick",
             size = 3) +
  labs(
    title = "Pengaruh Ukuran Sampel terhadap Lebar Interval Kepercayaan",
    x = "Ukuran Sampel (n)",
    y = "Lebar Interval Kepercayaan"
  ) +
  theme_minimal()
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

Semakin besar ukuran sampel, lebar interval kepercayaan semakin kecil. Hal ini menunjukkan bahwa estimasi menjadi lebih presisi ketika jumlah data meningkat.

Faktor 2: Pengaruh Standar Deviasi

Grafik berikut memperlihatkan perubahan lebar interval kepercayaan ketika standar deviasi populasi meningkat dengan ukuran sampel tetap sebesar 30.

plot_sd <- hasil_simulasi %>%
  filter(n == 30)

ggplot(plot_sd,
       aes(x = factor(SD), y = Lebar_Z, group = 1)) +
  geom_line(size = 1, color = "darkgreen") +
  geom_point(size = 3, color = "darkgreen") +
  geom_line(aes(y = Lebar_T),
            color = "orange",
            linetype = "dashed",
            size = 1) +
  geom_point(aes(y = Lebar_T),
             color = "orange",
             size = 3) +
  labs(
    title = "Pengaruh Standar Deviasi terhadap Lebar Interval Kepercayaan",
    x = "Standar Deviasi",
    y = "Lebar Interval Kepercayaan"
  ) +
  theme_minimal()

Semakin besar standar deviasi populasi, interval kepercayaan menjadi semakin lebar karena variasi data yang lebih tinggi meningkatkan ketidakpastian estimasi.

Faktor 3: Perbandingan Lebar CI Distribusi Z dan t

selisih <- hasil_simulasi %>%
  filter(SD == 50) %>%
  mutate(Selisih = Lebar_T - Lebar_Z)

ggplot(selisih,
       aes(x = factor(n), y = Selisih)) +
  geom_col(fill = "tomato") +
  labs(
    title = "Selisih Lebar Interval Kepercayaan (t - Z)",
    x = "Ukuran Sampel",
    y = "Selisih Lebar CI"
  ) +
  theme_minimal()

Distribusi t menghasilkan interval kepercayaan yang sedikit lebih lebar dibandingkan distribusi Z, terutama pada ukuran sampel kecil. Ketika ukuran sampel semakin besar, perbedaan keduanya semakin kecil.

Kesimpulan

kesimpulan <- data.frame(
  Faktor = c(
    "Ukuran Sampel (n)",
    "Standar Deviasi (SD)",
    "Distribusi Z vs t"
  ),
  Hasil = c(
    "Semakin besar n, interval kepercayaan semakin sempit.",
    "Semakin besar SD, interval kepercayaan semakin lebar.",
    "Distribusi t menghasilkan interval sedikit lebih lebar dibanding distribusi Z, terutama pada sampel kecil."
  )
)

knitr::kable(
  kesimpulan,
  caption = "Ringkasan Hasil Simulasi"
)
Ringkasan Hasil Simulasi
Faktor Hasil
Ukuran Sampel (n) Semakin besar n, interval kepercayaan semakin sempit.
Standar Deviasi (SD) Semakin besar SD, interval kepercayaan semakin lebar.
Distribusi Z vs t Distribusi t menghasilkan interval sedikit lebih lebar dibanding distribusi Z, terutama pada sampel kecil.

Berdasarkan hasil simulasi yang telah dilakukan, dapat disimpulkan bahwa ukuran sampel memiliki hubungan berbanding terbalik dengan lebar interval kepercayaan. Semakin besar jumlah sampel yang digunakan, maka interval kepercayaan menjadi semakin sempit sehingga estimasi parameter populasi menjadi lebih akurat.

Sebaliknya, peningkatan standar deviasi menyebabkan interval kepercayaan menjadi lebih lebar karena variasi data yang semakin besar. Perbandingan antara distribusi Z dan distribusi t juga menunjukkan bahwa distribusi t memberikan interval yang sedikit lebih konservatif, terutama pada ukuran sampel kecil. Namun, ketika ukuran sampel bertambah besar, hasil distribusi t semakin mendekati distribusi Z.

Dengan demikian, simulasi ini berhasil menunjukkan bagaimana ukuran sampel, variabilitas data, serta pengetahuan terhadap standar deviasi populasi memengaruhi pembentukan interval kepercayaan dalam proses inferensi statistik.