Özellik seçimi için r'de stepaic nasıl kullanılır?


Akaike Bilgi Kriteri ( AIC ), bir modelin bir veri kümesine ne kadar iyi uyduğunu ölçmek için kullanılan bir ölçümdür.

Aşağıdaki şekilde hesaplanır:

AIC = 2K – 2 ln (L)

Altın:

  • K: Model parametrelerinin sayısı. K’nin varsayılan değeri 2’dir, dolayısıyla yalnızca bir tahmin değişkeni olan bir modelin K değeri 2+1 = 3 olacaktır.
  • ln (L) : Modelin log-olasılığı. Çoğu istatistik yazılımı bu değeri sizin için otomatik olarak hesaplayabilir.

AIC, verilerdeki en fazla varyasyonu açıklayan modeli bulmak ve aşırı sayıda parametre kullanan modelleri cezalandırmak için tasarlanmıştır.

En düşük AIC değerine sahip modeli üreten tahmin değişkenleri (veya “özellikler”) kümesini bulana kadar, bir regresyon modeline tahmin değişkenlerini yinelemeli olarak eklemek ve modelden çıkarmak için R’deki MASS paketindeki stepAIC() işlevini kullanabilirsiniz.

Bu işlev aşağıdaki temel sözdizimini kullanır:

stepAIC(nesne, yön, …)

Altın:

  • nesne : Ayarlanan modelin adı
  • yön : kullanılacak adım arama türü (“geri”, “ileri” veya “her ikisi”)

Aşağıdaki örnekte bu fonksiyonun pratikte nasıl kullanılacağı gösterilmektedir.

Örnek: R’de Özellik Seçimi için stepAIC() işlevinin kullanılması

Bu örnek için, R’de yerleşik olarak bulunan ve 32 farklı araba için 11 farklı öznitelik üzerinde ölçümler içeren mtcars veri kümesini kullanacağız:

 #view first six rows of mtcars dataset
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 hp’yi ve aşağıdaki potansiyel tahmin değişkenlerini kullanarak bir regresyon modeli uydurmak istediğimizi varsayalım:

  • mpg
  • ağırlık
  • bok
  • qsec

Mümkün olan en düşük AIC değerine sahip modele ulaşana kadar çeşitli tahmin değişkenlerini modele eklemek ve çıkarmak için MASS paketindeki stepAIC() işlevini kullanabiliriz:

 library (MASS)

#fit initial multiple linear regression model
model <- lm(hp ~ mpg + wt + drat + qsec, data=mtcars)

#use both forward and backward selection to find model with lowest AIC
stepAIC(model, direction=" both ")

Start: AIC=226.88
hp ~ mpg + wt + drat + qsec

       Df Sum of Sq RSS AIC
- drat 1 94.9 28183 224.98
- mpg 1 1519.4 29608 226.56
  none 28088 226.88
- wt 1 3861.9 31950 229.00
-qsec 1 28102.2 56190 247.06

Step: AIC=224.98
hp ~ mpg + wt + qsec

       Df Sum of Sq RSS AIC
- mpg 1 1424.5 29608 224.56
  none 28183 224.98
+ drat 1 94.9 28088 226.88
- wt 1 3797.9 31981 227.03
-qsec 1 29625.1 57808 245.97

Step: AIC=224.56
hp ~ wt + qsec

       Df Sum of Sq RSS AIC
  none 29608 224.56
+ mpg 1 1425 28183 224.98
+ drat 1 0 29608 226.56
- wt 1 43026 72633 251.28
-qsec 1 52881 82489 255.35

Call:
lm(formula = hp ~ wt + qsec, data = mtcars)

Coefficients:
(Intercept) wt qsec  
     441.26 38.67 -23.47  

Sonucun nasıl yorumlanacağı aşağıda açıklanmıştır:

(1) İlk olarak, dört yordayıcı değişkenle bir regresyon modeli uydurarak başlıyoruz. Bu modelin AIC değeri 226,88’dir .

(2) Daha sonra stepAIC, tahmin değişkeni olarak drat’ın kaldırılmasının AIC değerini 224,98’e daha da düşüreceğini belirler.

(3) Daha sonra stepAIC modeli, mpg’yi öngörücü değişken olarak kaldırmanın AIC değerini 224,56’ya daha da düşüreceğini belirler.

(4) Son olarak stepAIC, değişkenleri ekleyerek veya çıkararak AIC değerini daha da azaltmanın bir yolu olmadığını belirler.

Bu nedenle nihai model şu şekildedir:

hp = 441,26 + 38,67 (ağırlık) – 23,47 (qsec)

Bu modelin AIC değeri 224,56’dır .

Ek kaynaklar

Aşağıdaki eğitimlerde R’de diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:

R’de çoklu doğrusal regresyon nasıl gerçekleştirilir
R’de parçalı regresyon nasıl gerçekleştirilir?
R’de spline regresyonu nasıl gerçekleştirilir

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir