Seorang peneliti ingin menganalisis faktor-faktor yang mempengaruhi nilai ujian mahasiswa (Y). Diduga bahwa nilai ujian dipengaruhi oleh:
Data dikumpulkan dari 10 mahasiswa.
# 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)
X2 <- c(60, 65, 70, 75, 80, 72, 68, 85, 83, 90)
# Matriks X (dengan intercept)
X <- cbind(1, X1, X2)
# Estimasi beta
beta_hat <- solve(t(X) %*% X) %*% t(X) %*% Y
beta_hat
## [,1]
## 16.1360113
## X1 1.1698379
## X2 0.7744891
Persamaan regresi yang diperoleh:
\[\hat{Y} = 16.1360 + 1.1698 \cdot X_1 + 0.7744 \cdot X_2\]
# Prediksi
Y_hat <- X %*% beta_hat
# Residual
e <- Y - Y_hat
# Rata-rata Y
Y_mean <- mean(Y)
# SST / JKT (Total Sum of Squares)
SST <- sum((Y - Y_mean)^2)
# SSE / JKG (Error Sum of Squares)
SSE <- sum(e^2)
# SSR / JKR (Regression Sum of Squares)
SSR <- SST - SSE
# Parameter
n <- nrow(X) # n = 10
k <- 2 # jumlah variabel independen
# KTR (Mean Square Regression)
KTR <- SSR / k
# KTG (Mean Square Error)
KTG <- SSE / (n - k - 1)
# F hitung
F_hitung <- KTR / KTG
F_hitung
## [1] 5172.116
Interpretasi:
Diperoleh F hitung = 5172.116 dan dari tabel diperoleh F tabel pada taraf signifikansi 5% = F(2;7;0.05)= 4.74
Keputusan:
karena F hit = 5172.116 > F tabel = 4.74, sehingga H0 ditolak. Artinya secara simultan variabel jam belajar (X1) dan tingkat kehadiran (X2) berpengaruh signifikan terhadap nilai ujian mahasiswa.
# Varians
XtX_inv <- solve(t(X) %*% X)
# Standard error
SE <- sqrt(diag(KTG * XtX_inv))
# t hitung
t_hit <- beta_hat / SE
t_hit
## [,1]
## 5.688154
## X1 4.201468
## X2 13.900261
Interpretasi:
Diperoleh nilai t hitung untuk variabel x1 dan x2, dan dari tabel diperoleh t tabel = t(0.025;7) = 2.3646
variabel X1, nilai t hitung = 4.201468 > t tabel = 2.3646, sehingga signifikan. Artinya, jam belajar berpengaruh nyata terhadap nilai ujian secara parsial.
variabel X2, nilai t hitung = 13.900261 > t tabel = 2.3646, sehingga signifikan. Hal ini menunjukkan bahwa tingkat kehadiram berpengaruh nyata terhadap nilai ujian secara parsial.
# Hitung R Square
R2 <- SSR / SST
R2
## [1] 0.9993238
# Hitung Adjusted R Square
Adj_R2 <- 1 - ((SSE / (n - k - 1)) / (SST / (n - 1)))
Adj_R2
## [1] 0.9991305
Interpretasi:
lm# Fungsi lm
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
Interpretasi:
Berdasarkan output fungsi lm(), diperoleh nilai koefisien regresi, R², Adjusted R², serta nilai uji F dan uji t yang sama dengan hasil perhitungan manual, yang berarti perhitungan manual yang dilakukan sudah benar.
# Prediksi untuk X1 = 1 jam/minggu, X2 = 100%
X1_baru <- 1
X2_baru <- 100
X_baru <- matrix(c(1, X1_baru, X2_baru), nrow = 1)
Y_prediksi <- X_baru %*% beta_hat
Y_prediksi
## [,1]
## [1,] 94.75476
Interpretasi:
Mahasiswa yang hanya belajar 1 jam per minggu namun memiliki tingkat kehadiran 100% diprediksi memperoleh nilai ujian sekitar 94.75. hal ini menunjukkan bahwa tingkat kehadiran memiliki pengaruh terhadap nilai ujian.