DAFTAR ISI

SELEKSI MODEL REGRESI DALAM MENENTUKAN FAKTOR
DOMINAN PENENTU NILAI UJIAN SISWA

Disusun Oleh:
1. MUHAMMAD ARIQ RAFIANSYAH (3338240017)
2. SUCI RAMADHANI (3338240031)
3. RIDLA IASA RAMADHANIA (3338240035)
4. MUTIARA SUCI CHAERANI (3338240044)
5. RAHAYU PUSPITA SARI (3338240049)

Analisis Regresi
Pengantar Data Sains

PROGRAM STUDI STATISTIKA FAKULTAS TEKNIK
UNIVERSITAS SULTAN AGENG TIRTAYASA
2025

KATA PENGANTAR

Puji syukur kami panjatkan kepada Tuhan Yang Maha Esa atas rahmat dan karunia-Nya sehingga Tugas Project Reproducible Research dan seleksi model ini dapat diselesaikan dengan baik. Tugas ini disusun sebagai salah satu tugas Pra-UAS pada mata kuliah Pengantar Data Sains di Program Studi Statistika, Fakultas Teknik, Universitas Sultan Ageng Tirtayasa, Banten. Kami menyadari bahwa tanpa bimbingan, bantuan, serta dukungan dari berbagai pihak, proses penyusunan tugas ini tidak akan berjalan dengan lancar. Oleh karena itu, kami mengucapkan terima kasih kepada:

  1. Agung Satrio Wicaksono, S.Mat., M.Si., selaku dosen pengampu mata kuliah Pengantar Data Sains, atas arahan dan bimbingan selama proses pengerjaan tugas.

  2. Aulia Ikhsan, S.Si., M.Si., selaku dosen pengampu mata kuliah Nalisis Regresi, atas arahan dan bimbingan selama proses pengerjaan tugas.

  3. Dr. Faula Arina, S.Si., M.Si., selaku Ketua Program Studi Statistika Fakultas Teknik, Universitas Sultan Ageng Tirtayasa, atas dukungan akademik dan fasilitas yang diberikan.

  4. Orang tua, keluarga, serta teman-teman yang selalu memberikan motivasi, dorongan, dan masukan kepada kami.

Kami menyadari bahwa laporan ini masih memiliki kekurangan, sehingga kritik dan saran yang membangun sangat diperlukan untuk perbaikan di masa mendatang. Kami berharap tugas ini dapat memberikan manfaat bagi rekan-rekan mahasiswa, khususnya dalam memahami konsep dan praktik reproducible research, serta dapat menjadi referensi dalam pengembangan kemampuan analisis data di masa depan.

Cilegon, 08 Desember 2025

Penulis

1. PENDAHULUAN

1.1 Latar Belakang

Pencapaian akademik siswa merupakan salah satu aspek penting dalam dunia pendidikan karena mencerminkan bagaimana proses belajar berlangsung. Banyak faktor dapat memengaruhi hasil belajar, dan setiap siswa biasanya memiliki kondisi serta kebiasaan yang berbeda-beda. Oleh karena itu, memahami faktor-faktor apa saja yang berkaitan dengan nilai ujian menjadi penting untuk melihat pola belajar yang efektif [1].

Salah satu faktor penting adalah kebiasaan belajar, seperti berapa lama siswa meluangkan waktu untuk belajar setiap minggu. Pengelolaan waktu belajar yang baik terbukti dapat meningkatkan kedisiplinan serta mendukung prestasi akademik [2]. Selain itu, kemampuan siswa dalam memahami materi juga dipengaruhi oleh penguasaan materi sebelumnya, sehingga nilai ujian terdahulu sering menjadi indikator kemampuan akademik siswa.

Faktor lain yang tidak kalah penting adalah kehadiran. Siswa yang hadir lebih konsisten di kelas biasanya memiliki kesempatan lebih besar untuk memahami materi secara langsung, karena bisa mendengarkan serta mengikuti penjelasan guru, mengerjakan latihan secara langsung, ataupun terlibat dalam diskusi di kelas. Selain itu, kondisi fisik dan kebiasaan sehari-hari juga ikut berperan. Waktu tidur yang cukup berpengaruh terhadap konsentrasi karena dapat membantu siswa lebih fokus, sedangkan aktivitas fisik dapat meningkatkan kebugaran tubuh sehingga siswa lebih siap mengikuti pembelajaran. Penelitian di Indonesia menunjukkan bahwa aktivitas fisik memiliki hubungan dengan kebugaran dan prestasi akademik [3-4].

Dataset Student Performance Factors dari Kaggle berisi variabel-variabel yang menggambarkan kondisi tersebut, seperti jam belajar, nilai sebelumnya, tingkat kehadiran, waktu tidur, dan aktivitas fisik. Dengan menganalisis variabel-variabel yang ada di data ini, dapat dilihat bagaimana masing-masing faktor tersebut berhubungan dengan nilai ujian akhir siswa (Exam_Score) yang menjadi indikator prestasi akademik.

1.2 Rumusan Masalah

Berdasarkan latar belakang yang telah dijelaskan, maka rumusan masalah dalam analisis ini adalah:

  1. Bagaimana arah hubungan (positif atau negatif) variabel independen terhadap variabel dependen?

  2. Seberapa besar pengaruh masing-masing variabel independen terhadap variabel dependen?

  3. Model regresi seperti apa yang paling tepat untuk menjelaskan hubungan antara variabel independen dan variabel dependen berdasarkan metode seleksi model(Backward, Forward, Stepwise, AIC, atau BIC)?

  4. Apakah model regresi yang dihasilkan sudah memenuhi asumsi dan dapat memberikan gambaran tentang faktor-faktor yang memengaruhi nilai ujian?

1.3 Tujuan

Tujuan dari analisis ini adalah:

  1. Mengidentifikasi variabel independen (Hours_Studied, Previous_Scores, Attendance, Sleep_Hours, Physical_Activity) yang berpengaruh terhadap variabel dependen, yaitu Exam_Score.

  2. Mengetahui arah hubungan (positif atau negatif) dan besarnya pengaruh masing-masing variabel independen terhadap nilai ujian.

  3. Membangun model regresi yang optimal untuk memprediksi Exam_Score melalui proses seleksi model (Backward, Forward, Stepwise, AIC, dan BIC).

  4. Menghasilkan model yang efisien, memenuhi asumsi regresi, serta memberikan pemahaman tentang faktor-faktor yang memengaruhi nilai ujian.

2. TINJAUAN PUSTAKA

2.1 Analisis Regresi

Analisis regresi adalah teknik statistik untuk menyelidiki dan memodelkan hubungan antara variabel. Aplikasi analisis regresi sangat luas dan terdapat di hampir setiap bidang, termasuk teknik, ilmu fisika dan kimia,ekonomi, manajemen, ilmu kehidupan dan biologi, serta ilmu sosial. Faktanya,analisis regresi mungkin merupakan teknik statistik yang paling banyak digunakan [5].

2.2 Analisis Regresi Linier Berganda

Regresi Linear Berganda adalah model regresi linear dengan melibatkan lebih dari satu variable bebas atau predictor. Dalam bahasa inggris, istilah ini disebut dengan multiple linear regression [6]. Dengan demikian, Regresi Linier Berganda dinyatakan dalam persamaan matematika sebagai berikut :

2.3 Uji Asumsi Klasik

2.3.1 Definisi Uji Asumsi Klasik

