Regresi Linier Berganda (Pengaruh Jam Belajar dan Tingkat Kehadiran Terhadap Nilai Ujian Mahasiswa)

Pendahuluan

Regresi linier berganda merupakan metode statistika yang penting untuk menganalisis hubungan antara satu variabel terikat dengan beberapa variabel bebas. Melalui metode ini, saya dapat memahami bagaimana berbagai faktor secara bersamaan memengaruhi suatu variabel respon sekaligus digunakan untuk melakukan prediksi. Dalam bidang pendidikan, nilai ujian mahasiswa tidak hanya dipengaruhi oleh satu aspek, melainkan oleh beberapa faktor, seperti jumlah jam belajar dan tingkat kehadiran. Jam belajar menggambarkan usaha mahasiswa dalam memahami materi, sedangkan kehadiran mencerminkan kedisiplinan dan partisipasi dalam proses pembelajaran, sehingga keduanya diduga berpengaruh terhadap hasil belajar.

Berdasarkan hal tersebut, saya ingin menganalisis pengaruh jumlah jam belajar (X1) dan tingkat kehadiran (X2) terhadap nilai ujian mahasiswa (Y) dengan menggunakan metode regresi linier berganda melalui pendekatan Ordinary Least Squares (OLS). Selain itu, saya juga akan melakukan pengujian menggunakan uji F dan uji t untuk mengetahui signifikansi masing-masing variabel, serta menghitung nilai koefisien determinasi (R²) dan Adjusted R² guna menilai seberapa baik model yang terbentuk. Dari analisis ini, saya berharap dapat mengetahui faktor yang paling dominan memengaruhi nilai ujian mahasiswa dan memperoleh gambaran yang dapat digunakan untuk meningkatkan kualitas pembelajaran.

Data

library(knitr)
## Warning: package 'knitr' was built under R version 4.4.2
Y  <- c(65,70,75,80,85,78,72,90,88,95)
X1 <- c(2,3,4,5,6,5,3,7,6,8)
X2 <- c(60,65,70,75,80,72,68,85,83,90)
data <- data.frame(Y, X1, X2)
data
##     Y X1 X2
## 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

Estimasi Model Regresi (Metode OLS)

# Matriks X (tambahkan intercept)
X <- cbind(1, X1, X2)
X
##         X1 X2
##  [1,] 1  2 60
##  [2,] 1  3 65
##  [3,] 1  4 70
##  [4,] 1  5 75
##  [5,] 1  6 80
##  [6,] 1  5 72
##  [7,] 1  3 68
##  [8,] 1  7 85
##  [9,] 1  6 83
## [10,] 1  8 90
# Ubah Y jadi matriks
Y_matrix <- as.matrix(Y)
Y
##  [1] 65 70 75 80 85 78 72 90 88 95
# *Estimasi beta*
beta <- solve(t(X) %*% X) %*% t(X) %*% Y_matrix
beta
##          [,1]
##    16.1360113
## X1  1.1698379
## X2  0.7744891

Matriks 𝑋 dalam regresi merupakan matriks variabel independen yang telah ditambahkan kolom konstanta (intercept). Kolom pertama berisi angka 1 sebagai intercept, sedangkan kolom berikutnya memuat data jumlah jam belajar (X1) dan tingkat kehadiran (X2). Matriks ini berukuran 10×3, yang menunjukkan terdapat 10 observasi dan 3 parameter yang akan diestimasi.

Sementara itu, matriks 𝑌 adalah matriks kolom yang berisi nilai ujian mahasiswa sebagai variabel dependen dengan ukuran 10×1. Bentuk matriks ini digunakan agar perhitungan regresi dengan metode Ordinary Least Squares (OLS) dapat dilakukan menggunakan operasi aljabar matriks.

Nilai koefisien yang diperoleh adalah :

  • β0 = 16.136
  • β1 = 1.1698
  • β2 = 0.7745

sehingga model regresi yang terbentuk dapat dituliskan sebagai berikut:

                       Ŷ = 16,1360 + 1,1698(X1) + 0,7745(X2)

Koefisien β0 sebesar 16.136 merupakan nilai konstanta yang menggambarkan nilai ujian (Y) ketika jumlah jam belajar (X1) dan tingkat kehadiran (X2) bernilai nol. Nilai ini berfungsi sebagai titik awal dalam model regresi, walaupun kondisi tersebut jarang terjadi dalam situasi sebenarnya. Koefisien β1 sebesar 1.1698 menunjukkan bahwa setiap kenaikan 1 satuan pada jumlah jam belajar akan meningkatkan nilai ujian sekitar 1.17 poin, dengan asumsi variabel lain tetap. Hal ini mengindikasikan bahwa jam belajar memiliki pengaruh positif terhadap peningkatan nilai ujian. Sementara itu, koefisien β2 sebesar 0.7745 berarti setiap peningkatan 1 satuan pada tingkat kehadiran akan menaikkan nilai ujian sekitar 0.77 poin, dengan asumsi jumlah jam belajar konstan. Ini menunjukkan bahwa kehadiran juga memberikan kontribusi positif terhadap nilai ujian.

