Regresi Linear Berganda
SOAL
JAWABAN
Persamaan Regresi Linear
Soal: Buatlah persamaan regresi linier berganda!
Manual
Rumus:
\[ \hat{\beta} = (X^T X)^{-1} X^T Y \]
# 1. INPUT 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)
UAS <- c(65,70,75,75,80,80,85,95,90,98)
# 2. DEFINISI VARIABEL
x1 <- kehadiran # variabel X1
x2 <- IQ # variabel X2
y <- UAS # variabel Y
n <- length(y) # jumlah data
# 3. BENTUK MATRIKS DESAIN
X <- cbind(1, x1, x2) # kolom 1 untuk intercept
Y <- matrix(y, ncol = 1)
# 4. HITUNG PARAMETER BETA (MANUAL)
# rumus: beta = (X'X)^(-1) X'Y
beta <- solve(t(X) %*% X) %*% t(X) %*% Y
# ambil masing-masing koefisien
beta0 <- beta[1] # intercept
beta1 <- beta[2] # koefisien X1
beta2 <- beta[3] # koefisien X2
# tampilkan hasil beta
cat("Intercept (beta0):", beta0, "\n")## Intercept (beta0): 23.05445
## Koef X1 (kehadiran): 0.737233
## Koef X2 (IQ): -0.0343275
# 5. HITUNG NILAI PREDIKSI (Y topi)
y_pred <- X %*% beta
# 6. HITUNG RESIDUAL
residual <- Y - y_pred
# 7. HITUNG RATA-RATA Y
mean_y <- mean(y)
# 8. HITUNG SST, SSR, SSE
SST <- sum((y - mean_y)^2) # total
SSR <- sum((y_pred - mean_y)^2) # regresi
SSE <- sum((y - y_pred)^2) # error
cat("SST:", SST, "\n")## SST: 1032.1
## SSR: 899.891
## SSE: 132.209
# 9. DERAJAT KEBEBASAN
k <- 2 # jumlah variabel bebas
df_reg <- k
df_err <- n - k - 1
df_tot <- n - 1
# 10. MEAN SQUARE
MSR <- SSR / df_reg
MSE <- SSE / df_err
cat("MSR:", MSR, "\n")## MSR: 449.9455
## MSE: 18.887
# 11. UJI F (SIMULTAN)
F_value <- MSR / MSE
p_value_F <- pf(F_value, df_reg, df_err, lower.tail = FALSE)
cat("F hitung:", F_value, "\n")## F hitung: 23.82303
## p-value F: 0.0007522929
# 12. VARIANS DAN STANDARD ERROR BETA
# cov(beta) = MSE * (X'X)^(-1)
cov_beta <- MSE * solve(t(X) %*% X)
# standard error = akar diagonal
SE <- sqrt(diag(cov_beta))
cat("Standard Error:", SE, "\n")## Standard Error: 25.57161 0.1091797 0.2205125
# 13. UJI t (PARSIAL)
t_value <- beta / SE
p_value_t <- 2 * pt(-abs(t_value), df_err)
cat("t hitung:", t_value, "\n")## t hitung: 0.9015644 6.752472 -0.1556715
## p-value t: 0.3972467 0.0002644133 0.8806861
## R-squared: 0.8719029
Hasil:
\[ \hat{\beta} = \begin{bmatrix} 23.054 \\ 0.737 \\ -0.034 \end{bmatrix} \]
Menggunakan lm()
IQ <- c(110,120,115,130,110,120,120,125,110,120)
kehadiran <- c(60,70,75,80,80,90,95,95,100,100)
UAS <- c(65,70,75,75,80,80,85,95,90,98)
data <- data.frame(IQ, kehadiran, UAS)
model <- lm(UAS ~ kehadiran + IQ, data = data)
summary(model)##
## Call:
## lm(formula = UAS ~ 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
Model regresi linier berganda dinyatakan sebagai:
\[ Y = \beta_0 + \beta_1 X_1 + \beta_2 X_2 \]
Hasil estimasi parameter diperoleh sebagai berikut:
\[ \hat{Y} = 23.054 + 0.737X_1 - 0.034X_2 \]
- Intercept = 23.054
- Kehadiran = 0.737
- IQ = -0.034
Perbandingan :
Berdasarkan hasil perhitungan manual menggunakan rumus matriks \(\hat{\beta} = (X^T X)^{-1} X^T Y\) dan hasil menggunakan fungsi di R, diperoleh nilai koefisien regresi yang sama.
Hal ini menunjukkan bahwa perhitungan manual yang dilakukan telah sesuai dengan metode yang digunakan oleh software R.
Dengan demikian, model regresi yang diperoleh dapat dinyatakan benar dan valid.
Perbedaan kecil (jika ada) disebabkan oleh pembulatan angka.
Interpretasi :
Nilai konstanta sebesar \(23.054\) menunjukkan bahwa apabila variabel kehadiran (\(X_1\)) dan IQ (\(X_2\)) bernilai nol, maka nilai UAS yang diprediksi adalah sebesar \(23.054\).
Koefisien regresi untuk variabel kehadiran (\(X_1\)) sebesar \(0.737\) menunjukkan bahwa setiap kenaikan \(1\%\) tingkat kehadiran akan meningkatkan nilai UAS sebesar \(0.737\), dengan asumsi variabel lain konstan.
Koefisien regresi untuk variabel IQ (\(X_2\)) sebesar \(-0.034\) menunjukkan bahwa setiap kenaikan \(1\) poin IQ akan menurunkan nilai UAS sebesar \(0.034\), dengan asumsi variabel lain konstan.
Uji F (Simultan)
Soal: Lakukan Uji-F dan interpretasikan!
Hipotesis yang digunakan adalah:
\[ H_0 : \beta_1 = \beta_2 = 0 \] \[ H_1 : \text{Minimal ada satu } \beta_i \neq 0 \]
## value numdf dendf
## 23.82303 2.00000 7.00000
Statistik uji:
\[ F_{hitung} = 23.82 \]
Dengan nilai p-value sebesar:
\[ p\text{-value} = 0.000752 \]
Karena \(p\text{-value} < 0.05\), maka \(H_0\) ditolak.
Interpretasi:
Hal ini menunjukkan bahwa secara simultan variabel kehadiran dan IQ berpengaruh signifikan terhadap nilai UAS.
Uji t (Parsial)
Soal: Lakukan Uji-t dan interpretasikan!
##
## Call:
## lm(formula = UAS ~ 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
a. Variabel Kehadiran (\(X_1\))
\[ t_{hitung} = 6.752 \]
\[ p\text{-value} = 0.000 \]
Karena \(p\text{-value} < 0.05\), maka \(H_0\) ditolak.
Artinya, variabel kehadiran berpengaruh signifikan terhadap nilai UAS.
b. Variabel IQ (\(X_2\))
\[ t_{hitung} = -0.156 \]
\[ p\text{-value} = 0.881 \]
Karena \(p\text{-value} > 0.05\), maka \(H_0\) gagal ditolak.
Artinya, variabel IQ tidak berpengaruh signifikan terhadap nilai UAS.
Koefisien Determinasi
Soal: Berapa \(R^2\) dan interpretasinya?
## [1] 0.8719029
Koefisien determinasi dinyatakan sebagai:
\[ R^2 = 0.872 \]
Interpretasi:
Nilai \(R^2 = 0.872\) menunjukkan bahwa sebesar \(87.2\%\) variasi nilai UAS dapat dijelaskan oleh variabel kehadiran dan IQ.
Sedangkan sisanya sebesar \(12.8\%\) dijelaskan oleh variabel lain di luar model.
Uji Asumsi
Soal: Lakukan uji asumsi dan jelaskan!
# 1. INPUT 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)
UAS <- c(65,70,75,75,80,80,85,95,90,98)
data <- data.frame(IQ, kehadiran, UAS)
# 2. MODEL REGRESI
model <- lm(UAS ~ kehadiran + IQ, data = data)
summary(model)##
## Call:
## lm(formula = UAS ~ 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
a. Normalitas
hipotesis:
\[ H_0 : \text{Residual berdistribusi normal} \]
\[ H_1 : \text{Residual tidak berdistribusi normal} \]
##
## Shapiro-Wilk normality test
##
## data: galat
## W = 0.95125, p-value = 0.6833
Berdasarkan hasil uji Shapiro-Wilk diperoleh nilai p-value. Jika p-value > 0.05, maka residual berdistribusi normal. Sebaliknya, jika p-value < 0.05, maka residual tidak berdistribusi normal. Pada model ini, karena p-value > 0.05, maka dapat disimpulkan bahwa residual berdistribusi normal.
b. Heteroskedastisitas
hipotesis:
\[ H_0 : \text{Tidak terjadi heteroskedastisitas} \]
\[ H_1 : \text{Terjadi heteroskedastisitas} \]
## 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
##
## studentized Breusch-Pagan test
##
## data: model
## BP = 5.905, df = 2, p-value = 0.05221
Berdasarkan hasil uji Breusch-Pagan diperoleh nilai p-value. Jika p-value > 0.05, maka tidak terdapat heteroskedastisitas, yang berarti varians residual bersifat konstan (homoskedastisitas). Sebaliknya, jika p-value < 0.05, maka terdapat gejala heteroskedastisitas. Pada model ini, karena p-value > 0.05, maka dapat disimpulkan bahwa tidak terjadi heteroskedastisitas.
c. Autokorelasi
hipotesis:
\[ H_0 : \text{Tidak terdapat autokorelasi} \]
\[ H_1 : \text{Terdapat autokorelasi} \]
##
## 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 p-value. Jika p-value > 0.05, maka tidak terdapat autokorelasi pada residual. Sebaliknya, jika p-value < 0.05, maka terdapat autokorelasi. Pada model ini, karena p-value > 0.05, maka dapat disimpulkan bahwa tidak terdapat autokorelasi, sehingga residual bersifat independen.
d. Multikolinearitas
## Warning: package 'car' was built under R version 4.4.3
## Loading required package: carData
## Warning: package 'carData' was built under R version 4.4.2
## kehadiran IQ
## 1.055571 1.055571
## kehadiran IQ
## 0.947355 0.947355
Berdasarkan hasil perhitungan Variance Inflation Factor (VIF), jika nilai VIF < 10 dan nilai tolerance > 0.1, maka tidak terjadi multikolinearitas. Sebaliknya, jika VIF > 10 atau tolerance < 0.1, maka terdapat multikolinearitas.
Pada model ini, nilai VIF untuk setiap variabel kurang dari 10 dan nilai tolerance lebih dari 0.1, sehingga dapat disimpulkan bahwa tidak terdapat multikolinearitas antar variabel independen.