Sessi 5: Statistik Deskriptif untuk EDA
Fokus: Menghitung dan Menginterpretasikan Parameter Statistik Dasar (Pemusatan, Penyebaran, Hubungan) menggunakan Pandas dan NumPy.
A. Review: Ukuran Pemusatan Data (*Measures of Central Tendency*)
Ukuran pemusatan digunakan untuk menemukan nilai tunggal yang paling representatif dari suatu kumpulan data.
-
Mean (Rata-rata, μ): Jumlah semua nilai dibagi dengan jumlah observasi (N). Paling umum digunakan, tetapi sensitif terhadap *outlier*.
μ = Σ Xi / N
- Median (Nilai Tengah): Nilai yang membagi data yang telah diurutkan menjadi dua bagian yang sama. Tahan terhadap *outlier*.
- Mode (Modus): Nilai yang paling sering muncul dalam dataset. Paling relevan untuk data kategorikal atau diskrit.
B. Ukuran Penyebaran Data (*Measures of Dispersion*)
Ukuran penyebaran sangat krusial dalam Fisika dan Matematika karena menggambarkan variabilitas, ketidakpastian, dan galat pengukuran data.
1. Variansi (σ2) dan Deviasi Standar (σ)
Variansi (σ2) mengukur rata-rata jarak kuadrat antara setiap titik data dan rata-ratanya (μ). Deviasi Standar (σ) adalah akar kuadrat dari variansi, yang memberikan ukuran penyebaran dalam unit yang sama dengan data asli.
σ2 = Σ (Xi - μ)2 / N
σ = √(σ2)
Catatan: Untuk sampel kecil, penyebutnya adalah N - 1 (Variansi Sampel) untuk koreksi bias.
2. Kuartil dan IQR
Kuartil membagi data menjadi empat bagian (Q1, Q2/Median, Q3). Interquartile Range (IQR) adalah rentang antara kuartil ketiga dan kuartil pertama (Q3 - Q1), digunakan sebagai ukuran penyebaran yang tahan terhadap *outlier*.
C. Ukuran Hubungan: Korelasi Pearson (r)
Korelasi adalah ukuran statistik yang menentukan sejauh mana dua variabel cenderung bergerak bersama. Koefisien Korelasi Pearson (r) mengukur hubungan linier. Nilainya berkisar dari -1 (korelasi negatif sempurna) hingga +1 (korelasi positif sempurna).
Formula Korelasi Pearson (r)
r = (Σ (xi - μx)(yi - μy)) / ((N - 1) · σx · σy)
Ini adalah rasio antara Kovariansi x dan y, dibagi dengan hasil kali deviasi standar masing-masing.
D. Studi Kasus Praktik: Dataset Konsumsi Daya Listrik (UCI)
Kita akan menggunakan dataset Konsumsi Daya Listrik Rumah Tangga (*Individual Household Electric Power Consumption*) dari UCI (atau data fiktif yang merepresentasikannya) untuk menerapkan seluruh statistik deskriptif.
import pandas as pd
import numpy as np
# Data fiktif (merepresentasikan data konsumsi listrik)
data_listrik = {
'Global_Aktif_Power': [4.21, 5.36, 6.71, 3.75, 5.50, 4.00, 7.10], # kW
'Voltage': [234.8, 234.4, 235.6, 234.0, 235.1, 234.5, 235.0], # Volt
'Global_Reaktif_Power': [0.05, 0.08, 0.10, 0.04, 0.06, 0.05, 0.11] # kW
}
df_listrik = pd.DataFrame(data_listrik)
# 1. Ringkasan Statistik Lengkap (.describe())
print("--- Ringkasan Statistik Penuh (df.describe()) ---")
print(df_listrik.describe().round(3))
# 2. Perhitungan Statistik Kunci secara Manual
print("\n--- Perhitungan Statistik Kunci ---")
mean_power = df_listrik['Global_Aktif_Power'].mean()
std_voltage = df_listrik['Voltage'].std()
median_reaktif = df_listrik['Global_Reaktif_Power'].median()
print(f"Rata-rata Daya Aktif (μ): {mean_power:.3f} kW")
print(f"Deviasi Standar Voltage (σ): {std_voltage:.3f} V")
print(f"Median Daya Reaktif: {median_reaktif:.3f} kW")
# 3. Analisis Korelasi (Hubungan Linier)
# Korelasi antara Daya Aktif dan Voltage
korelasi_power_voltage = df_listrik['Global_Aktif_Power'].corr(df_listrik['Voltage'])
print(f"\nKorelasi (r) Daya Aktif vs Voltage: {korelasi_power_voltage:.3f}")
# Korelasi antara Daya Aktif dan Daya Reaktif
korelasi_power_reaktif = df_listrik['Global_Aktif_Power'].corr(df_listrik['Global_Reaktif_Power'])
print(f"Korelasi (r) Daya Aktif vs Daya Reaktif: {korelasi_power_reaktif:.3f}")
# Interpretasi Hasil Korelasi:
# Jika r ≈ 0.99, hubungan positif kuat (misalnya Daya Aktif vs Daya Reaktif).
# Jika r ≈ -0.01, hubungan sangat lemah/tidak ada (misalnya Daya Aktif vs Voltage).