R'de adım adım regresyon i̇çin tam bir kılavuz
Adım adım regresyon, tahmin edicileri modele adım adım girerek ve çıkararak bir dizi tahmin değişkeninden bir regresyon modeli oluşturmak için kullanabileceğimiz bir prosedürdür. daha fazlasını sil.
Adım adım regresyonun amacı , yanıt değişkeniyle istatistiksel olarak anlamlı düzeyde ilişkili olan tüm yordayıcı değişkenleri içeren bir regresyon modeli oluşturmaktır.
Bu eğitimde R’de aşağıdaki adım adım regresyon prosedürlerinin nasıl gerçekleştirileceği açıklanmaktadır:
- Adım adım ileri seçim
- Adım adım geriye doğru seçim
- Her iki yönde adım adım seçim
Her örnek için yerleşik mtcars veri kümesini kullanacağız:
#view first six rows of mtcars
head(mtcars)
mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
Valiant 18.1 6 225 105 2.76 3,460 20.22 1 0 3 1
Yanıt değişkeni olarak mpg’yi (galon başına mil) ve veri setindeki diğer 10 değişkeni potansiyel öngörücü değişkenler olarak kullanarak çoklu doğrusal regresyon modelini yerleştireceğiz.
Her örnekte, aşağıdaki sözdizimini kullanan adım adım seçim gerçekleştirmek için istatistik paketinin yerleşik step() işlevini kullanacağız:
aşama (yalnızca durdurma modeli, yön, menzil)
Altın:
- Yalnızca orijinal model : yalnızca orijinal modelin formülü
- Yön: Adım arama modu “her ikisi”, “geri” veya “ileri” olabilir.
- kapsam: modele dahil etmek istediğimiz tahmin edicileri belirten bir formül
Örnek 1: Adım adım ileri seçim
Aşağıdaki kod, bir seçimin adım adım nasıl gerçekleştirileceğini gösterir:
#define intercept-only model intercept_only <- lm(mpg ~ 1, data=mtcars) #define model with all predictors all <- lm(mpg ~ ., data=mtcars) #perform forward stepwise regression forward <- step(intercept_only, direction=' forward ', scope= formula (all), trace=0) #view results of forward stepwise regression forward$anova Step Df Deviance Resid. Df Resid. Dev AIC 1 NA NA 31 1126.0472 115.94345 2 + wt -1 847.72525 30 278.3219 73.21736 3 + cyl -1 87.14997 29 191.1720 63.19800 4 + hp -1 14.55145 28 176.6205 62.66456 #view final model forward$coefficients (Intercept) wt cyl hp 38.7517874 -3.1669731 -0.9416168 -0.0180381
Not: trace=0 argümanı R’ye adım adım seçimin tam sonuçlarını görüntülememesini söyler. Çok sayıda öngörücü değişken varsa, bu çok fazla yer kaplayabilir.
Sonuçları nasıl yorumlayacağınız aşağıda açıklanmıştır:
- Öncelikle sadece kesişme modelini uyguluyoruz. Bu modelin AIC’si 115.94345’ti .
- Daha sonra olası tüm modelleri bir tahminciye sığdırırız. En düşük AIC’yi üreten ve yalnızca temel modele kıyasla AIC’de istatistiksel olarak anlamlı bir azalmaya sahip olan model, wt tahmincisini kullandı. Bu modelin AIC’si 73.21736’ydı .
- Daha sonra, tüm olası modelleri iki tahminciyle eşleştiriyoruz. En düşük AIC’yi üreten ve ayrıca tek öngörücü modele kıyasla AIC’de istatistiksel olarak anlamlı bir azalmaya sahip olan model, silindir tahmincisini ekledi. Bu modelin AIC’si 63.19800’dü .
- Daha sonra, tüm olası modelleri üç tahminciye sığdırıyoruz. En düşük AIC’yi üreten ve aynı zamanda iki tahminci modele kıyasla AIC’de istatistiksel olarak anlamlı bir azalmaya sahip olan model, hp tahmincisini ekledi. Bu modelin AIC’si 62.66456’ydı .
- Daha sonra, tüm olası modelleri dört tahminciye sığdırıyoruz. Bu modellerden hiçbirinin AIC’de önemli bir azalma sağlamadığı ortaya çıktı ve bu nedenle prosedürü durdurduk.
Nihai model şu şekilde ortaya çıkıyor:
mpg ~ 38,75 – 3,17*ağırlık – 0,94*sil – 0,02*hip
Örnek 2: Adım adım geriye doğru seçim
Aşağıdaki kod nasıl geri adım atılacağını gösterir:
#define intercept-only model intercept_only <- lm(mpg ~ 1, data=mtcars) #define model with all predictors all <- lm(mpg ~ ., data=mtcars) #perform backward stepwise regression backward <- step(all, direction=' backward ', scope= formula (all), trace=0) #view results of backward stepwise regression backward$anova Step Df Deviance Resid. Df Resid. Dev AIC 1 NA NA 21 147.4944 70.89774 2 - cyl 1 0.07987121 22 147.5743 68.91507 3 - vs 1 0.26852280 23 147.8428 66.97324 4 - carb 1 0.68546077 24 148.5283 65.12126 5 - gear 1 1.56497053 25 150.0933 63.45667 6 - drat 1 3.34455117 26 153.4378 62.16190 7 - available 1 6.62865369 27 160.0665 61.51530 8 - hp 1 9.21946935 28 169.2859 61.30730 #view final model backward$coefficients (Intercept) wt qsec am 9.617781 -3.916504 1.225886 2.935837
Sonuçları nasıl yorumlayacağınız aşağıda açıklanmıştır:
- Öncelikle tüm p tahminlerini kullanarak bir model uyduruyoruz. Bunu M p olarak tanımlayın.
- Daha sonra, k = p, p-1,…1 için, toplam k-1 yordayıcı değişken için M k’de biri hariç tüm yordayıcıları içeren tüm k modellerini sığdırırız. O zaman bu k modelleri arasından en iyisini seçin ve ona M k-1 adını verin.
- Son olarak AIC kullanarak M 0 … M p arasından en iyi modeli seçiyoruz.
Nihai model şu şekilde ortaya çıkıyor:
mpg ~ 9,62 – 3,92*ağırlık + 1,23*qsaniye + 2,94*am
Örnek 3: Her iki yönde adım adım seçim
Aşağıdaki kod, her iki yönde de adım adım seçimin nasıl gerçekleştirileceğini gösterir:
#define intercept-only model intercept_only <- lm(mpg ~ 1, data=mtcars) #define model with all predictors all <- lm(mpg ~ ., data=mtcars) #perform backward stepwise regression both <- step(intercept_only, direction=' both ', scope= formula (all), trace=0) #view results of backward stepwise regression both$anova Step Df Deviance Resid. Df Resid. Dev AIC 1 NA NA 31 1126.0472 115.94345 2 + wt -1 847.72525 30 278.3219 73.21736 3 + cyl -1 87.14997 29 191.1720 63.19800 4 + hp -1 14.55145 28 176.6205 62.66456 #view final model both$coefficients (Intercept) wt cyl hp 38.7517874 -3.1669731 -0.9416168 -0.0180381
Sonuçları nasıl yorumlayacağınız aşağıda açıklanmıştır:
- Öncelikle sadece kesişme modelini uyguluyoruz.
- Daha sonra, adım adım seçimde yaptığımız gibi tahmin edicileri modele sırayla ekledik. Ancak her öngörücüyü ekledikten sonra, model uyumunda artık iyileşme sağlamayan yordayıcıları da kaldırdık.
- Son modeli elde edene kadar bu işlemi tekrarladık.
Nihai model şu şekilde ortaya çıkıyor:
mpg ~ 9,62 – 3,92*ağırlık + 1,23*qsaniye + 2,94*am
İleri adım seçimi ve her iki yöndeki adım seçiminin aynı son modeli ürettiğini, geri adım seçiminin ise farklı bir model ürettiğini unutmayın.
Ek kaynaklar
Regresyon Eğiminin Önemi Nasıl Test Edilir?
Regresyon Tablosu Nasıl Okunmalı ve Yorumlanmalı
Regresyonda Çoklu Doğrusallık Rehberi