Uji asumsi klasik digunakan untuk mengetahui ada tidaknya normalitas residual, multikolinearitas, autokorelasi, dan heteroskedastisitas pada model regresi. Menurut Purnomo (2016), uji asumsi klasik merupakan syarat penting agar model regresi menghasilkan estimasi yang valid dan tidak bias. Model regresi linier dapat disebut sebagai model yang baik jika model tersebut memenuhi beberapa asumsi klasik yaitu data residual terdistribusi normal, tidak adanya multikolinearitas, autokorelasi, dan heteroskedastisitas. Harus terpenuhinya asumsi klasik agar diperoleh model regresi dengan estimasi yang tidak bias dan pengujian dapat dipercaya. Apabila ada satu syarat saja yang tidak terpenuhi, maka hasil analisis regresi tidak dapat dikatakan bersifat BLUE (Best Linear Unbiased Estimator) [7].

2.4 Pengujian Asumsi Klasik Regresi

2.4.1 Uji Normalitas

Uji normalitas adalah untuk menguji apakah dalam model regresi,variabel terikat (dependent variable) dan variabel bebas (independent variable) keduanya memiliki distribusi normal atau tidak. Model regresi yang memiliki distribusi data yang normal atau mendekati normal dikatakan model regresi yang baik [6].

2.4.2 Uji Autokorelasi

Uji autokorelasi dilakukan untuk mengetahui apakah ada korelasi antara kesalahan pengganggu pada periode t dengan kesalahan pada periode t sebelumnya pada model regresi linier yang dipergunakan.Jika terjadi korelasi, maka dinamakan ada problem autokorelasi. Dalam model regresi yang baik adalah tidak terjadi autokorelasi [8].

2.4.3 Uji Homoskedastisitas

Menurut Resista Vikaliana (2022), kondisi ideal dalam regresi adalah homoskedastisitas, yaitu varian residual yang sama. Apabila heteroskedastisitas terjadi, maka proses penaksiran parameter menjadi tidak efisien. Untuk mendeteksi apakah model mengalami heteroskedastisitas atau tidak, terdapat beberapa metode pengujian yang dapat digunakan, antara lain Uji Breusch-Pagan Godfrey (BP Test), Uji White, Uji Goldfeld-Quandt (GQ Test), dan Uji Brown-Forsythe [9].

2.4.4 Uji Multikolinearitas

Menurut Arnas et al. (2023), uji multikolinearitas bertujuan untuk mendeteksi ada tidaknya korelasi antar variabel independen dalam model regresi [10]. Multikolinearitas muncul ketika terdapat hubungan linier yang kuat antar variabel bebas, sehingga menyulitkan pemisahan pengaruh masing-masing variabel terhadap variabel dependen. Oleh karena itu, regresi linier yang baik tidak boleh menunjukkan hubungan tersebut. Deteksi multikolinearitas dapat dilakukan menggunakan Variance Inflation Factor (VIF) dan Tolerance (TOL) [10].

2.5 Seleksi Model

2.5.1 Definisi Selesksi Model

Secara umum, model terbaik dapat diartikan sebagai model yang memiliki faktor gangguan paling kecil atau model yang memberikan residual minimum. Satu-satunya jaminan bahwa suatu model dapat dipercaya adalah diikut-sertakannya variabel independen sebanyak mungkin ke dalam model. Dengan kata lain, semakin banyak variabel independen maka residual yang dihasilkan oleh model cenderung semakin kecil [11]

2.5.2 Ukuran Dalam Seleksi Model

Tiga ukuran utama yang sering digunakan dalam seleksi model adalah Koefisien Determinasi Terkoreksi (adj R kuadrat), Akaike Information Criterion (AIC), dan Bayesian Information Criterion (BIC). Untuk mencari Koefisien Determinan Terkoreksi gunakan rumus,

jika nilai semakin besar maka semakin baik. Untuk mencari Akaike Information Criterion (AIC) gunakan rumus,

jika nilai semakin kecil maka semakin baik. Untuk mencari Bayesian Information Criterion (BIC) gunakan rumus,

jika nilai semakin kecil maka semakin baik.

2.6 Pengujian Seleksi Model

2.6.1 Metode Forward Selection

Forward selection adalah metode pembentukan model regresi terbaik berdasarkan pendekatan dengan cara me-lakukan pemilihan variabel dengan memasukkan variabel bebas yang memiliki nilai korelasi terbesar. Lalu dilakukan pemeriksaan nilai F model yang baru terbentuk apakah sig-nfikan atau tidak. Bila iya simpan variabel bebas tersebut lalu lakukan secara bertahap memasukkan variabel bebas [12]. Kelebihan menggunakan metode forward dalam mencari model regresi yang terbaik adalah sebagai alternatif untuk mengurangi kemungkinan adanya multikolinearitas dalam model yang dihasilkan. Adapun kekurangannya adalah memungkinkan untuk memasukkan lebih banyak variabel yang tidak begitu signifikan, karena MSE yang dihasilkan forward akan lebih kecil yang menyebabkan nilai F hitung besar, prosedur ini tidak selalu mengarahkan ke model yang terbaik, mengingat kita hanya mempertimbangkan sebuah subset kecil dari semua model-model yang mungkin [12].

2.6.2 Backward Selection

Dalam metode backward elimination ini dimulai dengan memasukkan seluruh variabel bebas x, ke dalam model lalu secara bertahap kita akan mengurangi variabel satu per satu di dalam persamaan yang tidak memenuhi syarat kelayakan [12]. Kelebihan prosedur ini jauh lebih menghemat waktu dan tenaga dibandingkan metode pemilihan model regresi terbaik lainnya karena di dalam backward elimination kita hanya memperhatikan satu variabel saja..Namun kekurangan dari pemilihan model ini adalah ketika suatu variabel dikeluarkan dari dalam model melalui dalam prosedur ini, maka ia akan hilang untuk selamanya. Jadi, semua model alternatif yang menanggung variabel yang telah dikeluarkan tidak dapat dipertimbangkan atau digunakan kembali [12].

2.6.3 Stepwise

Metode regresi stepwise adalah metode yang merupakan gabungan dari metode regresi forward dan backward. Pada metode ini, terdapat banyak tahap yang kemudian tujuan akhirnya adalah untuk menentukan variabel mana saja yang merupakan prediktor terbaik yang dimasukkan ke dalam model. Variabel yang terpilih untuk masuk ke dalam model adalah variabel yang mempunyai korelasi tertinggi dan sig-nificant terhadap variabel dependent [12]. Setiap terdapat 1 variabel yang masuk ke dalam model, maka variabel yang sudah masuk ke dalam model akan di-evaluasi. Jika terdapat variabel yang tidak significant di dalam model, maka variabel tersebut dikeluarkan dari model [12].

3. METODE ANALISIS DATA

3.1 Sumber dan Deskripsi Data

Data yang digunakan dalam laporan ini berasal dari dataset Student Performance Factors yang diunduh dari platform Kaggle. Dataset sekunder ini berisi ratusan data informasi mengenai berbagai faktor yang diduga memengaruhi nilai ujian siswa, seperti kebiasaan belajar, riwayat nilai sebelumnya, kondisi fisik, serta tingkat keterlibatan siswa dalam kegiatan belajar. Secara keseluruhan, dataset ini memuat beragam variabel, di antaranya jam belajar, tingkat kehadiran, kualitas tidur, aktivitas fisik, dukungan orang tua, akses internet, hingga jenis sekolah. Namun, agar analisis lebih terarah dan sesuai dengan kebutuhan proyek, dilakukan proses penyederhanaan data. Dari dataset asli tersebut, kelompok hanya menggunakan 75 data siswa yang memiliki informasi lengkap pada variabel yang dibutuhkan. Pemilihan jumlah ini mempertimbangkan agar proses pembersihan data, analisis regresi, serta pemilihan model terbaik seperti forward, backward, dan stepwise dapat dilakukan secara lebih terstruktur.

