Regresi Linear Berganda (Metode OLS) - Pengantar Model Linier
Regresi Linear Berganda adalah model regresi linear dengan melibatkan lebih dari satu variabel bebas atau predikdor. Regresi Linier Berganda dinyatakan dalam persamaan matematika sebagai berikut :
\[ Y = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \cdots + \beta_k x_k + \varepsilon \]
Salah satu metode yang digunakan untuk mengestimasi parameter regresi adalah metode Ordinary Least Squares (OLS). Metode OLS bertujuan menemukan penduga parameter regresi dengan meminimumkan jumlah kuadrat residual. Residual adalah selisih antara nilai pengamatan dengan nilai estimasinya \(\hat{y}\) penduga untuk parameter regresi dalam bentuk matriks dapat dirumuskan sebagai berikut.
\[ \hat{\beta} = (X'X)^{-1} X'Y \]
STUDI KASUS
Seorang peneliti ingin menganalisis faktor-faktor yang mempengaruhi nilai ujian mahasiswa (Y). Diduga bahwa nilai ujian dipengaruhi oleh:
X1 = jumlah jam belajar (jam/minggu)
X2 = tingkat kehadiran (%)
Peneliti mengumpulkan data dari 10 mahasiswa sebagai berikut:
## Warning: package 'car' was built under R version 4.4.3
## Loading required package: carData
## Warning: package 'carData' was built under R version 4.4.3
## Warning: package 'lmtest' was built under R version 4.4.3
## Loading required package: zoo
## Warning: package 'zoo' was built under R version 4.4.3
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
# Input Data
(data_mahasiswa <- data.frame(
Nilai_Ujian = c(65, 70, 75, 80, 85,
78, 72, 90, 88, 95),
Jumlah_Jam_Belajar = c(2, 3, 4, 5, 6,
5, 3, 7, 6, 8),
Tingkat_Kehadiran = c(60, 65, 70, 75, 80,
72, 68, 85, 83, 90)
))## Nilai_Ujian Jumlah_Jam_Belajar Tingkat_Kehadiran
## 1 65 2 60
## 2 70 3 65
## 3 75 4 70
## 4 80 5 75
## 5 85 6 80
## 6 78 5 72
## 7 72 3 68
## 8 90 7 85
## 9 88 6 83
## 10 95 8 90
Y <- as.matrix(data_mahasiswa$Nilai_Ujian) # variabel respon
X1 <- data_mahasiswa$Jumlah_Jam_Belajar
X2 <- data_mahasiswa$Tingkat_Kehadiran
X <- cbind(1, X1, X2)
n <- nrow(X) # jumlah observasi
k <- ncol(X) - 1 # jumlah variabel bebas1. Estimasi model regresi linier berganda menggunakan metode OLS berbasis matriks
## [,1]
## 16.1360113
## X1 1.1698379
## X2 0.7744891
## [,1]
## [1,] 64.94503
## [2,] 69.98732
## [3,] 75.02960
## [4,] 80.07188
## [5,] 85.11416
## [6,] 77.74841
## [7,] 72.31078
## [8,] 90.15645
## [9,] 87.43763
## [10,] 95.19873
## [,1]
## [1,] 0.05496829
## [2,] 0.01268499
## [3,] -0.02959831
## [4,] -0.07188161
## [5,] -0.11416490
## [6,] 0.25158562
## [7,] -0.31078224
## [8,] -0.15644820
## [9,] 0.56236786
## [10,] -0.19873150
Secara umum, hasil analisis persamaan regresi linier berganda yang dihitung dengan metode Ordinary Least Squares (OLS), hasil persamaanya yaitu: \[ \hat{Y} = 16.136 + 1.169X_1 + 0.774X_2 \]
Artinya:
• \(\beta_0\) = 16.136, jika jumlah jam belajar dan tingkat kehadiran sama dengan nol, maka nilai ujian mahasiswa rata-rata adalah bernilai 16.136.
• \(\beta_1\) = 1.169, setiap jumlah jam belajar meningkat satu jam per minggunya, maka nilai ujian mahasiswa diperkirakan akan meningkat sebesar 1.169 poin, dengan asumsi variabel tingkat kehadiran konstan.
• \(\beta_2\) = 0.774, setiap persentase kehadiran naik sebesar 1%, maka nilai ujian mahasiswa diperkirakan akan meningkat sebesar 0.774 poin dengan asumsi jumlah jam belajar konstan.
Berdasarkan hasil interpretasi tersebut, disimpulkan bahwa jumlah jam belajar dan tingkat kehadiran memiliki pengaruh yang positif terhadap nilai ujian mahasiswa. Semakin banyaknya waktu yang digunakan untuk belajar dan tingginya tingkat persentase kehadiran, maka nilai ujian juga cenderung ikut meningkat.
2. Uji F dan Uji t (manual)
Uji F
Hipotesis:
• H0: \(\beta_1 = \beta_2 = 0\) (Tidak ada pengaruh antara variabel X1 dan X2 terhadap Y)
• H1: minimal ada satu \(\beta_1 \neq 0\)
Taraf signifikansi :
\(\alpha\) = 0.05
Statistik Uji
# Uji F
# Hitung SST, SSR, SSE
SST <- sum((Y - mean(Y))^2) # Total
SSR <- sum((Y_hat - mean(Y))^2) # Regresi
SSE <- sum(e^2) # Error
# Uji F (signifikansi model)
MSR <- SSR / k
MSE <- SSE / (n - k - 1)
F_value <- MSR / MSE
p_value_F <- pf(F_value, k, n-k-1, lower.tail = FALSE)
F_value; p_value_F## [1] 5172.116
## [1] 8.042129e-12
Kriteria keputusan:
Jika p-value < 0.05, maka H0 ditolak
Kesimpulan
Berdasarkan hasil Uji F, diperoleh nilai F-value = 5172.116 dan p-value = 8.042129e-12. Karena p-value (8.042129e-12) < 0.05, maka hasil keputusan adalah H0 ditolak. Artinya, variabel jumlah jam belajar dan tingkat kehadiran secara simultan memiliki pengaruh yang signifikan terhadap nilai ujian mahasiswa.
Uji t
Hipotesis:
- X1 (Jumlah Jam Belajar)
H0 : \(\beta_1\) = 0 (tidak ada pengaruh terhadap variabel Y)
H1 : \(\beta_1\) \(\neq\) 0 (terdapat pengaruh terhadap variabel Y)
- X2 (Tingkat Kehadiran)
H0 : \(\beta_2\) = 0 (tidak ada pengaruh terhadap variabel Y)
H1 : \(\beta_2\) \(\neq\) 0 (terdapat pengaruh terhadap variabel Y)
Taraf signifikansi :
\(\alpha\) = 0.05
Statistik Uji
# Uji t
# Varian error
sigma2 <- SSE / (n - k - 1)
# Kovarians koefisien
var_b <- sigma2 * solve(t(X) %*% X)
se_b <- sqrt(diag(var_b))
# t-value dan p-value untuk tiap koefisien
t_value <- beta_hat / se_b
p_value_t <- 2 * pt(-abs(t_value), df = n-k-1)
# Gabungkan hasil
(hasil <- data.frame(
Koefisien = as.vector(beta_hat),
Std_Error = se_b,
t_value = as.vector(t_value),
p_value = as.vector(p_value_t)
))## Koefisien Std_Error t_value p_value
## 16.1360113 2.83677490 5.688154 7.444177e-04
## X1 1.1698379 0.27843551 4.201468 4.028204e-03
## X2 0.7744891 0.05571759 13.900261 2.357834e-06
Kriteria keputusan:
Jika p-value < 0.05, maka H0 ditolak
Interpretasi:
- X1
Berdasarkan output ringkasan model yang dihasilkan, diketahui bahwa p-value = 4.028204e-03. Karena p-value (4.028204e-03) < 0.05, maka hasil keputusan adalah H0 ditolak. Artinya, setiap kenaikan jumlah jam belajar, memiliki pengaruh yang signifikan terhadap nilai ujian mahasiswa.
- X2
Berdasarkan output ringkasan model yang dihasilkan, diketahui bahwa p-value = 2.357834e-06. Karena p-value (2.357834e-06) < 0.05, maka hasil keputusan adalah H0 ditolak. Artinya, tingkat kehadiran memiliki pengaruh yang signifikan terhadap nilai ujian mahasiswa.
Berdasarkan uji-t, secara keseluruhan variabel tingkat kehadiran memiliki pengaruh yang lebih kuat dibandingkan dengan jumlah jam belajar, ditunjukkan oleh nilai t yang lebih besar.
3. Nilai R² dan Adjusted R² (manual)
R²
## [1] 0.9993238
Berdasarkan hasil perhitungan, nilai koefisien determinasi, yaitu:
\(R^2\) = 0.9993238 (99.93%)
Artinya, sebesar 99.93% variasi nilai ujian mahasiswa dapat dijelaskan oleh variabel jumlah jam belajar dan tingkat kehadiran, sedangkan 0.07% sisanya dijelaskan oleh faktor lain diluar model.
Adjusted R²
## [1] 0.9991305
Adjusted \(R^2\) = 0.9991305 (99.91%)
Nilai adjusted \(R^2\) merupakan kemampuan model dalam menjelaskan variasi nilai ujian mahasiswa setelah memperhitungkan jumlah variabelnya. Sekitar 99.91% variasi nilai ujian mahasiswa tetap dapat dijelaskan oleh model. Nilai adjusted \(R^2\) yang tidak jauh berbeda dari nilai \(R^2\) menunjukkan bahwa model yang digunakan sudah baik dan tidak mengalami overfitting.
4. Perbandingan dengan fungsi lm
##
## Call:
## lm(formula = Y ~ X1 + X2, data = data_mahasiswa)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.31078 -0.14588 -0.05074 0.04440 0.56237
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 16.13601 2.83677 5.688 0.000744 ***
## X1 1.16984 0.27844 4.201 0.004028 **
## X2 0.77449 0.05572 13.900 2.36e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2834 on 7 degrees of freedom
## Multiple R-squared: 0.9993, Adjusted R-squared: 0.9991
## F-statistic: 5172 on 2 and 7 DF, p-value: 8.042e-12
Hasil pengujian dari uji F, uji t, serta nilai \(R^2\) dan adjusted \(R^2\) yang diperoleh melalui perhitungan
manual menunjukkan bahwa output yang dihasilkan identik dengan hasil
yang diperoleh dengan menggunakan fungsi lm(). Terdapat
sedikit perbedaan di hasil uji F secara manual dan fungsi
lm(). Dimana pada hasil manual, nilai F-statisticnya adalah
5172.116, sedangkan yang menggunakan fungsi lm() bernilai
5172. Perbedaan ini hanya disebabkan oleh pembulatan angka dan tidak
mempengaruhi kesimpulan maupun signifikansi model.
Hal ini menunjukkan bahwa proses perhitungan manual yang dilakukan telah benar dan sesuai dengan metode yang digunakan oleh fungsi pada perangkat lunak R.
5. Prediksi nilai ujian mahasiswa jika jumlah jam belajar 1 jam/minggu namun kehadirannya 100%?
## [,1]
## [1,] 94.75476
Berdasarkan hasil prediksi menggunakan model regresi, diperoleh nilai \(\hat{y}\) = 94.75. Artinya, mahasiswa dengan tingkat kehadiran 100% meskipun jumlah jam belajar hanya 1 jam/minggu, diperkirakan akan tetap memperoleh nilai tinggi. Hal ini menunjukkan bahwa tingkat kehadiran yang tinggi memberikan kontribusi yang cukup besar meskipun jumlah jam belajar relatif rendah.
Namun perlu diperhatikan bahwa prediksi ini didasarkan pada model yang dibangun dari data, sehingga nilai akurasinya bergantung pada kesesuaian data dengan kondisi yang sebenarnya.