Lineer Regresyon Beklentilerinin Test Edilmesi

Alperen Bayramoğlu
5 min readJun 18, 2021

--

Lineer regresyon modellerini kullanırken bazı beklentilerin ve gerekliliklerin sağlanması gerektir. Eğer veri setimiz bu beklentileri sağlamazsa lineer regresyon modelimiz doğru tahminler yapamaz ve sonuçlarımız yanlış olur. Lineer regresyon modellerinde bu beklentiler:

  1. Lineerlik (Linearity)
  2. Hata terimlerinin normal dağılımda olması (Normality of Error Terms)
  3. Çoklu bağlantı eksikliği (No Multicollinearity)
  4. Hata terimlerinde otokorelasyonun olmaması (No Autocorrelation in Error Terms)
  5. Homoskedastisite ( Homoscedasticity )

Bu beklentilerin ne olduğunu açıklamadan önce lineer regresyon modellerinde hata terimine bakalım.

Lineer Regresyon Modellerinde Hata Terimi

Lineer regresyon modellerinde hata terimi atıklardır.(Residuals). Regresyon modellerinde veri setimize en uygun doğru çizilir. Atıklar ise veri setimizdeki değerlerin, regresyon çizgisine dikey uzaklığıdır. İdeal bir modelde atıkların toplamı sıfıra eşittir. Çünkü ideal bir modelde regresyon çizgimiz veri setindeki bütün noktaları hatasız bir şekilde kapsamaktadır.

Regresyon modellerinde hata terimi, atıklar

Regresyon modellerinde atıkların hesaplanması için Python kodu:

Python ile Atıkların Hesaplanması

Başlamadan önce …

Gerekli kütüphaneleri ve atıkları hesaplamak için paylaştığım yukarıdaki fonksiyonu kodunuza eklemeyi unutmayın.

Gerekli kütüphanelerin eklenmesi

Ayrıca veri setlerini hazırlayıp modelde öğrenimini tamamlamamız gerek. Örneklerde kullanacağımız veri setlerine yakından bakalım.

  1. Boston Veri Seti

Boston veri setimiz lineer regresyon beklentilerini sağlamayıp aşağıdaki değişkenleri içermektedir.

  • CRIM: Şehirlere göre kişi başına suç oranı
  • ZN: 25.000 sq.ft’den büyük parseller için imarlı konut arazisi oranı.
  • INDUS: Kasaba başına perakende olmayan iş alanı oranı.
  • CHAS: Charles River kukla değişkeni (yol nehri sınırlarsa 1; aksi takdirde 0)
  • NOX: Nitrik oksit konsantrasyonu (10 milyonda parça)
  • RM: Konut başına ortalama oda sayısı
  • AGE: 1940'tan önce inşa edilmiş sahibi tarafından kullanılan birimlerin oranı
  • DIS: Beş Boston iş merkezine olan ağırlıklı mesafeler
  • RAD: Radyal otoyollara erişilebilirlik endeksi
  • TAX: 10.000 ABD Doları başına tam değerli emlak vergisi oranı
  • PTRATIO: Şehre göre öğrenci-öğretmen oranı
  • B: Saçma, gereksiz ve etik olmayan bir değişken.
  • LSTAT: Nüfusun % daha düşük durumu
  • MEDV: 1000 dolar cinsinden sahibi tarafından kullanılan evlerin medyan değeri
Veri setinin ilk 4 üyesi

2. 50 girişim

Bu veri setinde 50 tane girişimin kaynak harcamaları ve karı gösterilmektedir. Veri setimizde 4 tane bağımsız değişken içinde 1 tane sınıfsal bağımsız değişken bulunmaktadır. Bu değeri OneHotEncoding işlemi ile sayısal değerlere dönüştürmemiz gerekir. Kar ise bağımlı değişkeni belirtmektedir. Tek tek bağımsız değişkenlerimizi inceleyecek olursak:

  • R&D Spend: Girişimde Ar-Ge harcamaları için ayrılan bütçe.
  • Administration: Girişimde yönetim için harcanan bütçe.
  • Marketing: Girişimde pazarlama için harcanan bütçe.
  • State: Girişimin kurulduğu şehir. ( Sınıfsal Bağımsız Değişken )
  • Profit: Girişimin elde ettiği kar ( Bağımlı Değişken )
Veri setinin ilk 5 üyesi

Veri Setlerinin Hazırlanması

Boston veri setimiz sklearn kütüphanesi ile birlikte hazır gelmektedir. ‘50 girişim’ veri setini ise bu linkten indirebilirsiniz.

  1. Boston veri setinin yüklenmesi ve hazırlanması
Boston verisinin yüklenmesi ve çoklu lineer regresyon modelinin öğrenmesini tamamlaması

2. ’50 Girişim’ veri setinin yüklenmesi ve hazırlanması

’50 Girişim’ veri setinin yüklenmesi ve hazırlanması

Veri setlerimizi yükledikten ve hazırladıktan sonra artık lineer regresyon beklentilerinin test edilmesine geçebiliriz.

1. Lineerlik

