Laporan ini bertujuan untuk menganalisis bagaimana ketidakpastian dalam estimasi rata-rata populasi dipengaruhi oleh berbagai faktor statistik. Fokus utama analisis adalah pada lebar Interval Kepercayaan (Confidence Interval), yang mencerminkan tingkat presisi dari sebuah estimasi. Melalui simulasi ini, kita akan melihat interaksi antara ukuran sampel, variabilitas data, dan ketersediaan informasi mengenai parameter populasi.
Simulasi ini mencakup 18 skenario berbeda yang dibentuk dari kombinasi faktor-faktor berikut: 1. Ukuran Sampel (\(n\)): 5, 30, dan 100. 2. Variabilitas (Standar Deviasi, \(\sigma\) atau \(s\)): 10, 50, dan 90. 3. Kondisi Distribusi: * Distribusi Z: Digunakan ketika standar deviasi populasi (\(\sigma\)) diketahui. * Distribusi t: Digunakan ketika standar deviasi populasi tidak diketahui (menggunakan \(s\)).
Tingkat kepercayaan yang digunakan dalam seluruh skenario adalah 95% (\(\alpha = 0.05\)).
Lebar interval dihitung berdasarkan Margin of Error (MoE) dengan rumus: * Z-Interval: \(MoE = z_{\alpha/2} \cdot \frac{\sigma}{\sqrt{n}}\) * t-Interval: \(MoE = t_{\alpha/2, df} \cdot \frac{s}{\sqrt{n}}\) (dengan \(df = n - 1\))
Lebar Interval = \(2 \times MoE\)
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.5.2
## Warning: package 'ggplot2' was built under R version 4.5.2
## Warning: package 'tibble' was built under R version 4.5.2
## Warning: package 'tidyr' was built under R version 4.5.2
## Warning: package 'readr' was built under R version 4.5.2
## Warning: package 'purrr' was built under R version 4.5.2
## Warning: package 'dplyr' was built under R version 4.5.2
## Warning: package 'forcats' was built under R version 4.5.2
## Warning: package 'lubridate' was built under R version 4.5.2
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.6
## ✔ forcats 1.0.1 ✔ stringr 1.5.2
## ✔ ggplot2 4.0.1 ✔ tibble 3.3.0
## ✔ lubridate 1.9.4 ✔ tidyr 1.3.1
## ✔ purrr 1.2.0
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(knitr)
library(kableExtra)
## Warning: package 'kableExtra' was built under R version 4.5.2
##
## Attaching package: 'kableExtra'
##
## The following object is masked from 'package:dplyr':
##
## group_rows
# Membuat grid untuk 18 skenario
skenario_data <- expand.grid(
n = c(5, 30, 100),
sd = c(10, 50, 90),
kondisi = c("Diketahui (Z)", "Tidak Diketahui (t)")
)
# Fungsi perhitungan Margin of Error
calc_moe <- function(n, sd, kondisi) {
alpha <- 0.05
if (kondisi == "Diketahui (Z)") {
kritis <- qnorm(1 - alpha/2)
} else {
kritis <- qt(1 - alpha/2, df = n - 1)
}
return(kritis * (sd / sqrt(n)))
}
# Eksekusi perhitungan
hasil_analisis <- skenario_data %>%
mutate(
Margin_Error = mapply(calc_moe, n, sd, kondisi),
Lebar_Interval = Margin_Error * 2
)
# Menampilkan Tabel Hasil
hasil_analisis %>%
kable(digits = 3, caption = "Tabel Simulasi Lebar Interval Kepercayaan 95%") %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed"))
| n | sd | kondisi | Margin_Error | Lebar_Interval |
|---|---|---|---|---|
| 5 | 10 | Diketahui (Z) | 8.765 | 17.530 |
| 30 | 10 | Diketahui (Z) | 3.578 | 7.157 |
| 100 | 10 | Diketahui (Z) | 1.960 | 3.920 |
| 5 | 50 | Diketahui (Z) | 43.826 | 87.652 |
| 30 | 50 | Diketahui (Z) | 17.892 | 35.784 |
| 100 | 50 | Diketahui (Z) | 9.800 | 19.600 |
| 5 | 90 | Diketahui (Z) | 78.887 | 157.774 |
| 30 | 90 | Diketahui (Z) | 32.205 | 64.411 |
| 100 | 90 | Diketahui (Z) | 17.640 | 35.279 |
| 5 | 10 | Tidak Diketahui (t) | 12.417 | 24.833 |
| 30 | 10 | Tidak Diketahui (t) | 3.734 | 7.468 |
| 100 | 10 | Tidak Diketahui (t) | 1.984 | 3.968 |
| 5 | 50 | Tidak Diketahui (t) | 62.083 | 124.166 |
| 30 | 50 | Tidak Diketahui (t) | 18.670 | 37.341 |
| 100 | 50 | Tidak Diketahui (t) | 9.921 | 19.842 |
| 5 | 90 | Tidak Diketahui (t) | 111.750 | 223.500 |
| 30 | 90 | Tidak Diketahui (t) | 33.607 | 67.213 |
| 100 | 90 | Tidak Diketahui (t) | 17.858 | 35.716 |
Grafik di bawah ini menggambarkan tren perubahan lebar interval berdasarkan perubahan ukuran sampel dan tingkat variabilitas.
ggplot(hasil_analisis, aes(x = as.factor(n), y = Lebar_Interval, color = as.factor(sd), group = sd)) +
geom_line(size = 1) +
geom_point(size = 3) +
facet_wrap(~kondisi) +
labs(
title = "Analisis Lebar Interval Kepercayaan",
subtitle = "Perbandingan Distribusi Z dan Distribusi t pada Berbagai Level SD",
x = "Ukuran Sampel (n)",
y = "Lebar Interval",
color = "Standar Deviasi"
) +
theme_minimal() +
theme(legend.position = "bottom")
## 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.
Hasil simulasi menunjukkan hubungan terbalik antara ukuran sampel dan lebar interval. Semakin besar nilai \(n\), semakin sempit rentang interval kepercayaan. Hal ini membuktikan bahwa peningkatan jumlah data secara signifikan meningkatkan presisi estimasi dengan mengurangi standar error.
Variabilitas data memiliki korelasi positif dengan lebar interval. Skenario dengan standar deviasi tinggi (90) secara konsisten menghasilkan interval yang lebih lebar dibandingkan dengan standar deviasi rendah (10). Hal ini mengindikasikan bahwa semakin heterogen sebuah data, semakin besar ketidakpastian dalam mengestimasi rata-rata populasi.
Terdapat perbedaan krusial pada sampel kecil (\(n=5\)): * Interval pada distribusi \(t\) jauh lebih lebar dibandingkan distribusi \(Z\). Ini terjadi karena distribusi \(t\) memberikan “margin pengaman” tambahan untuk mengompensasi ketidakpastian akibat penggunaan standar deviasi sampel. * Pada sampel besar (\(n=100\)), perbedaan antara kedua distribusi tersebut menjadi sangat tipis (konvergen). Ini menunjukkan bahwa untuk sampel yang besar, estimasi menggunakan distribusi \(t\) akan menyamai distribusi normal.
Ketidakpastian estimasi dapat diminimalisir dengan meningkatkan ukuran sampel dan memastikan proses pengumpulan data memiliki variabilitas yang terkontrol. Penggunaan distribusi \(t\) sangat penting pada sampel kecil untuk menghindari underestimation terhadap rentang ketidakpastian yang sebenarnya.