R Uygulamaları – Bölüm 2: Çoklu Doğrusal Regresyon

Herkese merhaba!

R uygulamalar serisinin ilk bölümünde bir veri setinin basit doğrusal regresyon ile modellenmesini incelemiştik. Basit doğrusal regresyon analizi ile ilgili yazdığım yazıya ulaşmak için tıklayınız. Serinin ikinci bölümünde çoklu doğrusal regresyon analizine değineceğim.

Çoklu doğrusal regresyon, bir bağımlı değişken birden fazla bağımsız değişkenle açıklanmak istendiğinde kullanılan analiz yöntemlerinden biridir. Aşağıda çoklu doğrusal regresyon modeli gösterilmektedir:

Y=\beta_0+\beta_1X_1+\beta_2X_2+...+\beta_nX_n+\epsilon

Buradaki amacımız n tane bağımsız değişken kullanılarak bağımlı değişkeni tahmin etmeye çalışmaktır. Her bir bağımsız değişken için beta parametreleri (eğimler) kullanılmaktadır. Epsilon, hata terimini; Y ise bağımlı değişkeni göstermektedir.

Şimdi bir örnek veri seti ile başlayalım. R’da datarium paketi içerisinde marketing veri seti bulunmaktadır. Veri setini R’a yüklemek için kodlar aşağıda gösterilmektedir.

İlk olarak veri setini tanıyalım. Veri seti 3 bağımsız değişkenden oluşmaktadır: youtube, facebook, newspaper. Bağımlı değişken ise sales değişkenidir. Buradaki amaç, farklı platformlardan reklam yapılarak bunun satış üzerindeki etkisini araştırmaktır. Şimdi veri setinin tanımlayıcı istatistiklerini elde edelim:

Tanımlayıcı İstatistikler

R’da summary() fonksiyonu kullanılarak tanımlayıcı istatistikler elde edilebilir:

Tanımlayıcı İstatistikler
Tanımlayıcı İstatistikler

Burada her bir değişken için tanımlayıcı istatistik değerlerine ulaşılabilir. Örneğin; youtube için ortalama değer 176.45 olarak görülmektedir. Değişkenler arasındaki ilişkiyi incelemek için matris grafiğini oluşturalım.

Matris Grafiği

R’da plot() fonksiyonu kullanılarak matris grafiği oluşturulabilir.

Matris Grafiği
Matris Grafiği

Burada değişkenlerin arasındaki ilişkiyi görebiliriz. Örneğin youtube ve sales değişkenleri arasında doğrusala yakın bir ilişki olduğunu söyleyebiliriz.

Şimdi çoklu doğrusal regresyon analizi uygulayarak çıktıyı yorumlayalım.

Çoklu Doğrusal Regresyon Modeli

Çoklu doğrusal regresyon modeli ve özet çıktı aşağıda gösterilmektedir:

Modelin Özet Çıktısı
Modelin Özet Çıktısı

R programlama dilinde anlamlı olan değişkenler * sembolü ile gösterilmektedir. Bağımlı değişkeni en iyi açıklayan değişkenler *** sembolü ile gösterilir. Burada youtube ve facebook değişkenleri bağımlı değişkeni en iyi açıklayan değişkenlerdir. Bunun için hipotez testi oluşturabiliriz. Oluşturulan hipotez testleri aşağıda gösterilmektedir:

Hipotezler
Hipotezler

Youtube ve facebook değişkenlerinde p değerinin 0.05’in altında olduğu görülmektedir. Yani H0 hipotezi reddedilir ve bu değişkenlerin anlamlı olduğunu söyleyebiliriz. Newspaper değişkeni ise anlamsız çıkmıştır. R kare değerinin ise 0.89 olduğunu görüyoruz. Yani satışlardaki toplam değişimin %89’u youtube, facebook ve newspaper değişkenlerindeki değişim tarafından açıklanmaktadır, yorumu yapılabilir. R kare değerinin bu model için iyi olduğunu söyleyebiliriz. Ancak newspaper değişkeninin çıkarılması gerekebilir. Bunu daha iyi anlayabilmek açısından stepwise regresyonu kullanabiliriz.

Stepwise Regresyon

Forward Selection (İleri Seçim)

İleri seçim ile hangi değişkenlerin modelde kalması gerektiğini görebiliriz. R kodları aşağıda gösterilmektedir:

İleri Seçim
İleri Seçim

Bu çıktıya bakarak modele giren değişkenlerin youtube ve facebook olduğunu söyleyebiliriz. Stepwise için kullanılan diğer yöntem ise backward elemination (geriye doğru eleme) yöntemidir.

Backward Elemination (Geriye Doğru Eleme)

Bu yöntem ile hangi değişkenin modelden çıktığını görebiliriz. R kodları ve çıktı aşağıda gösterilmektedir:

Geriye Doğru Eleme
Geriye Doğru Eleme

Çıktıya göre newspaper değişkeninin modelden çıkması gerektiği yorumu yapılabilir.