Dalam proses penyederhanaan, kelompok hanya menggunakan variabel-variabel kuantitatif yang relevan terhadap tujuan analisis, yaitu Hours_Studied, Previous_Scores, Attendance, Sleep_Hours, dan Physical_Activity. Kelima variabel inilah yang kemudian digunakan sebagai variabel independen (X1, X2, X3, X4, X5), sementara Exam_Score dijadikan variabel dependen (Y). Pemilihan lima variabel independen ini dilakukan karena masing-masing memiliki dasar logis dan relevan terhadap nilai ujian siswa. Hours_Studied (X1) dipilih karena jam belajar merupakan salah satu prediktor paling kuat dari performa akademik, di mana semakin banyak waktu yang digunakan untuk belajar biasanya akan meningkatkan pemahaman materi dan berdampak pada nilai ujian. Previous_Scores (X2) digunakan karena nilai sebelumnya mencerminkan kemampuan dasar siswa dan secara statistik sering berkorelasi tinggi dengan nilai yang diperoleh berikutnya. Attendance (X3) juga dimasukkan karena tingkat kehadiran menunjukkan seberapa sering siswa mengikuti proses pembelajaran, karena siswa dengan kehadiran tinggi umumnya lebih memahami materi sehingga mendapat hasil lebih baik. Selanjutnya, Sleep_Hours (X4) dipilih karena kualitas tidur berpengaruh langsung terhadap fokus, konsentrasi, serta stamina belajar, yang pada akhirnya memengaruhi nilai ujian. Terakhir, Physical_Activity (X5) digunakan karena aktivitas fisik terbukti dapat meningkatkan kesehatan mental dan konsentrasi, sehingga turut mendukung dalam performa belajar

3.2 Tahapan Analisis Data

3.2.1. Persiapan Data

  1. Persiapan package
library(readxl)
    library(car)
    library(lmtest)
    library(sandwich)
    library(MASS)
    library(dplyr)
    library(tidyverse)
    library(corrplot)
    library(leaps)
    library(broom)
    library(GGally)
  1. Impor Data
# Immpor Data
data_project <- read_excel("C:/Users/rahay/OneDrive/Documents/Semester 3/PDS/Data_Project_Anreg_fix.xlsx")

Langkah berikutnya adalah mengimpor data dari file Data_Project_Anreg_fix.xlsx. Tahap ini dilakukan agar seluruh variabel yang ada di excel bisa dibaca dan digunakan di R.

  1. Melihat Struktur Data
# Lihat struktur
str(data_project)

Setelah data masuk, struktur data dicek menggunakan str(). Tujuannya untuk melihat jumlah baris, jumlah kolom, dan tipe data pada setiap variabelnya, serta memastikan semuanya bisa terbaca dengan benar.

  1. Melihat 6 Data Pertama
head(data_project)

Fungsi head() digunakan untuk menampilkan enam baris awal data. Ini dilakukan untuk memastikan bahwa data sudah sesuai harapan.

  1. Melihat Ringkasan Data
summary(data_project)

Ringkasan data diperoleh dengan summary(). Bagian ini memberi gambaran awal mengenai nilai minimum, maksimum, median, dan rata-rata tiap variabel sehingga dapat membantu memahami kondisi umum data.

  1. Menampilkan Variabel
# Menampilkan variable 
Y = data_project$Exam_Score_Y
X1 = data_project$Hours_Studied_X1
X2 = data_project$Previous_Scores_X2
X3 = data_project$Attendance_X3
X4 = data_project$Sleep_Hours_X4
X5 = data_project$Physical_Activity_X5

Pada tahap ini, variabel-variabel dipisahkan dari dataset agar lebih mudah digunakan saat membuat model.

3.2.2 Pemeriksaan Awal Terhadap Data

  1. Mengecek Missing Value
# Cek missing values
colSums(is.na(data_project))

Kode colSums(is.na(data_project)) digunakan untuk memastikan apakah ada data yang kosong atau missing. Pengecekan ini penting karena nilai yang hilang dapat memengaruhi hasil regresi. Makanya, jika ada variabel yang kosong, perlu dibersihkan dan ditangani terlebih dahulu.

  1. Mendeteksi Outlier Pada Exam_Y dengan Boxplot
# Deteksi outlier pada Exam_Score_Y dengan boxplot
boxplot(data_project$Exam_Score_Y, main="Boxplot Exam_Score_Y")

Boxplot digunakan untuk melihat apakah nilai ujian memiliki outlier. Melalui grafik, titik yang berada jauh di luar rentang normal dapat terlihat dengan jelas.Tujuannya adalah memastikan apakah ada nilai yang sangat ekstrem sehingga bisa mempengaruhi model regresi.

  1. Melihat Distribusi Variabel Dependen (Y)
# Distribusi variabel dependen (Y)
hist(data_project$Exam_Score_Y, main="Distribusi Exam_Score_Y", xlab="Exam_Score_Y")

Histogram dibuat untuk melihat bentuk distribusi dari nilai ujian (Y).Dari grafik ini bisa diketahui apakah nilai ujian cenderung normal, miring ke kanan, ataupun miring ke kiri.

  1. Hubungan Antar Variabel Numerik
# Hubungan antar variabel numerik 
GGally::ggpairs(data_project)

GGally::ggpairs(data_project) menampilkan grafik hubungan antar variabel numerik sekaligus dalam satu tampilan. Melalui grafik ini dapat dilihat apakah ada hubungan linear antara X dan Y, apakah ada korelasi yang terlalu kuat antar variabel X (yang bisa memicu multikolinearitas), dan pola umum antar variabel.

3.3 Tahapan Seleksi Model

3.3.1 Pembuatan dan analisis terhdap model awal

  1. Membangun Model
# Buat model
model <- lm(Y ~ X1 + X2 + X3 + X4 + X5, data = data_project)
summary(model)

Model pertama dibuat menggunakan semua variabel independen: model <- lm(Y ~ X1 + X2 + X3 + X4 + X5, data = data_project) Tujuan dari model awal ini adalah untuk melihat variabel mana yang berpengaruh, seberapa besar kontribusinya terhadap Y, dan apakah model awal sudah cukup baik atau masih perlu disederhanakan.

  1. Menghitung AIC dan BIC Model Penuh
# Hitung AIC & BIC model penuh
anova <- aov(Y ~ X1 + X2 + X3 + X4 + X5, data = data_project)
summary(anova)
n = 75
JKG = 150
k = 6

aic_model <- n * log(JKG / n) + 2 * k
cat("Nilai AIC Model penuh", aic_model)
bic_model <- n * log(JKG / n) +  k * log(n)
cat("Nilai AIC Model penuh", bic_model)  

Pada tahap ini dihitung nilai AIC dan BIC untuk model penuh atau model yang masih menggunakan semua variabel. Tujuannya adalah menilai seberapa baik model tersebut. AIC (Akaike Information Criterion) dan BIC (Bayesian Information Criterion) keduanya digunakan untuk membandingkan model. Semakin kecil nilai AIC dan BIC, semakin baik modelnya karena berarti model lebih efisien dan tidak terlalu rumit. Rumus dihitung manual dengan memasukkan:

  • Jumlah data (n = 75)

  • Jumlah kuadrat galat (JKG = 150)

  • Jumlah parameter (k = 6)

  1. Menghitung VIF Model Awal
# Hitung VIF
vif_values <- vif(model)

tabel_VIF <- data.frame(
  Variabel_X = c("Hours Studied", "Previous Scores", "Attendance",
                 "Sleep Hours", "Physical Activity"),
  Nilai_VIF = vif_values)

tabel_VIF

Tahap ini digunakan untuk mengecek apakah ada masalah multikolinearitas, yaitu kondisi ketika variabel X saling berhubungan terlalu kuat.

  • Fungsi vif(model) menghasilkan nilai VIF untuk setiap variabel.

  • Nilai VIF > 10 biasanya menandakan masalah multikolinearitas yang serius.

  • Nilai VIF 1-5 masih dianggap aman.

  1. Uji Homoskedastisitas
