## Pemanggilan Packages
Menginstal semua library yang dibutuhkan sebelum analisis dimulai. Cukup dijalankan sekali.
``` r
library(readxl)
## Warning: package 'readxl' was built under R version 4.5.3
## Warning: package 'ggplot2' was built under R version 4.5.3
## Warning: package 'lmtest' was built under R version 4.5.3
## Loading required package: zoo
## Warning: package 'zoo' was built under R version 4.5.2
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
## Warning: package 'tseries' was built under R version 4.5.3
## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
## Warning: package 'car' was built under R version 4.5.3
## Loading required package: carData
## Warning: package 'carData' was built under R version 4.5.3
Membaca file Excel ke dalam R sebagai objek dataframe bernama dataset.
## # A tibble: 40 × 5
## `Hours Studied` `Previous Scores` `Sleep Hours` Sample Question Papers Prac…¹
## <dbl> <dbl> <dbl> <dbl>
## 1 7 99 9 1
## 2 4 82 4 2
## 3 8 51 7 2
## 4 5 52 5 2
## 5 7 75 8 5
## 6 3 78 9 6
## 7 7 73 5 6
## 8 8 45 4 6
## 9 5 77 8 2
## 10 4 89 4 0
## # ℹ 30 more rows
## # ℹ abbreviated name: ¹`Sample Question Papers Practiced`
## # ℹ 1 more variable: `Performance Index` <dbl>
Eksplorasi data atau Exploratory Data Analysis (EDA) merupakan proses awal dalam analisis data yang bertujuan untuk memahami karakteristik data sebelum dilakukan pemodelan statistik lebih lanjut. EDA digunakan untuk menemukan pola, mengetahui hubungan antar variabel, mendeteksi data pencilan (outlier), serta memeriksa distribusi data. Menurut John Tukey, eksplorasi data dilakukan untuk membantu peneliti memahami struktur data melalui pendekatan statistik deskriptif dan visualisasi data. Dalam penelitian kuantitatif, eksplorasi data memiliki peran penting karena dapat membantu menentukan metode analisis yang sesuai dan meningkatkan kualitas hasil analisis. Teknik eksplorasi data yang umum digunakan meliputi statistik deskriptif, histogram, boxplot, scatter plot, dan analisis korelasi.
## [1] "Hours Studied" "Previous Scores"
## [3] "Sleep Hours" "Sample Question Papers Practiced"
## [5] "Performance Index"
## Hours Studied Previous Scores Sleep Hours Sample Question Papers Practiced
## Min. :1.00 Min. :44.00 Min. :4.00 Min. :0.00
## 1st Qu.:3.00 1st Qu.:60.50 1st Qu.:4.75 1st Qu.:2.00
## Median :5.00 Median :73.50 Median :7.00 Median :3.00
## Mean :5.40 Mean :72.25 Mean :6.45 Mean :3.60
## 3rd Qu.:7.25 3rd Qu.:83.25 3rd Qu.:8.00 3rd Qu.:5.25
## Max. :9.00 Max. :99.00 Max. :9.00 Max. :9.00
## Performance Index
## Min. :270.0
## 1st Qu.:427.5
## Median :630.0
## Mean :586.0
## 3rd Qu.:702.5
## Max. :910.0
# --- 1b. Scatter Plot ---
# Hours Studied vs Performance Index
plot(dataset$`Hours Studied`,
dataset$`Performance Index`,
main = "Hours Studied vs Performance Index",
xlab = "Hours Studied",
ylab = "Performance Index",
pch = 19)Scatter plot menunjukkan adanya hubungan positif antara jam belajar dan performance index. Semakin lama waktu belajar, performance index cenderung meningkat, meskipun penyebaran data cukup beragam sehingga hubungan antar variabel tidak terlalu kuat.
plot(dataset$`Previous Scores`,
dataset$`Performance Index`,
main = "Previous Scores vs Performance Index",
xlab = "Previous Scores",
ylab = "Performance Index",
pch = 19)Scatter plot menunjukkan adanya hubungan positif yang cukup kuat antara previous scores dan performance index. Semakin tinggi nilai sebelumnya, maka performance index cenderung semakin tinggi. Titik-titik data juga membentuk pola naik yang relatif jelas, sehingga menunjukkan hubungan linear yang cukup kuat antar variabel.
plot(dataset$`Sleep Hours`,
dataset$`Performance Index`,
main = "Sleep Hours vs Performance Index",
xlab = "Sleep Hours",
ylab = "Performance Index",
pch = 19)Scatter plot menunjukkan bahwa hubungan antara sleep hours dan performance index cenderung lemah. Penyebaran titik cukup acak pada setiap jumlah jam tidur, sehingga jam tidur tidak menunjukkan pola linear yang jelas terhadap performance index. Namun, terdapat beberapa performance index tinggi pada jam tidur 6–9 jam.
plot(dataset$`Sample Question Papers Practiced`,
dataset$`Performance Index`,
main = "Question Papers vs Performance Index",
xlab = "Question Papers Practiced",
ylab = "Performance Index",
pch = 19)Scatter plot menunjukkan bahwa hubungan antara jumlah question papers practiced dan performance index cenderung lemah. Titik-titik data tersebar cukup acak dan tidak membentuk pola linear yang jelas. Meskipun beberapa siswa dengan latihan soal lebih banyak memiliki performance index tinggi, terdapat juga nilai performa rendah pada jumlah latihan yang tinggi.
Model regresi linier merupakan metode statistik yang digunakan untuk mengetahui hubungan antara variabel independen (bebas) dengan variabel dependen (terikat). Regresi linier digunakan untuk melihat pengaruh suatu variabel terhadap variabel lainnya serta membantu dalam proses prediksi berdasarkan data yang tersedia. Dalam analisis regresi linier sederhana, hubungan antar variabel digambarkan dalam bentuk persamaan garis lurus.
model_regresi <- lm(`Performance Index` ~
`Hours Studied` +
`Previous Scores` +
`Sleep Hours` +
`Sample Question Papers Practiced`,
data = dataset)
summary(model_regresi)##
## Call:
## lm(formula = `Performance Index` ~ `Hours Studied` + `Previous Scores` +
## `Sleep Hours` + `Sample Question Papers Practiced`, data = dataset)
##
## Residuals:
## Min 1Q Median 3Q Max
## -45.167 -10.165 3.015 8.962 39.906
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -352.2339 19.9628 -17.645 < 2e-16 ***
## `Hours Studied` 30.2616 1.3074 23.147 < 2e-16 ***
## `Previous Scores` 10.1096 0.1964 51.479 < 2e-16 ***
## `Sleep Hours` 4.6858 1.7273 2.713 0.01028 *
## `Sample Question Papers Practiced` 3.9390 1.2691 3.104 0.00377 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 19.43 on 35 degrees of freedom
## Multiple R-squared: 0.9883, Adjusted R-squared: 0.987
## F-statistic: 742.2 on 4 and 35 DF, p-value: < 2.2e-16
Model Regresi : \[ Y=-352,23+30,26X1+10,11X2+4,68X3+3,94X4 \] Interpretasi : Konstanta sebesar −352,2339 menunjukkan bahwa jika seluruh variabel independen bernilai 0, maka Performance Index diprediksi sebesar −352,2339. Koefisien Hours Studied sebesar 30,2616 berarti setiap penambahan 1 jam belajar akan meningkatkan Performance Index sebesar 30,2616 poin, dengan variabel lain dianggap tetap. Koefisien Previous Scores sebesar 10,1096 berarti setiap kenaikan 1 poin nilai sebelumnya akan meningkatkan Performance Index sebesar 10,1096 poin. Koefisien Sleep Hours sebesar 4,6858 berarti setiap tambahan 1 jam tidur akan meningkatkan Performance Index sebesar 4,6858 poin. Koefisien Sample Question Papers Practiced sebesar 3,9390 berarti setiap tambahan 1 latihan soal akan meningkatkan Performance Index sebesar 3,9390 poin.
Analysis of Variance (ANOVA) merupakan metode statistik yang digunakan untuk mengetahui apakah terdapat perbedaan rata-rata antar kelompok atau perlakuan. ANOVA digunakan ketika penelitian melibatkan lebih dari dua kelompok sehingga pengujian tidak cukup dilakukan menggunakan uji t. Dalam analisis ANOVA, pengujian dilakukan dengan membandingkan variasi antar kelompok dengan variasi di dalam kelompok melalui nilai F hitung.
model_anova <- aov(`Performance Index` ~
`Hours Studied` +
`Previous Scores` +
`Sleep Hours` +
`Sample Question Papers Practiced`,
data = dataset)
summary(model_anova)## Df Sum Sq Mean Sq F value Pr(>F)
## `Hours Studied` 1 101217 101217 268.222 < 2e-16 ***
## `Previous Scores` 1 1013331 1013331 2685.288 < 2e-16 ***
## `Sleep Hours` 1 2169 2169 5.748 0.02197 *
## `Sample Question Papers Practiced` 1 3635 3635 9.633 0.00377 **
## Residuals 35 13208 377
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Berdasarkan hasil uji signifikansi model seluruh variabel independen memiliki nilai p-value<(0,05), sehingga berpengaruh signifikan terhadap Performance Index. Variabel Previous Scores memiliki pengaruh paling besar karena memiliki nilai F terbesar (2685,288). Selain itu, model regresi secara keseluruhan signifikan dan layak digunakan untuk menjelaskan hubungan antara variabel independen dengan Performance Index.
Uji asumsi klasik merupakan tahapan penting dalam analisis regresi linear berganda untuk memastikan model regresi memenuhi syarat statistik sehingga hasil analisis dapat digunakan secara valid. Beberapa uji asumsi yang umum digunakan yaitu uji normalitas, uji multikolinearitas, uji heteroskedastisitas, dan uji autokorelasi. Uji normalitas digunakan untuk mengetahui apakah residual berdistribusi normal, uji multikolinearitas untuk melihat hubungan antar variabel independen, uji heteroskedastisitas untuk mengetahui kesamaan varians residual, serta uji autokorelasi untuk melihat hubungan residual antar pengamatan.
model <- lm (`Performance Index` ~
`Hours Studied` +
`Previous Scores` +
`Sleep Hours` +
`Sample Question Papers Practiced`, data=dataset)
resettest(model)##
## RESET test
##
## data: model
## RESET = 1.0999, df1 = 2, df2 = 33, p-value = 0.3448
p-value(0,3448)>(0,05) sehingga gagal menolak H0. Artinya, model regresi sudah memenuhi asumsi linearitas dan hubungan antara variabel independen dengan variabel dependen dapat dianggap linear.
## 1 2 3 4 5 6
## 3.4425741 25.5805346 3.8734964 3.9204750 -14.9975636 17.0953938
## 7 8 9 10 11 12
## -14.6598648 32.8325908 -12.8765434 2.6914233 -8.2691232 5.4910887
## 13 14 15 16 17 18
## 6.2482802 -1.1074139 17.9562837 -36.7393830 -11.1010558 -9.1098145
## 19 20 21 22 23 24
## -8.4007898 39.9064049 0.5635794 7.9719175 5.3356239 -14.4050609
## 25 26 27 28 29 30
## -45.1673042 -44.9482082 19.5930986 8.9256598 3.3385992 0.5032903
## 31 32 33 34 35 36
## -9.8531420 9.4694849 9.6893683 -17.2445743 9.0711903 -6.8470521
## 37 38 39 40
## 5.4185528 -13.3751533 33.0014304 -2.8182941
##
## Jarque Bera Test
##
## data: residual
## X-squared = 1.5622, df = 2, p-value = 0.4579
##
## Shapiro-Wilk normality test
##
## data: residual
## W = 0.95434, p-value = 0.107
##
## Exact one-sample Kolmogorov-Smirnov test
##
## data: residual
## D = 0.12426, p-value = 0.5267
## alternative hypothesis: two-sided
Berdasarkan ketiga uji normalitas tersebut, seluruh p-value>(0,05) sehingga gagal menolak H0. Artinya dapat disimpulkan bahwa residual memenuhi asumsi normalitas atau berdistribusi normal.
##
## studentized Breusch-Pagan test
##
## data: model
## BP = 4.325, df = 4, p-value = 0.3638
p-value(0,33638)>(0,05) sehingga gagal menolak H0. Artinya dapat disimpulkan bahwa model memenuhi asumsi homoskedastisitas.
## Non-constant Variance Score Test
## Variance formula: ~ fitted.values
## Chisquare = 4.705841, Df = 1, p = 0.03006
p-value(0,03006)<(0,05) sehingga menolak H0. Artinya dapat disimpulkan bahwa terdapat heteroskedastisitas dalam model. Berdasarkan uji Breusch-Pagan tidak terdeteksi heteroskedastisitas. Namun pada uji Non-Constant Variance Test mengindikasikan adanya heteroskedastisitas. Oleh karena itu, model diduga masih memiliki gejala heteroskedastisitas ringan.
Berdasarkan grafik scatterplot antara nilai fitted values dan residual, terlihat bahwa titik-titik residual menyebar secara acak di sekitar garis horizontal nol serta tidak membentuk pola tertentu, seperti pola mengerucut atau melebar. Hal tersebut menunjukkan bahwa varians residual cenderung konstan pada setiap nilai prediksi, sehingga dapat disimpulkan bahwa model memenuhi asumsi homoskedastisitas atau tidak terjadi heteroskedastisitas.
##
## Durbin-Watson test
##
## data: model
## DW = 2.121, p-value = 0.6543
## alternative hypothesis: true autocorrelation is greater than 0
##
## Breusch-Godfrey test for serial correlation of order up to 1
##
## data: model
## LM test = 0.16825, df = 1, p-value = 0.6817
##
## Breusch-Godfrey test for serial correlation of order up to 2
##
## data: model
## LM test = 0.37988, df = 2, p-value = 0.827
##
## Box-Ljung test
##
## data: residuals(model)
## X-squared = 7.9274, df = 10, p-value = 0.6359
Berdasarkan ketiga uji non autokorelasi tersebut, seluruh p-value>(0,05) sehingga gagal menolak H0. Artinya dapat disimpulkan bahwa tidak terdapat autokorelasi pada residual model. Dengan demikian, asumsi non autokorelasi telah terpenuhi.
## `Hours Studied` `Previous Scores`
## 1.076189 1.027456
## `Sleep Hours` `Sample Question Papers Practiced`
## 1.058646 1.022652
Seluruh nilai VIF < 10 (bahkan mendekati 1), maka dapat disimpulkan bahwa tidak terjadi multikolinieritas antar variabel independen. Dengan demikian, asumsi non multikolinieritas pada model telah terpenuhi.
Berdasarkan hasil analisis regresi linear berganda yang telah dilakukan, diperoleh kesimpulan bahwa model regresi yang digunakan sudah baik dan layak digunakan. Hal ini ditunjukkan oleh seluruh uji asumsi regresi yang telah terpenuhi, seperti asumsi linearitas, sehingga model dapat menggambarkan hubungan antar variabel dengan baik.
Hasil uji signifikansi juga menunjukkan bahwa seluruh variabel independen, yaitu Hours Studied, Previous Scores, Sleep Hours, dan Sample Question Papers Practiced, berpengaruh signifikan terhadap Performance Index. Dengan demikian, dapat disimpulkan bahwa semakin lama waktu belajar, semakin tinggi nilai sebelumnya, semakin baik jam tidur, dan semakin banyak latihan soal yang dikerjakan, maka Performance Index siswa cenderung meningkat.