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!

PERTANYAAN

  1. Estimasikan model regresi linier berganda menggunakan metode OLS berbasis matriks dan interpretasikan hasilnya?

  2. Hitung Uji F dan uji t secara manual dan interpretasikan hasilnya?

  3. Hitung nilai R² dan Adjusted R² secara manual dan interpretasikan hasilnya?

  4. Bandingkan hasil no 1 s.d 3 dengan fungsi lm.

  5. Prediksikan nilai ujian mahasiswa jika jumlah jam belajar 1 jam/minggu namun kehadirannya 100%

DATA

# INPUT DATA
data <- data.frame(
  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
##     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

1. Estimasikan model regresi linier berganda menggunakan metode OLS berbasis matriks dan interpretasikan hasilnya?

# NO 1: ESTIMASI OLS BERBASIS MATRIKS
Y <- as.matrix(data$Y)
X <- as.matrix(cbind(1, data$X1, data$X2))   # kolom 1 untuk intersep

# beta_hat = (X'X)^(-1) X'Y
XtX <- t(X) %*% X
XtY <- t(X) %*% Y
beta_hat <- solve(XtX) %*% XtY

XtX
##      [,1] [,2]  [,3]
## [1,]   10   49   748
## [2,]   49  273  3827
## [3,]  748 3827 56772
XtY
##       [,1]
## [1,]   798
## [2,]  4074
## [3,] 60516
beta_hat
##            [,1]
## [1,] 16.1360113
## [2,]  1.1698379
## [3,]  0.7744891
# nilai prediksi dan residual
Y_hat <- X %*% beta_hat
e <- Y - Y_hat

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
e
##              [,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

Interpretasi

Berdasarkan perhitungan OLS berbasis matriks, diperoleh estimasi parameter sebagai berikut:

\[ \hat{\beta}= \begin{bmatrix} 16.1360 \\ 1.1698 \\ 0.7745 \end{bmatrix} \]

Sehingga model regresi linier bergandanya adalah:

\[ \hat{Y} = 16.1360 + 1.1698X_1 + 0.7745X_2 \]

Interpretasi model:

  • Konstanta sebesar 16.1360 menunjukkan nilai ujian saat jam belajar dan kehadiran bernilai 0.

  • Koefisien \(X_1 = 1.1698\) artinya setiap kenaikan 1 jam belajar per minggu, nilai ujian meningkat sebesar 1.1698 poin, dengan asumsi variabel lain konstan.

  • Koefisien \(X_2 = 0.7745\) artinya setiap kenaikan kehadiran 1%, nilai ujian meningkat sebesar 0.7745 poin, dengan asumsi variabel lain konstan.

Secara umum, variabel jam belajar dan tingkat kehadiran berpengaruh positif terhadap nilai ujian mahasiswa.

2. Hitung Uji F dan uji t secara manual dan interpretasikan hasilnya?

# NO 2: UJI F DAN UJI t MANUAL
n <- nrow(X)
k <- ncol(X) - 1   # banyak variabel bebas

# Jumlah kuadrat
SSE <- t(e) %*% e
Y_bar <- mean(Y)
SST <- sum((Y - Y_bar)^2)
SSR <- SST - SSE

SSE
##           [,1]
## [1,] 0.5623679
SSR
##          [,1]
## [1,] 831.0376
SST
## [1] 831.6
# Mean square
MSR <- SSR / k
MSE <- SSE / (n - k - 1)

MSR
##          [,1]
## [1,] 415.5188
MSE
##            [,1]
## [1,] 0.08033827
# Uji F
F_hitung <- MSR / MSE
F_hitung
##          [,1]
## [1,] 5172.116
# Varians residual
sigma2_hat <- as.numeric(MSE)

# Var(beta_hat) = sigma2 * (X'X)^(-1)
var_beta <- sigma2_hat * solve(XtX)
se_beta <- sqrt(diag(var_beta))

var_beta
##            [,1]        [,2]        [,3]
## [1,]  8.0472918  0.76212839 -0.15740223
## [2,]  0.7621284  0.07752633 -0.01526748
## [3,] -0.1574022 -0.01526748  0.00310445
se_beta
## [1] 2.83677490 0.27843551 0.05571759
# Uji t untuk masing-masing koefisien
t_hitung <- as.numeric(beta_hat) / se_beta
t_hitung
## [1]  5.688154  4.201468 13.900261
# p-value uji t
p_value_t <- 2 * (1 - pt(abs(t_hitung), df = n - k - 1))
p_value_t
## [1] 7.444177e-04 4.028204e-03 2.357834e-06
# p-value uji F
p_value_F <- 1 - pf(F_hitung, df1 = k, df2 = n - k - 1)
p_value_F
##              [,1]
## [1,] 8.042123e-12

Interpretasi

Berdasarkan perhitungan manual diperoleh:

  • \(SSE = 0.5624\)
  • \(SSR = 831.0376\)
  • \(SST = 831.6\)
  • \(MSR = 415.5188\)
  • \(MSE = 0.0803\)

Uji F

Nilai uji F diperoleh sebesar:

\[ F_{hitung} = 5172.116 \]

dengan p-value:

\[ p\text{-value} = 8.042123 \times 10^{-12} \]

Karena p-value \(< 0.05\), maka \(H_0\) ditolak. Artinya, secara simultan variabel jam belajar (\(X_1\)) dan tingkat kehadiran (\(X_2\)) berpengaruh signifikan terhadap nilai ujian mahasiswa.

Uji t

Nilai uji t masing-masing koefisien adalah:

  • Intersep: \(t = 5.6882\), p-value = 0.0007444
  • \(X_1\): \(t = 4.2015\), p-value = 0.004028
  • \(X_2\): \(t = 13.9003\), p-value = 0.00000236

Karena seluruh p-value \(< 0.05\), maka masing-masing koefisien signifikan. Artinya: - intersep signifikan, - jam belajar (\(X_1\)) berpengaruh signifikan terhadap nilai ujian, - tingkat kehadiran (\(X_2\)) juga berpengaruh signifikan terhadap nilai ujian.

Secara parsial, variabel \(X_1\) dan \(X_2\) sama-sama memiliki pengaruh nyata terhadap \(Y\).

3. Hitung nilai R² dan Adjusted R² secara manual dan interpretasikan hasilnya?

# NO 3: R^2 DAN ADJUSTED R^2
R2 <- as.numeric(SSR / SST)
Adj_R2 <- 1 - ((SSE / (n - k - 1)) / (SST / (n - 1)))

R2
## [1] 0.9993238
Adj_R2
##           [,1]
## [1,] 0.9991305

Interpretasi

Berdasarkan perhitungan manual, diperoleh:

\[ R^2 = 0.9993238 \]

\[ Adjusted\ R^2 = 0.9991305 \]

Nilai \(R^2\) sebesar 0.9993 berarti bahwa 99.93% variasi nilai ujian mahasiswa dapat dijelaskan oleh variabel jam belajar (\(X_1\)) dan tingkat kehadiran (\(X_2\)) dalam model. Sisanya sebesar 0.07% dijelaskan oleh faktor lain di luar model.

Nilai Adjusted \(R^2\) sebesar 0.9991 menunjukkan bahwa setelah disesuaikan dengan jumlah variabel independen yang digunakan, model tetap memiliki kemampuan yang sangat kuat dalam menjelaskan variasi nilai ujian.

Dengan demikian, model regresi yang dibentuk tergolong sangat baik dalam menjelaskan hubungan antara jam belajar, tingkat kehadiran, dan nilai ujian mahasiswa.

4. Bandingkan hasil no 1 s.d 3 dengan fungsi lm

# NO 4: BANDINGKAN DENGAN lm()
model_lm <- lm(Y ~ X1 + X2, data = data)
summary(model_lm)
## 
## Call:
## lm(formula = Y ~ X1 + X2, data = data)
## 
## 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

Interpretasi

Berdasarkan hasil dari fungsi lm(), diperoleh:

  • Intersep = 16.13601
  • Koefisien \(X_1 = 1.16984\)
  • Koefisien \(X_2 = 0.77449\)
  • \(R^2 = 0.9993\)
  • Adjusted \(R^2 = 0.9991\)
  • F-statistic = 5172 (p-value sangat kecil)

Hasil tersebut sama dengan perhitungan manual pada nomor 1 sampai 3, baik untuk nilai koefisien regresi, uji t, uji F, maupun nilai \(R^2\) dan Adjusted \(R^2\). Perbedaan yang sangat kecil hanya disebabkan oleh pembulatan angka.

Dengan demikian, dapat disimpulkan bahwa perhitungan manual menggunakan metode OLS berbasis matriks sudah benar dan konsisten dengan hasil dari fungsi lm() di R.

5. Prediksikan nilai ujian mahasiswa jika jumlah jam belajar 1 jam/minggu namun kehadirannya 100%?

# NO 5: PREDIKSI
# Jika X1 = 1 jam/minggu dan X2 = 100%
X_baru <- c(1, 1, 100)   # (intersep, X1, X2)
Y_pred <- X_baru %*% beta_hat
Y_pred
##          [,1]
## [1,] 94.75476

Interpretasi

Berdasarkan hasil perhitungan, diperoleh nilai prediksi:

\[ \hat{Y} = 94.75476 \]

Artinya, jika seorang mahasiswa belajar selama 1 jam per minggu dan memiliki tingkat kehadiran 100%, maka nilai ujian yang diprediksi adalah sekitar 94.75.

Hal ini menunjukkan bahwa meskipun jam belajar relatif rendah, tingkat kehadiran yang tinggi tetap memberikan kontribusi besar terhadap peningkatan nilai ujian.