# Uji Homoskedastisitas
# Visual: Plot Residuals vs Fitted
plot(model, which=1)
# Statistik: Uji Breusch-Pagan
bptest(model)
## 
##  studentized Breusch-Pagan test
## 
## data:  model
## BP = 3.1936, df = 5, p-value = 0.6702

Uji ini dilakukan untuk melihat apakah varians galat (residual) bersifat konstan di seluruh nilai fitted. Jika variansnya tidak konstan maka bisa terjadi heteroskedastisitas, yang bisa mengganggu hasil regresi.

  1. Uji Normalitas Residual
# Uji Normalitas Residual
# Visual: Q-Q Plot
plot(model, which=2)
# Statistik: Uji Shapiro-Wilk
shapiro.test(residuals(model))
## 
##  Shapiro-Wilk normality test
## 
## data:  residuals(model)
## W = 0.98291, p-value = 0.4077

Uji ini dilakukan untuk memastikan residual berdistribusi normal.

  1. Uji Autokorelasi
# Uji Autokorelasi
# Statistik: Uji Durbin-Watson
dwtest(model)

Tahap ini menggunakan Durbin-Watson test melalui dwtest(model). Autokorelasi adalah kondisi ketika residual saling berhubungan. Dicek untuk memastikan model stabil.

  • Nilai DW mendekati 2 berarti tidak ada autokorelasi.

  • Nilai < 1,5 atau > 2,5 berarti ada kemungkinan autokorelasi.

3.3.2 Seleksi Model

  1. Seleksi Model Metode Backward
model_backward <- step(lm(Y ~ X1 + X2 + X3 + X4 + X5), direction = "backward")

Metode ini dimulai dari model penuh, kemudian variabel yang paling tidak signifikan dihilangkan satu per satu. Proses terus berjalan sampai model yang tersisa adalah model paling sederhana yang memberikan hasil terbaik. step(…, direction = “backward”)

  1. Seleksi Model Metode Forward
model_forward <- step(lm(Y ~ X1 + X2 + X3 + X4 + X5), direction = "forward")

Metode ini kebalikannya dari backward. Dimulai dari model kosong, lalu variabel ditambahkan satu per satu berdasarkan kontribusi yang terbaik. Proses berhenti ketika penambahan variabel tidak lagi meningkatkan kualitas model. step(…, direction = “forward”)

  1. Seleksi Model Metode Stepwise
model_stepwise <- stepAIC(lm(Y ~ X1 + X2 + X3 + X4 + X5), direction = "both")

Stepwise merupakan perpaduan antara forward dan backward. Pada metode ini, variabel bisa ditambahkan ataupun dikeluarkan tergantung apakah perubahan tersebut membuat model menjadi lebih baik. Pendekatan ini lebih fleksibel karena tidak hanya fokus menambah atau mengurangi saja, tetapi mencari kombinasi yang paling seimbang. Dengan tujuan menemukan model yang ringkas, namun tetap mampu menjelaskan hubungan antarvariabel dengan baik.

  1. Menampilkan formula model terpilih backward
formula(model_backward)

Perintah ini menampilkan bentuk model akhir dari metode backward. Hasilnya menunjukkan variabel mana yang bertahan setelah proses penghapusan variabel yang tidak signifikan.

  1. Menampilkan formula model terpilih forward
formula(model_forward)

Di sini ditampilkan model yang terbentuk dari proses forward, yaitu model yang dibangun dengan menambahkan variabel satu per satu berdasarkan kontribusinya.

  1. Menampilkan formula model terpilih stepwise
formula(model_stepwise)

Perintah ini memberikan model akhir yang dipilih oleh metode stepwise, kombinasi antara penambahan dan pengurangan variabel yang paling meningkatkan performa model.

  1. Menghitung AIC Dan BIC Model Backward

Setelah mendapatkan model dari masing-masing metode, langkah berikutnya adalah menghitung nilai AIC dan BIC untuk membandingkan kualitas model.

# Hitung AIC & BIC model backward
n = 75
JKG = 150.5
k = 4

aic_modelb <- n * log(JKG / n) + 2 * k
cat("Nilai AIC Model penuh", aic_modelb)
bic_modelb <- n * log(JKG / n) +  k * log(n)
cat("Nilai AIC Model penuh", bic_modelb) 

Bagian ini menghitung AIC dan BIC dari model backward dengan memasukkan jumlah pengamatan (n), jumlah kuadrat galat (JKG), serta jumlah parameter (k) dari model hasil backward.

  1. Menghitung AIC Dan BIC Model Forward
# Hitung AIC model forward
n = 75
JKG = 150
k = 6

aic_modelf <- n * log(JKG / n) + 2 * k
cat("Nilai AIC Model penuh", aic_modelf)
bic_modelf <- n * log(JKG / n) +  k * log(n)
cat("Nilai AIC Model penuh", bic_modelf)

Bagian ini cara perhitungannya sama, tetapi menggunakan nilai JKG dan jumlah parameter sesuai model forward.

  1. Menghitung AIC Dan BIC Model stepwise
# Hitung AIC model stepwise
n = 75
JKG = 150.5
k = 4

aic_models <- n * log(JKG / n) + 2 * k
cat("Nilai AIC Model penuh", aic_models)
bic_models <- n * log(JKG / n) +  k * log(n)
cat("Nilai AIC Model penuh", bic_models) 

Model stepwise dihitung menggunakan nilai JKG dan jumlah variabel yang tersisa setelah proses seleksi dua arah.

  1. Melihat Perbandingan Antar Model

Tahap ini, semua model yang sudah dihasilkan seperti model penuh, backward, forward, dan stepwise dikumpulkan ke dalam satu tabel. Tujuannya supaya bisa melihat dan membandingkan kualitas masing-masing model secara langsung.

model_r <- data.frame(
  Model = c("Model Penuh",
            "Model Terbaik (Backward)", 
            "Model Terbaik (Forward)",
            "Model Terbaik (Stepwise)"),
  
  # Ambil R-squared yang Disesuaikan dari ringkasan
  Adj_R2 = c( summary(model)$adj.r.squared, 
              summary(model_backward)$adj.r.squared,
              summary(model_forward)$adj.r.squared,
              summary(model_stepwise)$adj.r.squared),
   # Ambil AIC
  AIC = c(aic_model, aic_modelb, aic_modelf, aic_models),
  
  # Ambil BIC
  BIC = c(bic_model, bic_modelb, bic_modelf, bic_models)
)

# Tampilkan hasilnya
print(model_r)

Model dengan Adj R? yang cukup tinggi dan AIC/BIC paling rendah biasanya dianggap paling baik.

3.3.3 Analisi Model Terpilih

  1. Analisis Regresi Pada Model Terpilih

Setelah membandingkan seluruh model, dipilihlah model yang dianggap paling baik. Model terpilih berisi variabel yang paling berpengaruh terhadap nilai ujian, yaitu:

  • Jam belajar (X1)

  • Nilai sebelumnya (X2)

  • Kehadiran (X3)

# Model terpilih
model_terpilih <- lm(Y ~ X1 + X2 + X3, data = data_project)
summary(model_terpilih)
  1. Analisis Diagnostik Model Regresi Linier

Setelah mendapatkan model terpilih, langkah berikutnya adalah mengecek apakah model tersebut sudah memenuhi asumsi regresi.

par(mfrow = c(2,2))
plot(model_terpilih)
  1. Analisis Uji VIF

Untuk memastikan model tidak mengandung multikolinearitas, maka dilakukan uji VIF:

# VIF
car :: vif(model_terpilih)
##       X1       X2       X3 
## 1.008524 1.003789 1.004853

Jika nilai VIF:

  • < 10 maka aman, tidak ada gejala multikolinearitas

  • > 10 maka bermasalah

  1. Prediksi vs Nilai Aktual

