Confidence Interval

Assignment ~ Week 13

Yosef Teofani Tamba

Data science undergraduate at ITSB with lecturer Mr. Bakti Siregar, M.Sc., CDS

1 Case Study 1

Confidence Interval untuk nilai Mean dan \(\sigma\) diketahui: Sebuah platform e-commerce ingin memperkirakan jumlah transaksi harian rata-rata per pengguna setelah meluncurkan fitur baru. Berdasarkan data historis berskala besar, simpangan baku populasi telah diketahui. \(\sigma = 3.2\) (Population standard deviation)

\(n = 100\) (Sample size)

\(\bar x = 12.6\) (Sample mean)

Tasks

  1. Identifikasi uji statistik yang sesuai dan jelaskan alasan pemilihan Anda.
  2. Hitung Confidence Intervals untuk:
    • 90%
    • 95%
    • 99%
  3. Buatlah visualisasi perbandingan dari tiga interval kepercayaan.
  4. Menafsirkan hasil dalam konteks analitik bisnis

1.1 Mengidentifikasi Uji Statistik.

Metode yang cocok dalam menganalisis kasus tersebut adalah dengan menggunakan Distribusi-Z karena:

  • Sample size nya (n) bernilai 100, yang artinya \(n \geq 30\). Dikatakan dalam Central Limit Theorem (CLT) bahwa rata-rata distribusi sampling mendekati normal jika \(n \geq 30\). Dengan ukuran sampel 100, maka syarat tersebut terpenuhi.
  • Nilai daripada \(\sigma\) diketahui yaitu bernilai 3.2
  • Tujuan dari analisa ini adalah untuk estimasi parameter, bukan untuk uji hipotesis

1.2 Perhitungan Confidence Interval

Dalam menghitung confidence interval distribusi-z, digunakan rumus:

\[ Cl =\bar x \pm Z_{\alpha/2} \times \frac{\sigma}{\sqrt n} \]

Keterangan:

  • \(CL\): Confidence Interval
  • \(\bar x\): Rata-rata sampel
  • \(z_{\alpha/2}\): Nilai kritis distribusi normal
  • \(\sigma\): Simpangan baku populasi
  • \(n\): Jumlah sampel

Diketahui bahwa \(\sigma = 3.2\), \(n = 100\), \(\bar x = 12.6\)

Langkah-langkah dalam menentukan Confidence Interval:

  • Perhitungan Standard Error (SE)

\[ SE= \frac{\sigma}{\sqrt n} = \frac{3.2}{\sqrt 100} \] \[ SE = \frac{3.2}{10} = 0.32 \]

  • Mencari nilai kritis Z:

    • CL 90%: \(\alpha = 0.10\); \(\frac{\alpha}{2} = 0.05\); \(z_{0.05} = 1.645\)
    • CL 95%: \(\alpha = 0.05\); \(\frac{\alpha}{2} = 0.025\); \(z_{0.025} = 1.960\)
    • CL 99%: \(\alpha = 0.01\); \(\frac{\alpha}{2} = 0.005\); \(z_{0.005} = 2.576\)
  • Mencari Margin of Error:

    • CL 90%: \(ME = z\times{SE} = 1.645\times{0.32} = 0.5264\)
    • CL 95%: \(ME = z\times{SE} = 1.960\times{0.32} = 0.6272\)
    • CL 99%: \(ME = z\times{SE} = 2.576\times{0.32} = 0.8249\)
  • Mencari nilai Lower CL:

    • CL 90%: \(\bar{x} - ME = 12.6 - 0.5264 = 12.074\)
    • CL 95%: \(\bar{x} - ME = 12.6 - 0.6272 = 11.973\)
    • CL 99%: \(\bar{x} - ME = 12.6 - 0.8249 = 11.776\)
  • Mencari nilai Upper CL:

    • CL 90%: \(\bar{x} + ME = 12.6 + 0.5264 = 13.126\)
    • CL 95%: \(\bar{x} + ME = 12.6 + 0.6272 = 13.227\)
    • CL 99%: \(\bar{x} + ME = 12.6 + 0.8249 = 13.424\)
Perhitungan Confidence Interval dengan CL 90%, 95%, 99%
Confidence.Level z.Critical. Standard.Error Margin.of.Error Lower.CI Upper.CI
90% 1.6449 0.32 0.5264 12.074 13.126
95% 1.9600 0.32 0.6272 11.973 13.227
99% 2.5758 0.32 0.8243 11.776 13.424

1.3 Visualisasi Perbandingan Confidence Intervals

# Data CI sesuai tabel
data <- data.frame(
  Confidence.Level = factor(c("90%", "95%", "99%"), levels = c("90%", "95%", "99%")),
  z.Critical = c(1.6449, 1.9600, 2.5758),
  Standard.Error = c(0.32, 0.32, 0.32),
  Margin.of.Error = c(0.5264, 0.6272, 0.8243),
  Lower.CI = c(12.074, 11.973, 11.776),
  Upper.CI = c(13.126, 13.227, 13.424)
)

data <- data %>%
  mutate(
    Mean = (Lower.CI + Upper.CI) / 2
  )

