Kurs
Özünde R-kare, bağımlı değişkendeki varyansın bağımsız değişkene (ya da değişkenlere) atfedilebilen kısmını açıklar. Bunu, modelimizin verideki hikâyeyi ne kadar iyi yakaladığının ve ne kadarının açıklanamayan gürültü olarak kaldığının bir ölçüsü olarak düşünebiliriz. Basitliği ve doğrudan yorumlanabilirliği, özellikle basit ve çoklu doğrusal regresyonda, doğrusal regresyon tanılamalarında yaygın olarak kullanılmasını sağlar.
Bu yazıda, R-karenin anlamını, hesaplanmasını, yorumlanmasını ve yaygın tuzaklarını ele alacağız; böylece onu hem güvenle hem de dikkatle kullanabiliriz. Ayrıca, R ve Python'da R-karenin hesaplanmasına ilişkin bazı kod parçacığı örneklerine de göz atacağız.
R-Kare Nedir?
R-kare, R² ile gösterilen ve regresyon modellerinde uyum iyiliğinin istatistiksel bir ölçüsüdür. Bağımlı değişkendeki değişimin ne kadarının model tarafından açıklandığını söyler.
R-karenin değeri 0 ile 1 arasındadır:
- R² = 0, modelin değişkenliğin hiçbirini açıklamadığı anlamına gelir;
- R² = 1, modelin tamamını açıkladığı anlamına gelir.
Kavram basit olsa da, özellikle teoriden uygulamaya geçerken yorumlanması incelikli bir yaklaşım gerektirir.
R-Kare Nasıl Hesaplanır
R-kareyi hesaplamanın, bağlama göre (“uyum”un ne anlama geldiğine dair) farklı içgörüler sunan birkaç matematiksel olarak eşdeğer yolu vardır: basit regresyon, çoklu regresyon, matris cebiri veya Bayesçi modelleme. En sık kullanılan yaklaşımları inceleyelim.
1. Artık kareler toplamı ve toplam kareler toplamı kullanılarak
Bu en standart ve yaygın kullanılan formüldür:

burada:
- RSS model tarafından açıklanamayan değişimi ölçen artık kareler toplamıdır,
- TSS verilerdeki toplam değişimi ölçen toplam kareler toplamıdır.
Başka bir deyişle, R-kare, modelin hesaba kattığı toplam değişimin payını temsil eder.
Bu yaklaşım, regresyon modelinin yanıtın ortalamasını tahmin etmeye kıyasla ne kadar daha iyi performans gösterdiğini vurgular.
2. Açıklanan kareler toplamı ve toplam kareler toplamı kullanılarak
R-kare, doğrudan açıklanan varyans cinsinden de ifade edilebilir:

burada:
- ESS model tarafından yakalanan varyans miktarını ölçen açıklanan kareler toplamıdır,
- TSS verilerdeki toplam değişimi ölçen toplam kareler toplamıdır.
Bu versiyon, sonucun toplam değişiminin ne kadarının modelin tahminleri tarafından yakalandığını vurgular. Başka bir deyişle, odak, açıklayamadıklarımızdan (RSS) açıkladıklarımıza (ESS) kaydırılarak daha iyimser bir çerçeve sunulur.
Kareler toplamının üç bileşenine derinlemesine bir bakış için Kareler Toplamını Anlamak: SST, SSR ve SSE Rehberi yazısını okuyun.
3. Açıklanan kareler toplamı ve artık kareler toplamı kullanılarak
ANOVA tablosu bağlamında, R-kare toplam değişkenliğin ayrıştırılmasından doğal olarak ortaya çıkar:

