Pada tahap ini, dilakukan analisis menggunakan regresi probit sebagai alternatif dari regresi logistik. Model ini digunakan untuk mengkaji pengaruh jam belajar (X₁), kehadiran (X₂), dan metode belajar (X₃) terhadap peluang kelulusan mahasiswa.
data <- read.csv("D:/Youtube/Regresi/Logistic Regression/logistic1.csv")
head(data)
## X1 X2 X3 Y
## 1 6 85 Online Tidak Lulus
## 2 14 72 Offline Lulus
## 3 10 90 Online Lulus
## 4 8 76 Offline Tidak Lulus
## 5 15 88 Online Lulus
## 6 12 70 Offline Tidak Lulus
# Encoding Data
Y <- ifelse(data$Y=="Lulus",1,0)
X1 <- data$X1
X2 <- data$X2
X3 <- as.factor(ifelse(data$X3 == "Offline", 0,1))
model_probit <- glm(Y ~ X1 + X2 + X3, family = binomial(link = "probit"))
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
summary(model_probit)
##
## Call:
## glm(formula = Y ~ X1 + X2 + X3, family = binomial(link = "probit"))
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -56.1119 24.3016 -2.309 0.0209 *
## X1 1.0906 0.4965 2.197 0.0281 *
## X2 0.5655 0.2435 2.322 0.0202 *
## X31 0.2106 1.3520 0.156 0.8762
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 62.6869 on 49 degrees of freedom
## Residual deviance: 7.2388 on 46 degrees of freedom
## AIC: 15.239
##
## Number of Fisher Scoring iterations: 12
Berdasarkan hasil estimasi, diperoleh persamaan model probit sebagai berikut:
\[ Z = -56.1119 + 1.0906X_1 + 0.5655X_2 + 0.2106X_3 \]
Interpretasi Koefisien: - X₁ (Jam Belajar) memiliki koefisien sebesar 1.0906 dengan nilai signifikansi 0.0281 (mendekati signifikan pada α = 5%).Semakin tinggi jam belajar, semakin besar peluang mahasiswa untuk lulus.
X₂ (Kehadiran) memiliki koefisien sebesar 0.5655 dengan nilai signifikansi 0.0202 (< 0.05). Artinya, Kehadiran memiliki pengaruh positif dan signifikan terhadap peluang kelulusan.
X₃ (Metode Belajar) memiliki koefisien sebesar 0.2106 dengan nilai signifikansi 0.8762 (> 0.05). Artinya, Metode belajar (online/offline) tidak memberikan pengaruh yang berarti terhadap kelulusan mahasiswa.
exp(coef(model_probit))
## (Intercept) X1 X2 X31
## 4.274866e-25 2.976047e+00 1.760319e+00 1.234444e+00
Nilai odds ratio diperoleh sebagai berikut:
X₁ = 2.97 → setiap kenaikan 1 jam belajar meningkatkan peluang lulus sebesar 2.97 kali
X₂ = 1.76 → setiap kenaikan 1% kehadiran meningkatkan peluang lulus sebesar 1.76 kali
X₃ = 1.23 → metode online meningkatkan peluang 1.23 kali, namun tidak signifikan
data$prob <- predict(model_probit, type = "response")
head(data[, c("X1","X2","X3","Y","prob")])
## X1 X2 X3 Y prob
## 1 6 85 Online Tidak Lulus 9.842206e-02
## 2 14 72 Offline Lulus 4.491200e-01
## 3 10 90 Online Lulus 1.000000e+00
## 4 8 76 Offline Tidak Lulus 5.180958e-06
## 5 15 88 Online Lulus 1.000000e+00
## 6 12 70 Offline Tidak Lulus 2.907851e-04
data$pred_class <- ifelse(data$prob > 0.5, 1, 0)
library(caret)
## Loading required package: ggplot2
## Loading required package: lattice
confusionMatrix(as.factor(data$pred_class), as.factor(Y))
## Confusion Matrix and Statistics
##
## Reference
## Prediction 0 1
## 0 15 1
## 1 1 33
##
## Accuracy : 0.96
## 95% CI : (0.8629, 0.9951)
## No Information Rate : 0.68
## P-Value [Acc > NIR] : 1.249e-06
##
## Kappa : 0.9081
##
## Mcnemar's Test P-Value : 1
##
## Sensitivity : 0.9375
## Specificity : 0.9706
## Pos Pred Value : 0.9375
## Neg Pred Value : 0.9706
## Prevalence : 0.3200
## Detection Rate : 0.3000
## Detection Prevalence : 0.3200
## Balanced Accuracy : 0.9540
##
## 'Positive' Class : 0
##
Accuracy = 0.96 (96%) Model mengklasifikasikan 96% data dengan benar (48 dari 50 observasi benar).
Sensitivity = 0.9375 Artinya: Dari seluruh data yang benar-benar kelas 0, model berhasil menangkap 93,75%
Specificity = 0.9706 Dari seluruh data yang kelas 1, model mampu mengenali 97,06% dengan benar
F1 Score (≈ 0.9375) → model seimbang dan stabil
library(DescTools)
##
## Attaching package: 'DescTools'
## The following objects are masked from 'package:caret':
##
## MAE, RMSE
PseudoR2(model_probit, which = "Nagelkerke")
## Nagelkerke
## 0.9377724
Model mampu menjelaskan sekitar 93.8% variasi peluang kelulusan, yang menunjukkan model memiliki kekuatan prediksi yang sangat tinggi.