Nama Anggota Kelompok: - Erma Shafira Zulfianti (23031554012) - Alin Tifana Safitri (23031554019) - Jesika Trisyanda (23031554228)
Kelas : Analisis Multivariat 2023E UNIVERSITAS NEGERI SURABAYA
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.4.3
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ forcats 1.0.0 ✔ readr 2.1.5
## ✔ ggplot2 3.5.1 ✔ stringr 1.5.1
## ✔ lubridate 1.9.4 ✔ tibble 3.2.1
## ✔ purrr 1.0.4 ✔ tidyr 1.3.1
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(nnet)
## Warning: package 'nnet' was built under R version 4.4.3
library(broom)
## Warning: package 'broom' was built under R version 4.4.3
library(kableExtra)
## Warning: package 'kableExtra' was built under R version 4.4.3
##
## Attaching package: 'kableExtra'
##
## The following object is masked from 'package:dplyr':
##
## group_rows
library(marginaleffects)
## Warning: package 'marginaleffects' was built under R version 4.4.3
Dataset ini merupakan data siswa yang bertujuan untuk menganalisis pengaruh berbagai faktor sosial dan akademik terhadap hasil akhir ujian, yang ditunjukkan oleh variabel G3. Dataset ini mencakup informasi identitas dan demografi siswa seperti sekolah asal, jenis kelamin, usia, tempat tinggal, ukuran keluarga, dan status orang tua. Selain itu, terdapat data latar belakang orang tua yang mencakup tingkat pendidikan dan jenis pekerjaan ibu serta ayah, termasuk siapa yang menjadi wali siswa. Faktor akademik juga dicatat, seperti alasan memilih sekolah, waktu tempuh ke sekolah, waktu belajar mingguan, dan jumlah kegagalan akademik sebelumnya. Data ini juga merekam dukungan sosial dan aktivitas siswa, seperti dukungan tambahan dari sekolah dan keluarga, keterlibatan dalam les tambahan dan kegiatan ekstrakurikuler, riwayat mengikuti taman kanak-kanak, keinginan melanjutkan ke pendidikan tinggi, akses internet di rumah, dan status hubungan romantis. Selanjutnya, terdapat data terkait kehidupan sosial dan keseharian siswa, seperti kualitas hubungan keluarga, waktu luang, frekuensi keluar bersama teman, konsumsi alkohol pada hari kerja dan akhir pekan, kondisi kesehatan, serta jumlah ketidakhadiran. Terakhir, nilai akademik siswa dicatat dalam tiga tahap, yaitu G1 (nilai awal), G2 (nilai pertengahan), dan G3 (nilai akhir).
data <- read.csv("C:/Users/FIRA/Downloads/student-mat.csv", sep = ";")
data
data berisikan 395 baris dan 33 kolom
data <- data %>%
mutate(
grade_cat = cut(G3,
breaks = c(-1, 9, 14, 20),
labels = c("low", "medium", "high"),
ordered_result = FALSE),
sex = factor(sex, labels = c("Female", "Male")),
school = factor(school, labels = c("GP", "MS")),
address = factor(address, labels = c("Urban", "Rural"))
)
Data yang telah diproses menunjukkan bahwa variabel G3 (nilai akhir siswa) telah dikategorikan menjadi tiga kelas: rendah, sedang, dan tinggi, melalui fungsi cut(). Lalu, variabel sex, school, dan address telah diubah menjadi faktor dengan label yang lebih deskriptif, sehingga memudahkan interpretasi dan memudahkan mengidentifikasi pengaruh faktor sosial dan akademik terhadap performa akhir siswa. Langkah selanjutnya dapat berupa eksplorasi distribusi kategori grade_cat dan pembangunan model prediktif untuk mengetahui variabel mana yang paling berpengaruh terhadap pencapaian nilai tinggi atau rendah.
# ----- Model Dasar: hanya sex -----
fit_basic <- multinom(grade_cat ~ sex, data = data)
## # weights: 9 (4 variable)
## initial value 433.951854
## final value 404.434907
## converged
summary(fit_basic)
## Call:
## multinom(formula = grade_cat ~ sex, data = data)
##
## Coefficients:
## (Intercept) sexMale
## medium 0.2976329 0.2058909
## high -0.8517545 0.5579921
##
## Std. Errors:
## (Intercept) sexMale
## medium 0.1524281 0.2289217
## high 0.2111478 0.2952210
##
## Residual Deviance: 808.8698
## AIC: 816.8698
# Tampilkan hasil model dasar
tidy(fit_basic, conf.int = TRUE) %>%
kable() %>%
kable_styling("basic", full_width = FALSE)
| y.level | term | estimate | std.error | statistic | p.value | conf.low | conf.high |
|---|---|---|---|---|---|---|---|
| medium | (Intercept) | 0.2976329 | 0.1524281 | 1.9526122 | 0.0508656 | -0.0011206 | 0.5963864 |
| medium | sexMale | 0.2058909 | 0.2289217 | 0.8993945 | 0.3684426 | -0.2427873 | 0.6545691 |
| high | (Intercept) | -0.8517545 | 0.2111478 | -4.0339251 | 0.0000549 | -1.2655966 | -0.4379123 |
| high | sexMale | 0.5579921 | 0.2952210 | 1.8900829 | 0.0587469 | -0.0206304 | 1.1366146 |
Pemodelan dasar (fit_basic <- multinom(grade_cat ~ sex, data = data)) dilakukan untuk menguji apakah jenis kelamin secara signifikan memengaruhi kategori hasil akhir ujian siswa (grade_cat).
Hasil model dasar menunjukkan bahwa jenis kelamin (sex) belum memberikan pengaruh yang signifikan secara statistik terhadap kategori nilai akhir (grade_cat) siswa, baik untuk kategori medium maupun high, jika dibandingkan dengan kategori referensi yaitu low. Pada kategori medium, koefisien untuk sexMale adalah 0.206 dengan p-value sebesar 0.368, yang berarti tidak signifikan (p > 0.05), sehingga tidak ada cukup bukti bahwa laki-laki memiliki peluang yang berbeda secara signifikan untuk masuk kategori nilai sedang dibanding perempuan. Untuk kategori high, koefisien sexMale lebih besar yaitu 0.558, namun juga belum signifikan secara statistik (p = 0.058), meskipun mendekati ambang 0.05, dan interval kepercayaannya masih mencakup nol. Artinya, meskipun terdapat kecenderungan bahwa siswa laki-laki sedikit lebih mungkin berada di kategori nilai tinggi, hasil ini belum dapat dianggap cukup kuat secara statistik. Oleh karena itu, variabel sex saja belum cukup menjelaskan variasi nilai akhir siswa.
# ----- Model Lengkap: beberapa variabel penting -----
fit_full <- multinom(grade_cat ~ sex + studytime + failures + absences + address, data = data)
## # weights: 21 (12 variable)
## initial value 433.951854
## iter 10 value 376.448632
## iter 20 value 372.264835
## final value 372.264825
## converged
summary(fit_full)
## Call:
## multinom(formula = grade_cat ~ sex + studytime + failures + absences +
## address, data = data)
##
## Coefficients:
## (Intercept) sexMale studytime failures absences addressRural
## medium 0.4396466 0.3478136 0.07786327 -0.8209176 -0.008813713 0.02806855
## high -1.3516476 0.8386809 0.27418237 -1.9500030 -0.058405962 0.62913716
##
## Std. Errors:
## (Intercept) sexMale studytime failures absences addressRural
## medium 0.4808593 0.2580890 0.1576918 0.1716351 0.01359347 0.2794660
## high 0.6505652 0.3320303 0.1943642 0.5693077 0.02943281 0.4194795
##
## Residual Deviance: 744.5296
## AIC: 768.5296
tidy(fit_full, conf.int = TRUE, exponentiate = TRUE) %>%
kable() %>%
kable_styling("basic", full_width = FALSE)
| y.level | term | estimate | std.error | statistic | p.value | conf.low | conf.high |
|---|---|---|---|---|---|---|---|
| medium | (Intercept) | 1.5521587 | 0.4808593 | 0.9142937 | 0.3605625 | 0.6048225 | 3.9833117 |
| medium | sexMale | 1.4159682 | 0.2580890 | 1.3476497 | 0.1777711 | 0.8538228 | 2.3482226 |
| medium | studytime | 1.0809748 | 0.1576918 | 0.4937687 | 0.6214695 | 0.7935752 | 1.4724585 |
| medium | failures | 0.4400277 | 0.1716351 | -4.7829244 | 0.0000017 | 0.3143287 | 0.6159934 |
| medium | absences | 0.9912250 | 0.0135935 | -0.6483782 | 0.5167403 | 0.9651648 | 1.0179889 |
| medium | addressRural | 1.0284662 | 0.2794660 | 0.1004364 | 0.9199979 | 0.5947139 | 1.7785739 |
| high | (Intercept) | 0.2588135 | 0.6505652 | -2.0776511 | 0.0377415 | 0.0723144 | 0.9262944 |
| high | sexMale | 2.3133135 | 0.3320303 | 2.5259167 | 0.0115397 | 1.2067291 | 4.4346484 |
| high | studytime | 1.3154547 | 0.1943642 | 1.4106627 | 0.1583441 | 0.8987373 | 1.9253914 |
| high | failures | 0.1422736 | 0.5693077 | -3.4252178 | 0.0006143 | 0.0466153 | 0.4342303 |
| high | absences | 0.9432669 | 0.0294328 | -1.9843829 | 0.0472132 | 0.8903922 | 0.9992815 |
| high | addressRural | 1.8759912 | 0.4194795 | 1.4998044 | 0.1336651 | 0.8244593 | 4.2686679 |
Pada tahap ini, dilakukan pemodelan regresi logistik multinomial dengan melibatkan beberapa variabel prediktor penting secara simultan, yaitu sex, studytime, failures, absences, dan address. Tujuan dari tahap ini adalah untuk mengidentifikasi pengaruh gabungan dari faktor sosial dan akademik terhadap kategori nilai akhir siswa (grade_cat), serta untuk membandingkan kontribusi relatif masing-masing variabel dalam memprediksi kategori medium dan high terhadap referensi low.
Berdasarkan hasil estimasi, ditemukan bahwa variabel failures memiliki pengaruh yang signifikan secara statistik untuk kedua kategori. Pada kategori medium, koefisien sebesar 0.44 dengan p-value < 0.001 menunjukkan bahwa semakin sedikit kegagalan sebelumnya, semakin besar kemungkinan siswa berada di kategori nilai sedang dibanding rendah. Efek yang sama juga terlihat pada kategori high, dengan p-value yang juga sangat signifikan (p < 0.001), menunjukkan bahwa kegagalan akademik sebelumnya merupakan prediktor kuat terhadap pencapaian nilai akhir siswa.
Variabel sex mulai menunjukkan pengaruh yang signifikan dalam kategori high, dimana siswa laki-laki memiliki kemungkinan lebih besar (estimate = 2.31, p-value = 0.011) untuk mencapai nilai tinggi dibanding perempuan, setelah mengendalikan variabel lain. Demikian juga, meskipun studytime memiliki koefisien positif untuk kategori high (1.31), namun efeknya belum signifikan (p-value = 0.158), menunjukkan bahwa waktu belajar saja belum cukup kuat secara statistik memengaruhi kemungkinan mendapatkan nilai tinggi.
Sementara itu, variabel absences dan address tidak menunjukkan pengaruh yang signifikan secara statistik pada kategori medium, yang ditunjukkan oleh p-value yang tinggi (> 0.5 dan > 0.9), sehingga kontribusinya dalam memprediksi nilai akhir relatif lemah dalam model ini. Secara keseluruhan, model lengkap ini memberikan wawasan bahwa jumlah kegagalan akademik dan jenis kelamin merupakan faktor yang paling menonjol dalam memengaruhi pencapaian nilai akhir siswa, khususnya untuk kategori nilai tinggi. ## 6. Pembangunan Model Multinomial Regresi
# ----- Model Semua Variabel (kecuali G1, G2, G3) -----
fit_all <- multinom(grade_cat ~ . -G1 -G2 -G3, data = data)
## # weights: 123 (80 variable)
## initial value 433.951854
## iter 10 value 355.253321
## iter 20 value 323.473224
## iter 30 value 317.883778
## iter 40 value 316.495040
## iter 50 value 316.236018
## iter 60 value 316.192671
## iter 70 value 316.184498
## iter 80 value 316.169450
## iter 90 value 316.165421
## final value 316.165362
## converged
summary(fit_all)
## Call:
## multinom(formula = grade_cat ~ . - G1 - G2 - G3, data = data)
##
## Coefficients:
## (Intercept) schoolMS sexMale age addressRural famsizeLE3
## medium 4.250341 0.20687461 0.3831260 -0.2256608 0.18350266 0.1044318
## high -7.966052 0.08383013 0.8069778 -0.3229996 0.08232915 0.3951375
## PstatusT Medu Fedu Mjobhealth Mjobother Mjobservices
## medium -0.4320572 -0.01387367 0.1369224 0.3667815 -0.3272060 0.2650724
## high -0.6412588 0.58777167 -0.1476036 0.3217906 -0.9839037 0.6020084
## Mjobteacher Fjobhealth Fjobother Fjobservices Fjobteacher reasonhome
## medium -0.7200211 -0.19483623 0.3226179 -0.06545285 0.3642355 0.3312605
## high -1.6455504 0.05759843 -0.4309942 -0.48388098 1.5533422 0.5042913
## reasonother reasonreputation guardianmother guardianother traveltime
## medium 0.5443544 0.5089922 -0.17070500 -0.07417966 0.05028853
## high 0.7039700 0.4467939 0.08940544 0.79672415 -0.06864523
## studytime failures schoolsupyes famsupyes paidyes activitiesyes
## medium 0.1909712 -0.7793304 -0.6034382 -0.5480585 0.3179948 -0.130353
## high 0.3801102 -1.7710455 -2.8966950 -0.9052016 -0.2116700 -0.420582
## nurseryyes higheryes internetyes romanticyes famrel freetime
## medium -0.3860142 0.4625662 0.1693571 -0.2087969 0.1725594 0.1044448
## high -0.3746112 13.8133965 1.4313507 -0.6505342 0.1224774 0.2261176
## goout Dalc Walc health absences
## medium -0.5008719 -0.03093519 0.2542125 -0.1117957 -0.009072048
## high -0.5963279 -0.65423797 0.2506209 -0.1978788 -0.075728042
##
## Std. Errors:
## (Intercept) schoolMS sexMale age addressRural famsizeLE3
## medium 2.760858 0.4735802 0.3231423 0.1384497 0.3460654 0.3068633
## high 1.893333 0.7282558 0.4389219 0.1936324 0.5508723 0.4219170
## PstatusT Medu Fedu Mjobhealth Mjobother Mjobservices
## medium 0.4590199 0.2023125 0.1732549 0.7195521 0.4151042 0.4744694
## high 0.6461540 0.2952639 0.2410363 1.0017409 0.7266589 0.7439737
## Mjobteacher Fjobhealth Fjobother Fjobservices Fjobteacher reasonhome
## medium 0.6232093 0.8605433 0.6088245 0.6277663 0.8362844 0.3376421
## high 0.9410552 1.2146066 0.8787987 0.8899111 1.0840516 0.4950016
## reasonother reasonreputation guardianmother guardianother traveltime
## medium 0.5120118 0.3562544 0.3444914 0.6161985 0.1997060
## high 0.7411039 0.5123340 0.4906010 0.9799304 0.3275639
## studytime failures schoolsupyes famsupyes paidyes activitiesyes
## medium 0.1835493 0.2082609 0.3842060 0.3011925 0.2997969 0.2764869
## high 0.2519264 0.6014317 0.8805127 0.4316540 0.4167115 0.3989094
## nurseryyes higheryes internetyes romanticyes famrel freetime
## medium 0.3460577 0.626390 0.3591587 0.2862979 0.1538298 0.1466419
## high 0.5020241 1.893381 0.6706503 0.4268852 0.2188094 0.2166055
## goout Dalc Walc health absences
## medium 0.1461035 0.2022896 0.1556648 0.1011735 0.01616592
## high 0.2111375 0.3779105 0.2294001 0.1427126 0.03843847
##
## Residual Deviance: 632.3307
## AIC: 792.3307
tidy(fit_all, conf.int = TRUE, exponentiate = TRUE) %>%
kable() %>%
kable_styling("basic", full_width = FALSE)
| y.level | term | estimate | std.error | statistic | p.value | conf.low | conf.high |
|---|---|---|---|---|---|---|---|
| medium | (Intercept) | 7.012932e+01 | 2.7608584 | 1.5394998 | 0.1236823 | 3.132223e-01 | 1.570169e+04 |
| medium | schoolMS | 1.229828e+00 | 0.4735802 | 0.4368312 | 0.6622338 | 4.861075e-01 | 3.111406e+00 |
| medium | sexMale | 1.466863e+00 | 0.3231423 | 1.1856263 | 0.2357699 | 7.786285e-01 | 2.763432e+00 |
| medium | age | 7.979888e-01 | 0.1384497 | -1.6299110 | 0.1031203 | 6.083425e-01 | 1.046756e+00 |
| medium | addressRural | 1.201418e+00 | 0.3460654 | 0.5302543 | 0.5959356 | 6.097093e-01 | 2.367367e+00 |
| medium | famsizeLE3 | 1.110080e+00 | 0.3068633 | 0.3403204 | 0.7336153 | 6.083474e-01 | 2.025614e+00 |
| medium | PstatusT | 6.491722e-01 | 0.4590199 | -0.9412604 | 0.3465714 | 2.640228e-01 | 1.596167e+00 |
| medium | Medu | 9.862221e-01 | 0.2023125 | -0.0685754 | 0.9453276 | 6.633855e-01 | 1.466167e+00 |
| medium | Fedu | 1.146739e+00 | 0.1732549 | 0.7902946 | 0.4293558 | 8.165632e-01 | 1.610421e+00 |
| medium | Mjobhealth | 1.443083e+00 | 0.7195521 | 0.5097359 | 0.6102365 | 3.522146e-01 | 5.912553e+00 |
| medium | Mjobother | 7.209352e-01 | 0.4151042 | -0.7882504 | 0.4305503 | 3.195648e-01 | 1.626423e+00 |
| medium | Mjobservices | 1.303525e+00 | 0.4744694 | 0.5586712 | 0.5763861 | 5.143401e-01 | 3.303608e+00 |
| medium | Mjobteacher | 4.867420e-01 | 0.6232093 | -1.1553440 | 0.2479496 | 1.434902e-01 | 1.651108e+00 |
| medium | Fjobhealth | 8.229694e-01 | 0.8605433 | -0.2264107 | 0.8208820 | 1.523660e-01 | 4.445079e+00 |
| medium | Fjobother | 1.380738e+00 | 0.6088245 | 0.5299030 | 0.5961792 | 4.186768e-01 | 4.553481e+00 |
| medium | Fjobservices | 9.366432e-01 | 0.6277663 | -0.1042631 | 0.9169606 | 2.736645e-01 | 3.205751e+00 |
| medium | Fjobteacher | 1.439413e+00 | 0.8362844 | 0.4355402 | 0.6631703 | 2.794724e-01 | 7.413649e+00 |
| medium | reasonhome | 1.392723e+00 | 0.3376421 | 0.9810994 | 0.3265437 | 7.185601e-01 | 2.699393e+00 |
| medium | reasonother | 1.723495e+00 | 0.5120118 | 1.0631677 | 0.2877059 | 6.318076e-01 | 4.701488e+00 |
| medium | reasonreputation | 1.663614e+00 | 0.3562544 | 1.4287326 | 0.1530811 | 8.275767e-01 | 3.344235e+00 |
| medium | guardianmother | 8.430702e-01 | 0.3444914 | -0.4955276 | 0.6202278 | 4.291727e-01 | 1.656134e+00 |
| medium | guardianother | 9.285049e-01 | 0.6161985 | -0.1203827 | 0.9041800 | 2.775077e-01 | 3.106657e+00 |
| medium | traveltime | 1.051575e+00 | 0.1997060 | 0.2518129 | 0.8011857 | 7.109679e-01 | 1.555357e+00 |
| medium | studytime | 1.210425e+00 | 0.1835493 | 1.0404358 | 0.2981375 | 8.446958e-01 | 1.734503e+00 |
| medium | failures | 4.587131e-01 | 0.2082609 | -3.7420877 | 0.0001825 | 3.049785e-01 | 6.899428e-01 |
| medium | schoolsupyes | 5.469279e-01 | 0.3842060 | -1.5706109 | 0.1162731 | 2.575688e-01 | 1.161360e+00 |
| medium | famsupyes | 5.780711e-01 | 0.3011925 | -1.8196284 | 0.0688156 | 3.203360e-01 | 1.043174e+00 |
| medium | paidyes | 1.374369e+00 | 0.2997969 | 1.0607009 | 0.2888259 | 7.636878e-01 | 2.473381e+00 |
| medium | activitiesyes | 8.777855e-01 | 0.2764869 | -0.4714618 | 0.6373110 | 5.105548e-01 | 1.509157e+00 |
| medium | nurseryyes | 6.797609e-01 | 0.3460577 | -1.1154619 | 0.2646525 | 3.449780e-01 | 1.339433e+00 |
| medium | higheryes | 1.588144e+00 | 0.6263900 | 0.7384636 | 0.4602328 | 4.652708e-01 | 5.420933e+00 |
| medium | internetyes | 1.184543e+00 | 0.3591587 | 0.4715383 | 0.6372564 | 5.859148e-01 | 2.394789e+00 |
| medium | romanticyes | 8.115600e-01 | 0.2862979 | -0.7292996 | 0.4658184 | 4.630452e-01 | 1.422387e+00 |
| medium | famrel | 1.188342e+00 | 0.1538298 | 1.1217554 | 0.2619664 | 8.790254e-01 | 1.606504e+00 |
| medium | freetime | 1.110094e+00 | 0.1466419 | 0.7122440 | 0.4763137 | 8.327948e-01 | 1.479727e+00 |
| medium | goout | 6.060021e-01 | 0.1461035 | -3.4281979 | 0.0006076 | 4.551039e-01 | 8.069334e-01 |
| medium | Dalc | 9.695384e-01 | 0.2022896 | -0.1529252 | 0.8784572 | 6.521924e-01 | 1.441300e+00 |
| medium | Walc | 1.289446e+00 | 0.1556648 | 1.6330759 | 0.1024530 | 9.503880e-01 | 1.749465e+00 |
| medium | health | 8.942270e-01 | 0.1011735 | -1.1049899 | 0.2691640 | 7.333795e-01 | 1.090352e+00 |
| medium | absences | 9.909690e-01 | 0.0161659 | -0.5611836 | 0.5746724 | 9.600627e-01 | 1.022870e+00 |
| high | (Intercept) | 3.470000e-04 | 1.8933332 | -4.2074222 | 0.0000258 | 8.500000e-06 | 1.419040e-02 |
| high | schoolMS | 1.087444e+00 | 0.7282558 | 0.1151108 | 0.9083573 | 2.609243e-01 | 4.532099e+00 |
| high | sexMale | 2.241125e+00 | 0.4389219 | 1.8385454 | 0.0659821 | 9.481019e-01 | 5.297573e+00 |
| high | age | 7.239741e-01 | 0.1936324 | -1.6681071 | 0.0952945 | 4.953394e-01 | 1.058140e+00 |
| high | addressRural | 1.085813e+00 | 0.5508723 | 0.1494523 | 0.8811967 | 3.688517e-01 | 3.196380e+00 |
| high | famsizeLE3 | 1.484588e+00 | 0.4219170 | 0.9365291 | 0.3490008 | 6.493363e-01 | 3.394239e+00 |
| high | PstatusT | 5.266291e-01 | 0.6461540 | -0.9924242 | 0.3209907 | 1.484217e-01 | 1.868582e+00 |
| high | Medu | 1.799973e+00 | 0.2952639 | 1.9906654 | 0.0465177 | 1.009106e+00 | 3.210666e+00 |
| high | Fedu | 8.627731e-01 | 0.2410363 | -0.6123708 | 0.5402924 | 5.379305e-01 | 1.383780e+00 |
| high | Mjobhealth | 1.379596e+00 | 1.0017409 | 0.3212313 | 0.7480351 | 1.936727e-01 | 9.827324e+00 |
| high | Mjobother | 3.738489e-01 | 0.7266589 | -1.3540103 | 0.1757331 | 8.998350e-02 | 1.553207e+00 |
| high | Mjobservices | 1.825782e+00 | 0.7439737 | 0.8091797 | 0.4184118 | 4.247930e-01 | 7.847303e+00 |
| high | Mjobteacher | 1.929064e-01 | 0.9410552 | -1.7486227 | 0.0803563 | 3.050130e-02 | 1.220040e+00 |
| high | Fjobhealth | 1.059289e+00 | 1.2146066 | 0.0474215 | 0.9621773 | 9.798050e-02 | 1.145222e+01 |
| high | Fjobother | 6.498627e-01 | 0.8787987 | -0.4904356 | 0.6238257 | 1.160879e-01 | 3.637947e+00 |
| high | Fjobservices | 6.163866e-01 | 0.8899111 | -0.5437408 | 0.5866198 | 1.077357e-01 | 3.526524e+00 |
| high | Fjobteacher | 4.727243e+00 | 1.0840516 | 1.4329043 | 0.1518852 | 5.647569e-01 | 3.956894e+01 |
| high | reasonhome | 1.655812e+00 | 0.4950016 | 1.0187671 | 0.3083136 | 6.275738e-01 | 4.368749e+00 |
| high | reasonother | 2.021763e+00 | 0.7411039 | 0.9498938 | 0.3421662 | 4.730440e-01 | 8.640901e+00 |
| high | reasonreputation | 1.563292e+00 | 0.5123340 | 0.8720754 | 0.3831672 | 5.727177e-01 | 4.267167e+00 |
| high | guardianmother | 1.093524e+00 | 0.4906010 | 0.1822366 | 0.8553971 | 4.180497e-01 | 2.860412e+00 |
| high | guardianother | 2.218262e+00 | 0.9799304 | 0.8130416 | 0.4161942 | 3.250084e-01 | 1.514018e+01 |
| high | traveltime | 9.336579e-01 | 0.3275639 | -0.2095629 | 0.8340089 | 4.913204e-01 | 1.774233e+00 |
| high | studytime | 1.462446e+00 | 0.2519264 | 1.5088148 | 0.1313461 | 8.925646e-01 | 2.396183e+00 |
| high | failures | 1.701550e-01 | 0.6014317 | -2.9447159 | 0.0032325 | 5.234860e-02 | 5.530754e-01 |
| high | schoolsupyes | 5.520540e-02 | 0.8805127 | -3.2897821 | 0.0010027 | 9.828500e-03 | 3.100810e-01 |
| high | famsupyes | 4.044603e-01 | 0.4316540 | -2.0970539 | 0.0359888 | 1.735607e-01 | 9.425414e-01 |
| high | paidyes | 8.092317e-01 | 0.4167115 | -0.5079534 | 0.6114860 | 3.575752e-01 | 1.831379e+00 |
| high | activitiesyes | 6.566645e-01 | 0.3989094 | -1.0543298 | 0.2917320 | 3.004632e-01 | 1.435145e+00 |
| high | nurseryyes | 6.875566e-01 | 0.5020241 | -0.7462016 | 0.4555456 | 2.570305e-01 | 1.839213e+00 |
| high | higheryes | 9.978882e+05 | 1.8933810 | 7.2956243 | 0.0000000 | 2.440243e+04 | 4.080663e+07 |
| high | internetyes | 4.184347e+00 | 0.6706503 | 2.1342728 | 0.0328205 | 1.124007e+00 | 1.557709e+01 |
| high | romanticyes | 5.217670e-01 | 0.4268852 | -1.5239089 | 0.1275315 | 2.260014e-01 | 1.204597e+00 |
| high | famrel | 1.130294e+00 | 0.2188094 | 0.5597448 | 0.5756535 | 7.361060e-01 | 1.735570e+00 |
| high | freetime | 1.253723e+00 | 0.2166055 | 1.0439141 | 0.2965251 | 8.200242e-01 | 1.916799e+00 |
| high | goout | 5.508306e-01 | 0.2111375 | -2.8243581 | 0.0047375 | 3.641644e-01 | 8.331796e-01 |
| high | Dalc | 5.198380e-01 | 0.3779105 | -1.7311984 | 0.0834164 | 2.478507e-01 | 1.090300e+00 |
| high | Walc | 1.284823e+00 | 0.2294001 | 1.0925060 | 0.2746108 | 8.195541e-01 | 2.014230e+00 |
| high | health | 8.204693e-01 | 0.1427126 | -1.3865545 | 0.1655776 | 6.202763e-01 | 1.085274e+00 |
| high | absences | 9.270683e-01 | 0.0384385 | -1.9701107 | 0.0488257 | 8.597909e-01 | 9.996101e-01 |
Model regresi logistik multinomial fit_all dibangun untuk memprediksi kategori nilai akhir siswa grade_cat dengan menggunakan semua variabel prediktor dalam data, kecuali nilai G1, G2, dan G3. Model ini menggunakan fungsi multinom() dari paket nnet dan berhasil konvergen setelah 90 iterasi, dengan deviance akhir sebesar 632,33 dan nilai AIC sebesar 792,33. Nilai AIC ini dapat digunakan untuk membandingkan model dengan model lain pada tahap selanjutnya.
Dari hasil estimasi, diperoleh koefisien dalam bentuk odds ratio untuk dua kategori, yaitu medium dan high, dengan kategori referensi adalah low. Beberapa variabel menunjukkan pengaruh positif yang signifikan terhadap peluang siswa mendapatkan nilai lebih tinggi. Misalnya, variabel higheryes memiliki pengaruh yang sangat kuat, terutama untuk kategori high dengan odds ratio mencapai sekitar 1 juta, menunjukkan bahwa siswa yang berencana melanjutkan pendidikan ke jenjang lebih tinggi memiliki kemungkinan jauh lebih besar untuk memperoleh nilai tinggi. Demikian juga, variabel internetyes dan Medu (pendidikan ibu) jga meningkatkan peluang pencapaian nilai tinggi, masing-masing dengan odds ratio sekitar 4,18 dan 1,80.
Sebaliknya, beberapa variabel justru memiliki pengaruh negatif yang signifikan. Variabel goout, yang mencerminkan frekuensi siswa keluar rumah bersama teman, menurunkan peluang masuk ke dalam kategori nilai yang lebih tinggi. Hal ini tercermin dari odds ratio sebesar 0,61 untuk kategori medium dan 0,55 untuk kategori high. Selain itu, variabel failures memiliki pengaruh negatif yang sangat kuat terhadap pencapaian nilai tinggi, dengan odds ratio hanya sekitar 0,17 untuk kategori high. Namun, schoolsupyes justru menunjukkan pengaruh negatif, kemungkinan karena dukungan ini lebih banyak diberikan kepada siswa yang sudah memiliki risiko akademik.
Terdapat pula sejumlah variabel yang tidak memberikan pengaruh signifikan secara statistik, seperti absences, health, romantic, guardian, serta berbagai jenis pekerjaan orang tua. Hal ini dapat terjadi karena kontribusinya kecil dengan variabel lain yang lebih berpengaruh secara langsung terhadap pencapaian akademik.
# ----- Marginal Effects -----
# Absences
mfx_abs <- avg_comparisons(fit_all, variables = "absences", type = "probs")
print(mfx_abs)
##
## Group Estimate Std. Error z Pr(>|z|) S 2.5 % 97.5 %
## low 0.00341 0.00275 1.24 0.2145 2.2 -0.00198 8.81e-03
## medium 0.00400 0.00380 1.05 0.2936 1.8 -0.00346 1.15e-02
## high -0.00741 0.00382 -1.94 0.0524 4.3 -0.01490 7.65e-05
##
## Term: absences
## Type: probs
## Comparison: +1
# Sex
mfx_sex <- avg_comparisons(fit_all, variables = "sex", type = "probs")
print(mfx_sex)
##
## Group Estimate Std. Error z Pr(>|z|) S 2.5 % 97.5 %
## low -0.0756 0.0512 -1.478 0.139 2.8 -0.1759 0.0247
## medium 0.0173 0.0579 0.299 0.765 0.4 -0.0961 0.1307
## high 0.0583 0.0408 1.429 0.153 2.7 -0.0216 0.1383
##
## Term: sex
## Type: probs
## Comparison: Male - Female
# Studytime
mfx_study <- avg_comparisons(fit_all, variables = "studytime", type = "probs")
print(mfx_study)
##
## Group Estimate Std. Error z Pr(>|z|) S 2.5 % 97.5 %
## low -0.03608 0.0275 -1.310 0.190 2.4 -0.0901 0.0179
## medium 0.00912 0.0331 0.275 0.783 0.4 -0.0558 0.0740
## high 0.02696 0.0248 1.087 0.277 1.9 -0.0216 0.0756
##
## Term: studytime
## Type: probs
## Comparison: +1
# Failures
mfx_fail <- avg_comparisons(fit_all, variables = "failures", type = "probs")
print(mfx_fail)
##
## Group Estimate Std. Error z Pr(>|z|) S 2.5 % 97.5 %
## low 0.1686 0.0376 4.48 < 0.001 17.0 0.0948 0.2424
## medium -0.0651 0.0429 -1.52 0.12959 2.9 -0.1492 0.0191
## high -0.1035 0.0352 -2.94 0.00332 8.2 -0.1726 -0.0344
##
## Term: failures
## Type: probs
## Comparison: +1
# Goout (keluar malam)
mfx_goout <- avg_comparisons(fit_all, variables = "goout", type = "probs")
print(mfx_goout)
##
## Group Estimate Std. Error z Pr(>|z|) S 2.5 % 97.5 %
## low 0.0907 0.0246 3.68 < 0.001 12.1 0.0425 0.13896
## medium -0.0650 0.0252 -2.58 0.00992 6.7 -0.1145 -0.01560
## high -0.0257 0.0171 -1.50 0.13360 2.9 -0.0592 0.00787
##
## Term: goout
## Type: probs
## Comparison: +1
Analisis marginal effects yang dihitung menggunakan fungsi avg_comparisons() dari model fit_all menunjukkan seberapa besar perubahan pada probabilitas dari setiap kategori target (low, medium, high) akibat perubahan satu unit pada masing-masing variabel prediktor. Hasil untuk variabel absences menunjukkan bahwa peningkatan satu kehadiran absensi memiliki efek kecil terhadap probabilitas nilai akhir: tidak signifikan secara statistik untuk kategori low dan medium, namun hampir signifikan untuk kategori high (p = 0.0524) dengan arah negatif, yang menunjukkan bahwa makin banyak absensi dapat menurunkan kemungkinan siswa masuk kategori nilai tinggi. Untuk variabel sex, perbedaan antara laki-laki dan perempuan tidak menunjukkan pengaruh signifikan terhadap probabilitas kategori nilai manapun, yang berarti jenis kelamin bukan prediktor kuat dalam model ini.
Pada variabel studytime, peningkatan waktu belajar cenderung meningkatkan probabilitas masuk kategori nilai tinggi, dan menurunkan probabilitas masuk kategori rendah, namun hasilnya tidak signifikan (p > 0.1), sehingga tidak dapat disimpulkan ada pengaruh nyata dari waktu belajar. Sebaliknya, variabel failures menunjukkan efek yang sangat signifikan secara statistik. Kegagalan sebelumnya meningkatkan kemungkinan berada di kategori nilai rendah secara signifikan (p < 0.001) dan mengurangi probabilitas berada di kategori tinggi (p = 0.00332), menjadikannya salah satu prediktor terkuat dalam model.
Untuk variabel goout (frekuensi keluar malam), ditemukan bahwa semakin sering siswa keluar malam, maka probabilitas mereka berada di kategori nilai rendah meningkat secara signifikan (p < 0.001), dan probabilitas masuk kategori medium menurun (p = 0.00992). Meski pengaruh pada kategori nilai tinggi tidak signifikan, arah efek negatif tetap terlihat. Secara keseluruhan, variabel failures dan goout memberikan pengaruh yang signifikan terhadap distribusi probabilitas kategori nilai, sedangkan variabel lainnya menunjukkan kecenderungan arah efek namun belum signifikan secara statistik.