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 variabelcov(X,Y) danX Y danX_i : Titik data individu untuk variabelY_i danX Y dan\overline{X} : Rata-rata variabel\overline{Y} danX Y : Jumlah titik datan
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 korelasir : Kovariansi antara variabelcov(X,Y) danX Y dan\sigma_X : Standar deviasi variabel\sigma_Y danX Y
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.