Python'da korelasyon testi nasıl yapılır (örnekle)
İki değişken arasındaki ilişkiyi ölçmenin bir yolu, iki değişken arasındaki doğrusal ilişkiyi ölçen Pearson korelasyon katsayısını kullanmaktır .
Her zaman -1 ile 1 arasında bir değer alır; burada:
- -1 tamamen negatif bir doğrusal korelasyonu gösterir
- 0 doğrusal korelasyonun olmadığını gösterir
- 1 mükemmel pozitif doğrusal korelasyonu gösterir
Bir korelasyon katsayısının istatistiksel olarak anlamlı olup olmadığını belirlemek için karşılık gelen t-puanını ve p-değerini hesaplayabilirsiniz.
Korelasyon katsayısının (r) t-puanını hesaplama formülü şöyledir:
t = r * √ n-2 / √ 1-r 2
Daha sonra p değeri, n-2 serbestlik derecesine sahip t dağılımı için karşılık gelen iki kuyruklu p değeri olarak hesaplanır.
Örnek: Python’da Korelasyon Testi
İki değişken arasındaki korelasyon katsayısının istatistiksel olarak anlamlı olup olmadığını belirlemek için SciPy kütüphanesindeki pearsonr fonksiyonunu kullanarak Python’da bir korelasyon testi gerçekleştirebilirsiniz.
Bu fonksiyon, iki değişken arasındaki korelasyon katsayısının yanı sıra iki kuyruklu p değerini de döndürür.
Örneğin, Python’da aşağıdaki iki tabloya sahip olduğumuzu varsayalım:
#create two arrays
x = [3, 4, 4, 5, 7, 8, 10, 12, 13, 15]
y = [2, 4, 4, 5, 4, 7, 8, 19, 14, 10]
Pearsonr fonksiyonunu içe aktarabilir ve iki tablo arasındaki Pearson korelasyon katsayısını hesaplayabiliriz:
from scipy. stats . stats import pearsonr #calculation correlation coefficient and p-value between x and y pearsonr(x, y) (0.8076177030748631, 0.004717255828132089)
Sonucun nasıl yorumlanacağı aşağıda açıklanmıştır:
- Pearson korelasyon katsayısı (r): 0,8076
- İki taraflı p değeri: 0,0047
Korelasyon katsayısının 1’e yakın olması bize iki değişken arasında güçlü pozitif bir ilişkinin olduğunu göstermektedir.
Karşılık gelen p değeri 0,05’ten küçük olduğundan, iki değişken arasında istatistiksel olarak anlamlı bir ilişki olduğu sonucuna varıyoruz.
Pearson fonksiyonundan bireysel korelasyon katsayısını ve p-değerini de çıkarabileceğimizi unutmayın:
#extract correlation coefficient (rounded to 4 decimal places) r = round(pearsonr(x, y)[ 0 ], 4) print (r) 0.8076 #extract p-value (rounded to 4 decimal places) p = round(pearsonr(x, y)[ 1 ], 4) print (p) 0.0047
Bu değerlerin okunması, orijinal pearsonr fonksiyonunun çıktısına kıyasla biraz daha kolaydır.
Ek kaynaklar
Aşağıdaki eğitimler korelasyon katsayıları hakkında ek bilgi sağlar:
Pearson Korelasyon Katsayısına Giriş
“Güçlü” bir korelasyon olarak kabul edilen şey nedir?
Pearson korelasyonunun beş hipotezi