Penelitian ini bertujuan untuk menganalisis pengaruh jam belajar (X₁) dan kehadiran (X₂) terhadap nilai ujian (Y) menggunakan pendekatan regresi linear berganda.
library(readxl)
data <- read_excel("D:/Youtube/Regresi/Linear Regression/RegresiData1.xlsx")
head(data)
## # A tibble: 6 × 4
## No `Jam Belajar` Kehadiran `Nilai Ujian`
## <dbl> <dbl> <dbl> <dbl>
## 1 1 6 85 78
## 2 2 14 72 80
## 3 3 10 90 85
## 4 4 8 76 74
## 5 5 15 88 90
## 6 6 12 70 77
# Ambil Variabel
Y <- data$`Nilai Ujian`
X1 <- data$`Jam Belajar`
X2 <- data$Kehadiran
model <- lm(Y~X1+X2)
summary(model)
##
## Call:
## lm(formula = Y ~ X1 + X2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.97081 -0.65893 -0.04188 0.54750 2.80429
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 27.40681 1.96337 13.96 <2e-16 ***
## X1 1.24310 0.04073 30.52 <2e-16 ***
## X2 0.50459 0.02363 21.36 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.236 on 47 degrees of freedom
## Multiple R-squared: 0.9702, Adjusted R-squared: 0.9689
## F-statistic: 764.1 on 2 and 47 DF, p-value: < 2.2e-16
Interpretasi
Diperoleh Model sebagai berikut: \[ \hat Y = 27.40681 + 1.24310X_1 +0.50459X_2 \]
Berdasarkan Output Estimasi dari X1 bernilai positif dan memiliki nilai Pr(>|t|) < 0.05 sehingga X1 (Jam Belajar) berpengaruh positif dan signifikan terhadap Y (Nilai Ujian)
Berdasarkan Output Estimasi dari X2 bernilai positif dan memiliki nilai Pr(>|t|) < 0.05 sehingga X2 (Kehadiran) berpengaruh positif dan signifikan terhadap Y (Nilai Ujian)
Model memiliki nilai Adjusted R-Squared : 0.9689 yang berarti model dapat menjelaskan 96.89 % variansi Variabel Nilai Ujian dengan menggunakan variabel Jam Belajar dan Kehadiran.
Model memiliki p-value 2.2e-16 pada bagian F-Statistik yang dimana berada < 0.05 yang berarti variabel X secara bersama sama berpengaruh signifikan terhadap variabel Y
library(nortest)
shapiro.test(model$residuals)
##
## Shapiro-Wilk normality test
##
## data: model$residuals
## W = 0.98407, p-value = 0.7308
Diperoleh nilai p-value sebesar 0.7308 > 0.05 yang berarti residual berdistribusi normal
library(car)
## Loading required package: carData
vif(model)
## X1 X2
## 1.009468 1.009468
Diperoleh nilai VIF sebesar 1.0094 yang dimana lebih kecil daripada 10 berarti tidak ada masalah multikolinearitas
library(lmtest)
## Loading required package: zoo
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
dwtest(model)
##
## Durbin-Watson test
##
## data: model
## DW = 1.9748, p-value = 0.5321
## alternative hypothesis: true autocorrelation is greater than 0
Diperoleh nilai p-value 0.5321 > 0.05 sehingga tidak terjadi masalah autokorelasi.
bptest(model)
##
## studentized Breusch-Pagan test
##
## data: model
## BP = 0.79773, df = 2, p-value = 0.6711
Diperoleh nilai p-value 0.6711 > 0.05 sehingga tidak terjadi masalah heterokedastisitas.
res <- model$residuals
# MSE
MSE <- mean(res^2)
# RMSE
RMSE <- sqrt(MSE)
MSE
## [1] 1.435649
RMSE
## [1] 1.198186
MSE sebesar 1,435649 berarti rata-rata kuadrat selisih antara nilai aktual dan prediksi adalah sekitar 1,44
RMSE sebesar 1,198186 Artinya Secara rata-rata, prediksi model meleset sekitar ±1,20 satuan dari nilai sebenarnya.