Seorang peneliti ingin menganalisis faktor-faktor yang mempengaruhi nilai ujian mahasiswa (Y). Diduga bahwa nilai ujian dipengaruhi oleh:

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%?

1. Persiapan Data

# Input Data
Y  <- matrix(c(65, 70, 75, 80, 85, 78, 72, 90, 88, 95), ncol = 1)
X1 <- c(2, 3, 4, 5, 6, 5, 3, 7, 6, 8)   # Jumlah jam belajar (jam/minggu)
X2 <- c(60, 65, 70, 75, 80, 72, 68, 85, 83, 90)  # Tingkat kehadiran (%)

# Matriks X dengan kolom intercept
X <- cbind(1, X1, X2)

n <- nrow(X)   # jumlah observasi = 10
k <- 2         # jumlah variabel independen

2. Estimasi Model OLS Berbasis Matriks

Rumus: β̂ = (X’X)^{-1} X’Y

beta_hat <- solve(t(X) %*% X) %*% t(X) %*% Y
rownames(beta_hat) <- c("Intercept (β0)", "X1 - Jam Belajar (β1)", "X2 - Kehadiran (β2)")
print(beta_hat)
##                             [,1]
## Intercept (β0)        16.1360113
## X1 - Jam Belajar (β1)  1.1698379
## X2 - Kehadiran (β2)    0.7744891

Model Regresi:

Y = 16.1360 + 1.1698X1​ + 0.7745X2​

Dengan:

Y = Nilai ujian mahasiswa

X₁ = Jam Belajar

X₂ = Kehadiran

Interpretasi Koefisien

3. Uji F dan uji t

# --- Komponen Sum of Squares 
## prediksi
Y_hat <- X %*% beta_hat

## residual
e <- Y - Y_hat

## rata-rata Y
Y_mean <- mean(Y)

## Total Sum of Squares
SST <- sum((Y - Y_mean)^2)

## Error Sum of Squares
SSE <- sum(e^2)

## Regression Sum of Squares
SSR <- SST - SSE

## Mean Square Regression
MSR <- SSR / k

## Mean Square Error
MSE <- SSE / (n - k - 1)

Uji Simultan (F)

# --- Uji F
F_hitung <- MSR / MSE
F_tabel <- qf(0.95, df1 = k, df2 = n - k - 1)  # α = 0.05

cat("F-hitung:", F_hitung, "\n")
## F-hitung: 5172.116
cat("F-tabel :", F_tabel, "\n")
## F-tabel : 4.737414

Interpretasi

Karena F-hitung (5172.116) > F-tabel (4.737414), maka H₀ ditolak

Artinya Jam Belajar (X1) dan Kehadiran (X2) secara simultan / bersama-sama berpengaruh signifikan terhadap Y

Uji Parsial (t)

# --- Uji T
var_beta <- MSE * solve(t(X) %*% X)
se_beta <- sqrt(diag(var_beta))

t_hitung <- beta_hat / se_beta
t_tabel <- qt(0.975, df = n - k - 1)
p_value <- 2 * pt(-abs(t_hitung), df = n - k - 1)

hasil_t <- data.frame(
  t_hitung = t_hitung,
  t_tabel = t_tabel,
  p_value = p_value
)
print(hasil_t)
##                        t_hitung  t_tabel      p_value
## Intercept (β0)         5.688154 2.364624 7.444177e-04
## X1 - Jam Belajar (β1)  4.201468 2.364624 4.028204e-03
## X2 - Kehadiran (β2)   13.900261 2.364624 2.357834e-06

Interpretasi

  1. Uji signifikansi intercept
  • t-hitung = 5.688154

  • t-tabel = 2.364624

  • p-value = 0.000744

Keputusan:

Karena t-hitung (5.688154) > t-tabel (2.364624) dan p-value (0.000744) < 0.05, maka intercept signifikan

  1. Variabel X1 (Jam Belajar)
  • t-hitung = 4.201468

  • t-tabel = 2.364624

  • p-value = 0.004028

Keputusan:

Karena t-hitung (4.201468) > t-tabel (2.364624) dan p-value (0.004028) < 0.05, maka H₀ ditolak

Artinya Jam Belajar secara parsial berpengaruh signifikan terhadap variabel Y.

Setiap kenaikan 1 jam belajar, maka nilai Y meningkat sebesar 1.1698, dengan asumsi variabel lain tetap.

  1. Variabel X2 (Kehadiran)
  • t-hitung = 13.900261

  • t-tabel = 2.364624

  • p-value = 0.00000236

Keputusan:

Karena t-hitung(13.900261) > t-tabel (2.364624) dan p-value (0.00000236) < 0.05, maka H₀ ditolak

Artinya Kehadiran secara parsial berpengaruh signifikan terhadap variabel Y.

Setiap kenaikan 1 satuan kehadiran, maka nilai Y meningkat sebesar 0.7745, dengan asumsi variabel lain tetap.

4. Koefisien Determinasi (R²) dan Adjusted R²

R2 <- SSR / SST
Adj_R2 <- 1 - ((SSE / (n - k - 1)) / (SST / (n - 1)))

cat("R²:", R2, "\n")
## R²: 0.9993238
cat("Adjusted R²:", Adj_R2, "\n")
## Adjusted R²: 0.9991305

Interpretasi

Nilai R² sebesar 0,9993 dan Adjusted R² sebesar 0,9991 menunjukkan bahwa variabel Jam Belajar (X1) dan Kehadiran (X2) mampu menjelaskan variasi pada variabel Y sebesar 99,91%, sedangkan sisanya sebesar 0,09% dijelaskan oleh variabel lain di luar model

5. Validasi dengan fungsi lm()

model <- lm(Y ~ X1 + X2)
print(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

Interpretasi

Hasil perhitungan manual metode OLS menunjukkan nilai yang sama dengan output fungsi lm() pada R, baik untuk koefisien regresi, uji t, uji F, maupun koefisien determinasi, sehingga perhitungan manual dinyatakan sesuai dengan hasil fungsi lm.

6. Prediksi Nilai Ujian

X1 = 1 jam/minggu, X2 = 100% kehadiran

x_baru <- matrix(c(1, 1, 100), nrow = 1)
y_prediksi <- x_baru %*% beta_hat

cat("Prediksi nilai ujian (X1=1, X2=100):", y_prediksi, "\n")
## Prediksi nilai ujian (X1=1, X2=100): 94.75476

Interpretasi

Berdasarkan hasil prediksi model regresi, jika Jam Belajar (X1) = 1 dan Kehadiran (X2) = 100, maka nilai Y yang diprediksi adalah 94,75