Uji F (Analisis Varians/ANOVA) Secara Manual

# Prediksi
Y_hat <- X %*% beta
Y_hat
##           [,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
#residual
res <- Y_matrix - Y_hat
res
##              [,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
#Rata-rata Y
Y_mean <-mean (Y_matrix)
Y_mean
## [1] 79.8
# SSE, SSR, SST
SSE <- t(res) %*% res
SSE
##           [,1]
## [1,] 0.5623679
SST <- t(Y_matrix - mean(Y_matrix)) %*% (Y_matrix - mean(Y_matrix))
SST
##       [,1]
## [1,] 831.6
SSR <- SST - SSE
SSR
##          [,1]
## [1,] 831.0376
# Derajat bebas
n <- nrow(X)
n
## [1] 10
k <- ncol(X) - 1
k
## [1] 2
# Mean Square
MSR <- SSR / k
MSR
##          [,1]
## [1,] 415.5188
MSE <- SSE / (n - k - 1)
MSE
##            [,1]
## [1,] 0.08033827
# F hitung
F_hit <- MSR / MSE
F_hit
##          [,1]
## [1,] 5172.116

Nilai prediksi 𝑌 prediksi merupakan hasil estimasi nilai ujian mahasiswa berdasarkan model regresi yang diperoleh. Secara umum, nilai prediksi seperti 64.945, 69.987, 75.030 hingga 95.199 sangat dekat dengan nilai aktual 𝑌. Perbedaan yang sangat kecil ini menunjukkan bahwa model mampu menggambarkan data dengan sangat baik.

Residual adalah selisih antara nilai aktual dan nilai prediksi (𝑌−𝑌prediksi). Nilai residual yang diperoleh, seperti 0.055, 0.013, -0.030 hingga 0.562, cenderung kecil dan mendekati nol. Hal ini mengindikasikan bahwa tingkat kesalahan model relatif rendah, sehingga model memiliki kemampuan yang baik dalam menjelaskan data.

Nilai SSE (Sum of Squared Error) sebesar 0.5624 menunjukkan jumlah kesalahan kuadrat yang sangat kecil. Sementara itu, nilai SST (Total Sum of Squares) sebesar 831.6 menggambarkan total variasi dalam data nilai ujian. Nilai SSR (Sum of Squares Regression) sebesar 831.0376 menunjukkan besarnya variasi yang dapat dijelaskan oleh model.

Nilai MSE (Mean Square Error) sebesar 0.0803 menunjukkan rata-rata kesalahan kuadrat yang sangat kecil, yang berarti model memiliki tingkat error yang rendah. Sedangkan nilai MSR sebesar 415.5188 menunjukkan besarnya variasi yang dijelaskan oleh model untuk setiap variabel independen.

Nilai F hitung sebesar 5172.116 menunjukkan bahwa model regresi secara keseluruhan sangat signifikan. Nilai yang sangat besar ini mengindikasikan bahwa variabel jumlah jam belajar (X1) dan tingkat kehadiran (X2) secara bersama-sama memberikan pengaruh yang signifikan terhadap nilai ujian mahasiswa. Oleh karena itu, model regresi yang diperoleh dapat digunakan untuk analisis dan prediksi.

Uji t (Uji Parsial) Secara Manual

# Variansi error
sigma <- as.numeric(MSE)
sigma
## [1] 0.08033827
# Variansi beta
var_beta <- sigma * solve(t(X) %*% X)
var_beta
##                        X1          X2
##     8.0472918  0.76212839 -0.15740223
## X1  0.7621284  0.07752633 -0.01526748
## X2 -0.1574022 -0.01526748  0.00310445
# Standard error
se_beta <- sqrt(diag(var_beta))
se_beta
##                    X1         X2 
## 2.83677490 0.27843551 0.05571759
# t hitung
t_hit <- beta / se_beta
t_hit
##         [,1]
##     5.688154
## X1  4.201468
## X2 13.900261

Nilai variansi error (𝜎^2) sebesar 0.0803 menunjukkan bahwa rata-rata kesalahan kuadrat dari model tergolong kecil. Hal ini menandakan bahwa model regresi yang digunakan memiliki tingkat kesalahan yang rendah dan cukup baik dalam menjelaskan hubungan antara variabel independen dengan variabel dependen.

Matriks variansi–kovarians (var_beta) menggambarkan besarnya variasi dari masing-masing koefisien serta hubungan antar koefisien tersebut. Nilai pada diagonal matriks menunjukkan variansi setiap koefisien, sedangkan nilai di luar diagonal menunjukkan kovarians antar variabel. Dari hasil yang diperoleh, terlihat bahwa variansi intercept lebih besar dibandingkan variabel lainnya, sementara variansi pada X2 paling kecil, sehingga estimasi koefisien X2 lebih stabil.

