İstatistik - Değişkenler Arasındaki İlişki
Pearson korelasyon
Pearson korelasyon, "r" harfiyle gösterilen ve değişkenler arasında doğru yönlü bir ilişki olup olmadığını, ilişki varsa bu ilişkinin şiddet derecesini ve yönünü tespit eden en yaygın korelasyon istatiği yöntemidir. Bu korelasyon yöntemi standart olarak her zaman iki veri arasındaki doğrusal ilişkiyi analizlemektedir. Yani, elde bulunan değişkenlerden herhangi birindeki değişiklik, diğer değişken üzerinde doğrusal bir eylem oluşturup oluşturmadığı kontrol edilmektedir.
Örneğin; yatırım amacıyla 2 farklı döviz almak isteyelim ve bu dövizlerin dolar ve euro olduğunu kabul edelim. Bu iki döviz arasındaki ilişkiyi karşılaştırmalı olarak pearson korelasyonu ile analiz edebilir, ve bunun sonucunda yatırımlarımızı analiz sonuçlarına göre ayarlayabiliriz.
Pearson korelasyon formülü;
- r = Pearson korelasyon katsayısı
- N = Gözlem sayısı
- Σxy = Değerlerin çarpımlarının toplamı
- Σx = x değerlerinin toplamı
- Σy = y değerlerinin toplamı
- Σx² = x değerlerinin karelerinin toplamı
- Σy² = y değerlerinin karelerinin toplamı
Veri kümelerinde pearson korelasyonu hesaplamaları hem manuel olarak hem de program kullanılarak hesaplanabilmektedir. Manuel olarak yapılan hesaplamalar karmaşık, zor ve uzun süreceği için, genel olarak pearson korelasyonu hesaplamaları Python programlama dili kütüphanelerinden birisi olan ve bilimsel hesaplamalar için temel algoritmaları içeren "SciPy" kütüphanesi kullanılarak oldukça kısa bir zamanda ve kolay bir şekilde hesaplanmaktadır. İlgili kütüphane altında bulunan pearson korelasyonu için kullanılan "pearsonr()" komutundan faydalanılır.
İlgili "pearsonr()" komutunun;
Söz dizimi: stats.pearsonr(x,y)
- x, ilk değişkenin girdi dizisini temsil eder.
- y, ikinci değişkenin girdi dizisini temsil eder.
"pearsonr()" sonrasında (r, p-value) değerleri geri döner.
- r, pearson korelasyon katsayısını temsil eder.
- p-value, olasılık anlamlılık değeridir, sıfır hipotezin kabul edilip edilmeyeceğini temsil eder.
Python'da Pearson Korelasyon Hesaplama
Örnek-1: Rasgele verilerden oluşan 50 elemanlı bir liste oluşturarak pearson korelasyon değerini hesaplayalım.
from scipy import stats
import numpy as np
#x değerleri ataması
x=np.random.randint(25,50,50)
print(f"x değerleri:{x}")
#y değerleri ataması rasgele oluşturulan değerler ve x değerlerinin toplamı olarak atama yapalım
y=x + np.random.normal(0,15,50)
print(f"y değerleri:{y}")
Çıktı:
x değerleri:[30 35 30 27 49 47 26 39 42 34 27 35 25 30 36 32 38 47 28 46 41 41 26 47 26 25 30 32 32 28 29 38 48 42 36 36 47 39 35 47 34 41 40 32 26 44 33 26 48 29] y değerleri:[39.87907465 47.47330043 19.27207803 45.20019194 21.10189367 46.86333385 7.23666875 53.12158894 61.39114366 50.19462148 30.17007967 19.36533864 67.04884003 20.00974718 42.40981336 40.99275679 20.27316069 45.94894993 43.00086771 49.51507239 35.90324668 38.10656835 15.07672913 42.94033978 40.43072196 21.6570239 31.53255214 30.90506135 48.62762721 58.68738991 47.92199046 50.83811286 62.50029979 47.57674915 60.58513126 19.38011698 45.07299857 43.58464082 44.67731778 50.35968292 33.29191732 25.77548391 28.06628951 15.00196226 32.78828731 14.53751154 26.70269381 19.65382996 59.27628553 41.70980817]
r,p_value=stats.pearsonr(x,y)
print(f"Pearson korelasyon katsayısı:{r}")
print(f"Olasılık anlamlılık değeri:{p_value}")
Çıktı:
Pearson korelasyon katsayısı:0.2752019441272995 Olasılık anlamlılık değeri:0.05307823563763236