# 1) Error Bar Plot : CI Range dengan titik mean
p1 <- ggplot(data, aes(x = Confidence.Level, y = Mean, color = Confidence.Level)) +
  geom_point(size = 3) +
  geom_errorbar(aes(ymin = Lower.CI, ymax = Upper.CI), width = 0.2, size = 1) +
  labs(title = "Error Bar Plot: Perbandingan Confidence Interval",
       x = "Confidence Level",
       y = "Nilai Confidence Interval") +
  theme_minimal() +
  theme(legend.position = "none",
        plot.title = element_text(hjust = 0.5, face = "bold"))

# 2) Density Plot : simulasi distribusi normal dari setiap CI
dens_list <- lapply(1:nrow(data), function(i) {
  mean_i <- data$Mean[i]
  se_i <- data$Standard.Error[i]
  cl_i <- data$Confidence.Level[i]
  x <- seq(mean_i - 4*se_i, mean_i + 4*se_i, length.out = 1000)
  y <- dnorm(x, mean = mean_i, sd = se_i)
  data.frame(x = x, y = y, Confidence.Level = cl_i)
})

dens_data <- do.call(rbind, dens_list)

p2 <- ggplot(dens_data, aes(x = x, y = y, color = Confidence.Level)) +
  geom_line(size = 1) +
  geom_vline(data = data, aes(xintercept = Lower.CI, color = Confidence.Level), linetype = "dashed") +
  geom_vline(data = data, aes(xintercept = Upper.CI, color = Confidence.Level), linetype = "dashed") +
  labs(title = "Density Plot: Perbandingan Confidence Interval",
       x = "Nilai",
       y = "Density",
       color = "Confidence Level") +
  theme_minimal() +
  theme(plot.title = element_text(hjust = 0.5, face = "bold"),
        legend.position = "top")

# Menampilkan gambar berdampingan (jika library gridExtra terpasang)
if(require(gridExtra)) {
  grid.arrange(p1, p2, ncol = 2)
} else {
  print(p1)
  print(p2)
}

Dari visualisasi diatas, dapat dilihat bahwa semakin tinggi Confidence Level, maka Confidence Interval nya semakin menjadi lebar. Confidence Level yang tinggi memberikan kepastian lebih besar bahwa parameter sebenarnya berada dalam interval yang lebih lebar. Sebaliknya, Confidence Level yang lebih rendah menghasilkan interval yang lebih sempit

1.4 Implikasi Bisnis dan Keterbatasan dari Analisis

  1. Implikasi Bisnis: Platform dapat menyatakan bahwa rata-rata transaksi yang terjadi pada setiap hari berada di kisaran 12-13 transaksi sehingga Confidence Level dengan nilai 95% cocok untuk pengambilan keputusan operasional. Sementara Confidence Level 99% cocok dalam pengambilan keputusan strategis yang memiliki resiko tinggi

  2. Keterbatasan Analisis: Asumsi \(\sigma\) konstan mungkin tidak realistis untuk dalam waktu jangka panjang. Dari hasil analisa diketahui bahwa tidak mempertimbangkan variasi antara segmen tiap pengguna. Confidence Level juga tidak memberikan probabilitas \(\mu\) berada dalam interval, melainkan pada probabilitas prosedurnya.

2 Case Study 2

Interval Kepercayaan untuk Rata-Rata, σ Tidak Diketahui: Tim Riset Pengalaman Pengguna (UX) menganalisis waktu penyelesaian tugas (dalam menit) untuk aplikasi seluler baru. Data dikumpulkan dari 12 pengguna: \[8.4,7.9,9.1,8.7,8.2,9.0,7.8,8.5,8.9,8.1,8.6,8.3\]

Tasks:

  1. Identifikasi uji statistik yang sesuai dan jelaskan alasannya.
  2. Hitung Confidence Interval untuk:
    • 90%
    • 95%
    • 99%
  3. Visualisasikan ketiga interval tersebut pada satu grafik.
  4. Jelaskan bagaimana ukuran sampel dan tingkat kepercayaan memengaruhi lebar interval.

2.1 Mengidentifikasi uji statistik

Dalam case tersebut, uji statistik yang relevan adalah dengan menggunakan Distribusi-t (One-sample t-interval). Alasannya adalah sebagai berikut:

  • Ukuran sampel kecil (\(n = 12 < 30\)) ukurang sampel yang kecil lebih cocok menggunakan distribusi-t karena memberikan koreksi terhadap ketidakpastian estimasi.
  • \(\sigma\) populasi tidak diketahui Karena \(\sigma\) tidak diketahui sehingga perlu mengestimasi \(\sigma\) dengan menggunakan data sampel (\(s\)).
  • Data numerik berbentuk waktu (menit) Dalam kasus tersebut, data berupa waktu penyelesaian dalam bentuk menit, yang merupakan variabel kontiniu dimana distribusi-t cocok untuk kategori data kontiniu

2.2 Perhitungan Confidence Interval

Dalam menghitung confidence interval distribusi-t, digunakan rumus:

\[ CL = \bar{x} \pm t_{\alpha/2, \, df} \left( \frac{s}{\sqrt{n}} \right) \] Berikut adalah perhitungan Confidence Interval dengan Confidence Level 90%:

