Korelasi & Kovarian

Mendeteksi hubungan antar variabel data.

Apa itu Korelasi?

Ukuran kekuatan hubungan antara dua variabel. Apakah jika $X$ naik, $Y$ juga naik?

Ingat: Correlation does NOT imply Causation. (Adanya hubungan bukan berarti sebab-akibat).
Pearson Correlation Coefficient ($r$)

Nilai antara -1 hingga 1 yang menunjukkan kekuatan hubungan linear.

-1 (Negatif Sempurna) 0 (Tidak Ada Hubungan) +1 (Positif Sempurna)

Kovarian vs Korelasi

Kovarian mengukur arah hubungan linear antar variabel. Namun, nilainya tidak terstandar (bisa -1000 atau +0.005 tergantung satuan data).

Korelasi adalah Kovarian yang dinormalisasi dengan Standar Deviasi masing-masing variabel, sehingga nilainya selalu antara -1 dan 1.

$Correlation(X,Y) = \frac{Cov(X,Y)}{\sigma_X \sigma_Y}$

Analisis Korelasi dengan Python

Dalam ML, kita sering menggunakan Heatmap untuk melihat korelasi antar semua fitur sekaligus. Fitur yang berkorelasi sangat tinggi (misal > 0.95) seringkali berlebihan (redundant).

import pandas as pd
import seaborn as sns

data = {
    'Jam_Belajar': [1, 2, 3, 4, 5],
    'Nilai_Ujian': [50, 60, 70, 80, 90],
    'Jam_Tidur': [8, 7, 6, 5, 4] # Negatif korelasi dengan belajar
}

df = pd.DataFrame(data)

# Hitung Matriks Korelasi
corr_matrix = df.corr()
print(corr_matrix)

# Output:
#              Jam_Belajar  Nilai_Ujian  Jam_Tidur
# Jam_Belajar          1.0          1.0       -1.0
# Nilai_Ujian          1.0          1.0       -1.0
# Jam_Tidur           -1.0         -1.0        1.0

# Visualisasi Heatmap (Pseudo-code)
# sns.heatmap(corr_matrix, annot=True, cmap='coolwarm')