burada:
- ESS model tarafından yakalanan varyans miktarını ölçen açıklanan kareler toplamıdır,
- RSS model tarafından açıklanamayan değişimi ölçen artık kareler toplamıdır.
Bu formülasyon, toplam varyansın ne kadarının model tarafından yakalandığını ve ne kadarının açıklanmadığını gösterir.
Bu bakış açısı biraz özeldir çünkü R-kareyi hipotez testine bağlar. Bunun nedeni, ESS ile RSS oranının F-istatistiğini hesaplamak için kullanılmasıdır; bu da R-kareyi ANOVA tarzı raporlamada anlamlılık testinin önemli bir parçası yapar.
4. Basit doğrusal regresyonda korelasyon katsayısı kullanılarak
Önceki üç yöntem, regresyon ayrıştırmasından türetilen cebirsel olarak eşdeğer formüllerdi. Şimdi yeni bir perspektif:
Yalnızca tek bir yordayıcının olduğu basit doğrusal regresyonda, R-kare için bir kestirme vardır:

burada
- r, x ile y arasındaki Pearson korelasyon katsayısıdır.
Bu formül, iki değişken arasındaki güçlü bir doğrusal ilişkinin doğrudan yüksek bir R-kareye nasıl dönüştüğünü gösterir.
Basit doğrusal regresyonun temelindeki teoriyi anlamak için şu kaynağa göz atın: Basit Doğrusal Regresyon: Bilmeniz Gereken Her Şey.
5. Ortalama karesel hata ve sonuç değişkeninin varyansı kullanılarak
R-kare, model hatasının normalize edilmiş bir ölçüsü olarak hesaplanabilir:

burada:
- MSE modelin ortalama karesel hatasıdır,
- Var(y) gerçek sonucun varyansıdır.
Bu çerçeve, model hatasını genel veri yayılımı ile normalize ettiği için farklı ölçekler veya birimler arasındaki modelleri karşılaştırırken özellikle uygundur.
6. Tahmin edilen değerlerin varyansı kullanılarak
Artıkların tahminlerle korelasyonsuz olduğu varsayıldığında, R-kare model tarafından yakalanan varyansın payı olarak da yorumlanabilir:

