R - Regresi Berganda

Regresi berganda merupakan perpanjangan dari regresi linier menjadi hubungan antara lebih dari dua variabel. Dalam hubungan linier sederhana kita memiliki satu variabel prediktor dan satu variabel respon, tetapi dalam regresi berganda kita memiliki lebih dari satu variabel prediktor dan satu variabel respon.

Persamaan matematika umum untuk regresi berganda adalah -

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

Berikut ini adalah deskripsi parameter yang digunakan -

  • y adalah variabel respon.

  • a, b1, b2...bn adalah koefisien.

  • x1, x2, ...xn adalah variabel prediktor.

Kami membuat model regresi menggunakan lm()fungsi di R. Model menentukan nilai koefisien menggunakan data masukan. Selanjutnya kita dapat memprediksi nilai variabel respon untuk satu set variabel prediktor menggunakan koefisien ini.

lm () Fungsi

Fungsi ini menciptakan model hubungan antara prediktor dan variabel respon.

Sintaksis

Sintaks dasar untuk lm() fungsi dalam regresi berganda adalah -

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

Berikut ini adalah deskripsi parameter yang digunakan -

  • formula merupakan simbol yang mempresentasikan hubungan antara variabel respon dan variabel prediktor.

  • data adalah vektor tempat rumus akan diterapkan.

Contoh

Memasukan data

Pertimbangkan kumpulan data "mtcars" yang tersedia di lingkungan R. Ini memberikan perbandingan antara model mobil yang berbeda dalam hal jarak tempuh per galon (mpg), perpindahan silinder ("disp"), tenaga kuda ("hp"), berat mobil ("wt") dan beberapa parameter lainnya.

Tujuan dari model ini adalah untuk menetapkan hubungan antara "mpg" sebagai variabel respon dengan "disp", "hp" dan "wt" sebagai variabel prediktor. Kami membuat subset variabel ini dari kumpulan data mtcars untuk tujuan ini.

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

Ketika kita menjalankan kode di atas, hasilnya adalah sebagai berikut -

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

Buat Model Hubungan & dapatkan Koefisien

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)

Ketika kita menjalankan kode di atas, hasilnya adalah sebagai berikut -

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

Buat Persamaan untuk Model Regresi

Berdasarkan intersep dan nilai koefisien di atas, kami membuat persamaan matematika.

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

Terapkan Persamaan untuk memprediksi Nilai Baru

Kita dapat menggunakan persamaan regresi yang dibuat di atas untuk memprediksi jarak tempuh ketika serangkaian nilai baru untuk perpindahan, tenaga kuda, dan berat disediakan.

Untuk mobil dengan disp = 221, hp = 102 dan wt = 2.91 jarak tempuh yang diprediksi adalah -

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