R - Çoklu Regresyon

Çoklu regresyon, ikiden fazla değişken arasındaki ilişkiye doğrusal regresyonun bir uzantısıdır. Basit doğrusal ilişkide bir yordayıcı ve bir yanıt değişkenine sahibiz, ancak çoklu regresyonda birden fazla yordayıcı değişkenimiz ve bir yanıt değişkenimiz var.

Çoklu regresyon için genel matematiksel denklem -

y = a + b1x1 + b2x2 +...bnxn

Kullanılan parametrelerin açıklaması aşağıdadır -

  • y yanıt değişkendir.

  • a, b1, b2...bn katsayılardır.

  • x1, x2, ...xn tahmin değişkenleridir.

Regresyon modelini kullanarak lm()R'deki fonksiyon. Model, giriş verilerini kullanarak katsayıların değerini belirler. Daha sonra, bu katsayıları kullanarak belirli bir yordayıcı değişken seti için yanıt değişkeninin değerini tahmin edebiliriz.

lm () İşlevi

Bu işlev, yordayıcı ve yanıt değişkeni arasındaki ilişki modelini oluşturur.

Sözdizimi

İçin temel sözdizimi lm() çoklu regresyondaki fonksiyon -

lm(y ~ x1+x2+x3...,data)

Kullanılan parametrelerin açıklaması aşağıdadır -

  • formula yanıt değişkeni ile yordayıcı değişkenler arasındaki ilişkiyi sunan bir semboldür.

  • data formülün uygulanacağı vektördür.

Misal

Giriş Verileri

R ortamında bulunan "mtcars" veri setini düşünün. Galon başına kilometre (mpg), silindir hacmi ("disp"), beygir gücü ("hp"), arabanın ağırlığı ("wt") ve daha fazla parametre açısından farklı araba modelleri arasında bir karşılaştırma sağlar.

Modelin amacı, bir yanıt değişkeni olarak "mpg" ile tahmin değişkenleri olarak "disp", "hp" ve "wt" arasındaki ilişkiyi kurmaktır. Bu amaçla mtcars veri setinden bu değişkenlerin bir alt kümesini oluşturuyoruz.

input <- mtcars[,c("mpg","disp","hp","wt")]
print(head(input))

Yukarıdaki kodu çalıştırdığımızda şu sonucu verir -

mpg   disp   hp    wt
Mazda RX4          21.0  160    110   2.620
Mazda RX4 Wag      21.0  160    110   2.875
Datsun 710         22.8  108     93   2.320
Hornet 4 Drive     21.4  258    110   3.215
Hornet Sportabout  18.7  360    175   3.440
Valiant            18.1  225    105   3.460

İlişki Modeli oluşturun ve Katsayıları alın

input <- mtcars[,c("mpg","disp","hp","wt")]

# Create the relationship model.
model <- lm(mpg~disp+hp+wt, data = input)

# Show the model.
print(model)

# Get the Intercept and coefficients as vector elements.
cat("# # # # The Coefficient Values # # # ","\n")

a <- coef(model)[1]
print(a)

Xdisp <- coef(model)[2]
Xhp <- coef(model)[3]
Xwt <- coef(model)[4]

print(Xdisp)
print(Xhp)
print(Xwt)

Yukarıdaki kodu çalıştırdığımızda şu sonucu verir -

Call:
lm(formula = mpg ~ disp + hp + wt, data = input)

Coefficients:
(Intercept)         disp           hp           wt  
  37.105505      -0.000937        -0.031157    -3.800891  

# # # # The Coefficient Values # # # 
(Intercept) 
   37.10551 
         disp 
-0.0009370091 
         hp 
-0.03115655 
       wt 
-3.800891

Regresyon Modeli İçin Denklem Oluşturun

Yukarıdaki kesişme ve katsayı değerlerine dayanarak matematiksel denklemi oluşturuyoruz.

Y = a+Xdisp.x1+Xhp.x2+Xwt.x3
or
Y = 37.15+(-0.000937)*x1+(-0.0311)*x2+(-3.8008)*x3

Yeni Değerleri tahmin etmek için Denklem uygula

Yer değiştirme, beygir gücü ve ağırlık için yeni bir değerler kümesi sağlandığında kilometreyi tahmin etmek için yukarıda oluşturulan regresyon denklemini kullanabiliriz.

Disp = 221, hp = 102 ve wt = 2.91 olan bir otomobil için tahmini kilometre -

Y = 37.15+(-0.000937)*221+(-0.0311)*102+(-3.8008)*2.91 = 22.7104