burada:
- Var(ŷ) modelin tahminlerinin varyansıdır,
- Var(y) gerçek sonucun varyansıdır.
Bu versiyon, tahminlerin bizzat gerçek verinin yayılımını ne kadar iyi yansıttığını vurgular.
R-Karenin Yorumlanması
Daha önce belirttiğimiz gibi, R-kareyi hesaplamak kolaydır ancak anlamlı şekilde yorumlamak biraz daha zordur.
- Yüksek R-kare, modelin varyansın büyük bir kısmını açıkladığı anlamına gelir. Ancak bu, modelimizin mutlaka doğru veya faydalı olduğu anlamına gelmez.
- Düşük R-kare, modelin çok az varyansı açıkladığı anlamına gelir. Bu her zaman kötü değildir; sosyal bilimler veya gürültülü verilerde düşük R-kare genellikle beklenir.
Unutulmamalıdır ki R-kare ilişkiyi ölçer, ancak nedenselliği ölçmez. Yordayıcılarımız sonuçu açıklıyor diye onu nedenledikleri anlamına gelmez; korelasyon hâlâ nedensellik demek değildir. Ayrıca R-kare, tahminlerin ne kadar doğru olduğunu göstermez.
Doğrusal regresyonla ilgili daha ileri konularda iki yararlı kaynak:
- Varyans Şişirme Faktörü (VIF): Regresyon Analizinde Çoklu Doğrusal Bağlantıyla Mücadele
- Makine Öğreniminde QR Ayrışımı: Ayrıntılı Bir Rehber
R-Kare Ne Zaman Kullanılır
Doğru durumlarda kullanıldığında R-kare çok yardımcı olabilir. Şu durumlar için uygundur:
- Aynı sayıda yordayıcıya sahip modellerin karşılaştırılması.
- Bir veri kümesindeki varyansın ne kadarının model tarafından açıklandığını göstermek.
Öte yandan, aşağıdaki senaryolarda R-kare yanıltıcı olabilir:
- İlgisiz yordayıcılar eklemek, aşırı uyuma yol açar. Bu durumda, modelin öngörü performansı iyileşmese bile R-kare her zaman artar.
- Farklı sayıda yordayıcısı, yani farklı karmaşıklığı olan modelleri karşılaştırmak. Burada düzeltilmiş R-kare daha iyi bir seçimdir. Düzeltilmiş R-kareden birazdan bahsedeceğim.
R ve Python'da R-Kare Örnekleri
Şimdi R ve Python'da, Kaggle'daki Fish Market veri kümesini kullanarak R-kare kavramını örnekleyelim. Her iki programlama dilinde de iki model kuracağız:
- Model 1: Balık ağırlığını dört yordayıcı kullanarak tahmin edin.
- Model 2: Rastgele, ilgisiz bir yordayıcı ekleyin.
R örneği
R ile başlayalım.
Model 1
# Load data
fish <- read.csv("Fish.csv")
# Model 1
model1 <- lm(Weight ~ Length1 + Length2 + Height + Width, data=fish)
summary(model1)$r.squared
Çıktı:
[1] 0.8673
Model 2
# Model 2 with an irrelevant predictor
fish$random_noise <- rnorm(nrow(fish))
model2 <- lm(Weight ~ Length1 + Length2 + Height + Width + random_noise, data=fish)
summary(model2)$r.squared
Çıktı:
[1] 0.8679
Görüldüğü gibi, ilgisiz bir yordayıcı eklendikten sonra (Model 2) R-kare biraz artar. Ancak bu, modelin daha iyi olduğu anlamına gelmez. Sonuçta yalnızca rastgele gürültü ekledik.
Konu hakkında daha fazla okumak için şu öğreticilere bakın:
Ve belirlenmiş kursumuza kaydolmayı unutmayın:
- R'de Regresyona Giriş kursu
Python örneği
Şimdi de Python'da deneyelim.
Model 1
import pandas as pd
import statsmodels.api as sm
import numpy as np
# Load data
fish = pd.read_csv('Fish.csv')
X1 = fish[['Length1', 'Length2', 'Height', 'Width']]
y = fish['Weight']
# Model 1
X1 = sm.add_constant(X1)
model1 = sm.OLS(y, X1).fit()
print(model1.rsquared)
Çıktı:
0.8673
Model 2
# Model 2 with an irrelevant predictor
fish['random_noise'] = np.random.randn(len(fish))
X2 = fish[['Length1', 'Length2', 'Height', 'Width', 'random_noise']]
X2 = sm.add_constant(X2)
model2 = sm.OLS(y, X2).fit()
print(model2.rsquared)
Çıktı:
0.8679
Yine, R-kare değerinde hafif bir artış gözlemleriz; ancak bu yalnızca rastgele gürültünün yakalanmasıdır.
Öğrenmeye devam etmek için şu kurslara kaydolun:
R-Kare ve İlgili Ölçütler
Şimdi R-kareyi iki ilgili ölçütle kısaca karşılaştıralım: düzeltilmiş R-kare ve tahmin edilen R-kare.
R-kare ve düzeltilmiş R-kare
R-kareden farklı olarak, düzeltilmiş R-kare yordayıcı sayısını dikkate alır. Özellikle, gereksiz yordayıcıların modele dahil edilmesini cezalandırır:

