Doğan Kayadelen
r squared python r kare hatası

Regresyon Analizi: R Kare Teorisi ve Python’da Gerçekleştirilmesi (R squared Regression)

Veri analizinde kullanılan yöntemlerden bir tanesi olan (R squared regression) R kare nedir? Python dilinde nasıl kodlanır? ve en önemlisi sonuçlar nasıl yorumlanmalıdır? sorularına cevap vereceğim.

R Kare Teorisi

İlk olarak alttaki grafiğe bakalım. Bu grafikte çalışma süresi arttıkça gelirinde arttığını görebiliyoruz. Buradan regresyon formülümüzü Gelir= Sabit + Δ x Çalışma süresi olarak belirleyebiliriz.

regresyon r kare
regresyon r kare

Burada dependent ve independent verilerimiz;
Çalışma süresi: bağımsız değişken (x)
Gelir: bağımlı değişken (y)

Buradan bir bireyin çalışma süresine bağlı olarak gelirindeki artışı tahmin etmeye çalışıyoruz. Formülde bulunan sabit değişkenini de işe yeni başlayan tecrübesiz bir mühendis adayının aldığı maaş olarak düşünebiliriz.

Regresyon doğrusunun bizim noktalarımıza olabildiğince yakından geçmesi gerekiyor. İşte bunu sağlamak adına noktaların doğruya olan uzaklıklarını hesaplayıp regresyon doğrusunu oluşturabiliriz. Mantık olarak doğruyu noktalara en yakından geçirmek için doğru ile noktalar arasındaki mesafenin minimum olması gerekiyor bunun için en uygun yöntem küçük kareler yöntemi r kare de buradan geliyor aslında.

Artık regresyon eğrisini Yi değeri yani asıl noktamız ile tahmin edilen Yi^ arasındaki mesafenin karelerinin toplamının en düşük olacağı doğru olarak ifade edebiliriz. Tahmin edilen y^ değerinin y değerinden büyük olmasında eksi sayı geleceği için kare alınma işlemi yapılmakta.

regresyon r kare teorisi
regresyon r kare teorisi

Ne yazık ki her y değerine karşılık doğru üzerinde bir nokta karşılık gelmiyor işte karşılık gelmeyen bu noktalara residual yani atık denir. Bu residual değerlerinin kareleri toplamını da RKT = TOPLAM(Yi – Yi^)² yazalım. Son olarak her bir verimizin ortalama doğrumuza olan uzaklığını bulalım. AUKT = TOPLAM(yi – ȳ)²    (ȳ = ortalama mean değeri)

regresyon r kare ortalama
regresyon r kare ortalama

Evet geldik r kare değerimizin teorik olarak hesaplanmasına..
R2 = 1 – (RKT/AUKT)

R kare değerinin olabilecek en iyi hali 1 ‘dir. Fakat bunun için AUKT değerimizin 0 olması gerek yani tüm tahmin edilen değerlerin doğru üstünde olması gerek. Yani çok çok zor 🙂 Python da r squared işlemlerine geçmeden önce üstteki terimleri birer cümleyle daha açıklamak istiyorum. RKT dediğimiz y^ değerlerinin kare hatası, AUKT ise y değerlerinin ortalamasıdır.

R Kare Hatası Python (R squared error in Python with Sklearn)

Yukarıdaki formulü kendi datanıza uygun şekilde kodlayıp çalıştırabilirsiniz. Ben bu yazımda uzun uzadıya bunları yapmak yerine hazır kütüphane kullanarak r kare hatasını python da bir örnek üzerinden göstereceğim.

Yukarıdaki kodu çalıştırdığımızda bakalım r squared hatamız nasıl.

r kare hatası python
r kare hatası python

R squared error değerimiz 0.584415584415584 çıktı evet yani linear regresyonda r kare hatamız oldukça kötü. Başka regresyon çeşitleri uygulayıp r kare hatamızı daha da iyileştirebiliriz.

1 Comment

Leave a Comment