Tahap ini untuk melihat bagaimana hasil prediksi model dibandingkan dengan nilai sebenarnya. Lalu dibuat grafik hubungan antara nilai aktual (Y) dan nilai prediksi. Grafik ini membantu melihat apakah model menghasilkan pola prediksi yang baik. Semakin dekat titik-titik data dengan garis merah, maka semakin akurat modelnya.

pred <- predict(model_terpilih)

ggplot(data_project, aes(pred, Y)) +
  geom_point(color = "green", size = 2) +
  geom_smooth(method = "lm", se = FALSE, color = "red") +
  theme_minimal() +
  labs(tittle = "Prediksi vs Nilai Aktual", x = "prediksi", y = "aktual")

4. HASIL DAN PEMBAHASAN

4.1 Tahapan Analisis Data

4.1.1. Persiapan Data

  1. Persiapan Package

    library(readxl)
    library(car)
    library(lmtest)
    library(sandwich)
    library(MASS)
    library(dplyr)
    library(tidyverse)
    library(corrplot)
    library(leaps)
    library(broom)
    library(GGally)
  2. Deskripsi Data dan Penentuan Variabel

    # Lihat struktur
    str(data_project)
    ## tibble [75 × 7] (S3: tbl_df/tbl/data.frame)
    ##  $ NO                  : num [1:75] 1 2 3 4 5 6 7 8 9 10 ...
    ##  $ Exam_Score_Y        : num [1:75] 67 61 74 71 70 71 67 66 69 72 ...
    ##  $ Hours_Studied_X1    : num [1:75] 23 19 24 29 19 19 29 25 17 23 ...
    ##  $ Previous_Scores_X2  : num [1:75] 73 59 91 98 65 89 68 50 80 71 ...
    ##  $ Attendance_X3       : num [1:75] 84 64 98 89 92 88 84 78 94 98 ...
    ##  $ Sleep_Hours_X4      : num [1:75] 7 8 7 8 6 8 7 6 6 8 ...
    ##  $ Physical_Activity_X5: num [1:75] 3 4 4 4 4 3 2 2 1 5 ...
    # Variabel
    Y = data_project$Exam_Score_Y
    X1 = data_project$Hours_Studied_X1
    X2 = data_project$Previous_Scores_X2
    X3 = data_project$Attendance_X3
    X4 = data_project$Sleep_Hours_X4
    X5 = data_project$Physical_Activity_X5

Data yang digunakan terdiri dari 75 observasi dengan 6 variabel yaitu:

  • Y (Exam_Score_Y) : Nilai ujian (variabel respon)

  • X1 (Hours_Studied_X1) : Jam belajar

  • X2 (Previous_Scores_X2) : Nilai sebelumnya

  • X3 (Attendance_X3) : Kehadiran

  • X4 (Sleep_Hours_X4) : Jam tidur

  • X5 (Physical_Activity_X5) : Aktivitas fisik

Variabel-variabel ini dipilih karena secara teoritis berpengaruh terhadap prestasi akademik mahasiswa/siswa. Nilai ujian dijadikan sebagai variabel terikat (dependent), sedangkan lima variabel lainnya sebagai variabel bebas (independent).

4.1.2 Pemeriksaan Awal Terhadap Data

  1. Cek data hilang

    # Cek missing values
    colSums(is.na(data_project))
    ##                   NO         Exam_Score_Y     Hours_Studied_X1 
    ##                    0                    0                    0 
    ##   Previous_Scores_X2        Attendance_X3       Sleep_Hours_X4 
    ##                    0                    0                    0 
    ## Physical_Activity_X5 
    ##                    0

Tidak terdapat data yang hilang, sehingga data layak langsung digunakan untuk analisis regresi tanpa perlu imputasi atau penghapusan observasi.

  1. Cek outlier

  • Nilai ujian sebagian besar berada di rentang 64-70.

  • Distribusi terlihat cukup simetris, tidak terlalu miring ke kiri atau kanan.

  • Frekuensi tertinggi muncul di sekitar 66-68, berarti itu nilai yang paling sering muncul di data.

  • Hampir tidak ada nilai ekstrem (outlier), karena tepi kiri (60-62) dan tepi kanan (72-74) frekuensinya sangat kecil.

4.2 Pembuatan Model Awal

  1. Buat model awal

    # Buat model
    model <- lm(Y ~ X1 + X2 + X3 + X4 + X5, data = data_project)
    summary(model)
    ## 
    ## Call:
    ## lm(formula = Y ~ X1 + X2 + X3 + X4 + X5, data = data_project)
    ## 
    ## Residuals:
    ##     Min      1Q  Median      3Q     Max 
    ## -3.6613 -1.0580  0.0291  1.0628  2.5392 
    ## 
    ## Coefficients:
    ##              Estimate Std. Error t value Pr(>|t|)    
    ## (Intercept) 42.647819   1.888639  22.581  < 2e-16 ***
    ## X1           0.231624   0.031877   7.266 4.37e-10 ***
    ## X2           0.047390   0.011208   4.228 7.10e-05 ***
    ## X3           0.198521   0.014422  13.765  < 2e-16 ***
    ## X4           0.006374   0.130679   0.049    0.961    
    ## X5           0.087797   0.189311   0.464    0.644    
    ## ---
    ## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
    ## 
    ## Residual standard error: 1.474 on 69 degrees of freedom
    ## Multiple R-squared:  0.7899, Adjusted R-squared:  0.7747 
    ## F-statistic: 51.88 on 5 and 69 DF,  p-value: < 2.2e-16
  2. hitung VIF

    ##           Variabel_X Nilai_VIF
    ## X1     Hours Studied  1.132066
    ## X2   Previous Scores  1.027922
    ## X3        Attendance  1.014892
    ## X4       Sleep Hours  1.136616
    ## X5 Physical Activity  1.165192
  • Semua nilai VIF berada di sekitar 1.01-1.16.

  • Nilai VIF < 10 : tidak ada masalah multikolinearitas antar variabel.

  • Bahkan VIF < 2 : hubungan antar variabel sangat rendah, sehingga model regresi aman dipakai tanpa perlu menghapus atau menggabungkan variabel.

4.4 Uji Asumsi Klasik

  1. Uji Homoskedastisitas

Uji homoskedastisitas bertujuan untuk mengetahui apakah varians residual (error) konstan pada seluruh nilai prediksi (fitted values). Perintah plot(model, which = 1) digunakan untuk,

  • Sumbu X : Nilai prediksi (Fitted Values)

  • Sumbu Y : Residual

  • Garis merah (loess line) untuk melihat pola

  • Titik-titik residual sebagai penyebaran error

Berdasarkan grafik Residuals vs Fitted, terlihat bahwa titik-titik residual menyebar secara acak di sekitar garis nol dan tidak membentuk pola tertentu seperti kipas atau gelombang. Hal ini menunjukkan bahwa varians residual bersifat konstan, sehingga dapat disimpulkan bahwa asumsi homoskedastisitas terpenuhi. Dengan demikian, model regresi yang digunakan layak untuk dilakukan pengujian statistik lanjutan seperti uji t dan uji F.

  1. Uji Breusch-Pagan
## 
##  studentized Breusch-Pagan test
## 
## data:  model
## BP = 3.1936, df = 5, p-value = 0.6702

Uji Breusch-Pagan digunakan untuk menguji apakah terjadi heteroskedastisitas pada model regresi, yaitu kondisi ketika varians residual tidak konstan. Uji ini bersifat statistik dan digunakan untuk memperkuat hasil uji visual Residuals vs Fitte. Asumsi yang diuji,

  • H0 (Hipotesis nol): Tidak terjadi heteroskedastisitas (homoskedastisitas terpenuhi)

  • H1 (Hipotesis alternatif): Terjadi heteroskedastisitas

