Cara menghitung korelasi dengan python


Salah satu cara untuk mengukur hubungan antara dua variabel adalah dengan menggunakan koefisien korelasi Pearson , yang merupakan ukuran hubungan linier antara dua variabel . Itu selalu mengambil nilai antara -1 dan 1 di mana:

  • -1 menunjukkan korelasi linier negatif sempurna antara dua variabel
  • 0 menunjukkan tidak ada korelasi linier antara dua variabel
  • Angka 1 menunjukkan korelasi linier positif sempurna antara dua variabel

Semakin jauh koefisien korelasi dari nol maka semakin kuat hubungan kedua variabel tersebut.

Tutorial ini menjelaskan cara menghitung korelasi antar variabel dengan Python.

Cara menghitung korelasi dengan Python

Untuk menghitung korelasi antara dua variabel dengan Python, kita dapat menggunakan fungsi Numpy corrcoef() .

 import numpy as np

np.random.seed(100)

#create array of 50 random integers between 0 and 10
var1 = np.random.randint(0, 10, 50)

#create a positively correlated array with some random noise
var2 = var1 + np.random.normal(0, 10, 50)

#calculate the correlation between the two arrays
np.corrcoef(var1, var2)

[[ 1. 0.335]
[ 0.335 1. ]]

Terlihat koefisien korelasi kedua variabel tersebut sebesar 0,335 yang merupakan korelasi positif.

Secara default, fungsi ini menghasilkan matriks koefisien korelasi. Jika kita hanya ingin mengembalikan koefisien korelasi antara kedua variabel, kita dapat menggunakan sintaks berikut:

 np.corrcoef(var1, var2)[0,1]

0.335

Untuk menguji apakah korelasi ini signifikan secara statistik, kita dapat menghitung nilai p yang terkait dengan koefisien korelasi Pearson menggunakan fungsi Scipy pearsonr() , yang mengembalikan koefisien korelasi Pearson serta nilai p dua sisi.

 from scipy.stats.stats import pearsonr

pearsonr(var1, var2)

(0.335, 0.017398)

Koefisien korelasinya adalah 0,335 dan nilai p dua sisinya adalah 0,017 . Karena nilai p ini kurang dari 0,05, kami menyimpulkan bahwa terdapat korelasi yang signifikan secara statistik antara kedua variabel.

Jika Anda ingin menghitung korelasi antara beberapa variabel dalam Pandas DataFrame, Anda cukup menggunakan fungsi .corr() .

 import pandas as pd

data = pd.DataFrame(np.random.randint(0, 10, size=(5, 3)), columns=['A', 'B', 'C'])
data

  ABC
0 8 0 9
1 4 0 7
2 9 6 8
3 1 8 1
4 8 0 8

#calculate correlation coefficients for all pairwise combinations
data.corr()

          ABC
A 1.000000 -0.775567 -0.493769
B -0.775567 1.000000 0.000000
C -0.493769 0.000000 1.000000

Dan jika Anda hanya ingin menghitung korelasi antara dua variabel tertentu di DataFrame, Anda dapat menentukan variabelnya:

 data['A'].corr(data['B'])

-0.775567

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan tugas umum lainnya dengan Python:

Cara Membuat Matriks Korelasi dengan Python
Cara Menghitung Korelasi Peringkat Spearman dengan Python
Cara Menghitung Autokorelasi dengan Python

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *