Pendahuluan

Regresi Linier Berganda adalah model regresi linier dengan lebih dari satu variabel bebas (prediktor). Model ini digunakan untuk memprediksi nilai variabel dependen berdasarkan beberapa variabel independen. Pada dasarnya regresi linear berganda adalah model prediksi atau peramalan dengan menggunakan data berskala interval atau rasio serta terdapat lebih dari satu predictor. Skala data yang dimaksud diatas adalah pada semua variabel terutama variable terikat. Pada regresi linear, tidak menutup kemungkinan digunakannya data dummy pada variable bebas. Yaitu pada regresi linear dengan dummy. Model regresi linear berganda dilukiskan dengan persamaan sebagai berikut: Y = α + β1 X2 + β2 X2 + βn Xn + e

Contoh Soal

Seseorang ingin mengetahui pengaruh jumlah jam belajar per minggu (X₁) dan frekuensi kehadiran kuliah (X₂) terhadap IPK mahasiswa (Y).

Data 10 mahasiswa:

Mahasiswa Jam Belajar (X₁) Kehadiran (X₂) IPK (Y)
Nazmi 10 12 3.00
Ela 15 14 3.50
Juan 9 11 2.80
Aca 12 10 3.00
Injil 18 16 3.90
Lydia 16 15 3.80
Delon 11 13 3.20
Aditia 8 9 2.50
Musfa 14 14 3.60
Sahril 7 10 2.70

Input Data

jam_belajar <- c(10, 15, 9, 12, 18, 16, 11, 8, 14, 7)
kehadiran   <- c(12, 14, 11, 10, 16, 15, 13, 9, 14, 10)
ipk         <- c(3.00, 3.50, 2.80, 3.00, 3.90, 3.80, 3.20, 2.50, 3.60, 2.70)

data <- data.frame(ipk, jam_belajar, kehadiran)
print(data)
##    ipk jam_belajar kehadiran
## 1  3.0          10        12
## 2  3.5          15        14
## 3  2.8           9        11
## 4  3.0          12        10
## 5  3.9          18        16
## 6  3.8          16        15
## 7  3.2          11        13
## 8  2.5           8         9
## 9  3.6          14        14
## 10 2.7           7        10

Model Regresi

model <- lm(ipk ~ jam_belajar + kehadiran, data = data)
summary(model)
## 
## Call:
## lm(formula = ipk ~ jam_belajar + kehadiran, data = data)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.07812 -0.06230 -0.01531  0.06321  0.09986 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  1.09672    0.16353   6.707 0.000276 ***
## jam_belajar  0.06366    0.01643   3.874 0.006100 ** 
## kehadiran    0.10801    0.02536   4.260 0.003747 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.07842 on 7 degrees of freedom
## Multiple R-squared:  0.9793, Adjusted R-squared:  0.9734 
## F-statistic: 165.6 on 2 and 7 DF,  p-value: 1.276e-06

Plot dan Visualisasi

# Scatter Plot Jam Belajar vs IPK
plot(data$jam_belajar, data$ipk,
     main = "Jam Belajar vs IPK",
     xlab = "Jam Belajar per Minggu",
     ylab = "IPK",
     pch = 16, col = "blue")
abline(lm(ipk ~ jam_belajar, data = data), col = "red")

# Scatter Plot Kehadiran vs IPK
plot(data$kehadiran, data$ipk,
     main = "Kehadiran vs IPK",
     xlab = "Kehadiran",
     ylab = "IPK",
     pch = 16, col = "darkgreen")
abline(lm(ipk ~ kehadiran, data = data), col = "red")

# Plot Matriks Korelasi
pairs(data, main = "Plot Korelasi Antar Variabel", pch = 19, col = "purple")

# Korelasi antar Variabel
cor(data)
##                   ipk jam_belajar kehadiran
## ipk         1.0000000   0.9621024 0.9669149
## jam_belajar 0.9621024   1.0000000 0.9001029
## kehadiran   0.9669149   0.9001029 1.0000000

Uji Asumsi

# Normalitas Residual
shapiro.test(residuals(model))
## 
##  Shapiro-Wilk normality test
## 
## data:  residuals(model)
## W = 0.87346, p-value = 0.1097
# Plot Residual vs Fitted
plot(model$fitted.values, model$residuals,
     main = "Residual vs Fitted",
     xlab = "Fitted Values", ylab = "Residuals")
abline(h = 0, col = "red")

# Multikolinearitas (butuh package car)
# install.packages("car") jika belum
library(car)
## Warning: package 'car' was built under R version 4.4.2
## Loading required package: carData
## Warning: package 'carData' was built under R version 4.4.2
vif(model)
## jam_belajar   kehadiran 
##    5.268293    5.268293

Interpretasi

Model regresi yang terbentuk menunjukkan bahwa: - Setiap penambahan 1 jam belajar → IPK naik sekitar 0.06366 poin. - Setiap penambahan 1 kehadiran → IPK naik sekitar 0.10801 poin.

Asumsi dan Hasil Uji

Asumsi Hasil Uji Status
Normalitas Shapiro-Wilk (p = 0.1097) Terpenuhi
Homoskedastisitas Plot Residual vs Fitted Terpenuhi
Multikolinearitas VIF = 5.268 (masih < 10) Aman