Sebuah perusahaan ingin mengestimasi rata-rata waktu yang dihabiskan oleh pelanggan di situs web mereka. Mereka melakukan dua survei dengan ukuran sampel yang berbeda.
# Survei 1
n1 <- 30
mean1 <- 5
sd1 <- 2
alpha <- 0.05
t_value1 <- qt(1 - alpha/2, df = n1-1)
error_margin1 <- t_value1 * sd1 / sqrt(n1)
interval1 <- c(mean1 - error_margin1, mean1 + error_margin1)
interval1
## [1] 4.253188 5.746812
# Survei 2
n2 <- 100
mean2 <- 5
sd2 <- 2
t_value2 <- qt(1 - alpha/2, df = n2-1)
error_margin2 <- t_value2 * sd2 / sqrt(n2)
interval2 <- c(mean2 - error_margin2, mean2 + error_margin2)
interval2
## [1] 4.603157 5.396843
Sebuah sekolah ingin mengestimasi rata-rata nilai ujian matematika siswa. Mereka memiliki dua kelas dengan variabilitas nilai yang berbeda.
# Kelas A
nA <- 40
meanA <- 75
sdA <- 10
alpha <- 0.05
t_valueA <- qt(1 - alpha/2, df = nA-1)
error_marginA <- t_valueA * sdA / sqrt(nA)
intervalA <- c(meanA - error_marginA, meanA + error_marginA)
intervalA
## [1] 71.80184 78.19816
# Kelas B
nB <- 40
meanB <- 75
sdB <- 20
t_valueB <- qt(1 - alpha/2, df = nB-1)
error_marginB <- t_valueB * sdB / sqrt(nB)
intervalB <- c(meanB - error_marginB, meanB + error_marginB)
intervalB
## [1] 68.60369 81.39631
Sebuah perusahaan ingin mengestimasi rata-rata jumlah produk yang terjual per hari. Mereka menggunakan dua tingkat kepercayaan yang berbeda.
# Tingkat Kepercayaan 90%
alpha90 <- 0.10
t_value90 <- qt(1 - alpha90/2, df = 49)
error_margin90 <- t_value90 * 15 / sqrt(50)
interval90 <- c(100 - error_margin90, 100 + error_margin90)
interval90
## [1] 96.4435 103.5565
# Tingkat Kepercayaan 99%
alpha99 <- 0.01
t_value99 <- qt(1 - alpha99/2, df = 49)
error_margin99 <- t_value99 * 15 / sqrt(50)
interval99 <- c(100 - error_margin99, 100 + error_margin99)
interval99
## [1] 94.31496 105.68504
Sebuah universitas ingin mengestimasi rata-rata tinggi badan mahasiswa di fakultas teknik. Berdasarkan data historis, standar deviasi tinggi badan populasi mahasiswa teknik adalah 5 cm. Sebuah sampel acak dari 36 mahasiswa diambil, dan rata-rata tinggi badan sampel adalah 170 cm.
Karena standar deviasi populasi diketahui, kita menggunakan distribusi z.
mean_tinggi <- 170 # dalam cm
sd_tinggi <- 5 # dalam cm (diketahui)
n <- 36
alpha <- 0.05
# Menghitung nilai z untuk tingkat kepercayaan 95%
z_value <- qnorm(1 - alpha/2)
# Menghitung margin of error
error_margin <- z_value * sd_tinggi / sqrt(n)
# Menghitung interval kepercayaan
interval <- c(mean_tinggi - error_margin, mean_tinggi + error_margin)
interval
## [1] 168.3667 171.6333
Universitas yang sama ingin mengestimasi rata-rata tinggi badan mahasiswa di fakultas seni. Namun, standar deviasi populasi tidak diketahui. Sebuah sampel acak dari 25 mahasiswa diambil, dan hasilnya adalah sebagai berikut (dalam cm):
tinggi_badan <- c(165, 168, 170, 172, 169, 167, 171, 166, 173, 174, 170, 168, 169, 167, 172, 171, 170, 169, 168, 173, 172, 170, 169, 167, 171)
Karena standar deviasi populasi tidak diketahui, kita menggunakan distribusi t.
mean_tinggi <- mean(tinggi_badan)
sd_tinggi <- sd(tinggi_badan)
n <- length(tinggi_badan)
alpha <- 0.05
# Menghitung nilai t untuk tingkat kepercayaan 95% dan df = n-1
t_value <- qt(1 - alpha/2, df = n-1)
# Menghitung margin of error
error_margin <- t_value * sd_tinggi / sqrt(n)
# Menghitung interval kepercayaan
interval <- c(mean_tinggi - error_margin, mean_tinggi + error_margin)
interval
## [1] 168.6802 170.5998
Estimasi dalam selang kepercayaan adalah konsep penting dalam statistika yang memungkinkan kita membuat inferensi tentang parameter populasi berdasarkan data sampel. Dengan memahami dan menghitung selang kepercayaan, kita dapat membuat estimasi yang lebih akurat dan dapat diandalkan untuk pengambilan keputusan.
Simulasi ini bertujuan untuk mempelajari bagaimana ukuran sampel, variabilitas data (standar deviasi), dan informasi tentang standar deviasi populasi mempengaruhi lebar interval kepercayaan 95%.
# Load library
library(ggplot2)
library(knitr)
# Menentukan faktor dan level
sampel <- c(5, 30, 100) # Ukuran sampel
standar_deviasi <- c(10, 50, 90) # Variabilitas data
alpha <- 0.05 # Tingkat signifikansi
# Menyimpan hasil
hasil <- data.frame()
# Loop untuk menghitung interval kepercayaan
for (n in sampel) {
for (sd in standar_deviasi) {
# Interval kepercayaan jika standar deviasi diketahui (gunakan distribusi normal z)
z_value <- qnorm(1 - alpha/2)
margin_error_z <- z_value * sd / sqrt(n)
lebar_interval_z <- 2 * margin_error_z
# Interval kepercayaan jika standar deviasi tidak diketahui (gunakan distribusi t)
t_value <- qt(1 - alpha/2, df = n-1)
margin_error_t <- t_value * sd / sqrt(n)
lebar_interval_t <- 2 * margin_error_t
# Simpan hasil ke dalam data frame
hasil <- rbind(hasil, data.frame(
Ukuran_Sampel = factor(n), # Faktor untuk visualisasi
Standar_Deviasi = sd,
Distribusi = "Z (Diketahui)",
Lebar_Interval = round(lebar_interval_z, 2)
))
hasil <- rbind(hasil, data.frame(
Ukuran_Sampel = factor(n),
Standar_Deviasi = sd,
Distribusi = "T (Tidak Diketahui)",
Lebar_Interval = round(lebar_interval_t, 2)
))
}
}
# Menampilkan hasil dalam bentuk tabel
kable(hasil, caption = "Hasil Simulasi Lebar Interval Kepercayaan 95%")
Ukuran_Sampel | Standar_Deviasi | Distribusi | Lebar_Interval |
---|---|---|---|
5 | 10 | Z (Diketahui) | 17.53 |
5 | 10 | T (Tidak Diketahui) | 24.83 |
5 | 50 | Z (Diketahui) | 87.65 |
5 | 50 | T (Tidak Diketahui) | 124.17 |
5 | 90 | Z (Diketahui) | 157.77 |
5 | 90 | T (Tidak Diketahui) | 223.50 |
30 | 10 | Z (Diketahui) | 7.16 |
30 | 10 | T (Tidak Diketahui) | 7.47 |
30 | 50 | Z (Diketahui) | 35.78 |
30 | 50 | T (Tidak Diketahui) | 37.34 |
30 | 90 | Z (Diketahui) | 64.41 |
30 | 90 | T (Tidak Diketahui) | 67.21 |
100 | 10 | Z (Diketahui) | 3.92 |
100 | 10 | T (Tidak Diketahui) | 3.97 |
100 | 50 | Z (Diketahui) | 19.60 |
100 | 50 | T (Tidak Diketahui) | 19.84 |
100 | 90 | Z (Diketahui) | 35.28 |
100 | 90 | T (Tidak Diketahui) | 35.72 |
# Visualisasi 1: Pengaruh Ukuran Sampel terhadap Lebar Interval
ggplot(hasil, aes(x = Ukuran_Sampel, y = Lebar_Interval, fill = Distribusi)) +
geom_bar(stat = "identity", position = "dodge") +
facet_wrap(~ Standar_Deviasi, labeller = label_both) +
labs(title = "Pengaruh Ukuran Sampel terhadap Lebar Interval Kepercayaan",
x = "Ukuran Sampel",
y = "Lebar Interval Kepercayaan",
fill = "Distribusi") +
theme_minimal()
# Visualisasi 2: Pengaruh Variabilitas terhadap Lebar Interval
ggplot(hasil, aes(x = factor(Standar_Deviasi), y = Lebar_Interval, fill = Distribusi)) +
geom_bar(stat = "identity", position = "dodge") +
facet_wrap(~ Ukuran_Sampel, labeller = label_both) +
labs(title = "Pengaruh Variabilitas terhadap Lebar Interval Kepercayaan",
x = "Standar Deviasi",
y = "Lebar Interval Kepercayaan",
fill = "Distribusi") +
theme_minimal()
Hasil simulasi menunjukkan bahwa tiga faktor utama—ukuran sampel,
variasi data (standar deviasi), dan pengetahuan tentang standar deviasi
populasi—mempengaruhi lebar interval kepercayaan 95%.
Semakin besar ukuran sampel, semakin sempit interval kepercayaan, yang berarti hasil estimasi lebih akurat. Sebaliknya, semakin besar variasi data (standar deviasi), semakin lebar intervalnya, menandakan ketidakpastian yang lebih tinggi dalam estimasi.
Selain itu, jika standar deviasi populasi tidak diketahui dan harus diestimasi dari sampel (menggunakan distribusi T), interval kepercayaan cenderung lebih lebar, terutama jika jumlah sampel kecil. Namun, ketika sampel semakin besar, perbedaan antara distribusi Z dan T menjadi lebih kecil.
Kesimpulannya, untuk mendapatkan estimasi yang lebih akurat, diperlukan sampel yang cukup besar dan data dengan variasi yang rendah.