Study Cases
Confidence Interval ~ Week 13 ~
R Programming Data Science Statistics
1 Studi Kasus 1
Interval Kepercayaan untuk Rata-rata (\(\sigma\) Diketahui)
Diketahui (Given):
σ = 3,2 → population standard deviation (simpangan baku
populasi)
n = 100 → sample size (ukuran sampel)
x̄ = 12,6 → sample mean (rata-rata sampel)
1.1 Identifikasi uji statistik
Metode statistik yang digunakan adalah Z Confidence Interval for the Mean (interval kepercayaan rata-rata menggunakan distribusi Z).Disebut Z-interval karena menggunakan distribusi Z (normal standar)
Digunakan ketika:
- Simpangan baku populasi (σ) diketahui
- Ukuran sampel besar (n ≥ 30)
- Tujuan analisis adalah mengestimasi rata-rata populasi
Semua kondisi tersebut terpenuhi pada kasus ini, sehingga Z Confidence Interval adalah metode yang tepat.
1.2 Hitung Interval Kepercayaan
Langkah 1: Menentukan rumus (Nama: Confidence Interval Formula)
\[
\bar{x} \pm Z_{\alpha/2}\left(\frac{\sigma}{\sqrt{n}}\right)
\] Langkah 2: Menghitung Standard Error
\[\frac{\sigma}{\sqrt{n}} =
\frac{3,2}{\sqrt{100}} = \frac{3,2}{10} = 0,32\] Standard error
menunjukkan tingkat ketidakpastian rata-rata sampel terhadap rata-rata
populasi.
1. Confidence Interval 90%
• Nilai Z = 1,645 (Nama: Critical Z-value)
\[12,6 \pm 1,645(0,32)\] • Margin of
Error:
Margin of error adalah batas kesalahan estimasi.
\[1,645 \times 0,32 = 0,526\] • Lower
& Upper Bound:
Lower Bound (Batas Bawah)=12,6 − 0,526 = 12,07
Upper Bound (Batas Atas) =12,6 + 0,526 = 13,13
\[(12,07 , 13,13)\]
2. Confidence Interval 95%
• Nilai \(Z = 1,96\)
\[12,6 \pm 1,96(0,32)\] • Margin of
Error:
\[1,96×0,32=0,627\] • Lower &
Upper Bound:
Lower Bound (Batas Bawah)=12,6 − 0,627 = 11,97
Upper Bound (Batas Atas)=12,6 + 0,627 = 13,23
Hasil Interval:
\[(11,97 , 13,23)\]
c. Confidence Interval 99%
• Nilai Z = 2,576 \[12,6±2,576(0,32)\]
• Margin of Error: \[2,576×0,32=0,824\]
• Lower & Upper Bound:
Lower Bound (Batas Bawah)=12,6 − 0,824 = 11,78
Upper Bound (Batas Atas)=12,6 + 0,824 = 13,42
Hasil Interval:
\[(11,78 , 13,42)\]
1.3 visualisasi perbandingan
# Data confidence interval
ci_data <- data.frame(
Confidence_Level = c("90%", "95%", "99%"),
Lower = c(12.07, 11.97, 11.78),
Upper = c(13.13, 13.23, 13.42),
Mean = c(12.6, 12.6, 12.6)
)
library(ggplot2)
library(plotly)
p <- ggplot(
ci_data,
aes(
x = Confidence_Level,
y = Mean,
text = paste(
"Confidence Level:", Confidence_Level,
"<br>Mean:", Mean,
"<br>Lower:", Lower,
"<br>Upper:", Upper
)
)
) +
geom_point(size = 3, color = "#6F63FF") +
geom_errorbar(
aes(ymin = Lower, ymax = Upper),
width = 0.2,
color = "#B2ABFF"
) +
labs(
title = "Comparison of Confidence Intervals",
x = "Confidence Level",
y = "Average Daily Transactions"
) +
theme_minimal()
# Ubah jadi grafik interaktif
ggplotly(p, tooltip = "text")Sumbu X: Confidence Level
Sumbu Y: Nilai Mean
Garis horizontal: interval kepercayaan
Titik tengah: sample mean (12,6)
Visualisasi yang digunakan adalah confidence interval plot (error bar
plot). Garis vertikal menunjukkan rentang interval kepercayaan,
sedangkan titik menunjukkan rata-rata sampel (12,6). Terlihat bahwa
interval kepercayaan semakin lebar seiring meningkatnya tingkat
kepercayaan dari 90% ke 99%.
1.4 Interpretasi Bisnis
- Rata-rata transaksi harian per pengguna diperkirakan sekitar 12,6
transaksi.
- Interval kepercayaan menunjukkan bahwa nilai rata-rata populasi
berada dalam rentang ± tertentu di sekitar 12,6.
- Semakin tinggi tingkat kepercayaan (90% → 99%), rentang interval
semakin lebar.
- Interval yang lebih lebar berarti keyakinan meningkat, tetapi
presisi estimasi menurun.
- Secara bisnis, fitur baru menunjukkan performa yang stabil, namun tingkat kepercayaan yang digunakan sebaiknya disesuaikan dengan risiko keputusan bisnis.
2 Studi Kasus 2
Diketahui (Given):
Data waktu penyelesaian tugas (menit) 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
n = 12 (ukuran sampel kecil)
σ tidak diketahui
x̄ = 8,46 menit (rata-rata sampel)
s = 0,44 menit (simpangan baku sampel)
2.1 Identifikasi Uji Statistik
Metode yang digunakan adalah T Confidence Interval for the Mean.
Alasannya:
- Simpangan baku populasi (σ) tidak diketahui
- Ukuran sampel kecil (n < 30)
- Tujuan analisis adalah mengestimasi rata-rata populasi
Karena kondisi ini terpenuhi, maka digunakan distribusi t (Student’s
t-distribution).
2.2 Perhitungan Interval Kepercayaan
Rumus Interval Kepercayaan:\[\bar{x} \pm t_{\alpha/2} \left(\frac{s}{\sqrt{n}}\right)\] Standard Error:
\[SE = \frac{0,44}{\sqrt{12}} = 0,13\] Derajat kebebasan:
\[df=n−1=11\]
1.Confidence Interval 90%
Nilai t (df = 11) = 1,796
Margin of Error:
\[1,796×0,13=0,22\] Lower Bound = 8,46
− 0,22 = 8,24
Upper Bound = 8,46 + 0,22 = 8,68
CI 90%:
(8,24 , 8,68)
2.Confidence Interval 95%
Nilai t (df = 11) = 2,201
Margin of Error:
\[2,201×0,13=0,27\]
Lower Bound = 8,19
Upper Bound = 8,73
CI 95%:
(8,19 , 8,73)
3.Confidence Interval 99%
Nilai t (df = 11) = 3,106
Margin of Error:
\[3,106×0,13=0,38\]
Lower Bound = 8,08
Upper Bound = 8,84
CI 99%:
(8,08 , 8,84)
2.3 Visualisasi
library(plotly)
confidence <- c("90%", "95%", "99%")
lower <- c(8.24, 8.19, 8.08)
upper <- c(8.68, 8.73, 8.84)
mean <- c(8.46, 8.46, 8.46)
plot_ly(
x = confidence,
y = mean,
type = "scatter",
mode = "markers",
marker = list(size = 10, color = "#6F63FF"),
error_y = list(
type = "data",
symmetric = FALSE,
array = upper - mean,
arrayminus = mean - lower,
color = "#B2ABFF"
),
text = paste(
"Confidence Level:", confidence,
"<br>Mean:", mean,
"<br>Lower Bound:", lower,
"<br>Upper Bound:", upper,
"<br><b>Interpretation:</b><br>Rentang waktu penyelesaian tugas<br>dengan tingkat kepercayaan terkait."
),
hoverinfo = "text"
) %>%
layout(
title = "Comparison of Confidence Intervals",
xaxis = list(title = "Confidence Level"),
yaxis = list(
title = "Task Completion Time (minutes)",
range = c(8.0, 8.9)
)
)Visualisasi ini menunjukkan perbandingan interval kepercayaan 90%, 95%, dan 99%, di mana garis vertikal merepresentasikan rentang interval kepercayaan dan titik menunjukkan rata-rata sampel. Terlihat bahwa interval kepercayaan semakin lebar seiring meningkatnya tingkat kepercayaan.
2.4 pengaruh ukuran sampel dan tingkat kepercayaan kepada lebar interval
- Ukuran sampel kecil (n = 12) → interval kepercayaan menjadi lebih
lebar
- Confidence level semakin tinggi (90% → 99%) → interval semakin
lebar
- Interval yang lebih lebar berarti keyakinan meningkat, tetapi
presisi menurun
3 Studi Kasus 3
Diketahui (Given):
n = 400 → total users
x = 156 → users yang klik CTA
3.1 Hitung Sample Proportion (p̂)
Rumus (Nama: Sample Proportion):
\[\hat{p} = \frac{x}{n}\]
Perhitungan:
\[\hat{p} = \frac{156}{400} = 0,39\]
Artinya, 39% pengguna mengklik CTA.
3.2 Interval Kepercayaan untuk Proporsi
Rumus Confidence Interval for Proportion:
\[\hat{p} \pm
Z_{\alpha/2}\sqrt{\frac{\hat{p}(1-\hat{p})}{n}}\] Standard
Error:
\[SE = \sqrt{\frac{0,39(1-0,39)}{400}}
= \sqrt{\frac{0,2379}{400}}
= 0,024\]
a. Confidence Interval 90%
Nilai Z = 1,645
Margin of Error:
1,645×0,024=0,039
Lower Bound = 0,39 − 0,039 = 0,351
Upper Bound = 0,39 + 0,039 = 0,429
CI 90%:
(0,351 , 0,429)
b. Confidence Interval 95%
Nilai Z = 1,96
Margin of Error:
1,96×0,024=0,047
Lower Bound = 0,343
Upper Bound = 0,437
CI 95%:
(0,343 , 0,437)
c. Confidence Interval 99%
Nilai Z = 2,576
Margin of Error:
2,576×0,024=0,062
Lower Bound = 0,328
Upper Bound = 0,452
CI 99%:
(0,328 , 0,452)
3.3 Visualisasi perbandingan interval
library(plotly)
confidence <- c("90%", "95%", "99%")
lower <- c(0.351, 0.343, 0.328)
upper <- c(0.429, 0.437, 0.452)
p_hat <- c(0.39, 0.39, 0.39)
plot_ly(
x = confidence,
y = p_hat,
type = "scatter",
mode = "markers",
marker = list(size = 10, color = "#6F63FF"),
error_y = list(
type = "data",
symmetric = FALSE,
array = upper - p_hat,
arrayminus = p_hat - lower,
color = "#B2ABFF"
),
text = paste(
"Confidence Level:", confidence,
"<br>Estimated Proportion (p̂):", round(p_hat, 3),
"<br>Lower Bound:", lower,
"<br>Upper Bound:", upper,
"<br><b>Interpretation:</b><br>Rentang estimasi click-through rate<br>dengan tingkat kepercayaan terkait."
),
hoverinfo = "text"
) %>%
layout(
title = "Confidence Intervals for CTA Click Rate",
xaxis = list(title = "Confidence Level"),
yaxis = list(
title = "Click-Through Rate (Proportion)",
range = c(0.32, 0.46)
)
)3.4 Pengaruh Confidence Level terhadap Keputusan Produk
Confidence level lebih rendah (90%)
→ interval lebih sempit
→ cocok untuk keputusan cepat, tetapi risiko kesalahan lebih tinggiConfidence level lebih tinggi (95%–99%)
→ interval lebih lebar
→ keputusan lebih aman dan konservatif, tetapi kurang presisi
4 Studi Kasus 4
Diketahui: Team A
n = 36
x̄ = 210 ms
σ = 24 ms (simpangan baku populasi diketahui)
Team B
n = 36
x̄ = 210 ms
s = 24 ms (simpangan baku sampel, σ tidak diketahui)
4.1 Identifikasi Uji Statistik
Team A
Menggunakan Z Confidence Interval for the Mean
Alasan:
Simpangan baku populasi (σ) diketahui
Ukuran sampel cukup besar (n ≥ 30)
Team B
Menggunakan t Confidence Interval for the Mean
Alasan:
Simpangan baku populasi tidak diketahui
Menggunakan simpangan baku sampel (s)
Distribusi t dengan derajat kebebasan
\[df=n−1=35\]
4.2 Menghitung Interval Kepercayaan
Standard Error (keduanya sama) \[SE = \frac{24}{\sqrt{36}} = \frac{24}{6} = 4\]A. Team A — Z Confidence Interval
• 90% Confidence Interval
- Z = 1,645
- Margin of Error \(= 1,645 × 4 =
6,58\)
CI 90%:
210±6,58=(203,42, 216,58)
• 95% Confidence Interval
- Z = 1,96
- Margin of Error = 7,84
CI 95%:
(202,16, 217,84)
• 99% Confidence Interval
- Z = 2,576 - Margin of Error = 10,30
CI 99%:
(199,70, 220,30)
B. Team B — t Confidence Interval (df = 35)
• 90% Confidence Interval
t = 1,690
Margin of Error = 6,76
CI 90%:
(203,24, 216,76)
• 95% Confidence Interval
- t = 2,030
- Margin of Error = 8,12
CI 95%:
(201,88, 218,12)
• 99% Confidence Interval
- t = 2,724
- Margin of Error = 10,90
CI 99%:
(199,10, 220,90)
4.3 Visualisasi
library(plotly)
team <- c("A 90%", "A 95%", "A 99%", "B 90%", "B 95%", "B 99%")
lower <- c(203.42, 202.16, 199.70, 203.24, 201.88, 199.10)
upper <- c(216.58, 217.84, 220.30, 216.76, 218.12, 220.90)
mean <- rep(210, 6)
plot_ly(
x = team,
y = mean,
type = "scatter",
mode = "markers",
marker = list(size = 10, color = "#6F63FF"),
error_y = list(
type = "data",
symmetric = FALSE,
array = upper - mean,
arrayminus = mean - lower,
color = "#B2ABFF"
),
text = paste(
"Team & Confidence Level:", team,
"<br>Mean Latency (ms):", mean,
"<br>Lower Bound:", lower,
"<br>Upper Bound:", upper,
"<br><b>Interpretation:</b><br>",
"Rentang interval kepercayaan<br>",
"untuk estimasi latency API."
),
hoverinfo = "text"
) %>%
layout(
title = "Comparison of Z-Test and t-Test Confidence Intervals",
xaxis = list(title = "Test & Confidence Level"),
yaxis = list(
title = "API Latency (ms)",
range = c(198, 222)
)
)4.4 Mengapa Lebar Interval Berbeda
- Z-test (Team A) menggunakan σ yang diketahui → lebih presisi
- t-test (Team B) memperhitungkan ketidakpastian estimasi σ → interval
lebih lebar
- Distribusi t memiliki ekor lebih tebal dibanding distribusi Z
- Walaupun data dan ukuran sampel sama, ketidakpastian tambahan pada
t-test membuat intervalnya lebih luas
5 Studi Kasus 5
DIKETAHUI
Dari studi kasus:
Jumlah total pengguna mingguan \[n = 250\]
Jumlah pengguna yang menggunakan fitur premium
\[x = 185\]Estimasi proporsi pengguna premium
\[\hat{p} = \frac{x}{n} = \frac{185}{250} = 0.74\]Target manajemen
\[p \ge 0.70\]
5.1 Jenis Confidance Interval & Test
Jenis Confidence Interval:
One-Sided (Lower) Confidence Interval untuk proporsiTest yang digunakan:
Z-Test untuk satu proporsi (One-sample proportion Z-test)
5.2 Data & Estimasi Awal
Jumlah pengguna:
\[n = 250\]Pengguna premium aktif:
\[x = 185\]Estimasi proporsi: \[\hat{p} = \frac{185}{250} = 0.74\]
Standard Error: \[SE = \sqrt{\frac{\hat{p}(1-\hat{p})}{n}} = \sqrt{\frac{0.74(0.26)}{250}} \approx 0.0277\]
5.3 Interval Kepercayaan Bawah Satu Sisi
Rumus:
\[\text{Lower Bound} = \hat{p} - z_{\alpha}
\times SE\]
library(knitr)
library(kableExtra)
ci_table <- data.frame(
"Confidence Level" = c("90%", "95%", "99%"),
"Z Value" = c(1.282, 1.645, 2.330),
"Lower Confidence Bound" = c(0.704, 0.694, 0.675),
check.names = FALSE
)
kable(
ci_table,
caption = "Confidence Interval Batas Bawah Satu Sisi untuk Penggunaan Fitur Premium",
digits = 3,
align = "c"
) %>%
kable_styling(
full_width = TRUE, # tabel tidak menciut
bootstrap_options = c("striped", "hover", "condensed")
) %>%
row_spec(0, bold = TRUE, background = "#E6E0FF") %>% # header ungu
column_spec(1, background = "#F4F1FF") # kolom CI level| Confidence Level | Z Value | Lower Confidence Bound |
|---|---|---|
| 90% | 1.282 | 0.704 |
| 95% | 1.645 | 0.694 |
| 99% | 2.330 | 0.675 |
5.4 Visualisasi Lower Bound (R)
library(plotly)
ci_plot <- data.frame(
Confidence_Level = c("90%", "95%", "99%"),
Lower_Bound = c(0.704, 0.694, 0.675),
Explanation = c(
"CI 90%: Dengan tingkat kepercayaan 90%, minimal 70,4% pengguna menggunakan fitur premium.",
"CI 95%: Dengan tingkat kepercayaan yang lebih tinggi, batas bawah penggunaan turun menjadi 69,4%.",
"CI 99%: Tingkat kepercayaan sangat tinggi menghasilkan batas bawah yang lebih konservatif yaitu 67,5%."
)
)
plot_ly(
data = ci_plot,
x = ~Confidence_Level,
y = ~Lower_Bound,
type = "scatter",
mode = "markers+lines",
marker = list(
size = 10,
color = "#9B8CF7"
),
line = list(
width = 2,
color = "#6F63D9"
),
text = ~Explanation,
hoverinfo = "text"
) %>%
layout(
title = "Interval Kepercayaan Batas Bawah Satu Sisi untuk Penggunaan Fitur Premium",
xaxis = list(title = "Confidence Level"),
yaxis = list(
title = "Batas Bawah Confidence Interval",
range = c(0.65, 0.75)
),
plot_bgcolor = "#FAF9FF",
paper_bgcolor = "#FAF9FF"
)5.5 Tabel Keputusan (TARGET 70%)
library(knitr)
library(kableExtra)
decision_table <- data.frame(
"Confidence Level" = c("90%", "95%", "99%"),
"Lower Bound" = c(0.704, 0.694, 0.675),
"Target 70%" = c(0.70, 0.70, 0.70),
"Terpenuhi Secara Statistik" = c("Iya", "Tidak", "Tidak"),
check.names = FALSE
)
kable(
decision_table,
caption = "Keputusan terhadap Target 70% Berdasarkan Confidence Interval Satu Sisi",
digits = 3,
align = "c"
) %>%
kable_styling(
full_width = TRUE,
bootstrap_options = c("striped", "hover", "condensed")
) %>%
row_spec(0, bold = TRUE, background = "#E6E0FF") %>% # header ungu
column_spec(4, bold = TRUE)| Confidence Level | Lower Bound | Target 70% | Terpenuhi Secara Statistik |
|---|---|---|---|
| 90% | 0.704 | 0.7 | Iya |
| 95% | 0.694 | 0.7 | Tidak |
| 99% | 0.675 | 0.7 | Tidak |
5.6 Kesimpulan
Pada tingkat kepercayaan 90%, batas bawah interval kepercayaan satu sisi berada di atas target 70%, sehingga target manajemen dapat dikatakan tercapai. Namun, pada tingkat kepercayaan 95% dan 99%, batas bawah berada di bawah 70%, sehingga secara statistik target tidak dapat dijamin pada tingkat kepercayaan yang lebih tinggi.
6 Referensi
- Walpole, R. E., Myers, R. H., Myers, S. L., & Ye, K.
(2012).
- Devore, J. L. (2016).
- Agresti, A., & Franklin, C. (2014).
- Montgomery, D. C., & Runger, G. C. (2018).