Berdasarkan hasil Uji Breusch-Pagan diperoleh nilai BP sebesar 3,1936 dengan p-value sebesar 0,6702. Karena nilai p-value lebih besar dari taraf signifikan 0,05, maka keputusan yang diambil adalah gagal menolak H0. Dengan demikian dapat disimpulkan bahwa tidak terjadi heteroskedastisitas dalam model regresi, sehingga asumsi homoskedastisitas telah terpenuhi.

  1. Uji normalitas residual

Uji normalitas residual bertujuan untuk mengetahui apakah residual (error) dalam model regresi berdistribusi normal. Hipotesis,

  • H0: Residual berdistribusi normal

  • H1: Residual tidak berdistribusi normal

Berdasarkan grafik Q-Q Plot residual, terlihat bahwa sebagian besar titik menyebar mengikuti garis diagonal normal. Hal ini menunjukkan bahwa residual dalam model regresi berdistribusi mendekati distribusi normal. Meskipun terdapat beberapa titik yang sedikit menyimpang pada bagian ekor distribusi, penyimpangan tersebut tidak bersifat ekstrem. Dengan demikian, asumsi normalitas residual pada model regresi dapat dinyatakan terpenuhi.

  1. Uji shaphiro-wilk
## 
##  Shapiro-Wilk normality test
## 
## data:  residuals(model)
## W = 0.98291, p-value = 0.4077

Uji Shapiro-Wilk digunakan untuk menguji apakah residual model regresi berdistribusi normal secara statistik. Uji ini berfungsi sebagai penguat uji visual (Q-Q Plot) yang telah dilakukan sebelumnya. Hipotesis yang digunakan,

  • H0: Residual berdistribusi normal

  • H1: Residual tidak berdistribusi normal

Berdasarkan hasil uji Shapiro-Wilk terhadap residual model regresi diperoleh nilai statistik W sebesar 0,98291 dengan p-value sebesar 0,4077. Karena nilai p-value lebih besar dari taraf signifikan 0,05, maka keputusan yang diambil adalah gagal menolak H0. Dengan demikian, dapat disimpulkan bahwa residual model regresi berdistribusi normal, sehingga asumsi normalitas terpenuhi.

  1. Uji autokorelasi
## 
##  Durbin-Watson test
## 
## data:  model
## DW = 2.5739, p-value = 0.994
## alternative hypothesis: true autocorrelation is greater than 0

Uji Durbin-Watson (DW) digunakan untuk mengetahui apakah terdapat autokorelasi pada residual model regresi, khususnya autokorelasi positif. Hipotesis yang digunakan,

  • H0: Tidak terjadi autokorelasi

  • H1: Terjadi autokorelasi (positif)

Berdasarkan hasil uji Durbin-Watson diperoleh nilai statistik DW sebesar 2,5739 dengan p-value sebesar 0,994. Karena nilai p-value lebih besar dari taraf signifikan 0,05, maka keputusan yang diambil adalah gagal menolak H0. Dengan demikian, dapat disimpulkan bahwa tidak terdapat autokorelasi pada residual model regresi, sehingga asumsi independensi residual telah terpenuhi.

4.5 Seleksi Model

Seleksi model dilakukan untuk menentukan kombinasi variabel bebas (X1-X5) yang paling signifikan memengaruhi variabel respon Y.

  1. Forward Eliminatiom

Seleksi model regresi dilakukan menggunakan metode backward elimination berdasarkan AIC. Dimulai dari model penuh dengan semua variabel bebas (X1-X5), variabel X4 (Sleep Hours) dan X5 (Physical Activity) secara berturut-turut dihapus karena tidak menurunkan AIC. Model akhir yang terpilih adalah Y ~ X1 + X2 + X3, yang menunjukkan bahwa jam belajar, nilai sebelumnya, dan kehadiran secara signifikan memengaruhi nilai ujian, sementara variabel lain tidak memberikan kontribusi signifikan terhadap prediksi.

model_forward <- step(lm(Y ~ X1 + X2 + X3 + X4 + X5), direction = "forward")
## Start:  AIC=63.97
## Y ~ X1 + X2 + X3 + X4 + X5

Forward selection digunakan untuk memilih variabel prediktor terbaik dalam model regresi. Proses ini dimulai dari model kosong (tanpa variabel), kemudian variabel dimasukkan satu per satu berdasarkan kemampuannya menurunkan nilai AIC (Akaike Information Criterion). Variabel hanya dipertahankan jika kehadirannya membuat model menjadi lebih efisien menurut AIC. Model yang dimasukkan ke fungsi step() sudah merupakan model penuh, yaitu model yang langsung memuat semua variabel X1 sampai X5. arena forward selection bekerja dengan cara menambah variabel dari model kosong, maka proses ini tidak dapat dilakukan. Akibatnya, fungsi step() hanya menampilkan Start: AIC=63.97 dengan modelnya Y ~ X1 + X2 + X3 + X4 + X5. Jadi tidak ada variabel yang ditambahkan maupun dihapus, karena semua variabel sudah ada sejak awal.

Dari output tersebut dapat dijelaskan bahwa: AIC awal model penuh = 63.97 Ini adalah nilai AIC dari model yang memuat X1-X5 secara lengkap. Karena model sudah berisi seluruh variabel, metode forward selection tidak dapat menambahkan variabel baru. Oleh karena itu, model penuh otomatis dianggap sebagai model terbaik dalam proses forward. Dengan demikian, model akhir forward selection adalah Y ~ X1 + X2 + X3 + X4 + X5. Forward selection tidak menemukan model lain yang lebih efisien karena prosesnya tidak pernah berjalan dari model kosong.

# Hitung AIC model forward 
n = 75 
JKG = 150 
k = 6  
aic_modelf <- n * log(JKG / n) + 2 * k 
cat("Nilai AIC Model penuh", aic_modelf)  
## Nilai AIC Model penuh 63.98604
bic_modelf <- n * log(JKG / n) +  k * log(n) 
cat("Nilai AIC Model penuh", bic_modelf)
## Nilai AIC Model penuh 77.89097

Perhitungan manual yang dilakukan memberikan hasil AIC model forward 63.99, BIC model forward77.89. Nilai-nilai ini didasarkan pada jumlah sampel n sebesar 75, jumlah parameter k adala 6, dan jumlah kuadrat galat JKG sebesar 150. AIC mengukur efisiensi model berdasarkan keseimbangan antara: ketepatan model (melalui JKG), dan jumlah parameter yang digunakan. BIC memberikan penalti lebih besar untuk jumlah variabel.

  1. Backward Elimination

Dimulai dari model penuh (all predictors), menghapus variabel satu per satu berdasarkan AIC (Akaike Information Criterion)

# LANGKAH 4: LAKUKAN SELEKSI MODEL 
model_kosong <- lm(Y~1, data = data_project)
model_backward <- step(lm(Y ~ X1 + X2 + X3 + X4 + X5), direction = "backward")
## Start:  AIC=63.97
## Y ~ X1 + X2 + X3 + X4 + X5
## 
##        Df Sum of Sq    RSS     AIC
## - X4    1      0.01 149.98  61.976
## - X5    1      0.47 150.44  62.207
## <none>              149.97  63.973
## - X2    1     38.86 188.83  79.253
## - X1    1    114.76 264.73 104.593
## - X3    1    411.86 561.83 161.029
## 
## Step:  AIC=61.98
## Y ~ X1 + X2 + X3 + X5
## 
##        Df Sum of Sq    RSS     AIC
## - X5    1      0.52 150.50  60.234
## <none>              149.98  61.976
## - X2    1     39.76 189.74  77.613
## - X1    1    118.39 268.37 103.616
## - X3    1    412.66 562.64 159.136
## 
## Step:  AIC=60.23
## Y ~ X1 + X2 + X3
## 
##        Df Sum of Sq    RSS     AIC
## <none>              150.50  60.234
## - X2    1     39.35 189.85  75.655
## - X1    1    123.78 274.28 103.249
## - X3    1    418.41 568.91 157.967
  1. Langkah 1