Confidence Level 90%
Parameter Value Formula
Sample size 12.000 \(n\)
Sample mean 8.458 \(\bar{x} = \frac{1}{n}\sum_{i=1}^{n} x_i\)
Sample SD 0.421 \(s = \sqrt{\frac{\sum (x_i - \bar{x})^2}{n-1}}\)
Degrees of freedom 11.000 \(df = n-1\)
t critical value (90%) 1.796 \(t_{1-\alpha /2,df}\)
Standard Error 0.122 \(SE = \frac{s}{\sqrt{n}}\)
Margin of Error 0.218 \(ME = t_{\alpha/2} \times SE\)
90% CI Lower 8.240 \(\bar{x} - ME\)
90% CI Upper 8.677 \(\bar{x} + ME\)
Data: Waktu penyelesaian tugas (menit), n = 12, α = 0.10

Perhitungan dengan Confidence Level 95%:

Confidence Level 95%
Parameter Value Formula
Sample size 12.000 \(n\)
Sample mean 8.458 \(\bar{x} = \frac{1}{n}\sum_{i=1}^{n} x_i\)
Sample SD 0.421 \(s = \sqrt{\frac{\sum (x_i - \bar{x})^2}{n-1}}\)
Degrees of freedom 11.000 \(df = n-1\)
t critical value (95%) 2.201 \(t_{1-\alpha /2,df}\)
Standard Error 0.122 \(SE = \frac{s}{\sqrt{n}}\)
Margin of Error 0.267 \(ME = t_{\alpha/2} \times SE\)
95% CI Lower 8.191 \(\bar{x} - ME\)
95% CI Upper 8.726 \(\bar{x} + ME\)
Data: Waktu penyelesaian tugas (menit), n = 12, α = 0.05

Perhitungan dengan Confidence Level 99%:

Confidence Level 99%
Parameter Value Formula
Sample size 12.000 \(n\)
Sample mean 8.458 \(\bar{x} = \frac{1}{n}\sum_{i=1}^{n} x_i\)
Sample SD 0.421 \(s = \sqrt{\frac{\sum (x_i - \bar{x})^2}{n-1}}\)
Degrees of freedom 11.000 \(df = n-1\)
t critical value (99%) 3.106 \(t_{1-\alpha /2,df}\)
Standard Error 0.122 \(SE = \frac{s}{\sqrt{n}}\)
Margin of Error 0.377 \(ME = t_{\alpha/2} \times SE\)
99% CI Lower 8.081 \(\bar{x} - ME\)
99% CI Upper 8.836 \(\bar{x} + ME\)
Data: Waktu penyelesaian tugas (menit), n = 12, α = 0.01

Hasil analisa menujukkan bahwa rata-rata waktu penyelesaian tugas:

  • 90% CL berada antara 8.24 dan 8.67 menit.
  • 95% CL memiliki rentang 8.19-8.73 menit.
  • 99% CL memiliki rentang 8.08-8.84 menit.

Dalam evaluasi usability, CI memberikan informasi tentang presisi estimasi performa aplikasi.

  • Estimasi titik (8.46 menit) saja tidak cukup karena tidak mengkuantifikasi ketidakpastian.
  • CL 95% (8.19-8.73) menunjukkan bahwa designer yakin 95% waktu penyelesaian rata=rata pengguna sebenarnya ada dalam rentang tersebut.
  • Lebar Interval CL 99% lebih lebar (0.763 menit) daripada CL 90% (0.441 menit), trade-off antara keyakinan dan presisi.

2.3 Visualisasi Perbandingan Confidence Interval

times <- c(8.4, 7.9, 9.1, 8.7, 8.2, 9.0, 7.8, 8.5, 8.9, 8.1, 8.6, 8.3)
n <- length(times)
mean_val <- mean(times)
sd_val <- sd(times)
se <- sd_val / sqrt(n)

conf_levels <- c(0.90, 0.95, 0.99)
t_crit <- qt((1 - conf_levels)/2, df = n-1, lower.tail = FALSE)
me <- t_crit * se

ci_data <- data.frame(
  conf_level = factor(paste0(conf_levels*100, "%"), 
                      levels = c("90%", "95%", "99%")),
  lower = mean_val - me,
  upper = mean_val + me,
  mean_est = mean_val,
  width = 2 * me
)

ggplot(ci_data, aes(x = conf_level, y = mean_est, color = conf_level)) +
  geom_point(size = 4) +
  geom_errorbar(aes(ymin = lower, ymax = upper), width = 0.15, size = 1.2) +
  geom_text(aes(y = upper + 0.03, 
                label = paste0("[", round(lower,2), ", ", round(upper,2), "]")),
            size = 4, fontface = "bold") +
  labs(title = "Interval Kepercayaan untuk Rata-rata Waktu Penyelesaian Tugas",
       subtitle = paste0("n = ", n, ", Mean = ", round(mean_val, 3), 
                         ", SD = ", round(sd_val, 3), ", SE = ", round(se, 3)),
       x = "Tingkat Kepercayaan",
       y = "Waktu (menit)",
       color = "Tingkat\nKepercayaan") +
  theme_minimal() +
  theme(plot.title = element_text(hjust = 0.5, face = "bold"),
        plot.subtitle = element_text(hjust = 0.5)) +
  scale_color_manual(values = c("90%" = "#E41A1C", 
                                "95%" = "#377EB8", 
                                "99%" = "#4DAF4A")) +
  ylim(min(ci_data$lower) - 0.1, max(ci_data$upper) + 0.1)

