Diberikan data tentang IQ (\(X_2\)) dan tingkat kehadiran (\(X_1\)) sepuluh siswa di kelas yang diperkirakan mempengaruhi nilai UAS (\(Y\)).
| Siswa | IQ (X2) | Tingkat kehadiran (%) (X1) | Nilai UAS (Y) |
|---|---|---|---|
| 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 | 98 |
Pertanyaan :
Buatlah persamaan regresi linier berganda! (hitung beta duga secara manual di R dan bandingkan dengan fungsi lm)
Lakukan Uji-F! (interpretasikan hasilnya)
Lakukan Uji-t! (interpretasikan hasilnya)
Berapa koefisien determinasinya? Interpretasi hasil ini!
Lakukan uji asumsi dan jelaskan hasilnya
Proses analisis berikut mencakup estimasi koefisien regresi secara manual/pendekatan aljabar matriks serta membandingkan hasilnya dengan fungsi lm dalam R.
Untuk mendapatkan nilai koefisien secara manual, kita menggunakan pendekatan aljabar matriks. Model yang digunakan adalah: \[Y = \beta_0 + \beta_1 X_1 + \beta_2 X_2 + \epsilon\]
Di mana estimator parameter \(\beta\) dihitung dengan rumus: \[\hat{\beta} = (X^T X)^{-1} X^T Y\]
# Membentuk matriks X dengan kolom Intercept (angka 1)
X <- cbind(Intercept = 1, Kehadiran = df$Kehadiran, IQ = df$IQ)
# Membentuk matriks Y (Nilai UAS)
Y <- matrix(df$Nilai, ncol = 1)
# Menghitung koefisien Beta menggunakan rumus (XtX)^-1 XtY
beta_manual <- solve(t(X) %*% X) %*% t(X) %*% Y
# Menampilkan hasil
print(beta_manual)## [,1]
## Intercept 23.0544545
## Kehadiran 0.7372330
## IQ -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.Setiap peningkatan 1% pada tingkat kehadiran diprediksi akan meningkatkan nilai UAS sebesar 0.737 poin, dengan asumsi IQ tetap. Lalu Koefisien IQ bernilai negatif sebesar -0.034, yang menunjukkan arah hubungan negatif, di mana setiap kenaikan satu satuan IQ diprediksi menurunkan nilai UAS sebesar 0.034 poin jika tingkat kehadiran tetap.
# Estimasi menggunakan fungsi bawaan R
model_regresi <- lm(Nilai ~ Kehadiran + IQ, data = df)
# Tabel perbandingan
perbandingan_koefisien <- data.frame(
Variabel = c("Intercept", "Kehadiran", "IQ"),
Manual = as.numeric(beta_manual),
Fungsi_lm = as.numeric(coef(model_regresi)),
Selisih = as.numeric(beta_manual) - as.numeric(coef(model_regresi))
)
# Menampilkan tabel perbandingan
perbandingan_koefisien %>%
kable(digits = 6, caption = "Perbandingan Estimasi Parameter: Manual vs lm()") %>%
kable_styling(bootstrap_options = c("striped", "hover"), full_width = F)| Variabel | Manual | Fungsi_lm | Selisih |
|---|---|---|---|
| Intercept | 23.054454 | 23.054454 | 0 |
| Kehadiran | 0.737233 | 0.737233 | 0 |
| IQ | -0.034327 | -0.034327 | 0 |
Metode matriks manual dan fungsi lm() menghasilkan nilai koefisien yang identik hingga beberapa angka di belakang desimal, ini membuktikan perhitungan manual valid dan fungsi lm() bekerja dengan baik.
Uji F dilakukan untuk mengetahui apakah variabel bebas (Kehadiran dan IQ) secara bersama-sama memiliki pengaruh signifikan terhadap variabel terikat (Nilai UAS). Hipotesis yang diuji adalah:
\[H_0: \beta_1 = \beta_2 = 0 \text{ (Variabel independen tidak berpengaruh secara simultan)}\]
\[H_1: \text{Minimal ada satu } \beta_j \neq 0 \text{ (Variabel independen berpengaruh secara simultan)}\]
\[F = \frac{SSR / k}{SSE / (n - k - 1)}\]
# Prediksi
Y_hat <- X %*% beta_manual
# 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.82303
##
## Call:
## lm(formula = Nilai ~ Kehadiran + IQ, data = df)
##
## 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
Dari setiap perhitungan yang dilakukan didapatkan
F hitung (manual) = 23.82303
Dari lm():
Nilai p-value sebesar 0.0007523 lebih kecil dari taraf nyata \(\alpha = 0.05\). Selain itu, nilai F-hitung (23.82) jauh lebih besar dibandingkan F-tabel (4.74), sehingga keputusan yang diambil adalah Tolak \(H_0\).
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 bertujuan untuk mengetahui pengaruh masing-masing variabel independen secara individu terhadap variabel dependen.
\(H_0: \beta_1 = 0\) (Tingkat kehadiran secara parsial tidak berpengaruh signifikan terhadap nilai UAS).
\(H_1: \beta_1 \neq 0\) (Tingkat kehadiran secara parsial berpengaruh signifikan terhadap nilai UAS).
\(H_0: \beta_2 = 0\) (IQ secara parsial tidak berpengaruh signifikan terhadap nilai UAS).
\(H_1: \beta_2 \neq 0\) (IQ secara parsial berpengaruh signifikan terhadap nilai UAS).
Standard Error (\(\text{SE}\)) dan nilai t-hitung diperoleh melalui akar diagonal matriks varians-kovarians:
\[\text{Var}(\hat{\beta}) = \sigma^2 (X^T X)^{-1}\] \[t = \frac{\hat{\beta}}{\text{SE}(\hat{\beta})}\]
# 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_manual / se_beta
t_hit## [,1]
## Intercept 0.9015644
## Kehadiran 6.7524718
## IQ -0.1556715
summary(model_regresi)##
## Call:
## lm(formula = Nilai ~ Kehadiran + IQ, data = df)
##
## 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
Penentuan nilai kritis pada tabel distribusi t didasarkan pada derajat bebas sisaan (residual). Berdasarkan jumlah sampel (\(n = 10\)) dan jumlah variabel independen (\(k = 2\)), maka derajat bebas dihitung sebagai berikut:
\[df = n - k - 1\] \[df = 10 - 2 - 1 = 7\]
Jika \(|t_{hitung}| > t_{tabel}\), maka pengaruh bersifat signifikan.
Jika \(|t_{hitung}| < t_{tabel}\), maka pengaruh bersifat tidak signifikan.
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_regresi)$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_gabunganVariabel Kehadiran (\(X_1\)): Diperoleh nilai \(|t_{hitung}| > t_{tabel}\) (\(6.752 > 2.365\)), sehingga keputusan adalah Tolak \(H_0\). Hal ini menunjukkan bahwa tingkat kehadiran berpengaruh signifikan terhadap Nilai UAS.
Variabel IQ (\(X_2\)): Diperoleh nilai \(|t_{hitung}| < t_{tabel}\) (\(-0.156 < 2.365\)), sehingga keputusan adalah Gagal Tolak \(H_0\). Hal ini menunjukkan bahwa IQ tidak memiliki pengaruh signifikan terhadap Nilai UAS dalam model ini.
Gunakan rumus:
\[R^2 = \frac{SSR}{SST}\] Dimana \(SSR\) adalah Regression Sum of Squares dan \(SST\) adalah Total Sum of Squares.
## [1] 0.8719029
## [1] 0.8719029
Nilai koefisien determinasi (\(R^2\)) sebesar 0.8719 menunjukkan bahwa variabel tingkat kehadiran dan IQ secara bersama-sama mampu menjelaskan 87.19% variasi dari nilai UAS siswa. Sementara itu, sisa variasi sebesar 12.81% dipengaruhi oleh faktor-faktor di luar model.
##
## 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.
## 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_regresi
## 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
## 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.
##
## Durbin-Watson test
##
## data: model_regresi
## 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.