burada:
- n gözlem sayısıdır,
- p yordayıcı sayısıdır.
Bu ölçüt, yeni bir yordayıcı gerçekten anlamlı bir iyileşme sağlıyorsa artar; aksi durumda azalabilir. Bu önemli genişletme hakkında daha fazla bilgi edinmek için öğreticimizi okuyun: Düzeltilmiş R-Kare: Örneklerle Açık Bir Açıklama.
R-kare ve tahmin edilen R-kare
Normal R-kare, modelin eğitim verisi üzerindeki başarısını gösterirken, tahmin edilen R-kare modelin yeni, görülmemiş veride ne kadar iyi performans gösterdiğini anlatır. Dolayısıyla bu ölçüt, modelin genelleme yeteneğini değerlendirir.
Tahmin edilen R-kare, çapraz doğrulama kullanılarak ya da eğitim verisinin bir kısmı ayrılıp test edilerek hesaplanır. Model aşırı uyum göstermişse, normal R-kareye kıyasla belirgin şekilde daha düşük olabilir. Bu nedenle, normal R-kare yüksekken tahmin edilen R-karenin düşük çıkması, büyük olasılıkla modelin aşırı uyumuna işaret eder.
R-Kare Hakkındaki Yaygın Yanılgılar
R-kare ile ilgili bazı popüler mitlere ve gerçek duruma bakalım:
- “Yüksek R-kare her zaman iyi bir model demektir.” Bu mutlaka doğru değildir. R-kare, aşırı uyum göstermiş bir modelde veya yanıltıcı korelasyonlara dayalı bir modelde yüksek olabilir. Doğal olarak her iki durumda da modele iyi denemez.
- “R-kare öngörü gücünü ölçer.” Gerçekte yalnızca modelin eğitim verisi üzerindeki uyumunu ölçer; görülmemiş veriler hakkında bir şey söylemez. Gelecekteki model performansını değerlendirmek için, yukarıda tartışılan tahmin edilen R-kare gibi başka ölçütlere ihtiyaç vardır.
- “Her zaman yüksek R-kareyi hedeflemeliyiz.” Her zaman değil. Bu, alana ve verinin kalitesine bağlıdır. Bu yazıda daha önce belirttiğimiz gibi, psikoloji veya tarih gibi sosyal bilimlerde R-karenin değeri çok düşük (0.1 ya da daha az) olup yine de anlamlı olabilir. Aynı şekilde, gürültülü verilerde düşük R-kare beklenen bir durumdur.
Sonuç
Özetle, R-karenin ne olduğunu; bu ölçütün nasıl hesaplandığını (hem matematiksel olarak hem de R ve Python'da); ne zaman kullanılacağını ve ne zaman kaçınılacağını; sonuçların nasıl yorumlanacağını öğrendik. Ayrıca, iki ilgili ölçüte ve R-kare hakkındaki bazı yaygın yanlış kanılara değindik.
Kısacası, R-kare bir regresyon modelinin uyumunu ölçmek için yararlı, sezgisel ve doğrudan bir ölçüdür. Model değerlendirmesi için harika bir başlangıç noktasıdır; ancak akıllıca kullanılmalı, diğer ölçütlerle birlikte yorumlanmalı ve tüm resimle karıştırılmamalıdır. Bu, özellikle çoklu regresyon ve model seçimi bağlamlarında geçerlidir.

IBM Sertifikalı Veri Bilimci (2020); daha önce dünya genelindeki petrol ve gaz sahalarında 12+ yıllık uluslararası iş deneyimine sahip Petrol Jeoloğu/Jeomodelleyicisi. Python, R ve SQL konusunda yetkin. Uzmanlık alanları: veri temizleme, veri işleme, veri görselleştirme, veri analizi, veri modelleme, istatistik, hikâye anlatımı, makine öğrenimi. Veri bilimi topluluklarını yönetme ve veri bilimi ile kariyer konularında makale ve eğitim yazma/gözden geçirme konusunda kapsamlı deneyim.
R-kare SSS
R-kare nedir?
R-kare, R² ile gösterilen ve regresyon modellerinde uyum iyiliğinin istatistiksel bir ölçüsüdür; bağımlı değişkendeki değişimin ne kadarının model tarafından açıklandığını gösterir.
R-kare nasıl hesaplanır?
R-kareyi hesaplamak için en yaygın formül: R2=1-RSS/TSS'tir; burada RSS artık kareler toplamı, TSS ise toplam kareler toplamıdır.
R-kare hangi değerleri alabilir?
R-karenin değeri 0 ile 1 arasındadır; R²=0 modelin değişkenliğin hiçbirini açıklamadığı, R²=1 ise tamamını açıkladığı anlamına gelir.
R-kare nasıl yorumlanır?
Yüksek R-kare, modelin eğitim verisindeki varyansın büyük bir kısmını açıkladığı; düşük R-kare ise modelin çok az varyansı açıkladığı anlamına gelir. R-kare nedenselliği ölçmez ve modelin doğruluğu ya da faydası hakkında doğrudan bir şey söylemez.
R-kareyi ne zaman kullanırsınız?
R-kare, aynı sayıda yordayıcıya sahip modelleri karşılaştırmaya veya bir veri kümesindeki varyansın ne kadarının model tarafından açıklandığını göstermeye yardımcı olabilir.