Model awal Y ~ X1 + X2 + X3 + X4 + X5 (AIC = 63.97). Penghapusan kandidat pertama,

  • X4 : menurunkan AIC menjadi 61.976 maka dihapus

  • X5 : tidak sebaik X4

Model sementara: Y ~ X1 + X2 + X3 + X5 (AIC = 61.98)

  1. Langkah 2

Model sementara: Y ~ X1 + X2 + X3 + X5

  • X5 : menurunkan AIC menjadi 60.23 maka dihapus

Model sementara: Y ~ X1 + X2 + X3 (AIC = 60.23)

  1. Langkah 3

Model sementara: Y ~ X1 + X2 + X3

  • Menghapus variabel manapun akan meningkatkan AIC -> proses berhenti

Model final terpilih yaitu Y : X1 + X2 + X3

Seleksi model regresi dilakukan menggunakan metode backward elimination berdasarkan AIC. Dimulai dari model penuh dengan semua variabel bebas (X1-X5), variabel X4 (Sleep Hours) dan X5 (Physical Activity) secara berturut-turut dihapus karena tidak menurunkan AIC. Model akhir yang terpilih adalah Y ~ X1 + X2 + X3, yang menunjukkan bahwa jam belajar, nilai sebelumnya, dan kehadiran secara signifikan memengaruhi nilai ujian, sementara variabel lain tidak memberikan kontribusi signifikan terhadap prediksi.

  1. Stepwise

    model_stepwise <- stepAIC(lm(Y ~ X1 + X2 + X3 + X4 + X5), direction = "both")
    ## Start:  AIC=63.97
    ## Y ~ X1 + X2 + X3 + X4 + X5
    ## 
    ##        Df Sum of Sq    RSS     AIC
    ## - X4    1      0.01 149.98  61.976
    ## - X5    1      0.47 150.44  62.207
    ## <none>              149.97  63.973
    ## - X2    1     38.86 188.83  79.253
    ## - X1    1    114.76 264.73 104.593
    ## - X3    1    411.86 561.83 161.029
    ## 
    ## Step:  AIC=61.98
    ## Y ~ X1 + X2 + X3 + X5
    ## 
    ##        Df Sum of Sq    RSS     AIC
    ## - X5    1      0.52 150.50  60.234
    ## <none>              149.98  61.976
    ## + X4    1      0.01 149.97  63.973
    ## - X2    1     39.76 189.74  77.613
    ## - X1    1    118.39 268.37 103.616
    ## - X3    1    412.66 562.64 159.136
    ## 
    ## Step:  AIC=60.23
    ## Y ~ X1 + X2 + X3
    ## 
    ##        Df Sum of Sq    RSS     AIC
    ## <none>              150.50  60.234
    ## + X5    1      0.52 149.98  61.976
    ## + X4    1      0.06 150.44  62.207
    ## - X2    1     39.35 189.85  75.655
    ## - X1    1    123.78 274.28 103.249
    ## - X3    1    418.41 568.91 157.967
  2. Langkah 0

Pemilihan model menggunakan fungsi stepAIC() R gmenggunakan ukuran AIC (Akaike Information Criterion). Dengan nilai AIC sebesar 63.97. Gunakan model yaitu Y ~ X1 + X2 + X3 + X4 + X5 penuh untuk langkah pertama, setelahnya tentukan variabel mana yang dapat dihapus untuk mengurangi AIC.

  1. Langkah 1

Pada langkah ini, sistem dari R akan melihat perubahan nilai AIC jika salah satu variabel dihapus yang ditandai dengan (-) atau jika semua variabel di pertahankan dengan notasi (none). Yang berarti pada iterasi pertama ini menggunakan fase backward. Dengan keputusan yang diambil program sebagai model terbaik pada tahap ini yaitu dengan menghapus X4 menghasilkan AIC = 61.976. Maka model baru yang terpilih Y ~ X1 + X2 + X3 + X5.

  1. Langkah 2

Langkah selanjutnya akan dilakukan penghapusan pada variabel yang tersisa (fase backward) dari model yang terpilih dilangkah sebelumnya dan penambahan variabel yang sebelumnya sudah dihapus (fase forward) serta mempertahankan model saat ini tanpa melakukan penambahan dan pengurangan variabel. Sistem mengambil keputusan dengan menghapus X5 karna menghasilkan nilai AIC terkecil dari model sebelumnya dengan AIC = 60.23, maka dihasilkan model terbaik yang terpilih yaitu Y ~ X1 + X2 + X3.

  1. Langkah 3

Sistem melakukan pemeriksaan dengan menghapus variabel yang ada (fase backward) yaitu variabel X1, X2, dan X3. Serta menambahkan (fase forward) dengan variabel yang sebelumnya dihapus. Dan mempertahankan model saat ini. Nilai terkecil tetap berada pada mosel sebelumnya yaitu Y ~ X1 + X2 + X3 dengan AIC sebesar 60.23. Dengan ini sistem berhenti karna model terbaik sudah didapatkan.

4.6 Analisis Lanjutan Terhadap Model Terbaik Yang terpilih

  1. Analisis perbandingan antar model terbaik pada setiap metode
##                      Model    Adj_R2      AIC      BIC
## 1              Model Penuh 0.7746639 63.98604 77.89097
## 2 Model Terbaik (Backward) 0.7802479 60.23562 69.50558
## 3  Model Terbaik (Forward) 0.7746639 63.98604 77.89097
## 4 Model Terbaik (Stepwise) 0.7802479 60.23562 69.50558

Dari tabel perbandingan yang sudah dibuat nilai AIC dan BIC terkecil disertai nilai adjR^2 terbesar ada pada model terpilih dari metode backward dan stepwise dengan model Y ~ X1 + X2 + X3. Ini berarti ketiga prediktor Hours_Studied_X1, Previous_Scores_X2, dan Attendance_X3 sudah cukup untuk bisa menjelaskan variasi pada variabel respon Y, semesntara dua prediktor Sleep_Hours_X4, dan Physical_Activity_X5, tidak memberikan kontribusi signifikan untuk meningkatkan kualitas model.

  1. Lakukan analisis regresi pada model terpilih
# Model terpilih
model_terpilih <- lm(Y ~ X1 + X2 + X3, data = data_project)
summary(model_terpilih)
## 
## Call:
## lm(formula = Y ~ X1 + X2 + X3, data = data_project)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.6932 -0.9840  0.0188  1.1426  2.5859 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 43.02359    1.53766  27.980  < 2e-16 ***
## X1           0.22705    0.02971   7.642 7.71e-11 ***
## X2           0.04713    0.01094   4.309 5.19e-05 ***
## X3           0.19910    0.01417  14.050  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.456 on 71 degrees of freedom
## Multiple R-squared:  0.7892, Adjusted R-squared:  0.7802 
## F-statistic: 88.58 on 3 and 71 DF,  p-value: < 2.2e-16

Model terpilih membemtuk model regresi Y ^= 43.0236 + 0.2271(X1) + 0.0471(X2) + 0.1991(X3) Ketika X1, X2, X3 bernilai nol maka nilai y prediksi sebesar 43.0236. Setiap kenaikan satu unit pada X1 akan meningkatkan Y sebesar 0.2271 unit, dengan asumsi X2 dan X3 tetap. Ketika X2 mengalami keaikan satu unit maka akan meningkatkan Y sebesar 0.0471 unit, dengan asumsi X1 dan X3 tetap. Tiap kenaikan satu unit pada X3 akan meningkatkan Y sebesar 0.1991 unit, dengan asumsi X1 dan X2 tetap. Nilai R-squared yang dihasilkan model twepilh sekitar 78.92% dari total variasi pada Y yang dapat dijelaskan oleh variasi pada prediktor terpilih secara bersamaan. Nilai R-squared yang cukup tinggi menyataka model memiliki kecocokan yang baik terhadap data yang dianalisis.

  1. Analisis Diagnostik Model Regresi Linier

