Apa itu Kovariansi
Kovariansi adalah nilai numerik yang merepresentasikan hubungan antara dua variabel,
Jika kovariansi positif, maka menunjukkan bahwa kedua variabel cenderung meningkat atau menurun bersama-sama. Jika kovariansi negatif, maka artinya ketika satu variabel meningkat, variabel lainnya cenderung menurun, dan sebaliknya. Nilai kovariansi nol menunjukkan bahwa tidak ada hubungan linier antara variabel.
Representasi matematika kovariansi antara variabel
Dimana:
: Kovariansi antara variabel dan dan : Titik data individu untuk variabel dan dan : Rata-rata variabel dan : Jumlah titik data
Kovariansi vs. Korelasi
Sementara kovariansi mengukur arah hubungan antara dua variabel, korelasi mengukur kekuatan dan arah hubungan tersebut. Korelasi adalah bentuk standar dari kovariansi, berkisar antara -1 dan 1, sedangkan kovariansi dapat mengambil nilai apa saja.
Koefisien korelasi, dilambangkan dengan
Dimana:
: Koefisien korelasi : Kovariansi antara variabel dan dan : Standar deviasi variabel dan
Menghitung Kovariansi dengan Python
Pada bab ini, saya akan menunjukkan cara menghitung kovariansi menggunakan Python, termasuk kasus kovariansi positif dan negatif. Kita juga akan membuat plot untuk memvisualisasikan hubungan antara variabel.
Pertama, mari impor library yang diperlukan.
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
Selanjutnya, kita akan membuat fungsi untuk menghitung kovariansi antara dua variabel.
def covariance(x, y):
x_mean = np.mean(x)
y_mean = np.mean(y)
n = len(x)
cov = np.sum((x - x_mean) * (y - y_mean)) / (n - 1)
return cov
Mari buat contoh dengan kovariansi positif.
# Generate sample data with positive covariance
np.random.seed(42)
x_positive = np.random.rand(50)
y_positive = x_positive * 3 + np.random.rand(50)
# Calculate the covariance
positive_cov = covariance(x_positive, y_positive)
print(f"Positive Covariance: {positive_cov}")
# Plot the data
plt.figure(figsize=(10, 6))
sns.set(style="whitegrid")
sns.scatterplot(x=x_positive, y=y_positive, s=100, color="blue", edgecolor="black")
plt.title("Positive Covariance Example", fontsize=20)
plt.xlabel("X", fontsize=16)
plt.ylabel("Y", fontsize=16)
plt.show()
Positive Covariance: 0.25587483932859534
Pada contoh ini, kita dapat melihat bahwa ketika nilai X
meningkat, nilai Y
juga cenderung meningkat. Plot menunjukkan kovariansi positif antara variabel.
Selanjutnya, mari buat contoh dengan kovariansi negatif.
# Generate sample data with negative covariance
np.random.seed(42)
x_negative = np.random.rand(50)
y_negative = -x_negative * 3 + np.random.rand(50)
# Calculate the covariance
negative_cov = covariance(x_negative, y_negative)
print(f"Negative Covariance: {negative_cov}")
# Plot the data
plt.figure(figsize=(10, 6))
sns.set(style="whitegrid")
sns.scatterplot(x=x_negative, y=y_negative, s=100, color="red", edgecolor="black")
plt.title("Negative Covariance Example", fontsize=20)
plt.xlabel("X", fontsize=16)
plt.ylabel("Y", fontsize=16)
plt.show()
Negative Covariance: -0.2448461835209279
Pada contoh ini, kita dapat melihat bahwa ketika nilai X
meningkat, nilai Y
cenderung menurun. Plot menunjukkan kovariansi negatif antara variabel.