Dari visualisasi tersebut menunjukkan bahwa CI semakin melebar dengan meningkatnya tingkat kepercayaan, menggambarkan trade-off antara kepastian dan juga presisi.

2.4 Pengaruh Ukuran Sampel dan Tingkat Kepercayaan

Dapat disimpulkan bahwa jika ukuran sampel (n) semakin besar maka error (SE) yang terjadi semakin kecil dan jika ukuran sampel (n) semakin kecil, maka error (SE) yang terjadi semakin besar.

  • Tingkat kepercayaan (1-α): Berbanding lurus dengan lebar interval melalui nilai kritis \(t_{\alpha /2}\). Peningkatan dari 90% ke 99% memperbesar distribusi-t dari 1.796 ke 3.106, meningkatkan lebar ≈ 73%.
  • Ukuran sampel (n): Berbanding terbalik dengan lebar melalui standard error(\(SE=s/\sqrt{n}\)). Jika n ditingkatkan empat kali lipat (\(n=4\times 12 = 48\)), lebar interval berkurang setengahnya (asalkan s stabil).
  • Simpangan baku sampel (s): Variabilitas data berpengaruh linear terhadap lebar.
  • Tingkat Kepercayaan berbanding lurus dengan lebar CI (trade-off certainly precision)
  • Ukuran Sampel berbanding terbalik dengan lebar CI (semakin besar sampel, semakin presisi)

Sehingga secara matematis, untuk mempertahankan lebar tertentu, diperlukan perencanaan sampel: \(n \approx \left (\frac{2\cdot t_{\alpha /2}}{lebar} \right)^2\)

3 Study Case 3

Interval Kepercayaan untuk Proporsi, Uji A/B: Tim ilmu data menjalankan uji A/B pada desain tombol Call-To-Action (CTA) baru. Eksperimen menghasilkan: \(n = 400\) (total users); \(x = 156\) (Pengguna yang mengklik CTA)

Tasks:

  1. Hitung proporsi sampel \(\hat p\)
  2. Hitung Confidence Interval untuk proporsi pada:
    • 90%
    • 95%
    • 99%
  3. Visualisasikan dan bandingkan ketiga interval tersebut
  4. Jelaskan bagaimana tingkat kepercayaan memengaruhi pengambilan keputusan dalam eksperimen produk.

3.1 Menghitung proporsi sampel \(\hat p\)

Rumus proporsi sampel untuk data proporsi:

\[ \hat{p} = \frac{x}{n} \] Keterangan:

  • \(\hat p\): proporsi sampel
  • \(x\): jumlah sukses
  • \(n\): ukuran sampel

Dari data sudah diketahui bahwa nilai \(x=156\) dan \(n=400\). Sehingga perhitungannya adalah: \[ \hat{p} = \frac{x}{n}=\frac{156}{400}=0.39 \] Atau jika diubah ke persen, proporsi pengguna yang mengklik CTA ada di angka 39%

3.2 Perhitungan Confidence Interval

Untuk menghitung confidence interval dengan proporsi, menggunakan rumus: \[ CI = \hat{p} \pm z_{\alpha/2} \times \sqrt{\frac{\hat{p}(1 - \hat{p})}{n}} \] Keterangan:

  • \(CI\): Confidence Interval
  • \(\hat{p}\): Proporsi Sampel
  • \(z_{\alpha/2}\): Nilai kritis distribusi normal
  • \(\sqrt{\frac{\hat{p} (1-\hat{p})}{n}}\): Standard Error dari Proporsi
  • \(n\): Ukuran sampel
  • \(x\): Jumlah sukses dalam sampel

Menghitung nilai Confidence Interval dengan Confidence Level 90%:

Parameter Value Formula
Total sample size 400.0000 \(n\)
Number of successes 156.0000 \(x\)
Sample proportion 0.3900 \(\hat{p} = \frac{x}{n}\)
Standard Error 0.0244 \(SE = \sqrt{\frac{\hat{p}(1-\hat{p})}{n}}\)
Critical value (z) 1.6450 \(z_{1-\alpha/2}\)
Margin of Error 0.0401 \(ME = z_{\alpha/2} \times SE\)
Lower 90% CI 0.3500 \(\hat{p} - ME\)
Upper 90% CI 0.4300 \(\hat{p} + ME\)

Menghitung nilai Confidence Interval dengan Confidence Level 95%:

Parameter Value Formula
Total sample size 400.0000 \(n\)
Number of successes 156.0000 \(x\)
Sample proportion 0.3900 \(\hat{p} = \frac{x}{n}\)
Standard Error 0.0244 \(SE = \sqrt{\frac{\hat{p}(1-\hat{p})}{n}}\)
Critical value (z) 1.9600 \(z_{1-\alpha/2}\)
Margin of Error 0.0478 \(ME = z_{\alpha/2} \times SE\)
Lower 95% CI 0.3420 \(\hat{p} - ME\)
Upper 95% CI 0.4380 \(\hat{p} + ME\)

Menghitung nilai Confidence Interval dengan Confidence Level 99%:

