#PERSIAPAN DATA
data(mtcars)
head(mtcars[,c("mpg","hp","wt")])
#MODEL REGRESI
# Model 1: regresi sederhana
model1 <- lm(mpg ~ hp, data = mtcars)
summary(model1)
##
## Call:
## lm(formula = mpg ~ hp, data = mtcars)
##
## Residuals:
## Min 1Q Median 3Q Max
## -5.7121 -2.1122 -0.8854 1.5819 8.2360
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 30.09886 1.63392 18.421 < 2e-16 ***
## hp -0.06823 0.01012 -6.742 1.79e-07 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3.863 on 30 degrees of freedom
## Multiple R-squared: 0.6024, Adjusted R-squared: 0.5892
## F-statistic: 45.46 on 1 and 30 DF, p-value: 1.788e-07
# Model 2: regresi berganda
model2 <- lm(mpg ~ hp + wt, data = mtcars)
summary(model2)
##
## Call:
## lm(formula = mpg ~ hp + wt, data = mtcars)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.941 -1.600 -0.182 1.050 5.854
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 37.22727 1.59879 23.285 < 2e-16 ***
## hp -0.03177 0.00903 -3.519 0.00145 **
## wt -3.87783 0.63273 -6.129 1.12e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.593 on 29 degrees of freedom
## Multiple R-squared: 0.8268, Adjusted R-squared: 0.8148
## F-statistic: 69.21 on 2 and 29 DF, p-value: 9.109e-12
#UJI LINEARITAS
par(mfrow=c(1,2))
plot(model1$fitted.values, residuals(model1),
main="Residual vs Fitted (Model 1)",
xlab="Fitted values", ylab="Residuals", pch=19, col="blue")
abline(h=0, col="red")
plot(model2$fitted.values, residuals(model2),
main="Residual vs Fitted (Model 2)",
xlab="Fitted values", ylab="Residuals", pch=19, col="green")
abline(h=0, col="red")
#UJI NORMALITAS ERROR
# Shapiro-Wilk
shapiro.test(residuals(model1))
##
## Shapiro-Wilk normality test
##
## data: residuals(model1)
## W = 0.92337, p-value = 0.02568
shapiro.test(residuals(model2))
##
## Shapiro-Wilk normality test
##
## data: residuals(model2)
## W = 0.92792, p-value = 0.03427
hist(residuals(model1), main = "Histogram Residuals Model 1")
hist(residuals(model2), main = "Histogram Residuals Model 2")
# QQ Plot
par(mfrow=c(1,2))
qqnorm(residuals(model1), main="QQ Plot Model 1"); qqline(residuals(model1), col="red")
qqnorm(residuals(model2), main="QQ Plot Model 2"); qqline(residuals(model2), col="red")
#UJI HOMOSKEDASTISITAS
library(lmtest)
## Loading required package: zoo
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
bptest(model1)
##
## studentized Breusch-Pagan test
##
## data: model1
## BP = 0.049298, df = 1, p-value = 0.8243
bptest(model2)
##
## studentized Breusch-Pagan test
##
## data: model2
## BP = 0.88072, df = 2, p-value = 0.6438
# Uji Homoskedastisitas dengan plot
par(mfrow=c(1,2))
plot(model1$fitted.values, residuals(model1),
main="Homoskedastisitas Model 1",
xlab="Fitted Values", ylab="Residuals",
pch=19, col="blue")
abline(h=0, col="red")
plot(model2$fitted.values, residuals(model2),
main="Homoskedastisitas Model 2",
xlab="Fitted Values", ylab="Residuals",
pch=19, col="green")
abline(h=0, col="red")
#Uji Multikolinearitas
library(car)
## Loading required package: carData
vif(model2)
## hp wt
## 1.766625 1.766625
#KESIMPULAN
Berdasarkan hasil analisis, dapat dibandingkan antara model regresi sederhana (mpg ~ hp) dan model regresi berganda (mpg ~ hp + wt) dengan data mtcars. Model sederhana hanya menggunakan horsepower (hp) sebagai prediktor, sedangkan model berganda menambahkan variabel berat mobil (wt).
Hasilnya menunjukkan bahwa:
Kedua model sama-sama memenuhi asumsi regresi (normalitas, homoskedastisitas), tetapi model berganda memiliki pola residual yang lebih acak sehingga linearitasnya lebih baik.
Nilai R² pada model sederhana hanya sekitar 0,60, artinya 60% variasi mpg dapat dijelaskan oleh hp. Pada model berganda, nilai R² meningkat menjadi sekitar 0,83, sehingga model ini jauh lebih kuat dalam menjelaskan variasi mpg.
Dari sisi interpretasi, baik hp maupun wt sama-sama berpengaruh negatif terhadap mpg. Namun, pengaruh hp pada model berganda lebih kecil dibandingkan model sederhana, karena sebagian pengaruh hp sebelumnya tercampur dengan efek berat mobil.
Tidak ada masalah multikolinearitas yang berarti pada model berganda (nilai VIF < 10).
Secara keseluruhan, model regresi berganda (mpg ~ hp + wt) lebih baik dibandingkan model sederhana. Penambahan variabel wt meningkatkan kemampuan model dalam memprediksi serta memberikan gambaran yang lebih akurat mengenai faktor-faktor yang memengaruhi konsumsi bahan bakar mobil.