Rentang dan IQR mengukur penyebaran hanya dari beberapa posisi kunci. Ukuran penyebaran berikutnya jauh lebih teliti: varians memperhatikan setiap nilai data, satu per satu, lewat jaraknya terhadap mean. Harga yang harus dibayar adalah satu rintangan matematis — jumlah deviasi terhadap mean selalu nol — yang kita lewati dengan mengkuadratkan deviasi terlebih dahulu. Varians juga memperkenalkan pembedaan penting antara populasi dan sampel lewat pembagi yang berbeda. Kita hitung semuanya secara manual pada data kecil, lalu verifikasi dengan Python.
Deviasi dan Rintangan Nol #
Deviasi sebuah data adalah selisihnya terhadap mean: x − x̄. Pada chapter Mean kita telah membuktikan bahwa jumlah seluruh deviasi selalu nol — kelompok di bawah mean menarik dengan kekuatan yang persis sama dengan dorongan kelompok di atasnya. Akibatnya, rata-rata deviasi juga selalu nol untuk data apa pun, sehingga “rata-rata jarak ke mean” tidak bisa dihitung secara langsung dari deviasi mentah.
Jalan keluarnya: kuadratkan setiap deviasi sebelum dijumlahkan. Kuadrat selalu bernilai positif, sehingga tarikan ke bawah dan dorongan ke atas tidak lagi saling meniadakan — keduanya justru saling memperkuat sebagai “luas penyebaran”. Varians adalah hasil rata-rata kuadrat deviasi tersebut. Konsekuensi teknisnya perlu diakui sejak awal: satuan varians menjadi kuadrat dari satuan data. Data dalam satuan poin nilai menghasilkan varians dalam “poin kuadrat” — satuan yang sulit dibayangkan, dan alasan utama mengapa chapter berikutnya menarik akarnya kembali.
Rumus Varians Populasi dan Varians Sampel #
Ada dua rumus varians yang harus dipisahkan dengan tegas. Untuk populasi berukuran N dengan mean μ:
σ² = Σ(x - μ)² / NUntuk sampel berukuran n dengan mean x̄:
s² = Σ(x - x̄)² / (n - 1)Notasinya meneruskan konvensi chapter Parameter dan Statistik Sampel: huruf Yunani σ² (dibaca “sigma kuadrat”) untuk parameter populasi, huruf Latin s² untuk statistik sampel, μ untuk mean populasi, dan x̄ untuk mean sampel. Perbedaan pembagi — N berbanding n − 1 — bukan salah ketik; alasan diberikan dua bagian berikutnya. Satu aturan praktik mengikuti definisi ini: jika data Anda adalah seluruh populasi yang ingin dideskripsikan (nilai sembilan siswa itu sendiri), pakai σ²; jika data adalah sampel yang digunakan untuk menaksir penyebaran populasi lebih besar, pakai s².
Contoh Manual: Lima Nilai #
Data paling sederhana untuk latihan lengkap adalah lima nilai [4, 6, 8, 10, 12]. Mean-nya 40/5 = 8, lalu seluruh langkah mengalir sebagai berikut:
| x | x − x̄ | (x − x̄)² |
|---|---|---|
| 4 | −4 | 16 |
| 6 | −2 | 4 |
| 8 | 0 | 0 |
| 10 | 2 | 4 |
| 12 | 4 | 16 |
| Σ | 0 | 40 |
Kolom deviasi kembali memperlihatkan sifat Σ(x − x̄) = 0, dan kolom kuadrat memperlihatkan jumlah 40 yang menjadi bahan bakar varians:
σ² = 40 / 5 = 8 (jika kelima nilai dianggap populasi)
s² = 40 / 4 = 10 (jika kelima nilai dianggap sampel)Kedua hasil berbeda 25 persen hanya karena pembagi. Sebagai latihan tambahan, dataset sembilan siswa kita menghasilkan Σ(x − x̄)² = 708, sehingga s² = 708/8 = 88.5 dan σ² = 708/9 ≈ 78.67 (dibulatkan ke dua desimal).
Mengapa Sampel Membagi n − 1 #
Alasan pembagi n − 1 sering dihafal tanpa dipahami. Penjelasannya bertumpu pada satu fakta: mean sampel x̄ dihitung dari data sampel itu sendiri, sehingga x̄ “menempel” pada datanya. Dari semua angka yang bisa dipakai sebagai titik acuan deviasi, x̄ adalah yang memberi jumlah kuadrat terkecil. Buktinya mudah dihitung pada data [4, 6, 8, 10, 12]: terhadap x̄ = 8 jumlah kuadratnya 40, sedangkan terhadap angka lain misalnya 9, jumlah kuadratnya (−5)² + (−3)² + (−1)² + 1² + 3² = 45 — lebih besar. Ketika σ² populasi ditaksir dari sampel, deviasi terpaksa dihitung terhadap x̄ yang menempel itu, sehingga jumlah kuadrat cenderung lebih kecil daripada yang seharusnya dihitung terhadap μ; pembagi n − 1 yang lebih kecil menaikkan hasil dan memperbaiki taksiran yang cenderung merendah.
Cara pandang kedua disebut derajat kebebasan (degrees of freedom): setelah x̄ diketahui, hanya n − 1 deviasi yang benar-benar bebas. Contoh paling tajam adalah sampel dua nilai [4, 6]: x̄ = 5, dan deviasinya −1 serta +1. Begitu mean dan satu nilai diketahui, nilai kedua menjadi pasti — tidak ada kebebasan tersisa. Informasi penyebaran pada sampel itu hanya satu butir, bukan dua. Membagi dengan n − 1 = 1 memberi s² = 2; membagi dengan n = 2 memberi σ² = 1 yang terlalu kecil untuk menggambarkan jarak antar dua nilai yang terpisah satu sama lain sejauh dua poin. Pembahasan formal penaksir tak bias menunggu Section Sampling dan Estimasi; intuisinya sudah lengkap di sini.
Software dan Pembagi Default #
Ketidakcocokan antar software menjadi sumber kebingungan klasik: statistics.variance() dari standard library menghitung varians sampel (pembagi n − 1), NumPy menghitung numpy.var() dengan pembagi populasi secara bawaan, dan pandas menghitung DataFrame.var() dengan pembagi sampel secara bawaan. Tidak ada yang salah — masing-masing menyasar pemakaian yang berbeda. Kebiasaan yang baik: baca dokumentasi tiap library pertama kali memakainya, dan sebutkan pembagi yang dipakai saat melaporkan angka varians. Untuk data yang diolah di course ini, module statistics menjadi rujukan utama karena dua pilihan function-nya eksplisit.
Menghitung Varians dengan Python #
Module statistics menyediakan pasangan function untuk kedua rumus — variance() untuk sampel dan pvariance() untuk populasi:
import statistics
data = [4, 6, 8, 10, 12]
nilai = [68, 75, 75, 81, 84, 88, 90, 92, 97]
print(statistics.variance(data))
print(statistics.pvariance(data))
print(statistics.variance(nilai))
print(round(statistics.pvariance(nilai), 2))Output yang Dihasilkan:
10
8
88.5
78.67Mari kita bedah kode di atas:
- Baris 6 (
statistics.variance(data)): menghitung s² = 40/4 = 10 — varians sampel data lima nilai, sama dengan hitungan manual. - Baris 7 (
statistics.pvariance(data)): menghitung σ² = 40/5 = 8 — varians populasi dari data yang sama. - Baris 8 (
statistics.variance(nilai)): varians sampel dataset sembilan siswa, s² = 708/8 = 88.5. - Baris 9 (
round(statistics.pvariance(nilai), 2)): varians populasi dataset sembilan siswa, σ² = 708/9, dibulatkan ke dua desimal menjadi 78.67 karena nilai persisnya 78.666… berulang.
Varians berhasil mengukur penyebaran dengan memakai seluruh data — tetapi jawabannya datang dalam satuan kuadrat: 10 “poin kuadrat” untuk data lima nilai, atau 88.5 untuk sembilan siswa. Angka itu akurat namun sulit dibayangkan dan sulit dibandingkan dengan data bersatuan lain. Solusinya satu operasi saja: akar kuadrat, yang mengembalikan satuan asli dan menghasilkan ukuran penyebaran paling terkenal — standar deviasi, topik chapter penutup section ini.