library(readxl)
data <- read_excel("~/Documents/intan/Nilai UAS.xlsx")
# Cek kolom yang tersedia
names(data)
## [1] "Siswa" "IQ" "Tingkat Kehadiran (%)"
## [4] "Nilai UAS"
# Akses kolom dengan benar
data$`Tingkat Kehadiran (%)`
## [1] 60 70 70 80 80 90 95 95 100 100
# Membuat model regresi linier
model <- lm(`Nilai UAS` ~ `Tingkat Kehadiran (%)` + IQ, data = data)
# Menampilkan ringkasan model
summary(model)
##
## Call:
## lm(formula = `Nilai UAS` ~ `Tingkat Kehadiran (%)` + IQ, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.9745 -2.0494 0.5995 1.7944 2.9785
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 30.01869 15.09787 1.988 0.0871 .
## `Tingkat Kehadiran (%)` 0.79747 0.06015 13.258 3.25e-06 ***
## IQ -0.10723 0.12685 -0.845 0.4259
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.512 on 7 degrees of freedom
## Multiple R-squared: 0.962, Adjusted R-squared: 0.9512
## F-statistic: 88.71 on 2 and 7 DF, p-value: 1.066e-05
Y <- as.matrix("~/Documents/intan/Nilai UAS.xlsx")
X1 <- data$`Tingkat Kehadiran (%) `
## Warning: Unknown or uninitialised column: `Tingkat Kehadiran (%) `.
X2 <- data$IQ
n <- length(Y)
# Menampilkan ringkasan model
summary(model)
##
## Call:
## lm(formula = `Nilai UAS` ~ `Tingkat Kehadiran (%)` + IQ, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.9745 -2.0494 0.5995 1.7944 2.9785
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 30.01869 15.09787 1.988 0.0871 .
## `Tingkat Kehadiran (%)` 0.79747 0.06015 13.258 3.25e-06 ***
## IQ -0.10723 0.12685 -0.845 0.4259
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.512 on 7 degrees of freedom
## Multiple R-squared: 0.962, Adjusted R-squared: 0.9512
## F-statistic: 88.71 on 2 and 7 DF, p-value: 1.066e-05
X <- cbind(1, X1, X2)
Xt <- t(X)
Xt
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
## 1 1 1 1 1 1 1 1 1 1
## X1 60 70 75 80 80 90 95 95 100 100
## X2 110 120 115 130 110 120 120 125 110 120
XtX <- Xt %*% X
XtX
## X1 X2
## 10 845 1180
## X1 845 73075 99900
## X2 1180 99900 139650
XtX_inv <- solve(XtX)
XtX_inv
## X1 X2
## 34.62208967 -0.0188185492 -0.2790840870
## X1 -0.01881855 0.0006311333 -0.0002924764
## X2 -0.27908409 -0.0002924764 0.0025745622
XtY <- Xt %*% Y
XtY
## [,1]
## 813
## X1 69925
## X2 96060
## [,1]
## 23.0544545
## X1 0.7372330
## X2 -0.0343275
Dari hasil perhitungan diperoleh koefisien regresi sebagai berikut:
𝛽0=23.05445
, 𝛽1=0.73723(Tingkat Kehadiran)
, 𝛽2=−0.03433(IQ)
.
Sehingga diperoleh persamaan regresi linier berganda sebagai berikut:
𝑌̂ =23.05445+0.73723𝑋1−0.03433𝑋2
beta_manual <- XtX_inv %*% XtY beta_manual
model <- lm(`Nilai UAS` ~ `Tingkat Kehadiran` + `IQ`, data=data)
summary(model)
##
## Call:
## lm(formula = `Nilai UAS` ~ `Tingkat Kehadiran` + IQ, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -5.2861 -2.8939 0.0296 1.6791 6.1993
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 23.05445 25.57161 0.902 0.397247
## `Tingkat Kehadiran` 0.73723 0.10918 6.752 0.000264 ***
## IQ -0.03433 0.22051 -0.156 0.880686
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 4.346 on 7 degrees of freedom
## Multiple R-squared: 0.8719, Adjusted R-squared: 0.8353
## F-statistic: 23.82 on 2 and 7 DF, p-value: 0.0007523
Berdasarkan hasil perhitungan dengan menggunakan fungsi lm(), diperoleh persamaan regresi linier berganda sebagai berikut:
𝑌̂ =23.05445+0.73723𝑋1−0.03433𝑋2
Berdasarkan hasil yang diperoleh, baik dengan menggunakan cara manual maupun dengan menggunakan fungsi lm, nilai koefisien regresi dari kedua metode menunjukkan hasil yang sama, yaitu:
𝛽0=23.05445
, 𝛽1=0.73723(Tingkat Kehadiran)
, 𝛽2=−0.03433(IQ)
.
Sehingga persamaan regresi yang diperoleh yaitu:
𝑌̂ =23.05445+0.73723𝑋1−0.03433𝑋2
Berdasarkan persamaan regresi yang telah diperoleh, variabel tingkat kehadiran (𝑋1
) menunjukkan pengaruh positif terhadap nilai UAS (𝑌
). Hal ini berarti bahwa setiap kenaikan 1% tingkat kehadiran akan meningkatkan nilai UAS sebesar 0.73723, dengan asumsi variabel IQ (𝑋2
) konstan.
Sementara itu, variabel IQ (𝑋2
) memiliki pengaruh negatif yang sangat kecil dan tidak signifikan terhadap nilai UAS (𝑌
). Artinya, setiap kenaikan 1 satuan IQ akan menurunkan nilai UAS sebesar 0.03433, dengan asumsi tingkat kehadiran (𝑋1
) konstan. Namun, karena pengaruhnya sangat kecil dan tidak signifikan, maka variabel IQ tidak memberikan kontribusi yang berarti terhadap perubahan nilai UAS dalam model ini.
Selain itu, nilai konstanta (intercept) sebesar 23.05445 menunjukkan bahwa ketika tingkat kehadiran (𝑋1
) dan IQ (𝑋2
) bernilai nol, maka nilai UAS diperkirakan sebesar 23.05445. Meskipun demikian, interpretasi ini bersifat matematis dan tidak selalu memiliki makna praktis dalam konteks nyata. Dengan demikian, dapat disimpulkan bahwa tingkat kehadiran merupakan faktor yang lebih dominan dalam memengaruhi nilai UAS dibandingkan dengan IQ.
𝐻0:𝛽1=𝛽2=0
(Tingkat kehadiran dan IQ secara bersama-sama tidak berpengaruh terhadap nilai UAS)
𝐻1:minimal terdapat satu 𝛽𝑖≠0
(Tingkat kehadiran dan IQ secara bersama-sama berpengaruh terhadap nilai UAS)
Dengan menggunakan taraf signifikansi sebesar 𝛼=0.05
, maka kriteria pengujian adalah tolak 𝐻0
jika 𝑝−𝑣𝑎𝑙𝑢𝑒<𝛼.
summary(model)
##
## Call:
## lm(formula = `Nilai UAS` ~ `Tingkat Kehadiran (%)` + IQ, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.9745 -2.0494 0.5995 1.7944 2.9785
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 30.01869 15.09787 1.988 0.0871 .
## `Tingkat Kehadiran (%)` 0.79747 0.06015 13.258 3.25e-06 ***
## IQ -0.10723 0.12685 -0.845 0.4259
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.512 on 7 degrees of freedom
## Multiple R-squared: 0.962, Adjusted R-squared: 0.9512
## F-statistic: 88.71 on 2 and 7 DF, p-value: 1.066e-05
##
## Call:
## lm(formula = `Nilai UAS` ~ `Tingkat Kehadiran` + IQ, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -5.2861 -2.8939 0.0296 1.6791 6.1993
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 23.05445 25.57161 0.902 0.397247
## `Tingkat Kehadiran` 0.73723 0.10918 6.752 0.000264 ***
## IQ -0.03433 0.22051 -0.156 0.880686
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 4.346 on 7 degrees of freedom
## Multiple R-squared: 0.8719, Adjusted R-squared: 0.8353
## F-statistic: 23.82 on 2 and 7 DF, p-value: 0.0007523
Berdasarkan hasil dari ringkasan model regresi tersebut, diperoleh nilai F-statistic sebesar 23,82 dengan p-value sebesar 0,0007523. Dengan menggunakan tingkat signifikansi 𝛼=0.05
, diketahui bahwa 𝑝−𝑣𝑎𝑙𝑢𝑒<0,05
, sehingga tolak 𝐻0
. Hal ini menunjukkan bahwa secara simultan variabel tingkat kehadiran (𝑋1
) dan IQ (𝑋2
) memiliki pengaruh yang signifikan terhadap nilai UAS (𝑌
). Dengan demikian, model regresi linier berganda yang digunakan dapat dinyatakan layak untuk menjelaskan hubungan antara variabel independen dan variabel dependen.
𝐻0𝐻1:𝛽1=0(Tingkat kehadiran tidak berpengaruh terhadap nilai UAS):𝛽1≠0(Tingkat kehadiran berpengaruh terhadap nilai UAS)
Dengan menggunakan taraf signifikansi sebesar 𝛼=0.05
, maka kriteria pengujian adalah tolak 𝐻0
jika 𝑝−𝑣𝑎𝑙𝑢𝑒<𝛼.
summary(model)
##
## Call:
## lm(formula = `Nilai UAS` ~ `Tingkat Kehadiran (%)` + IQ, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.9745 -2.0494 0.5995 1.7944 2.9785
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 30.01869 15.09787 1.988 0.0871 .
## `Tingkat Kehadiran (%)` 0.79747 0.06015 13.258 3.25e-06 ***
## IQ -0.10723 0.12685 -0.845 0.4259
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.512 on 7 degrees of freedom
## Multiple R-squared: 0.962, Adjusted R-squared: 0.9512
## F-statistic: 88.71 on 2 and 7 DF, p-value: 1.066e-05
##
## Call:
## lm(formula = `Nilai UAS` ~ `Tingkat Kehadiran` + IQ, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -5.2861 -2.8939 0.0296 1.6791 6.1993
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 23.05445 25.57161 0.902 0.397247
## `Tingkat Kehadiran` 0.73723 0.10918 6.752 0.000264 ***
## IQ -0.03433 0.22051 -0.156 0.880686
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 4.346 on 7 degrees of freedom
## Multiple R-squared: 0.8719, Adjusted R-squared: 0.8353
## F-statistic: 23.82 on 2 and 7 DF, p-value: 0.0007523
Berdasarkan output tersebut, dapat disimpulkan bahwa variabel tingkat kehadiran (𝑋1
) memiliki nilai p-value sebesar 0,000264 (< 0,05), sehingga tolak 𝐻0
. Hal ini berarti bahwa tingkat kehadiran berpengaruh signifikan terhadap nilai UAS. Sementara itu, variabel IQ (𝑋2
) memiliki p-value sebesar 0,880686 (> 0,05), sehingga gagal tolak 𝐻0
. Hal ini menunjukkan bahwa IQ tidak memberikan pengaruh yang signifikan terhadap nilai UAS.
summary(model)
##
## Call:
## lm(formula = `Nilai UAS` ~ `Tingkat Kehadiran (%)` + IQ, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.9745 -2.0494 0.5995 1.7944 2.9785
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 30.01869 15.09787 1.988 0.0871 .
## `Tingkat Kehadiran (%)` 0.79747 0.06015 13.258 3.25e-06 ***
## IQ -0.10723 0.12685 -0.845 0.4259
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.512 on 7 degrees of freedom
## Multiple R-squared: 0.962, Adjusted R-squared: 0.9512
## F-statistic: 88.71 on 2 and 7 DF, p-value: 1.066e-05
##
## Call:
## lm(formula = `Nilai UAS` ~ `Tingkat Kehadiran` + IQ, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -5.2861 -2.8939 0.0296 1.6791 6.1993
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 23.05445 25.57161 0.902 0.397247
## `Tingkat Kehadiran` 0.73723 0.10918 6.752 0.000264 ***
## IQ -0.03433 0.22051 -0.156 0.880686
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 4.346 on 7 degrees of freedom
## Multiple R-squared: 0.8719, Adjusted R-squared: 0.8353
## F-statistic: 23.82 on 2 and 7 DF, p-value: 0.0007523
Berdasarkan hasil output regresi, diperoleh nilai koefisien determinasi (𝑅2
) sebesar 0,8719 dan Adjusted 𝑅2
sebesar 0,8353. Nilai 𝑅2
sebesar 0,8719 menjelaskan bahwa 87,19% variasi nilai UAS (𝑌
) dapat dijelaskan oleh variabel tingkat kehadiran (𝑋1
) dan IQ (𝑋2
) dalam model regresi yang digunakan. Sementara itu, sebesar 12,81% sisanya dipengaruhi oleh faktor lain di luar model yang tidak termasuk dalam penelitian ini.
Adapun nilai Adjusted 𝑅2
sebesar 0,8353 menunjukkan bahwa sekitar 83,53% variasi nilai UAS masih mampu dijelaskan oleh model. Nilai ini memberikan gambaran yang lebih akurat mengenai kemampuan model dalam menjelaskan variabel dependen.
𝐻0:
Residual berdistribusi normal
𝐻1:
Residual tidak beristribusi normal
Dengan menggunakan taraf signifikansi sebesar 𝛼=0.05
, maka kriteria pengujian adalah tolak 𝐻0
jika 𝑝−𝑣𝑎𝑙𝑢𝑒<𝛼.
# Ambil residual dari model
``` r
galat <- residuals(model)
qqnorm(galat, main = "Q-Q Plot Residual")
qqline(galat, col = "blue")
shapiro.test(galat)
##
## Shapiro-Wilk normality test
##
## data: galat
## W = 0.95125, p-value = 0.6833
Berdasarkan hasil uji normalitas dengan metode grafis (Q-Q plot), terlihat bahwa titik-titik residual cenderung mengikuti dan berada di sekitar garis diagonal. Hal ini menunjukkan bahwa residual berdistribusi mendekati normal. Selain itu, hasil uji Shapiro-Wilk menunjukkan nilai p-value sebesar 0,6833. Dengan menggunakan tingkat signifikansi α=0,05
, diketahui bahwa 𝑝−𝑣𝑎𝑙𝑢𝑒>0,05
, sehingga gagal tolak 𝐻0
. Dengan demikian, dapat disimpulkan bahwa residual berdistribusi normal, sehingga asumsi normalitas dalam model regresi linier berganda telah terpenuhi.
𝐻0:
Varians dari residual menyebar homogen
𝐻1:
Varians dari residual menyebar tidak homogen
Dengan menggunakan taraf signifikansi sebesar 𝛼=0.05
, maka kriteria pengujian adalah tolak 𝐻0
jika 𝑝−𝑣𝑎𝑙𝑢𝑒<𝛼.
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 = 5.905, df = 2, p-value = 0.05221
Berdasarkan hasil uji Breusch-Pagan, diperoleh nilai BP sebesar 5,905 dengan p-value sebesar 0,05221. Dengan menggunakan tingkat signifikansi α=0,05
, diketahui bahwa 𝑝−𝑣𝑎𝑙𝑢𝑒>0,05
, sehingga gagal tolak 𝐻0
. Hal ini menunjukkan bahwa tidak terdapat indikasi heteroskedastisitas dalam model regresi, sehingga varians residual dapat dianggap konstan (homoskedastisitas). Dengan demikian, salah satu asumsi klasik dalam regresi telah terpenuhi.
𝐻0: Tidak terdapat autokorelasi antar residual
𝐻1: Terdapat autokorelasi antar residual
Dengan menggunakan taraf signifikansi sebesar 𝛼=0.05, maka kriteria pengujian adalah tolak 𝐻0
jika 𝑝−𝑣𝑎𝑙𝑢𝑒<𝛼.
dwtest(model, alternative = "two.sided")
##
## Durbin-Watson test
##
## data: model
## DW = 2.594, p-value = 0.3974
## alternative hypothesis: true autocorrelation is not 0
Berdasarkan hasil uji Durbin-Watson, diperoleh nilai DW sebesar 2,594 dengan p-value sebesar 0,3974. Dengan menggunakan tingkat signifikansi α=0,05
, diketahui bahwa 𝑝−𝑣𝑎𝑙𝑢𝑒>0,05
, sehingga gagal tolak 𝐻0
. Hal ini menunjukkan bahwa tidak terdapat gejala autokorelasi pada residual model regresi. Dengan demikian, residual bersifat independen dan asumsi autokorelasi telah terpenuhi.
#####VIF
library(car)
## Loading required package: carData
## Warning: package 'car' was built under R version 4.4.3
## Loading required package: carData
vif(model)
## `Tingkat Kehadiran (%)` IQ
## 1.025952 1.025952
## `Tingkat Kehadiran` IQ
## 1.055571 1.055571
Berdasarkan hasil perhitungan Variance Inflation Factor (VIF), diperoleh nilai VIF untuk variabel tingkat kehadiran (𝑋1
) dan IQ (𝑋2
) masing-masing sebesar 1,055571. Karena nilai VIF tersebut lebih kecil dari 10, dapat disimpulkan bahwa model regresi tidak mengalami gejala multikolinearitas.