Nilai standard error yang dihasilkan adalah 2.8368 untuk intercept, 0.2784 untuk X1, dan 0.0557 untuk X2. Nilai standard error yang relatif kecil menunjukkan bahwa estimasi parameter cukup akurat. Di antara ketiganya, X2 memiliki standard error paling kecil, sehingga dapat dikatakan memiliki tingkat ketelitian estimasi yang paling tinggi.

Nilai t hitung yang diperoleh yaitu 5.688 (intercept), 4.201 (X1), dan 13.900 (X2). Nilai t yang besar menunjukkan bahwa masing-masing koefisien signifikan secara statistik. Dengan demikian, dapat disimpulkan bahwa variabel jumlah jam belajar (X1) dan tingkat kehadiran (X2) secara parsial berpengaruh signifikan terhadap nilai ujian mahasiswa, dengan X2 memiliki pengaruh paling kuat karena nilai t hitungnya paling besar.

Koefisien Determinasi (R² dan Adjusted R²)

R2 <- SSR / SST
R2
##           [,1]
## [1,] 0.9993238
Adj_R2 <- 1 - ((1 - R2)*(n - 1)/(n - k - 1))
Adj_R2
##           [,1]
## [1,] 0.9991305

Nilai koefisien determinasi R² sebesar 0.9993 mengindikasikan bahwa sekitar 99.93% variasi nilai ujian mahasiswa (Y) dapat dijelaskan oleh variabel jumlah jam belajar (X1) dan tingkat kehadiran (X2). Hal ini menunjukkan bahwa model regresi memiliki kemampuan yang sangat tinggi dalam menjelaskan hubungan antara variabel bebas dan variabel terikat.

Sementara itu, nilai Adjusted_R² sebesar 0.9991 merupakan hasil penyesuaian dari R² dengan mempertimbangkan jumlah variabel independen dan ukuran sampel. Nilainya yang tetap tinggi dan tidak jauh berbeda dari R² menandakan bahwa model yang digunakan sudah sesuai dan tidak mengalami overfitting. Dengan demikian, model regresi linier berganda yang diperoleh dapat dikatakan sangat baik dan layak digunakan dalam analisis.

Perbandingan Metode OLS dengan Fungsi lm()

#Model Regresi Linier Berganda (OLS)
model <- lm(Y ~ X1 + X2)
summary(model)
## 
## Call:
## lm(formula = Y ~ X1 + X2)
## 
## 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

Perhitungan koefisien regresi linier berganda secara manual menunjukkan nilai intercept sebesar 16,1360, koefisien X1 sebesar 1,1698, dan koefisien X2 sebesar 0,7745. Ketika model yang sama dianalisis menggunakan fungsi lm() di R, koefisien yang diperoleh hampir sama, menegaskan bahwa perhitungan manual sudah akurat. Perbedaan utama terletak pada lm() yang menyediakan informasi tambahan seperti standar error, nilai t, p-value, R-squared, dan F-statistic, sehingga mempermudah interpretasi dan evaluasi signifikansi model secara keseluruhan. Oleh karena itu, penggunaan lm() tidak hanya lebih cepat tetapi juga memberikan gambaran lebih lengkap mengenai kualitas dan keandalan model regresi.

Prediksi (X1 = 1, X2 = 100)

newdata <- data.frame(X1 = 1, X2 = 100)
predict(model, newdata)
##        1 
## 94.75476

Dengan memanfaatkan model regresi linier berganda yang telah dibangun, kita dapat memprediksi nilai Y berdasarkan kombinasi tertentu dari variabel independen. Sebagai contoh, ketika X1 = 1 dan X2 = 100, prediksi Y menggunakan fungsi predict() di R menghasilkan nilai sekitar 94,75. Hasil ini sesuai dengan perhitungan manual menggunakan persamaan regresi

                        Ŷ = 16,1360 + 1,1698(X1) + 0,7745(X2)

yang menunjukkan bahwa untuk X1 = 1 dan X2 = 100, nilai Y diperkirakan sekitar 94,75. Hal ini menegaskan bahwa model regresi berganda dapat digunakan untuk memperkirakan nilai variabel dependen dari kombinasi nilai variabel independen tertentu.

Kesimpulan

Berdasarkan analisis regresi linier berganda yanng dilakukan kepada 10 mahasiswa, diperoleh persamaannya yaitu:

                        Ŷ = = 16,1360 + 1,1698(X1) + 0,7745(X2)

Model ini sangat baik dengan R² = 0,9993 dan Adjusted_R² = 0,9991, serta signifikan secara keseluruhan F-hitung = 5172, p-value sangat kecil. Kedua variabel independen X1= jumlah jam belajar, X2 = tingkat kehadiran) signifikan memengaruhi nilai ujian. Analisis residual menunjukkan deviasi kecil antara nilai aktual dan prediksi, menandakan model fit dengan data.

Prediksi untuk mahasiswa yang belajar 1 jam per minggu dengan kehadiran 100% menghasilkan nilai ujian sekitar 94,75.model ini dapat dikatakan valid, signifikan, dan layak digunakan, untuk memprediksi nilai ujian berdasarkan jam belajar dan kehadiran mahasiswa.