Studi Kasus Regresi Linier Berganda: Pengaruh Jumlah Jam Belajar dan Tingkat Kehadiran terhadap Nilai Ujian Mahasiswa

Seorang peneliti ingin menganalisis faktor-faktor yang mempengaruhi nilai ujian mahasiswa (\(Y\)). Diduga bahwa nilai ujian dipengaruhi oleh:
\(X_1\) = jumlah jam belajar (jam/minggu)
\(X_2\) = tingkat kehadiran (%)

Peneliti mengumpulkan data dari 10 mahasiswa sebagai berikut:

Tabel Data Pengamatan
Siswa \(Y\) \(X_1\) \(X_2\)
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

Analisis dilakukan menggunakan regresi linier berganda, dengan jumlah jam belajar (\(X_1\)) dan tingkat kehadiran (\(X_2\)) sebagai variabel independen, serta nilai ujian mahasiswa (\(Y\)) sebagai variabel dependen. Adapun tujuan analisis ini adalah sebagai berikut:

  1. Mengestimasi model regresi linier berganda menggunakan metode Ordinary Least Squares (OLS) berbasis matriks serta menginterpretasikan hasil yang didapat.

  2. Menghitung uji signifikansi secara simultan (uji F) dan parsial (uji t) secara manual, serta memberikan interpretasi terhadap hasil pengujian tersebut.

  3. Menghitung nilai koefisien determinasi (\(R^2\)) dan Adjusted \(R^2\) secara manual untuk mengetahui seberapa besar variasi nilai ujian mahasiswa dapat dijelaskan oleh jumlah jam belajar dan tingkat kehadiran.

  4. Membandingkan hasil estimasi model, uji statistik, dan ukuran kecocokan model yang diperoleh secara manual dengan hasil yang dihasilkan menggunakan fungsi lm() pada perangkat lunak R.

  5. Menggunakan model regresi yang diperoleh untuk memprediksi nilai ujian mahasiswa ketika jumlah jam belajar sebesar 1 jam per minggu dan tingkat kehadiran mencapai 100%.

Model Regresi Linier Berganda

Model regresi linier berganda disusun untuk memahami hubungan antara variabel dependen \(Y\) dengan dua atau lebih variabel independen \(X\). Secara matematis, model regresi linier berganda dituliskan sebagai:

\[Y = \beta_0 + \beta_1 X_1 + \beta_2 X_2 + ... + \beta_k X_k + \epsilon\] di mana:
\(Y\) : Variabel dependen Y
\(X_k\) : Variabel independen ke-\(k\)
\(\beta_k\) : Koefisien regresi variabel bebas \(X_k\)

Sementara itu, persamaan regresi linier berganda disusun untuk menghitung nilai estimasi atau prediksi dari variabel dependen (\(Y\)) berdasarkan nilai-nilai variabel independen (\(X\)) yang telah diketahui.

\[\hat{Y} = \hat{\beta_0} + \hat{\beta_1} X_1 + \hat{\beta_2} X_2 + ... + \hat{\beta_k} X_k\]

di mana:
\(\hat{Y}\) : Penduga \(Y\)
\(\hat{\beta_k}\) : Koefisien regresi variabel bebas \(X_k\)

Untuk mengestimasi parameter dalam model regresi linier berganda digunakan metode Ordinary Least Squares (OLS) yang meminimalkan jumlah kuadrat selisih antara nilai aktual dan nilai prediksi. Selisih tersebut dikenal sebagai galat (error), yaitu perbedaan antara \(Y_i\) dan \(\hat{Y}_i\).

Untuk mempermudah perhitungan model, regresi dapat dituliskan dalam bentuk matriks sebagai berikut:

\[Y = X \beta + \epsilon\] dengan
\[ Y = \begin{bmatrix} Y_1 \\ Y_2 \\ \vdots \\ Y_n \end{bmatrix} \quad X = \begin{bmatrix} 1 & X_{11} & X_{12} \\ 1 & X_{21} & X_{22} \\ \vdots & \vdots & \vdots \\ 1 & X_{n1} & X_{n2} \end{bmatrix} \quad \beta = \begin{bmatrix} \beta_0 \\ \beta_1 \\ \beta_2 \end{bmatrix} \quad \epsilon = \begin{bmatrix} \epsilon_1 \\ \epsilon_2 \\ \vdots \\ \epsilon_n \end{bmatrix} \]

