Seratus baris data pengukuran menjawab lebih sedikit pertanyaan daripada yang kita kira: angka-angka di layar belum otomatis mengatakan nilai tipikalnya, seberapa bervariasinya, atau apakah sebarannya condong ke satu sisi. Statistik deskriptif memampatkan ratusan pengamatan menjadi segelintir angka yang bisa dibandingkan antar periode, antar produk, dan antar laporan. Chapter ini membangun kosakata yang dipakai sepanjang section Statistik dan Analisis Data — pengujian hipotesis, confidence interval, hingga regresi semuanya membaca ringkasan yang kita hitung di sini. Cakupan materinya:
- Ukuran pemusat:
mean,median,mode - Ukuran sebaran:
std,var, range, dan interquartile range (IQR) - Ukuran bentuk: skewness dan kurtosis dari rumus manual
- Perilaku robust:
medianvsmeanpada data ber-outlier
Tiga Keluarga Ukuran #
Aturannya: setiap statistik deskriptif menjawab tepat satu pertanyaan tentang data. Tidak ada satu angka ajaib yang menceritakan semuanya, jadi kita membaca dataset dari tiga arah sekaligus — seperti memotret objek yang sama dari tiga sudut berbeda.
| Keluarga | Pertanyaan yang dijawab | Ukuran |
|---|---|---|
| Pemusat | di mana pusat data berkumpul? | mean, median, mode |
| Sebaran | seberapa jauh data menyebar dari pusatnya? | std, var, range, IQR |
| Bentuk | simetris, condong, atau terlalu runcing? | skewness, kurtosis |
Kita memakai satu dataset sepanjang chapter: nilai ujian sepuluh mahasiswa — cukup kecil untuk dihitung ulang dengan kertas dan pensil, dan mekanismenya identik pada data sejuta baris.
Ukuran Pemusat: mean, median, dan mode #
Mekanismenya berbeda untuk ketiganya: mean menjumlahkan semua nilai lalu membagi banyaknya data, sehingga setiap angka — termasuk yang ekstrem — ikut menarik hasil. median hanya peduli posisi tengah data terurut, sehingga satu nilai raksasa tidak menggeser hasil. mode melaporkan nilai yang paling sering muncul dan menjadi satu-satunya pilihan untuk data kategorikal.
nilai = [55 60 62 65 68 68 70 72 75 85];
fprintf('mean : %.4f\n', mean(nilai));
fprintf('median : %.4f\n', median(nilai));
fprintf('mode : %g\n', mode(nilai));Output yang Dihasilkan:
mean : 68.0000
median : 68.0000
mode : 68Mari kita bedah baris-baris kode di atas:
- Baris 1 (
nilai = ...): vektor 10 nilai ujian; angka 68 sengaja muncul dua kali agarmodepunya jawaban tegas. - Baris 2 (
mean(nilai)): jumlah 680 dibagi 10 elemen menghasilkan 68. - Baris 3 (
median(nilai)): banyak elemen genap, sehingga median adalah rata-rata dua nilai tengah: (68+68)/2 = 68. - Baris 4 (
mode(nilai)): nilai 68 muncul dua kali — lebih sering dari nilai lain.
Ketiga ukuran bertemu di angka 68 — pertanda sebaran hampir simetris. Pada data miring, ketiganya terpisah, dan urutan pemisahannya sendiri menjadi alat diagnosa: mean yang lebih besar dari median menandakan buntut panjang di sisi kanan.
Ukuran Sebaran: std, var, range, dan IQR #
Dua kelas bisa memiliki mean sama dengan karakter berbeda, jadi pusat harus didampingi ukuran sebaran. std menghitung akar rata-rata simpangan kuadrat dari mean, var adalah kuadratnya, dan range cukup max dikurangi min. Satu keputusan yang harus kita sadari: pembagi std — MATLAB memakai N−1 (versi sampel) secara default.
fprintf('std sampel (N-1) : %.6f\n', std(nilai));
fprintf('std populasi (N) : %.6f\n', std(nilai, 1));
fprintf('var sampel : %.6f\n', var(nilai));
fprintf('min / max / range : %g / %g / %g\n', min(nilai), max(nilai), max(nilai)-min(nilai));
q = quantile(nilai, [0.25 0.75]);
fprintf('Q1 / Q3 / IQR : %.2f / %.2f / %.2f\n', q(1), q(2), q(2)-q(1));Output yang Dihasilkan:
std sampel (N-1) : 8.406347
std populasi (N) : 7.974961
var sampel : 70.666667
min / max / range : 55 / 85 / 30
Q1 / Q3 / IQR : 62.00 / 72.00 / 10.00Mari kita bedah baris-baris kode di atas:
- Baris 1 (
std(nilai)): simpangan baku versi sampel — pembaginya N−1 = 9; inilah default MATLAB karena data biasanya sampel dari populasi lebih besar. - Baris 2 (
std(nilai, 1)): flag1mengganti pembagi menjadi N = 10 (versi populasi); hasilnya selalu sedikit lebih kecil. - Baris 4 (
max(nilai)-min(nilai)): range 85 − 55 = 30 — ukuran paling sederhana yang hanya melihat dua ujung data. - Baris 5-6 (
quantile(nilai, [0.25 0.75])): Q1 = 62 dan Q3 = 72, sehingga IQR = 10 — lebar “jantung” data yang membuang 25% terbawah dan 25% teratas.
| Panggilan | Pembagi | Konteks pemakaian |
|---|---|---|
std(x), var(x) | N − 1 | data adalah sampel dari populasi lebih besar (default) |
std(x,1), var(x,1) | N | data merekam seluruh populasi |
Bentuk Distribusi: skewness dan kurtosis #
Skewness mengukur kemiringan sebaran dan kurtosis mengukur keruncingannya. Mekanismenya: keduanya adalah rasio momen rata-rata — pangkat tiga untuk kemiringan, pangkat empat untuk keruncingan — dinormalisasi oleh momen kedua. Kita hitung manual dari rumusnya supaya kode tidak bergantung pada ketersediaan toolbox.
m = mean(nilai);
m2 = mean((nilai - m).^2); % momen ke-2 (varians populasi)
m3 = mean((nilai - m).^3); % momen ke-3
m4 = mean((nilai - m).^4); % momen ke-4
fprintf('skewness (g1) : %.6f\n', m3 / m2^1.5);
fprintf('kurtosis (g2) : %.6f\n', m4 / m2^2);Output yang Dihasilkan:
skewness (g1) : 0.468447
kurtosis (g2) : 2.972291Mari kita bedah baris-baris kode di atas:
- Baris 2-4 (
m2,m3,m4): rata-rata simpangan pangkat 2, 3, dan 4 — bahan mentah kedua ukuran bentuk. - Baris 5 (
m3 / m2^1.5): skewness g1 = 0.468 — positif, artinya buntut data menunjuk ke kanan (nilai 85 menarik sebaran). - Baris 6 (
m4 / m2^2): kurtosis g2 = 2.972 — nyaris 3, keruncingan khas distribusi normal.
| Nilai | Interpretasi |
|---|---|
| g1 < 0 | buntut panjang di kiri (nilai ekstrem kecil) |
| g1 ≈ 0 | sebaran simetris |
| g1 > 0 | buntut panjang di kanan (nilai ekstrem besar) |
| g2 < 3 | lebih pipih dari normal |
| g2 ≈ 3 | keruncingan setara normal |
| g2 > 3 | lebih runcing dari normal |
Statistik Robust: Ketika Outlier Menyerang #
Satu transaksi raksasa bisa memalsukan kesimpulan. Dataset gaji berikut berisi delapan karyawan yang wajar plus satu eksekutif dengan gaji Rp250 juta — dan mean menelan angka itu bulat-bulat.
gaji = [35 38 40 42 45 48 50 250]; % juta rupiah, satu outlier
fprintf('--- dengan outlier ---\n');
fprintf('mean : %.4f\n', mean(gaji));
fprintf('median : %.4f\n', median(gaji));
fprintf('std : %.4f\n', std(gaji));
gajiBersih = gaji(gaji < 100); % buang outlier
fprintf('--- tanpa outlier ---\n');
fprintf('mean : %.4f\n', mean(gajiBersih));
fprintf('median : %.4f\n', median(gajiBersih));
fprintf('std : %.4f\n', std(gajiBersih));Output yang Dihasilkan:
--- dengan outlier ---
mean : 68.5000
median : 43.5000
std : 73.5080
--- tanpa outlier ---
mean : 42.5714
median : 42.0000
std : 5.4116Mari kita bedah hasil tersebut:
mean(gaji): satu angka 250 melompatkan rata-rata dari 42.57 ke 68.5 — padahal 7 dari 8 karyawan digaji di bawah 50.median(gaji): median hanya bergeser dari 42 ke 43.5; posisi tengah data terurut nyaris tak tersentuh outlier.std(gaji): sebaran membengkak dari 5.41 menjadi 73.51 — hampir 14 kali lipat hanya karena satu nilai.gajiBersih: logical indexinggaji(gaji < 100)membuang outlier; pola mask yang sama dengan chapter Statistical Summary.
Tabel Ringkas Fungsi #
| Fungsi / rumus | Menghitung | Hasil pada nilai |
|---|---|---|
mean(x) | rata-rata aritmetika | 68 |
median(x) | nilai tengah data terurut | 68 |
mode(x) | nilai tersering | 68 |
std(x) / std(x,1) | simpangan baku sampel / populasi | 8.406347 / 7.974961 |
var(x) | varians sampel | 70.666667 |
max(x)-min(x) | range | 30 |
quantile(x,[.25 .75]) | Q1, Q3 → IQR | 62, 72 → 10 |
m3/m2^1.5 | skewness g1 | 0.468447 |
m4/m2^2 | kurtosis g2 | 2.972291 |
Berkas contoh.m pada bagian bawah halaman menjalankan seluruh tabel di atas: ringkasan lengkap dataset nilai ujian, kuartil dan IQR, momen bentuk, lalu demo robustness gaji dengan dan tanpa outlier.
Ringkasan #
Tiga keluarga ukuran melengkapi satu sama lain: mean/median/mode menjawab pusat, std/var/range/IQR menjawab sebaran, dan g1/g2 menjawab bentuk. Pilihan antara versi sampel (N−1) dan populasi (N) harus disadari karena mengubah hasil, dan kehadiran satu outlier cukup untuk membatalkan kepercayaan pada mean serta std — median dan IQR adalah pasangan cadangan yang tahan banting. Setelah data terbaca, langkah berikutnya adalah memodelkan peluangnya: itu materi Chapter Distribusi Probabilitas.