Regresi linear sederhana merupakan metode statistik yang digunakan untuk mengetahui hubungan antara satu variabel independen dengan satu variabel dependen. Analisis ini digunakan variabel Hours Studied sebagai variabel independen dan Performance Index sebagai variabel dependen.
Tujuan analisis ini adalah untuk mengetahui apakah lama waktu belajar (Hours Studied) berpengaruh terhadap nilai Performance Index.
Regresi linear sederhana merupakan metode statistik yang digunakan untuk mengetahui hubungan antara satu variabel independen (X) dengan satu variabel dependen (Y). Analisis regresi bertujuan untuk melihat pengaruh variabel bebas terhadap variabel terikat serta memprediksi nilai Y berdasarkan X.
Model regresi linear sederhana: Y = a + bX + e
Keterangan: - Y = variabel dependen
- X = variabel independen
- a = konstanta
- b = koefisien regresi
- e = error
Dalam penelitian ini: - X = Hours Studied
- Y = Performance Index
Performance Index merupakan ukuran yang digunakan untuk menunjukkan tingkat performa atau pencapaian siswa dalam proses pembelajaran. Nilai ini dipengaruhi oleh berbagai faktor seperti lama belajar, kualitas tidur, dan latihan soal.
Hours Studied merupakan jumlah waktu yang digunakan siswa untuk belajar dalam periode tertentu. Semakin lama waktu belajar, semakin tinggi pemahaman siswa terhadap materi.
Hours Studied diduga memiliki pengaruh terhadap Performance Index. Semakin lama siswa belajar, maka Performance Index cenderung meningkat.
Sebelum analisis regresi dilakukan, perlu uji asumsi:
Residual harus berdistribusi normal.
Varians residual harus konstan.
Hubungan X dan Y harus linear.
data <- read.csv("Student_Performance.csv")
data50 <- head(data, 50)
data50
## Hours.Studied Previous.Scores Extracurricular.Activities Sleep.Hours
## 1 7 99 Yes 9
## 2 4 82 No 4
## 3 8 51 Yes 7
## 4 5 52 Yes 5
## 5 7 75 No 8
## 6 3 78 No 9
## 7 7 73 Yes 5
## 8 8 45 Yes 4
## 9 5 77 No 8
## 10 4 89 No 4
## 11 8 91 No 4
## 12 8 79 No 6
## 13 3 47 No 9
## 14 6 47 No 4
## 15 5 79 No 7
## 16 2 72 No 4
## 17 8 73 Yes 8
## 18 6 83 Yes 7
## 19 2 54 Yes 4
## 20 5 75 No 7
## 21 1 99 Yes 4
## 22 6 96 No 9
## 23 9 74 Yes 7
## 24 1 85 No 5
## 25 3 61 No 6
## 26 7 62 Yes 7
## 27 4 79 No 8
## 28 9 84 Yes 6
## 29 3 94 Yes 6
## 30 5 90 Yes 4
## 31 3 61 Yes 7
## 32 7 44 Yes 9
## 33 5 70 Yes 6
## 34 9 52 Yes 8
## 35 7 67 Yes 9
## 36 2 97 Yes 9
## 37 4 59 No 8
## 38 9 72 No 8
## 39 2 55 Yes 4
## 40 9 68 No 5
## 41 5 62 No 7
## 42 2 63 Yes 6
## 43 4 73 Yes 7
## 44 7 46 No 9
## 45 8 77 Yes 6
## 46 3 76 Yes 4
## 47 1 43 Yes 7
## 48 4 73 No 4
## 49 2 81 Yes 4
## 50 8 61 No 7
## Sample.Question.Papers.Practiced Performance.Index
## 1 1 91
## 2 2 65
## 3 2 45
## 4 2 36
## 5 5 66
## 6 6 61
## 7 6 63
## 8 6 42
## 9 2 61
## 10 0 69
## 11 5 84
## 12 2 73
## 13 2 27
## 14 2 33
## 15 8 68
## 16 3 43
## 17 4 67
## 18 2 70
## 19 9 30
## 20 0 63
## 21 3 71
## 22 0 85
## 23 6 73
## 24 6 57
## 25 3 35
## 26 4 49
## 27 9 66
## 28 6 83
## 29 5 74
## 30 3 74
## 31 3 39
## 32 1 36
## 33 9 58
## 34 1 47
## 35 3 60
## 36 4 74
## 37 3 42
## 38 2 68
## 39 1 32
## 40 3 64
## 41 4 45
## 42 0 39
## 43 0 58
## 44 5 36
## 45 4 71
## 46 3 54
## 47 0 17
## 48 6 54
## 49 3 58
## 50 2 53
Penjelasan: Mengimpor dataset dan mengambil 50 data pertama.
summary(data50)
## Hours.Studied Previous.Scores Extracurricular.Activities Sleep.Hours
## Min. :1.0 Min. :43.0 Length:50 Min. :4.00
## 1st Qu.:3.0 1st Qu.:61.0 Class :character 1st Qu.:4.25
## Median :5.0 Median :73.0 Mode :character Median :7.00
## Mean :5.2 Mean :70.9 Mean :6.38
## 3rd Qu.:7.0 3rd Qu.:80.5 3rd Qu.:8.00
## Max. :9.0 Max. :99.0 Max. :9.00
## Sample.Question.Papers.Practiced Performance.Index
## Min. :0.00 Min. :17.00
## 1st Qu.:2.00 1st Qu.:42.25
## Median :3.00 Median :59.00
## Mean :3.42 Mean :56.58
## 3rd Qu.:5.00 3rd Qu.:68.75
## Max. :9.00 Max. :91.00
library(psych)
describe(data50)
## vars n mean sd median trimmed mad min
## Hours.Studied 1 50 5.20 2.49 5 5.20 2.97 1
## Previous.Scores 2 50 70.90 15.61 73 70.88 16.31 43
## Extracurricular.Activities* 3 50 1.54 0.50 2 1.55 0.00 1
## Sleep.Hours 4 50 6.38 1.81 7 6.35 2.22 4
## Sample.Question.Papers.Practiced 5 50 3.42 2.43 3 3.25 2.22 0
## Performance.Index 6 50 56.58 17.01 59 56.83 19.27 17
## max range skew kurtosis se
## Hours.Studied 9 8 -0.03 -1.30 0.35
## Previous.Scores 99 56 -0.08 -0.92 2.21
## Extracurricular.Activities* 2 1 -0.16 -2.01 0.07
## Sleep.Hours 9 5 -0.03 -1.39 0.26
## Sample.Question.Papers.Practiced 9 9 0.60 -0.29 0.34
## Performance.Index 91 74 -0.20 -0.79 2.40
Penjelasan: Menampilkan statistik deskriptif dasar dan lengkap.
plot(data50$Hours.Studied,
data50$Performance.Index,
main = "Scatter Plot Hours Studied vs Performance Index",
xlab = "Hours Studied",
ylab = "Performance Index",
pch = 19)
Penjelasan: Melihat hubungan awal antar variabel.
model <- lm(Performance.Index ~ Hours.Studied, data = data50)
model
##
## Call:
## lm(formula = Performance.Index ~ Hours.Studied, data = data50)
##
## Coefficients:
## (Intercept) Hours.Studied
## 44.141 2.392
Penjelasan: Membentuk model regresi linear sederhana.
summary(model)
##
## Call:
## lm(formula = Performance.Index ~ Hours.Studied, data = data50)
##
## Residuals:
## Min 1Q Median 3Q Max
## -29.533 -12.210 2.506 11.085 30.114
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 44.141 5.312 8.310 7.52e-11 ***
## Hours.Studied 2.392 0.923 2.592 0.0126 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 16.09 on 48 degrees of freedom
## Multiple R-squared: 0.1228, Adjusted R-squared: 0.1045
## F-statistic: 6.717 on 1 and 48 DF, p-value: 0.01261
Penjelasan: Menampilkan hasil uji t, uji F, p-value, dan R-squared.
shapiro.test(residuals(model))
##
## Shapiro-Wilk normality test
##
## data: residuals(model)
## W = 0.96228, p-value = 0.1107
library(lmtest)
## Warning: package 'lmtest' was built under R version 4.4.3
## Loading required package: zoo
## Warning: package 'zoo' was built under R version 4.4.3
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
bptest(model)
##
## studentized Breusch-Pagan test
##
## data: model
## BP = 0.75424, df = 1, p-value = 0.3851
plot(model$fitted.values,
residuals(model),
xlab = "Nilai Prediksi",
ylab = "Residual",
main = "Scatter Plot Residual")
abline(h = 0)
resettest(model)
##
## RESET test
##
## data: model
## RESET = 0.058489, df1 = 2, df2 = 46, p-value = 0.9433
plot(data50$Hours.Studied,
data50$Performance.Index)
abline(model, col = "red")
Berdasarkan scatter plot, terlihat hubungan positif antara Hours Studied dan Performance Index. Semakin lama waktu belajar, semakin tinggi nilai Performance Index.
Persamaan regresi: Y = 44.141 + 2.392X
Karena p-value < 0.05 → H0 ditolak
→ Hours Studied berpengaruh signifikan
Model signifikan
0.1228 → 12.28% variasi dijelaskan model
p-value = 0.1107 > 0.05 → normal
p-value = 0.3851 > 0.05 → tidak heteroskedastisitas
p-value = 0.9433 > 0.05 → linear
Residual menyebar acak di sekitar nol → model memenuhi asumsi.
Berdasarkan hasil analisis regresi linear sederhana:
Model regresi layak digunakan.