Variabel dependen (Y): Nilai UAS
Variabel independen (X): kehadirah sebagai (X1) dan IQ sebagai (X2)
Pemodelan Regresi Berganda
Input Data di R
# Data
IQ <- c(110,120,115,130,110,120,120,125,110,120)
Kehadiran <- c(60,70,75,80,80,90,95,95,100,100)
Nilai <- c(65,70,75,75,80,80,85,95,90,98)
data <- data.frame(IQ, Kehadiran, Nilai)
data## IQ Kehadiran Nilai
## 1 110 60 65
## 2 120 70 70
## 3 115 75 75
## 4 130 80 75
## 5 110 80 80
## 6 120 90 80
## 7 120 95 85
## 8 125 95 95
## 9 110 100 90
## 10 120 100 98Hitung Manual (Metode Matriks)
Model yang digunakan:
​
Dengan rumus estimator:
# Membentuk matriks X (tambahkan intercept)
X <- cbind(1, data$Kehadiran, data$IQ)
# Matriks Y
Y <- matrix(data$Nilai, ncol = 1)
# Hitung beta
beta <- solve(t(X) %*% X) %*% t(X) %*% Y
beta## [,1]
## [1,] 23.0544545
## [2,] 0.7372330
## [3,] -0.0343275
Secara perhitungan manual model yang di dapatkan yaitu:
Y = 23.0544545 + 0.7372330 (Kehadiran) - 0.0343275 (IQ)
Intersep sebesar 23.05 merupakan nilai prediksi UAS ketika variabel kehadiran dan IQ bernilai nol, meskipun kondisi ini tidak selalu memiliki makna praktis dalam konteks data. Setiap kenaikan satu satuan kehadiran maka nilai naik sekitar 0.737 poin dengan asumsi IQ tetap. Lalu Koefisien IQ bernilai negatif sebesar -0.034, yang menunjukkan arah hubungan negatif.
Bandingkan dengan Fungsi lm()
##
## Call:
## lm(formula = Nilai ~ 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
## 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
# Tabel Perbandingan
# Koefisien manual (hasil dari beta)
beta_manual <- as.numeric(beta)
# Koefisien dari lm()
beta_lm <- coef(model)
# Nama variabel
variabel <- c("Intercept", "Kehadiran", "IQ")
# Buat data frame perbandingan
perbandingan <- data.frame(
Variabel = variabel,
Manual = round(beta_manual, 6),
lm = round(beta_lm, 6),
Selisih = round(beta_manual - beta_lm, 10)
)
# Tampilkan tabel
perbandingan## Variabel Manual lm Selisih
## (Intercept) Intercept 23.054454 23.054454 0
## Kehadiran Kehadiran 0.737233 0.737233 0
## IQ IQ -0.034327 -0.034327 0
Model manual dan lm() menghasilkan koefisien yang sama, ini membuktikan perhitungan manual valid dan fungsi lm() bekerja dengan baik.
Uji F
Pada uji F akan di uji
Hitung Manual
# Prediksi
Y_hat <- X %*% beta
# Total Sum of Squares
SST <- sum((Y - mean(Y))^2)
# Regression Sum of Squares
SSR <- sum((Y_hat - mean(Y))^2)
# Error Sum of Squares
SSE <- sum((Y - Y_hat)^2)
# Jumlah variabel & sampel
k <- 2
n <- 10
# Hitung F
F_hit <- (SSR/k) / (SSE/(n - k - 1))
F_hit## [1] 23.82303Gunakan model lm
##
## Call:
## lm(formula = Nilai ~ 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
## 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
## Analysis of Variance Table
##
## Response: Nilai
## Df Sum Sq Mean Sq F value Pr(>F)
## Kehadiran 1 899.43 899.43 47.6218 0.0002312 ***
## IQ 1 0.46 0.46 0.0242 0.8806861
## Residuals 7 132.21 18.89
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1Keputusan
Dari setiap perhitungan yang dilakukan didapatkan
F hitung (manual) = 23.82303
Dari lm():
Karna nilai p-value = 0.0007523 lebih kecil dari nilai alpha = 0.05, maka Tolak H0. Dari F tabel yang di peroleh F(0.05; 2, 7) = 4.47, nilai F tabel ini jauh lebih kecil dibanfingkan dengan nilai F hitung = 23.82, Maka H0 ditolak. Hal ini menunjukkan bahwa secara simultan variabel kehadiran dan IQ berpengaruh signifikan terhadap nilai UAS. Dengan demikian, model regresi yang digunakan layak untuk menjelaskan hubungan antara variabel independen dan dependen.
Uji T
Cara Manual
# Varians error
sigma2 <- SSE / (n - k - 1)
# Varians beta
var_beta <- sigma2 * solve(t(X) %*% X)
# Standard error
se_beta <- sqrt(diag(var_beta))
# t hitung
t_hit <- beta / se_beta
t_hit## [,1]
## [1,] 0.9015644
## [2,] 6.7524718
## [3,] -0.1556715Ambil dari summary(model)
##
## Call:
## lm(formula = Nilai ~ 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
## 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.0007523Derajat Bebas
Keputusan Uji
p-value < alpha -> Tolak H0
p-value > alpha -> Gagal Tolak H0
Diketahui nilai alpha sebesar 0.05 (dua arah) dan df sebesar 7, maka nilai T tabel t(0.025; 7) sebesar 2.365.
# Ambil hasil summary
hasil <- summary(model)$coefficients
# Ambil hanya variabel X1 dan X2
hasil_var <- hasil[c("Kehadiran", "IQ"), ]
# Parameter
alpha <- 0.05
df <- n - k - 1
t_tabel <- qt(1 - alpha/2, df)
# Buat tabel gabungan
uji_t_gabungan <- data.frame(
Variabel = rownames(hasil_var),
t_hitung = round(hasil_var[, "t value"], 3),
t_tabel = round(t_tabel, 3),
p_value = round(hasil_var[, "Pr(>|t|)"], 6),
Keputusan_t = ifelse(abs(hasil_var[, "t value"]) > t_tabel,
"Tolak H0",
"Gagal Tolak H0"),
Keputusan_p = ifelse(hasil_var[, "Pr(>|t|)"] < alpha,
"Tolak H0",
"Gagal Tolak H0")
)
# Tampilkan
uji_t_gabungan## Variabel t_hitung t_tabel p_value Keputusan_t Keputusan_p
## Kehadiran Kehadiran 6.752 2.365 0.000264 Tolak H0 Tolak H0
## IQ IQ -0.156 2.365 0.880686 Gagal Tolak H0 Gagal Tolak H0
Baik pendekatan melalui T tabel maupun p-value sepakatt memberikan keputusan yang sama, kehadirah menjadi variabel berpengruh signifikan terhadap nilai UAS, sedangkan IQ menjad variabel yang tidak memberikan pengaruh terhadap nilai UAS.
Koefisien determinasi (R²)
Gunakan rumus:
## [1] 0.8719029
## [1] 0.8719029
Berdasarkan hasil perhitungan diperoleh nilai koefisien determinasi (R²) sebesar 0.8719, yang menunjukkan bahwa sebesar 87.19% variasi nilai UAS dapat dijelaskan oleh variabel kehadiran dan IQ, sedangkan sisanya sebesar 12.81% dijelaskan oleh faktor lain di luar model.
Uji Asumsi Klasik
Uji Normalitas Residual
##
## Shapiro-Wilk normality test
##
## data: res
## W = 0.95125, p-value = 0.6833
Nilai p-value yang dihasilkan dari uji Shapiro-Wilk sebesar 0.6833 dimana lebih besar dari nilai alpha 0.05 dari hasil ini maka residual berdistribusi normal.
Untuk Q-Q plot, grafik menghasilkan titik-titik yang mengikuti garis diagonal, dan tidak terlihat adanya pola aneh maka distribusi residual mendekati normal.
Uji Homoskedastisitas
## Loading required package: zoo
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
##
## studentized Breusch-Pagan test
##
## data: model
## BP = 5.905, df = 2, p-value = 0.05221
Berdasarkan uji Breusch-Pagan diperoleh p-value sebesar 0.05221 (> 0.05), sehingga tidak terdapat cukup bukti adanya heteroskedastisitas. Hal ini didukung oleh grafik scatterplot antara residual dan nilai prediksi yang menunjukkan penyebaran acak tanpa pola tertentu. Dengan demikian, asumsi homoskedastisitas dapat dianggap terpenuhi. Namun nilai p-value yang mendekati batas signifikansi menunjukkan bahwa meskipun tidak terdapat bukti kuat adanya heteroskedastisitas, indikasi awal tetap perlu diperhatikan
Uji Multikolinearitas
## Loading required package: carData
## Kehadiran IQ
## 1.055571 1.055571
Berdasarkan hasil uji multikolinearitas menggunakan Variance Inflation Factor (VIF), diperoleh nilai VIF untuk variabel kehadiran dan IQ masing-masing sebesar 1.055571 (< 10). Hal ini menunjukkan bahwa tidak terdapat multikolinearitas antar variabel independen dalam model regresi.
Uji Autokorelasi
##
## Durbin-Watson test
##
## data: model
## DW = 2.594, p-value = 0.8013
## alternative hypothesis: true autocorrelation is greater than 0
Berdasarkan uji Durbin-Watson diperoleh nilai DW sebesar 2.594 dengan p-value sebesar 0.8013 (> 0.05), sehingga tidak terdapat autokorelasi dalam model regresi. Dengan demikian, asumsi independensi residual terpenuhi.
Kesimpulan
Berdasarkan hasil analisis regresi linier berganda yang telah dilakukan, diperoleh model:
Y = 23.0544545 + 0.7372330 (Kehadiran) - 0.0343275 (IQ)
Hasil perhitungan manual dan menggunakan fungsi lm()
menunjukkan koefisien yang sama, sehingga dapat disimpulkan bahwa
perhitungan manual telah dilakukan dengan benar.
Berdasarkan uji F, diperoleh bahwa model regresi secara simultan signifikan, yang berarti variabel kehadiran dan IQ secara bersama-sama berpengaruh terhadap nilai UAS. Namun, berdasarkan uji t, hanya variabel kehadiran yang berpengaruh signifikan terhadap nilai UAS, sedangkan variabel IQ tidak menunjukkan pengaruh yang signifikan.
Nilai koefisien determinasi (R²) sebesar 0.8719 menunjukkan bahwa sebesar 87.19% variasi nilai UAS dapat dijelaskan oleh variabel kehadiran dan IQ, sedangkan sisanya sebesar 12.81% dipengaruhi oleh faktor lain di luar model.
Berdasarkan uji asumsi klasik, model regresi telah memenuhi asumsi normalitas, tidak terjadi multikolinearitas, tidak terdapat autokorelasi, dan tidak terdapat indikasi heteroskedastisitas, sehingga model dapat dianggap layak digunakan.