Parameter Value Formula
Total sample size 400.0000 \(n\)
Number of successes 156.0000 \(x\)
Sample proportion 0.3900 \(\hat{p} = \frac{x}{n}\)
Standard Error 0.0244 \(SE = \sqrt{\frac{\hat{p}(1-\hat{p})}{n}}\)
Critical value (z) 2.5760 \(z_{1-\alpha/2}\)
Margin of Error 0.0628 \(ME = z_{\alpha/2} \times SE\)
Lower 99% CI 0.3270 \(\hat{p} - ME\)
Upper 99% CI 0.4530 \(\hat{p} + ME\)

3.3 Visualisasi Perbandingan Confidence Interval

# Data interval kepercayaan
data_ci <- data.frame(
  Tingkat_Kepercayaan = factor(c("90%", "95%", "99%"), 
                               levels = c("99%", "95%", "90%")),
  Proporsi = 0.39,
  Lower = c(0.3499, 0.3422, 0.3272),
  Upper = c(0.4301, 0.4378, 0.4528),
  Margin_Error = c(0.0401, 0.0478, 0.0628)
)

# Warna untuk setiap tingkat kepercayaan
warna <- c("90%" = "#4CAF50",   # Hijau
           "95%" = "#2196F3",   # Biru
           "99%" = "#F44336")   # Merah

# Visualisasi dengan error bars
ggplot(data_ci, aes(x = Tingkat_Kepercayaan, y = Proporsi)) +
  
  # 1. ERROR BARS (interval kepercayaan)
  geom_errorbar(
    aes(ymin = Lower, ymax = Upper, color = Tingkat_Kepercayaan),
    width = 0.15,      # Lebar garis horizontal di ujung error bar
    linewidth = 1.8,   # Ketebalan garis
    alpha = 0.9
  ) +
  
  # 2. TITIK ESTIMASI (proporsi sampel)
  geom_point(
    aes(fill = Tingkat_Kepercayaan),
    size = 8,          # Ukuran titik
    shape = 21,        # Bentuk titik (lingkaran dengan border)
    color = "white",
    stroke = 1.5       # Ketebalan border
  ) +
  
  # 3. NILAI PADA TITIK ESTIMASI
  geom_text(
    aes(label = sprintf("%.1f%%", Proporsi * 100)),
    color = "white",
    fontface = "bold",
    size = 4.5
  ) +
  
  # 4. LABEL BATAS INTERVAL
  # Batas bawah
  geom_text(
    aes(y = Lower, label = sprintf("%.1f%%", Lower * 100)),
    vjust = 1.8,
    size = 3.8,
    color = "gray40",
    fontface = "bold"
  ) +
  
  # Batas atas
  geom_text(
    aes(y = Upper, label = sprintf("%.1f%%", Upper * 100)),
    vjust = -1.2,
    size = 3.8,
    color = "gray40",
    fontface = "bold"
  ) +
  
  # 5. GARIS REFERENSI (opsional: batas keberhasilan 35%)
  geom_hline(
    yintercept = 0.35,
    linetype = "dashed",
    color = "gray50",
    alpha = 0.6,
    linewidth = 0.7
  ) +
  
  annotate(
    "text",
    x = 3.5, y = 0.35,
    label = "Batas 35%",
    hjust = 0,
    vjust = -0.5,
    color = "gray40",
    size = 3.5
  ) +
  
  # 6. SKALA DAN TEMA
  scale_y_continuous(
    limits = c(0.32, 0.46),
    breaks = seq(0.32, 0.46, by = 0.02),
    labels = scales::percent_format(accuracy = 1),
    name = "Proporsi Klik CTA"
  ) +
  
  scale_color_manual(values = warna) +
  scale_fill_manual(values = warna) +
  
  labs(
    title = "Perbandingan Confidence Interval",
    subtitle = paste("Estimasi proporsi klik CTA:", 
                     sprintf("%.1f%%", 0.39 * 100),
                     "| n = 400 pengguna"),
    x = "Tingkat Kepercayaan",
    caption = ""
  ) +
  
  theme_minimal(base_size = 14) +
  theme(
    plot.title = element_text(
      hjust = 0.5, 
      face = "bold", 
      size = 16,
      margin = margin(b = 10)
    ),
    plot.subtitle = element_text(
      hjust = 0.5, 
      color = "gray40", 
      size = 12,
      margin = margin(b = 15)
    ),
    plot.caption = element_text(
      hjust = 0.5, 
      color = "gray50", 
      size = 10,
      margin = margin(t = 10)
    ),
    legend.position = "none",  # Tidak perlu legenda
    panel.grid.major.y = element_line(color = "gray90", linewidth = 0.4),
    panel.grid.minor.y = element_blank(),
    panel.grid.major.x = element_blank(),
    panel.grid.minor.x = element_blank(),
    axis.line.x = element_line(color = "gray50", linewidth = 0.5),
    axis.line.y = element_line(color = "gray50", linewidth = 0.5),
    axis.text = element_text(color = "gray30", size = 12),
    axis.text.x = element_text(face = "bold", size = 13),
    axis.title = element_text(face = "bold", size = 13),
    panel.background = element_rect(fill = "white", color = NA),
    plot.background = element_rect(fill = "white", color = NA)
  ) +
  
  # 7. ANOTASI TAMBAHAN UNTUK KEJELASAN
  annotate(
    "text",
    x = 1.5, y = 0.455,
    label = "",
    hjust = 0.5,
    size = 4,
    color = "gray30",
    lineheight = 1.1
  )