Bağımsız değişken(X) ile bağımlı(Y) değişken arasında lineer bağlantı olması gerektiğini belirtir. Modelin grafiğinin çizdirilmesi ile görsel olarak test edilebilir.

Lineerlik beklentisinin Python’ta test edilmesi

Sonuçlara bakacak olursak ’50 Girişim’ veri setinde lineerlik testinin başarıyla tamamlandığını ancak ‘Boston’ veri seti için başarısız olduğunu görmekteyiz(Kırmızı renkte işaretlenen alanın lineerlik kuralını ihlal ettiği gözükmektedir.)

’50 Girişim’ veri setimiz için Lineerlik testi sonucu
‘Boston’ verisi için Lineerlik testi sonucu

2. Hata Terimlerinin Normal Dağılımda Olması

Lineer regresyon modelimizde hata terimlerinin normal dağılımda olmasını bekleriz. Bunun test edilmesi ve verimizin hangi dağılımda olduğunu belirlemek için Anderson-Darling testi kullanılır. Anderson-Darling testini özetlersek :

Anderson-Darling testi ile hata terimlerinin normal dağılım testi

Sonuçlara bakacak olursak ‘Boston’ veri setimiz için p-değerinin çok düşük olduğunu görüyoruz(8.31x10^-25) ve p-değerinin 0.05 küçük olması ‘Boston’ veri setimizin hata terimlerinin normal dağılımda olmadığını gösteriyor. Ancak ’50 Girişim’ veri setimiz testi başarıyla geçiyor.

Anderson-Darling testinin sonuçları

3. Çoklu Bağlantı Eksikliği

Regresyon modelinde kullanılan bağımsız değişkenlerin birbirleri ile bağlantılı olmaması gerektiğini belirtir. Örneğin bir ev için fiyat analizi yaparken bağımsız değişkenler arasında toplam metrekare ve her oda için ayrı ayrı metrekare olması gibi. Görsel olarak veya Varyans Enflasyon Faktörü(VIF) yardımıyla tespit edilebilir. Varyans Enflasyon Faktörü ile ayrıntılı bilgi isteyenler bu bağlantıyı ve bu bağlantıyı inceleyebilir.

Çoklu bağlantı eksikliğinin test edilmesi

Sonuçlara bakacak olursak ısı haritasında 0.75'ten büyük değerler için değişkenler birbirleri ile bağlantılı diyebilmekteyiz. Ayrıca VIF hesaplamalarında 10'dan büyük değerler bağlantının olabileceğini söylerken 100'den büyük değerler bağlantının kesin olduğunu belirtir.

’50 Girişim’ veri seti için ısı haritası
‘Boston’ veri seti için ısı haritası
’50 girişim’ veri seti için VIF sonuçları
‘Boston’ veri seti için VIF sonuçları

4. Hata Terimlerinde Otokorelasyonun Olmaması

Başarılı bir lineer regresyon modelinin hata terimlerinde otokorelasyonun olmamasını bekleriz. Model tarafından yakalanması gereken bazı bilgilerin yakalanmadığını gösterir. Zaman serilerinde modelin yakalayamadığı bir bilginin olduğunu belirtir. Durbin-Watson testi ile tespit edilebilir. Otokorelasyon ile ilgili ek bilgi isteyenler bu bağlantıya, Durbin-Watson testi ile ilgili ek bilgi isteyenler bu bağlantıya bakabilirler.

Sonuçları bakacak olursak her iki veri setimizde otokorelasyon olduğu gözüküyor ancak ’50 Girişim’ veri setinde bu ihmal edilebilecek bir düzeyde.

Durbin-Watson ile otokorelasyon testi

5. Homoskedastisite ( Hata terimlerinin sabit varyans sergilemesi )

Hata terimlerinde sabit/aynı varyansın olması gerektiğini belirtir. Ayrıca belirlenmesi için Standart Kareler Yöntemi yerine Ağırlıklı Kareler Yöntemi kullanılabilir.

Hata terimlerinin sabit varyans testi

Sonuçlara görsel olarak baktığımız zaman ’50 girişim’ veri setimizin sabit varyansta seyir ettiğini görürken, ‘Boston’ veri setimizde sabit varyansın sergilenmediğini görüyoruz.(Kırmızı ile belirtilen alan)

’50 Girişim’ veri setinde homoskedastisite testi
‘Boston’ veri setinde homoskedastisite testi

Bu yazıda Lineer regresyon modeli için beklentilerin pratik açıdan özetlenmesini ve kodlanmasını göstermeye çalıştım. Anderson-Darling , Dublin-Watson, VIF gibi istatistik konularının ayrıntılarına girmedim eğer girseydim yazı çok uzun olurdu. Umarım sade ve anlaşılır bir dille anlatabilmişimdir. Okuduğunuz için teşekkürler. Ayrıca kopyala yapıştır uzmanları için aşağıya kodun tamamını bırakıyorum :)

Kodun Tamamı

Python ile Lineer Regresyon Beklentilerinin Test Edilmesi

--

--

No responses yet