Σ
SDCalc
MenengahKonsep·12 min

Statistik Robust: MAD, IQR, dan Metode Tahan Pencilan

Panduan lengkap statistik robust termasuk Deviasi Absolut Median (MAD) dan Rentang Interkuartil (IQR). Pelajari kapan menggunakan ukuran sebaran tahan pencilan dengan contoh dan kode Python.

Mengapa Statistik Robust?

Simpangan baku adalah ukuran sebaran yang kuat, tetapi memiliki kelemahan kritis: sangat sensitif terhadap pencilan. Satu nilai ekstrem dapat meningkatkan SD secara dramatis, memberikan gambaran variasi tipikal yang menyesatkan.

Statistik robust menyediakan ukuran sebaran yang tahan terhadap pengaruh pencilan, menjadikannya penting untuk data dunia nyata di mana kesalahan pengukuran, kesalahan entri data, atau kasus ekstrem yang asli adalah hal umum.

Contoh: Efek Pencilan

Data: 10, 12, 11, 13, 12, 11, 100 (satu pencilan) Simpangan Baku: 32,4 (didominasi oleh pencilan) MAD: 1,0 (mengabaikan pencilan) IQR: 1,5 (mengabaikan pencilan)

Titik Kerusakan

“Titik kerusakan” statistik adalah proporsi data yang bisa menjadi ekstrem sebelum statistik menjadi tidak bermakna. SD memiliki titik kerusakan 0% (satu pencilan bisa menghancurkannya). MAD dan IQR memiliki titik kerusakan 50%—setengah data Anda bisa menjadi pencilan dan mereka tetap bekerja.

Deviasi Absolut Median (MAD)

MAD adalah ukuran sebaran paling robust. Ini menghitung median deviasi absolut dari median:

Rumus MAD

MAD = median(|xᵢ - median(x)|)
1

Cari Median

Hitung median dataset Anda.
2

Hitung Deviasi

Kurangkan median dari setiap nilai dan ambil nilai absolut.
3

Cari MAD

Hitung median dari deviasi absolut ini.

Menskalakan MAD untuk mengestimasi σ: Untuk data berdistribusi normal, MAD ≈ 0,6745 × σ. Untuk mengestimasi SD dari MAD, kalikan dengan 1,4826:

Estimasi SD dari MAD

σ̂ = 1.4826 × MAD

Mengapa 1,4826?

Faktor penskalaan ini berasal dari hubungan antara MAD dan SD untuk distribusi normal. Ini memastikan MAD yang diskalakan adalah estimator tak bias dari simpangan baku sebenarnya ketika data normal.

Rentang Interkuartil (IQR)

IQR mengukur sebaran 50% tengah data—rentang antara persentil ke-25 dan ke-75:

Rumus IQR

IQR = Q3 - Q1 = 75th percentile - 25th percentile

IQR digunakan secara luas karena sederhana dipahami, mudah divisualisasikan dalam diagram kotak, dan menjadi dasar “aturan 1,5×IQR” yang umum untuk deteksi pencilan.

Menskalakan IQR untuk mengestimasi σ: Untuk data normal, IQR ≈ 1,35 × σ. Untuk mengestimasi SD dari IQR:

Estimasi SD dari IQR

σ̂ = IQR / 1.35 ≈ 0.7413 × IQR

Membandingkan Ukuran Robust

Simpangan Baku

Menggunakan semua titik data · Paling efisien untuk data normal · Sangat sensitif terhadap pencilan · Titik kerusakan: 0%

MAD

Ukuran paling robust · Menggunakan median (bukan mean) · Kebal terhadap pencilan apa pun · Titik kerusakan: 50%

IQR

Mudah dipahami · Digunakan dalam diagram kotak · Mengabaikan 50% ekstrem · Titik kerusakan: 25%

Kapan Menggunakan Statistik Robust

  • Analisis eksploratori: Ketika Anda tidak tahu apakah pencilan ada, mulai dengan ukuran robust
  • Masalah kualitas data: Ketika data mungkin mengandung kesalahan atau masalah pengukuran
  • Distribusi berekor tebal: Ketika nilai ekstrem diharapkan (imbal hasil keuangan, klaim asuransi)
  • Sampel kecil: Ketika pencilan memiliki dampak berlebih karena sedikit pengamatan
  • Deteksi pencilan: Menggunakan SD untuk mendeteksi pencilan bersifat sirkuler; gunakan IQR atau MAD sebagai gantinya

Contoh Implementasi

Python
import numpy as np
from scipy import stats

def mad(data):
    """Median Absolute Deviation"""
    median = np.median(data)
    return np.median(np.abs(data - median))

def scaled_mad(data):
    """MAD scaled to estimate SD (for normal data)"""
    return 1.4826 * mad(data)

def iqr(data):
    """Interquartile Range"""
    return np.percentile(data, 75) - np.percentile(data, 25)

# Compare on data with outlier
data = [10, 12, 11, 13, 12, 11, 100]
print(f"SD: {np.std(data, ddof=1):.2f}")
print(f"MAD: {mad(data):.2f}")
print(f"Scaled MAD: {scaled_mad(data):.2f}")
print(f"IQR: {iqr(data):.2f}")