Dari hasil visualisasi diatas, dapat diketahui bahwa perbandingan dari ketiga Confidence Interval pada data proporsi klik CTA menunjukkan trade-off yang jelas antara presisi estimasi dan tingkat resiko. Pada Confidence Level 90%, menghasilkan interval yang sempit dan fokus pada (35.0% - 43.0%), namun memiliki resiko kesalahan terbesar yaitu 10%. Sebaliknya pada tingkat kepercayaan tertinggi (95%) interval melebar secara signifikan (32.7% - 45.28%) untuk mengakomodasi ketidakpastian dan menjamin akurasi dengan resiko kesalahan minim (1%). Interval 95% (34.2% - 43.8%) sebagai penengah yang menyeimbangkan antara ketajaman estimasi dengan keamanan pengambilan keputusan.

3.4 Pengaruh Confidence Interval dalam Pengambilan Keputusan

Implikasi untuk Pengambilan Keputusan Produk:

  • Tingkat Kepercayaan sebagai Cerminan Konservatisme: Tim produk yang lebih konservatif (menghindari risiko) mungkin memilih tingkat kepercayaan lebih tinggi (misal 99%) untuk memastikan bahwa perubahan benar-benar bermanfaat sebelum diluncurkan. Sebaliknya, tim yang lebih agresif mungkin memilih 90% untuk mendeteksi efek lebih cepat, meski dengan risiko kesalahan lebih besar.

  • Pengaruh terhadap Ukuran Sampel: Untuk mencapai presisi tertentu dengan tingkat kepercayaan tinggi, diperlukan ukuran sampel yang lebih besar. Hal ini berdampak pada durasi dan biaya eksperimen.

  • Kontekstualisasi dengan Metrik Lain: Keputusan tidak boleh didasarkan hanya pada interval proporsi klik. Pertimbangan seperti dampak terhadap metrik bisnis lain (konversi, pendapatan) serta user experience juga penting.

4 Study Case 4

Perbandingan Presisi (Z-Test vs t-Test): Dua tim data mengukur latensi API (dalam milidetik) di bawah kondisi yang berbeda.

Team A:

  • \(n = 36\) (ukuran sampel)
  • \(\bar{x} = 210\) (rata-rata sampel)
  • \(\sigma = 24\) (Standart deviasi populasi diketahui)

Team B:

  • \(n = 36\) (ukuran sampel)
  • \(\bar{X} = 210\) (rata-rata sampel)
  • \(s = 24\) (standart deviasi sampel)

Tasks

  1. Identifikasi uji statistik yang digunakan oleh setiap tim.
  2. Hitung Interval Kepercayaan untuk 90%, 95%, dan 99%.
  3. Buat visualisasi yang membandingkan semua interval.
  4. Jelaskan mengapa lebar interval berbeda, meskipun data yang digunakan serupa.

4.1 Mengidentifikasi Uji Statistik

Dalam uji statistik kasus diatas, digunakan 2 distribusi yaitu:

  • Distribusi-Z untuk Team A: Karena \(\sigma\) diketahuii yaitu \(\sigma = 24\). Rumus untuk distribusi-z adalah: \[ CI = \bar{x} \pm z_{\alpha/2} \times \frac{\sigma}{\sqrt{n}} \]
  • Distribusi-T untuk Team B: Karena \(\sigma\) tidak diketahui sehingga hanya memiliki simpangan baku dari sampel (\(s\)) sebesar 24. Rumus untuk distribusi-t adalah: \[ CI = \bar{x} \pm t_{\alpha/2, df} \times \frac{s}{\sqrt{n}} \]

4.2 Perhitungan Confidence Interval

  1. Menghitung Confidence Interval dari Team A:
    • Diketahui:
      • \(\bar{x} = 210\): Rata-rata sampel
      • \(\sigma = 24\): Simpangan Baku Populasi
      • \(n = 36\): Jumlah Sampel
Perhitungan Confidence Interval dengan CL 90%, 95%, 99%
Confidence.Level z.Critical. Standard.Error Margin.of.Error Lower.CI Upper.CI
90% 1.6449 4 6.5794 203.421 216.579
95% 1.9600 4 7.8399 202.160 217.840
99% 2.5758 4 10.3033 199.697 220.303
  1. Menghtiung Confidence Interval dari Team B:
  • Menghitung Confidence Level 90%:
Confidence Level 90%
Parameter Value Formula
Sample size 36.000 \(n\)
Sample mean 210.000 \(\bar{x} = \frac{1}{n}\sum_{i=1}^{n} x_i\)
Sample SD 24.000 \(s = \sqrt{\frac{\sum (x_i - \bar{x})^2}{n-1}}\)
Degrees of freedom 35.000 \(df = n-1\)
t critical value (90%) 1.690 \(t_{1-\alpha /2,df}\)
Standard Error 4.000 \(SE = \frac{s}{\sqrt{n}}\)
Margin of Error 6.758 \(ME = t_{\alpha/2} \times SE\)
90% CI Lower 203.242 \(\bar{x} - ME\)
90% CI Upper 216.758 \(\bar{x} + ME\)

