Traffine I/O

Bahasa Indonesia

Apa itu Kovariansi

Kovariansi adalah nilai numerik yang merepresentasikan hubungan antara dua variabel, X dan Y. Kovariansi memberitahu kita apakah peningkatan pada satu variabel berkaitan dengan peningkatan atau penurunan pada variabel lainnya.

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 X dan Y diberikan oleh:

cov(X,Y) = \frac{\sum_{i=1}^{n}(X_i-\overline{X})(Y_i-\overline{Y})}{n-1}

Dimana:

  • cov(X,Y): Kovariansi antara variabel X dan Y
  • X_i dan Y_i: Titik data individu untuk variabel X dan Y
  • \overline{X} dan \overline{Y}: Rata-rata variabel X dan Y
  • n: 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 r, dihitung sebagai berikut:

r = \frac{cov(X,Y)}{\sigma_X\sigma_Y}

Dimana:

  • r: Koefisien korelasi
  • cov(X,Y): Kovariansi antara variabel X dan Y
  • \sigma_X dan \sigma_Y: Standar deviasi variabel X dan 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.

python
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.

python
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.

python
# 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

Positive covariance

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.

python
# 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

Negative covariance

Pada contoh ini, kita dapat melihat bahwa ketika nilai X meningkat, nilai Y cenderung menurun. Plot menunjukkan kovariansi negatif antara variabel.

Ryusei Kakujo

researchgatelinkedingithub

Focusing on data science for mobility

Bench Press 100kg!