İlk yazımda da bahsettiğim gibi gerçeğe yakın değerler elde edebilmek için doğrusal regresyonun bazı varsayımları sağlaması gerekiyor. Çoklu doğrusal regresyonda ise çoklu doğrusal bağlantı problemi oluşabilir. Bunun kontrolünüde yaparak analize devam edebiliriz. Bunun için R’da car kütüphanesinin içerisinde vif() fonksiyonu kullanılabilir.

Çoklu Doğrusal Bağlantı
Çoklu Doğrusal Bağlantı

Variance inflation factor (vif) değeri görüldüğü üzere 1’e çok yakın çıkmıştır. Bu değer genellikle 10’a yakın ve 10’un üzerinde olduğunda çoklu doğrusal bağlantı problemi olduğu yorumu yapılabilir. Bizim modelimizde böyle bir problem olmadığı görülmektedir.

Şimdi newspaper değişkenini çıkararak yeniden model kuralım ve varsayımları kontrol edelim.

Model 2

Modelin Özet Çıktısı
Modelin Özet Çıktısı

Değişkenlerin anlamlı olduğunu ve R kare değerinin 0.89 olduğunu görüyoruz. Şimdi varsayım kontrolüne bakalım.

Artık Analizi
Artık Analizi

QQ grafiğine baktığımızda artıkların normal dağılmadığını söyleyebiliriz. Varyans homojenliği için kesin bir yorum yapamayız. Normallik ve varyans homojenliği için “Shapiro – Wilk” ve “studentized Breusch – Pagan” testleri uygulanabilir. Şimdi R’da bu testleri uygulayalım.

Testler

Shapiro – Wilk normallik testine göre p değeri 0.05’in altında çıkmıştır. Artıklar normal dağılmamaktadır, yorumu yapılabilir. Studentized Breusch – Pagan testine göre varyansların homojen olduğu söylenebilir. O halde dönüşüm uygulayarak artıkların normal dağılmasını sağlayalım ve yeniden model kuralım.

Model 3

Youtube değişkenine karekök dönüşümü uygulayabiliriz. Bunun için R kodu aşağıda gösterilmektedir.

Böylece youtube değişkenine karekök dönüşümü uygulamış olduk. Şimdi yeniden model oluşturalım.

Modelin Özet Çıktısı
Modelin Özet Çıktısı

Değişkenlerin anlamlı olduğunu ve R kare değerinin yükseldiğini görüyoruz. Şimdi varsayım kontrolüne bakalım:

Artık Analizi
Artık Analizi

Şimdi artıkların normale yaklaştığını görüyoruz. Kesin yorum yapabilmek için testleri uygulayalım.

Testler
Testler

Evet, şimdi artıklar normal dağılmaktadır. Ancak ufak bir sorunumuz var, varyans homojenliğinin bozulduğunu görüyoruz. Artık analizinin yapıldığı grafiğe baktığımızda 131. gözlemin aykırı değer olduğunu söyleyebiliriz. O halde bu gözlemi çıkartarak analizimize devam edelim.

Model 4

İlk olarak 131. Gözlemi modelimizden çıkartıyoruz ve tekrardan youtube değişkenine karekök dönüşümü uyguluyoruz. R kodları aşağıda gösterilmektedir.

Şimdi modelimizi oluşturalım:

Modelin Özet Çıktısı
Modelin Özet Çıktısı

R kare değerinin yükseldiğini görüyoruz, ayrıca değişkenlerin anlamlı olduğunu söyleyebiliriz. Şimdi varsayım kontrolünü yapalım.

Artık Analizi
Artık Analizi

Testler
Testler

Her iki teste göre p değerlerinin 0.05’in üzerinde olduğunu söyleyebiliriz. Varyans homojenliği ve normalliğin sağlandığını görüyoruz.

Sonuç olarak oluşturulan 4. model çoklu doğrusal regresyon için en başarılı modeldir, yorumunu yapabiliriz. Böylece birden fazla bağımsız değişken olduğunda bu veri setini çoklu doğrusal regresyon ile nasıl modellememiz gerektiğini öğrenmiş olduk. Yaptığım analiz ile ilgili düşünceleriniz ve eleştirilerinizi yorum bölümünde belirtebilirsiniz. Bir sonraki bölümde görüşmek üzere…

Herkese sağlıklı günler dilerim 🙂

Burak Dilber

Diğer yazılarıma ulaşmak için tıklayınız.

Ücretli ve Ücretsiz Eğitimler

Türkiye'nin en büyük veri bilimi topluluğu ile kariyerinizi inşa edin.

Data Science Earth

Data Science Earth ekibi, üst düzey Veri Bilim çözümleri üretmek amacı ile toplanmış akademisyenler ve uzmanlardan oluşmaktadır. Öncelikli olarak veri bilincini geliştirmeyi ve küreselleşen rekabet ortamında verinin gücünün doğru kullanılmasını sağlamayı amaçlamaktadır.

Sponsor

QuestionPro 35 farklı soru seçim özelliği ile anket çalışmalarımıza güç katmaktadır.