Dari hasil perhitungan diatas, 90% yakin bahwa rata-rata latensi API berada pada sekitar 203.242 dan 216.758 ms. Interval lebih lebar dari z-test karena efek dari ketidakpastian simpangan baku.

  • Menghitung Confidence Level dengan nilai 95%:
Confidence Level 95%
Parameter Value Formula
Sample size 36.00 \(n\)
Sample mean 210.00 \(\bar{x} = \frac{1}{n}\sum_{i=1}^{n} x_i\)
Sample SD 24.00 \(s = \sqrt{\frac{\sum (x_i - \bar{x})^2}{n-1}}\)
Degrees of freedom 35.00 \(df = n-1\)
t critical value (95%) 2.03 \(t_{1-\alpha /2,df}\)
Standard Error 4.00 \(SE = \frac{s}{\sqrt{n}}\)
Margin of Error 8.12 \(ME = t_{\alpha/2} \times SE\)
95% CI Lower 201.88 \(\bar{x} - ME\)
95% CI Upper 218.12 \(\bar{x} + ME\)

Dari data diatas, 95% yakin bahwa rata-rata latensi API berada pada antara 201.99 dan 219.22 ms. Nilai \(t = 2.030 > z =1.960\).

  • Menghitung Confidence Level dengan nilai 99%:
Confidence Level 99%
Parameter Value Formula
Sample size 36.000 \(n\)
Sample mean 210.000 \(\bar{x} = \frac{1}{n}\sum_{i=1}^{n} x_i\)
Sample SD 24.000 \(s = \sqrt{\frac{\sum (x_i - \bar{x})^2}{n-1}}\)
Degrees of freedom 35.000 \(df = n-1\)
t critical value (99%) 2.724 \(t_{1-\alpha /2,df}\)
Standard Error 4.000 \(SE = \frac{s}{\sqrt{n}}\)
Margin of Error 10.895 \(ME = t_{\alpha/2} \times SE\)
99% CI Lower 199.105 \(\bar{x} - ME\)
99% CI Upper 220.895 \(\bar{x} + ME\)

Dari hasil perhitungan, 99% yakin bahwa rata-rata latensi API berada antara 199.10 dan 220.90 ms. Dengan perbedaan terbesar Z-Test karena nilai t jauh lebih besar dari z.

4.3 Visualisasi Perbandingan Confidence Interval

Berikut adalah perbandingan visualisasi antara Z-test dengan t-test

Dari hasil visualisasi tersebut dapat dilihat bahwa plot menunjukkan titik estimasi rata-rata (210ms) dan batas Confidence Interval untuk setiap tingkat kepercayaan. Grafik error bar tersebut merepresentasikan rentang Confidence Interval. Terlihat bahwa error untuk uji \(t\) (Tim B) lebih panjang daripada uji \(Z\) (Tim A) pada tiap tingkat kepercayaan, mencerminkan Confidence Interval yang lebih lebar.

4.4 Analisis Perbedaan CI Z-Test vs t-Test

Pada semua Confidence Level, CI dari uji \(t\) lebih lebar daripada uji \(Z\). Perbedaan yang lebar semakin jelas pada tingkat kepercayaan yang lebih tinggi (sampai 99%). Meskipun kedua tim mengamati data numerik yang sama (\(\bar{x} = 24,\, n = 36,\, \sigma = 24\)), ketidakpastian inferensial berebda.

  • Tim A dapat mengklaim estimasi yang lebih presisi (Confidence Level lebih sempit) karena memiliki nilai \(\sigma\)
  • Tim B harus mengestimasi \(\sigma\) dari sampel dan menghadapi ketidakpastian tambahan, sehingga Confidence Interval nya lebih lebar dengan tingkat keyakinan yang sama.

Dalam konteks pengukuran latensi API, CI yang lebih lebar memperlihatkan bahwa keyakinan yang lebih rendah terhadap estimasi rata-rata populasi ketika standar deviasi (\(\sigma\)) populasi tidak diketahui.

5 Study Case 5

Confidence Interval Satu Sisi: Sebuah perusahaan Software as a Service (SaaS) ingin memastikan bahwa setidaknya 70% dari pengguna aktif mingguan menggunakan fitur premium

Dari eksperimen:

  • \(n = 250\) (total user)
  • \(x = 185\) (pengguna premium yang aktif)

Manajemen hanya tertarik terhadap batas bawah perkiraan:

Tasks:

  1. Identifikasi jenis Confidence Interval dan Uji yang sesuai
  2. Hitung Interval Kepercayaan satu sisi bawah pada:
    • 90%
    • 95%
    • 99%
  3. Visualisasikan batas bawah untuk semua tingkat kepercayaan.
  4. Tentukan apakah target 70% terpenuhi secara statistik.

5.1 Mengidentifikasi Uji Statistik

Dalam kasus kali ini menggunakan metode One-Side Confidence Interval karena di dalam soal, perusahaan hanya ingin dengan batas bawah karena ingin memastikan setidaknya 70% pengguna menggunakan fitur premium. Memiliki rumus: \[ CL_{lower} = \hat{p}-z_{\alpha}\times \sqrt{\frac{\hat{p}(1-\hat{p})}{n}} \]

