1. Mengumpulkan Data (Dari File Excel)
library(readxl)
# Sesuaikan path file Excel kamu
data <- read_excel("D:/LAPRAK ANREG BERS/data anreg bers.xlsx")
head(data)
## # A tibble: 6 × 4
## Y X1 X2 X3
## <dbl> <dbl> <dbl> <dbl>
## 1 127. 50.3 31.1 98.8
## 2 116. 52.6 32.9 88.2
## 3 120. 46.0 25.7 83.6
## 4 133. 48.0 25.8 99.0
## 5 117. 37.3 26.7 98.3
## 6 89.2 24.0 29.3 109.
2. Eksplorasi Data
summary(data)
## Y X1 X2 X3
## Min. : 65.61 Min. :24.03 Min. :20.58 Min. : 51.86
## 1st Qu.:103.29 1st Qu.:41.12 1st Qu.:26.96 1st Qu.: 85.43
## Median :117.55 Median :46.51 Median :30.48 Median : 95.44
## Mean :120.14 Mean :47.32 Mean :30.49 Mean : 95.35
## 3rd Qu.:133.54 3rd Qu.:53.00 3rd Qu.:33.51 3rd Qu.:107.81
## Max. :193.57 Max. :72.48 Max. :39.08 Max. :148.93
pairs(data,
main = "Scatterplot Matrix",
pch = 19,
col = "steelblue")

3. Membuat Model Regresi Linear Berganda
model <- lm(Y ~ X1 + X2 + X3, data = data)
summary(model)
##
## Call:
## lm(formula = Y ~ X1 + X2 + X3, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -4.3167 -0.8685 -0.0033 0.9304 4.7755
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 27.94871 3.01649 9.265 4.58e-11 ***
## X1 1.80593 0.03263 55.341 < 2e-16 ***
## X2 -2.59649 0.06935 -37.439 < 2e-16 ***
## X3 0.90086 0.01689 53.321 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.009 on 36 degrees of freedom
## Multiple R-squared: 0.9957, Adjusted R-squared: 0.9953
## F-statistic: 2765 on 3 and 36 DF, p-value: < 2.2e-16
4. Uji Asumsi Model
4.1 Normalitas Residual
par(mfrow=c(1,2))
hist(residuals(model),
main="Histogram Residual",
xlab="Residual",
col="skyblue")
qqnorm(residuals(model))
qqline(residuals(model), col="red")

par(mfrow=c(1,1))
shapiro.test(residuals(model))
##
## Shapiro-Wilk normality test
##
## data: residuals(model)
## W = 0.98243, p-value = 0.7786
4.2 Homoskedastisitas (Breusch-Pagan)
library(lmtest)
## Loading required package: zoo
##
## 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 = 6.8856, df = 3, p-value = 0.07564
4.3 Autokorelasi (Durbin-Watson)
dwtest(model)
##
## Durbin-Watson test
##
## data: model
## DW = 1.9688, p-value = 0.4896
## alternative hypothesis: true autocorrelation is greater than 0
4.4 Multikolinearitas (VIF)
library(car)
## Loading required package: carData
vif(model)
## X1 X2 X3
## 1.018848 1.008913 1.022359
5. Pengujian Hipotesis
anova(model)
## Analysis of Variance Table
##
## Response: Y
## Df Sum Sq Mean Sq F value Pr(>F)
## X1 1 14903.0 14903.0 3693.1 < 2.2e-16 ***
## X2 1 7093.4 7093.4 1757.8 < 2.2e-16 ***
## X3 1 11473.4 11473.4 2843.2 < 2.2e-16 ***
## Residuals 36 145.3 4.0
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(model)
##
## Call:
## lm(formula = Y ~ X1 + X2 + X3, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -4.3167 -0.8685 -0.0033 0.9304 4.7755
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 27.94871 3.01649 9.265 4.58e-11 ***
## X1 1.80593 0.03263 55.341 < 2e-16 ***
## X2 -2.59649 0.06935 -37.439 < 2e-16 ***
## X3 0.90086 0.01689 53.321 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.009 on 36 degrees of freedom
## Multiple R-squared: 0.9957, Adjusted R-squared: 0.9953
## F-statistic: 2765 on 3 and 36 DF, p-value: < 2.2e-16
6. Evaluasi Model
summary(model)$r.squared
## [1] 0.9956783
summary(model)$adj.r.squared
## [1] 0.9953181
par(mfrow=c(2,2))
plot(model)

par(mfrow=c(1,1))