di mana:
\(Y\) : Vektor kolom dari variabel dependen (ukuran \(n \times 1\))
\(X\) : Matriks variabel independen, dengan kolom pertama berisi angka 1 untuk konstanta intercept (ukuran \(n \times k\))
\(\beta\) : Vektor kolom dari koefisien regresi yang ingin kita cari (ukuran \(k \times 1\))
\(\epsilon\) : Vektor kolom galat/residual (ukuran \(n \times 1\))

Melalui pendekatan ini, parameter \(\beta\) dapat diestimasi menggunakan rumus:

\[\hat{\beta} = (X'X)^{-1} X'Y\] di mana:
\(X'\): Transpose dari matriks \(X\)
\((X'X)^{-1}\): Invers dari hasil perkalian matriks \(X\) transpose dengan matriks \(X\)
\(X'Y\): Perkalian matriks \(X\) transpose dengan vektor \(Y\)

Hasil estimasi tersebut kemudian digunakan untuk memperoleh nilai prediksi \(\hat{Y}\) yang merepresentasikan nilai dugaan dari variabel dependen berdasarkan nilai variabel independen yang diberikan.

\[\hat{Y} = X \hat{\beta}\]

Berikut merupakan penyelesaian manual yang dilakukan di R:

# Input data
X1 <- c(2, 3, 4, 5, 6, 5, 3, 7, 6, 8)
X2 <- c(60, 65, 70, 75, 80, 72, 68, 85, 83, 90)
Y <- c(65, 70, 75, 80, 85, 78, 72, 90, 88, 95)
n <- length(Y)
k <- 2

# Membuat matriks X dengan kolom 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
# Membuat matriks Y
Y <- matrix(Y, ncol=1)
Y
##       [,1]
##  [1,]   65
##  [2,]   70
##  [3,]   75
##  [4,]   80
##  [5,]   85
##  [6,]   78
##  [7,]   72
##  [8,]   90
##  [9,]   88
## [10,]   95
# Tranpose matriks X 
Xt <- t(X) # matriks X'
Xt
##    [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
##       1    1    1    1    1    1    1    1    1     1
## X1    2    3    4    5    6    5    3    7    6     8
## X2   60   65   70   75   80   72   68   85   83    90
# Menghitung X'Y
XtY <- Xt %*% Y
XtY
##     [,1]
##      798
## X1  4074
## X2 60516
# Menghitung X'X
XtX <- Xt %*% X
XtX
##          X1    X2
##     10   49   748
## X1  49  273  3827
## X2 748 3827 56772
# Menghitung invers X'X
XtX_invers <- solve(XtX)
XtX_invers
##                       X1          X2
##    100.167606  9.4864928 -1.95924360
## X1   9.486493  0.9649988 -0.19003993
## X2  -1.959244 -0.1900399  0.03864224
# Menghitung beta duga (beta_hat)
beta_hat <- XtX_invers %*% XtY
beta_hat
##          [,1]
##    16.1360113
## X1  1.1698379
## X2  0.7744891

Berdasarkan hasil perhitungan didapat koefisien regresi dengan nilai intercept (\(\hat{\beta_0}\)) sebesar 16.1360113, koefisien \(X_1\) (\(\hat{\beta_1}\)) sebesar 1.1698379, dan koefisien \(X_2\) (\(\hat{\beta_2}\)) sebesar 0.7744891. Dengan demikian, model regresi yang terbentuk adalah:

\[Y = 16.1360113 + 1.1698379 X_1 + 0.7744891 X_2 + \epsilon\] Dengan persamaan regresi: \[\hat{Y} = 16.1360113 + 1.1698379 X_1 + 0.7744891 X_2\] Nilai \(\beta_1\) = 1.1698379 menunjukkan bahwa setiap kenaikan 1 jam belajar per minggu akan meningkatkan nilai ujian mahasiswa sekitar 1.1698379 poin, dengan asumsi tingkat kehadiran tetap.

Nilai \(\beta_2\) = 0.7744891 menunjukkan bahwa setiap kenaikan 1% tingkat kehadiran akan meningkatkan nilai ujian mahasiswa sekitar 0.7744891 poin, dengan asumsi jumlah jam belajar tetap.

Sementara itu, nilai intercept sebesar 16.1360113 menunjukkan nilai prediksi ujian mahasiswa ketika jumlah jam belajar 0 jam/minggu dan tingkat kehadiran 0%.

Uji Simultan dan Parsial

Dalam analisis regresi linier berganda, pengujian simultan dan parsial dilakukan untuk mengetahui signifikansi pengaruh variabel independen terhadap variabel dependen. Uji simultan (uji F) digunakan untuk mengetahui apakah seluruh variabel independen yang dimasukkan dalam model secara bersama-sama memiliki pengaruh yang signifikan terhadap variabel dependen. Sementara itu, uji parsial (uji t) dilakukan untuk mengetahui pengaruh masing-masing variabel independen terhadap variabel dependen. Adapun hipotesis untuk masing-masing uji tersebut adalah sebagai berikut:

Hipotesis uji simultan (Uji F):
\(H_0 : \beta_1 = \beta_2 = 0\) (variabel independen \(X_1\) dan \(X_2\) secara simultan tidak berpengaruh terhadap variabel dependen \(Y\))
\(H_1\) : minimal ada satu \(\beta_k \neq 0\) (minimal ada satu variabel independen yang memengaruhi variabel dependen \(Y\))

Hipotesis uji parsial (uji t):
\(H_0 : \beta_k = 0\) (variabel independen \(X_j\) tidak memiliki pengaruh terhadap variabel dependen \(Y\))
\(H_1 : \beta_k \neq 0\) (variabel independen \(X_k\) memiliki pengaruh terhadap variabel dependen \(Y\))

Berikut merupakan penyelesaian manual yang dilakukan di R:

# Menghitung Nilai Prediksi dan Residual
Y_hat <- X %*% beta_hat
residual <- Y - Y_hat

# Menghitung Sum of Square
Y_bar <- mean(Y)
SST <- sum((Y - Y_bar)^2)
SSR <- sum((Y_hat - Y_bar)^2)
SSE <- SST - SSR
SSE <- sum((Y - Y_hat)^2)

# Menghitung Deajat Kebebasan
dfr <- ncol(X) - 1
dfe <- n - ncol(X)
dft <- n - 1

# Menghitung Mean Square
MSR <- SSR / dfr
MSE <- SSE / dfe

# Menghitung F value dan p-value
F_value <- MSR / MSE
p_value_F <- pf(F_value, dfr, dfe, lower.tail = FALSE)

F_value
## [1] 5172.116
p_value_F
## [1] 8.042129e-12
# F Tabel
alpha <- 0.05
F_tabel <- qf(1-alpha, dfr, dfe)
F_tabel
## [1] 4.737414

Berdasarkan hasil pengujian, diperoleh nilai F-statistic sebesar 5172.116 dengan p-value sebesar \(8.042129 \times 10^{-12}\). Nilai F value (F hitung) yang lebih besar dari F tabel = 4.737414 dan nilai p-value yang lebih kecil dari taraf signifikansi 0.05 menunjukkan bahwa \(H_0\) ditolak. Artinya, variabel independen \(X_1\) dan \(X_2\) secara simultan berpengaruh terhadap variabel dependen \(Y\).

# uji t
sigma2 <- SSE / dfe
var_beta <- sigma2 * solve(t(X) %*% X)

# Menghitung t value dan p-value
t_value <- beta_hat / sqrt(diag(var_beta))
t_value
##         [,1]
##     5.688154
## X1  4.201468
## X2 13.900261
p_value_t <- 2 * (1 - pt(abs(t_value), dfe))
p_value_t
##            [,1]
##    7.444177e-04
## X1 4.028204e-03
## X2 2.357834e-06
# t Tabel
alpha <- 0.05
t_tabel <- qt(1-alpha/2, dfe)
t_tabel
## [1] 2.364624

Berdasarkan uji parsial (uji t), variabel \(X_1\) memiliki nilai t sebesar 4.201 dengan p-value sebesar 0.004028. Karena nilai t value lebih besar dari t tabel sebesar 2.364624 dan p-value lebih kecil dari taraf signifikansi 0.05, maka \(H_0\) ditolak. Hal ini menunjukkan bahwa variabel \(X_1\) (jumlah jam belajar) berpengaruh signifikan terhadap variabel \(Y\) (nilai ujian mahasiswa).

Selanjutnya, variabel \(X_2\) memiliki nilai t sebesar 13.900261 dengan p-value sebesar \(2.357834 \times 10^{-6}\). Karena nilai t value yang lebih besar dari t tabel sebesar 2.364624 dan p-value yang sangat kecil (lebih kecil dari 0.05), maka \(H_0\) ditolak. Artinya, variabel \(X_2\) (tingkat kehadiran) juga berpengaruh signifikan terhadap variabel.

Dengan demikian, dapat disimpulkan bahwa kedua variabel independen, yaitu jumlah jam belajar (\(X_1\)) dan tingkat kehadiran (\(X_2\)), secara parsial memberikan pengaruh signifikan terhadap nilai ujian mahasiswa (\(Y\)).

Koefisien Determinasi

Koefisien determinasi (\(R^2\)) merupakan ukuran statistik yang digunakan untuk mengetahui seberapa besar variabel independen dapat menjelaskan variasi variabel dependen dalam suatu model regresi. Nilai koefisien determinasi berkisar antara 0 hingga 1.

Secara matematis, koefisien determinasi dapat dirumuskan sebagai berikut:

\[R^2 = \frac{SSR}{SST}\] di mana:
SSR : Jumlah kuadrat regresi
SST : Jumlah kuadrat total

Nilai \(R^2\) memiliki kelemahan, yaitu akan selalu meningkat atau minimal tetap ketika variabel independen baru ditambahkan, meskipun variabel tersebut tidak memberikan kontribusi signifikan terhadap model. Oleh karena itu, terdapat nilai adjusted \(R^2\) yang merupakan pengembangan dari \(R^2\). Nilai adjusted \(R^2\) dapat meningkat maupun menurun tergantung pada apakah penambahan variabel benar-benar memberikan kontribusi yang berarti atau tidak terhadap model.

Secara matematis, adjusted \(R^2\) dapat dirumuskan sebagai berikut:

\[\text{adj } R^2 = 1 - (1-R^2) \frac{(n-1)}{(n-k-1)}\] di mana:
\(n\) : Jumlah observasi
\(k\) : Jumlah variabel independen

Berikut merupakan penyelesaian manual yang dilakukan di R:

# nilai R^2 
R2 <- SSR / SST
R2
## [1] 0.9993238
# Adjusted R^2
Adj_R2 <- 1-(SSE/(dfe))/(SST/(n-1))
Adj_R2
## [1] 0.9991305

Berdasarkan hasil analisis tersebut, didapat nilai koefisien determinasi sebesar 0.9993238. Nilai ini menunjukkan bahwa sekitar 99.93% variasi dari variabel dependen mampu dijelaskan oleh variabel independen. Sementara 0.07% sisanya dipengaruhi oleh faktor lain di luar model.

Sementara itu, nilai adjusted \(R^2\) sebesar 0.9991305 menunjukkan bahwa setelah disesuaikan dengan jumlah variabel dalam model, variabel independen hanya mampu menejelaskan 99.91% variasi variabel dependen dalam model. Hasil ini menunjukkan bahwa model regresi yang digunakan cukup baik dalam menjelaskan hubungan antar variabel.

Perbandingan Hasil Manual dengan Hasil Fungsi lm()

Fungsi lm() pada R akan secara otomatis mengestimasi parameter model menggunakan metode Ordinary Least Squares (OLS), sehingga tidak diperlukan perhitungan matriks secara manual seperti pada cara sebelumnya. Hasil estimasi yang diperoleh kemudian disajikan dalam bentuk ringkasan model melalui fungsi summary() yang memuat informasi koefisien regresi, uji signifikansi, serta ukuran kecocokan model.

library(lmtest)

# Input data
X1 <- c(2, 3, 4, 5, 6, 5, 3, 7, 6, 8)
X2 <- c(60, 65, 70, 75, 80, 72, 68, 85, 83, 90)
Y <- c(65, 70, 75, 80, 85, 78, 72, 90, 88, 95)

# Membuat model
model <- lm(Y ~ X1 + X2)

# Membuat ringkasan model
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

Berdasarkan hasil analisis dengan fungsi lm() didapat koefisien regresi dengan nilai intercept (\(\hat{\beta_0}\)) sebesar 16.13601, koefisien \(X_1\) (\(\hat{\beta_1}\)) sebesar 1.16984, dan koefisien \(X_2\) (\(\hat{\beta_2}\)) sebesar 0.77449. Dengan demikian, model regresi yang terbentuk adalah:

\[Y = 16.13601 + 1.16984 X_1 + 0.77449 X_2 + \epsilon\]

Dari analisis tersebut juga diperoleh nilai F-statistic sebesar 5172 dengan p-value sebesar \(8.042 \times 10^{-12}\). Nilai p-value yang lebih kecil dari taraf signifikansi 0.05 menunjukkan bahwa \(H_0\) ditolak. Artinya, variabel independen \(X_1\) dan \(X_2\) secara simultan berpengaruh terhadap variabel dependen \(Y\).

Sementara itu, berdasarkan uji parsial (uji t), variabel \(X_1\) memiliki nilai t sebesar 4.201 dengan p-value sebesar 0.004028, sedangkan variabel \(X_2\) memiliki nilai t sebesar 13.900 dengan p-value sebesar \(2.36 \times 10^{-6}\). Karena p-value lebih kecil dari taraf signifikansi 0.05, maka \(H_0\) ditolak. Artinya, variabel independen \(X_1\) maupun variabel independen \(X_2\), secara parsial memberikan pengaruh signifikan terhadap variabel dependen (\(Y\)).

Selain itu, dari hasil analisis juga diperoleh nilai koefisien determinasi sebesar 0.9993 dengan nilai adjusted \(R^2\) sebesar 0.9991. Hal ini menunjukkan bahwa sekitar 99.93% variasi dari variabel dependen mampu dijelaskan oleh variabel independen. Dan setelah disesuaikan dengan jumlah variabel dalam model, variabel independen hanya mampu menejelaskan 99.91% variasi variabel dependen dalam model.

Berdasarkan hasil analisis yang dilakukan, baik menggunakan pendekatan matriks OLS maupun menggunakan fungsi lm() pada R, diperoleh hasil yang identik. Hal ini menunjukkan bahwa perhitungan manual yang telah dilakukan telah sesuai dengan hasil yang dihasilkan oleh perangkat lunak.

Memprediksi Nilai Ujian Mahasiswa

Berdasarkan model regresi linier berganda yang telah diperoleh, dilakukan prediksi nilai ujian mahasiswa dengan jumlah jam belajar 1 jam per minggu dan tingkat kehadiran 100%. Prediksi nilai ujian mahasiswa dapat dilakukan dengan mensubstitusikan nilai variabel independen ke dalam persamaan regresi.

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

Berdasarkan hasil prediksi tersebut, didapat bahwa jika seorang mahasiswa memiliki jumlah jam belajar 1 jam/minggu dan tingkat kehadiran sebesar 100%, maka nilai ujian yang diprediksi oleh model adalah sekitar 94.75476. Hal ini menunjukkan bahwa tingkat kehadiran memberikan kontribusi yang sangat besar dalam meningkatkan nilai ujian, sehingga meskipun jumlah jam belajar relatif rendah, mahasiswa tetap dapat memperoleh nilai yang tinggi apabila memiliki kehadiran yang maksimal.