Dan dalam pengujian untuk proporsi menggunakan Z-Test karena data memiliki sampel yang besar (\(n=250\)). Ukuran sampel mendekati distribusi normal (CLT), sehingga Z-test tepat digunakan dalam mengestimasi proporsi populasi Memiliki rumus: \[ \hat{p}=\frac{x}{n} \]

5.2 Perhitungan Confidence Interval

Menghitung One-Sided CI Lower Bound menggunakan rumus: \[ CL_{lower} = \hat{p}-z_{\alpha}\times \sqrt{\frac{\hat{p}(1-\hat{p})}{n}} \]

Diketahui:

  • \(n=250\) Pengguna Premium

  • \(x=185\) Total Pengguna

  • \(\hat{p}=\frac{x}{n}=\frac{185}{250}=0.74\) Proporsi Sampel

  • Perhitungan Confidence Level dengan nilai 90%:

Parameter Value Formula
Sample size 250.0000 \(n\)
Number of successes 185.0000 \(x\)
Sample proportion 0.7400 \(\hat{p} = \frac{x}{n}\)
Significance level 0.1000 \(\alpha\)
Critical value 1.2820 \(z_{1-\alpha}\)
Standard Error 0.0277 \(SE = \sqrt{\frac{\hat{p}(1-\hat{p})}{n}}\)
Margin of Error 0.0356 \(ME = z_{1-\alpha} \times SE\)
Lower One-Sided CI 0.7040 \(CI_{lower} = \hat{p} - ME\)
Upper One-Sided CI 0.7760 \(CI_{upper} = \hat{p} + ME\)
  • Perhitungan Confidence Level dengan nilai 95%:
Parameter Value Formula
Sample size 250.0000 \(n\)
Number of successes 185.0000 \(x\)
Sample proportion 0.7400 \(\hat{p} = \frac{x}{n}\)
Significance level 0.0500 \(\alpha\)
Critical value 1.6450 \(z_{1-\alpha}\)
Standard Error 0.0277 \(SE = \sqrt{\frac{\hat{p}(1-\hat{p})}{n}}\)
Margin of Error 0.0456 \(ME = z_{1-\alpha} \times SE\)
Lower One-Sided CI 0.6940 \(CI_{lower} = \hat{p} - ME\)
Upper One-Sided CI 0.7860 \(CI_{upper} = \hat{p} + ME\)
  • Perhitungan Confidence Level dengan nilai 99%:
Parameter Value Formula
Sample size 250.0000 \(n\)
Number of successes 185.0000 \(x\)
Sample proportion 0.7400 \(\hat{p} = \frac{x}{n}\)
Significance level 0.0100 \(\alpha\)
Critical value 2.3260 \(z_{1-\alpha}\)
Standard Error 0.0277 \(SE = \sqrt{\frac{\hat{p}(1-\hat{p})}{n}}\)
Margin of Error 0.0645 \(ME = z_{1-\alpha} \times SE\)
Lower One-Sided CI 0.6750 \(CI_{lower} = \hat{p} - ME\)
Upper One-Sided CI 0.8050 \(CI_{upper} = \hat{p} + ME\)

Dari hasil perhitungan diatas, diketahui bahwa:

  • Pada tingkat kepercayaan 90%, yakin bahwa minimal 70.45% pengguna menggunakan fitur premium.
  • Pada tingkat kepercayaan 95%, yakin bahwa minimal 69.44% pengguna menggunakan fitur premium.
  • Pada tingkat kepercayaan 99%, yakin bahwa minimal 67.55% pengguna menggunakan fitur premium.

5.3 Visualisasi Batas Bawah

Pada error bars tersebut menunjukkan batas bawah proporsi untuk tiga tingkat kepercayaan. Garis horizontal merah putus-putus menunjukkan target 70%. dapat dilihat bahwa hanya tingkat kepercayaan 90% yang melebihi garis target, sedangkan untuk 95% dan 99% berada di bawahnya.

5.4 Menentukan apakah target 70% terpenuhi secara statistik

Berdasarkan analisis statistik dan visualisasi target manajemen sebesar 70%, belum sepenuh nya terpenuhi karena hanya tingkat kepercayaan 90% yang memenuhi untuk batas bawah (70.45%) > 70%. Namun pada tingkat kepercayaan 95% dan 99%, batas bawah berada dibawah 70% yang menunjukkan bahwa dengan tingkat keyakinan yang lebih tinggi, target tidak terpenuhi. Hal ini mencerminkan trade-off antara tingkat kepercayaan dan presisi.

Sehingga dapat disimpulkan bahwa : Semakin tinggi keyakinan, batas bawah menjadi lebih konservati (rendah) untuk mengakomodasi ketidakpastian

Confidence Level Batas Bawah CI Target 70% Status Interpretasi
90% CI 70.44% 70% TERPENUHI Target terpenuhi karena batas bawah terendah masih berada di atas ambang batas 70%.
95% CI 69.44% 70% TIDAK TERPENUHI Target tidak terpenuhi secara statistik karena batas bawah turun menjadi 69.44%.
99% CI 67.55% 70% TIDAK TERPENUHI Target jelas tidak terpenuhi karena batas bawah berada di bawah 70%, menunjukkan probabilitas bahwa proporsi populasi sebenarnya di bawah target.