Model regresi linear dari model terpilih memenuhi semua asumsi (linearitas, homoskedastisitas, dan normalitas sisaan) dengan baik yang dijelaskan melalui keempat plot diagnostik.

  1. Analisis uji VIF
##       X1       X2       X3 
## 1.008524 1.003789 1.004853

Dari hasil uji VIF semua nilai VIF dari semua prediktor model terpilih hampir mendekati satu artinya variabel-variabel tersebut independen satu sama lain, dan menunjukan sama sekali tidak ada korelasi dengan prediktor lain dalam model.

  1. Prediksi vs Nilai Aktual

Nilai aktual ada di sekitar garis prediksi, menyatakan model terpilih memiliki kemampuan prediksi yang kuat asumsi ini didukung juga dengan nilai R-Square yang tinggi. Jadi dari semua analsis yang dilakukan pada model terpilih menunjukkan model terpilih adalah model terbaik yang dapat digunakan, variabel prediktor Hours_Studied_X1, Previous_Scores_X2, Attendance_X3 berpengaru terhadap Exam_Score_Y dan dapat menjelaskan Y dengan sangat baik.

5. KESIMPULAN DAN SARAN

5.1 Kesimpulan

Berdasarkan analisis regresi linear berganda terhadap data Student Performance Factors dengan variabel dependen Nilai Ujian (Exam_Score, Y) dan variabel independen Jam Belajar (X1), Nilai Sebelumnya (X2), Kehadiran (X3), Jam Tidur (X4), dan Aktivitas Fisik (X5), serta melalui tahapan seleksi model, maka diperoleh kesimpulan sebagai berikut:

  1. Faktor-Faktor yang Berpengaruh dan Arah Hubungan:
  • Model regresi yang optimal, yang diperoleh melalui metode seleksi Backward dan Stepwise berdasarkan nilai AIC/BIC terendah, adalah model yang hanya melibatkan tiga prediktor: Jam Belajar (X1), Nilai Sebelumnya (X2), dan Kehadiran (X3). Variabel Jam Tidur (X4) dan Aktivitas Fisik (X5) tidak memberikan kontribusi yang signifikan secara statistik terhadap kualitas model.

  • Arah hubungan ketiga variabel terpilih (X1, X2, X3) terhadap Nilai Ujian (Y) adalah positif. Hal ini ditunjukkan oleh koefisien regresi yang positif, yaitu Y = 43,0236 + 0,2271 (X1) + 0,0471(X2) + 0,1991(X3)

  • Besarnya Pengaruh dari masing-masing variabel secara parsial (dengan asumsi variabel lain konstan) adalah:

  • Setiap kenaikan 1 unit Jam Belajar (X1) akan meningkatkan Nilai Ujian sebesar 0.2271 unit.

  • Setiap kenaikan 1 unit Nilai Sebelumnya (X2) akan meningkatkan Nilai Ujian sebesar 0.0471 unit.

  • Setiap kenaikan 1 unit Kehadiran (X3) akan meningkatkan Nilai Ujian sebesar 0.1991 unit.

  1. Model Regresi Optimal dan Kecocokan Model
  • Model regresi yang paling tepat dan efisien untuk menjelaskan hubungan antara variabel independen dan dependen adalah Y = 43,0236 +0,2271 (X1) + 0,0471(X2) + 0,1991(X3)

  • Model ini memiliki Koefisien Determinasi Terkoreksi (Adj R Kuadrat) sebesar 78.92%, yang menunjukkan bahwa 78.92% variasi dalam Nilai Ujian dapat dijelaskan secara simultan oleh variasi Jam Belajar, Nilai Sebelumnya, dan Kehadiran. Sementara sisanya (sekitar 21.08%) dijelaskan oleh faktor lain di luar model.

  • Model terpilih ini juga memiliki nilai AIC terkecil (60.23) dan BIC terkecil (67.48) dibandingkan model penuh dan model Forward, yang mengindikasikan model ini adalah yang paling parsimoni (sederhana) dan paling baik.

  1. Uji Asumsi Klasik
  • Model regresi terpilih telah memenuhi semua asumsi klasik yang diperlukan, yaitu tidak ada Multikolinearitas (nilai VIF semua prediktor mendekati 1), Homoskedastisitas terpenuhi (p-value Uji Breusch-Pagan = 0.6702 > 0.05), Normalitas Residual terpenuhi (p-value Uji Shapiro-Wilk = 0.4077 > 0.05), tidak ada Autokorelasi (p-value Uji Durbin-Watson = 0.994 > 0.05).

  • Dengan demikian, model regresi yang dihasilkan adalah BLUE (Best Linear Unbiased Estimator) dan dapat memberikan gambaran yang valid serta kuat tentang faktor-faktor yang memengaruhi nilai ujian.

5.2 Saran

Berdasarkan temuan bahwa Jam Belajar (X1), Nilai Sebelumnya (X2), dan Kehadiran (X3) adalah prediktor yang signifikan terhadap Nilai Ujian (Y), maka disarankan untuk Prioritaskan peningkatan kualitas dan kuantitas Jam Belajar serta menjaga Tingkat Kehadiran karena kedua faktor ini terbukti paling berpengaruh positif terhadap pencapaian nilai ujian.

DAFTAR PUSTAKA

[1] Astuti, N. P., & Kartika, R. (2022). Pengaruh fasilitas belajar, motivasi, manajemen waktu, dan lingkungan keluarga terhadap prestasi belajar siswa. Jurnal Pendidikan dan Pembelajaran, 9(3).

[2] Anjani, E. T. (2023). Pengaruh manajemen waktu belajar dalam peningkatan kedisiplinan dan prestasi pada siswa SMA/SMK. Karimah Tauhid, 2(5).

[3] Fepriyanto, T., Wahyudi, A., & Kurniawan, R. (2022). Hubungan aktivitas fisik terhadap kebugaran jasmani dan prestasi akademik mahasiswa STKIP PGRI Sumenep. Jurnal Sains Keolahragaan dan Kesehatan, 6(2).

[4] Suwandaru, B., & Hidayat, R. (2022). Hubungan aktivitas fisik dengan prestasi belajar siswa SMK Negeri 1 Surabaya. Jurnal Pendidikan Jasmani, Olahraga, dan Kesehatan, 10(1).

[5] Douglas, C., & Montgomery, E. (2012). Introduction to Linear Regression Analysis FIFTH EDITION. WILEY A JOHN WILEY & SONS, INC., PUBLICATION.

[6] Nuzwan Sudariana, M. d. (2022). ANALISIS STATISTIK REGRESI LINIER BERGANDA. Seniman Transactions on Management and Business.

[7] Purnomo, R. A. (2016). Analisis Statistik Ekonomi dan Bisnis. Ponorogo: CV. WADE GROUP : CV. WADE GROUP.

[8] Nisfiannoor, M. (2009). Pendekatan Statistika Modern untuk Ilmu Sosial. JAKARTA: Salemba.

[9] Vikaliana, R. (2022). RAGAM PENELITIAN DENGAN SPSS. Sukoharjo: Tahta Media Group.

[10] Arnas, Y. S. (2023). The Effect of Work Discipline and Work Environment on Employee Performance at PT Axia Multi Sarana Kota Jakarta Selatan. Arnas, Y., Susbiyantoro, S., & Harsono, Y. (2023). The Effect of Work Discipline and Work Environment on Employee Performance at International Journal of Economics, Business and Accounting Research (IJEBAR), 7(1).

[11] Qudratullah, M. F. (2013). Analisis Regresi Terapan : Teori, Contoh Kasus dan Aplikasi Dengan SPSS. Yogyakarta: Penerbit Andi.

[12] Yiniarto, R. K. (2016 ). ANALISIS REGRESI. Indonesia Kencana Prenada Media