1. Mengumpulkan Data

# Import data dari clipboard atau file
data <- read.delim("clipboard", TRUE)
head(data)
##       Y   X1    X2    X3
## 1 68.57 2.04 12.65 72.07
## 2 71.06 4.38 13.74 72.85
## 3 70.06 3.53 12.47 73.86
## 4 73.15 4.91 13.32 74.16
## 5 71.05 3.66 12.63 73.61
## 6 72.56 5.15 13.44 72.65

2. Eksplorasi Data

library(ggplot2)
library(GGally)

summary(data)
##        Y               X1               X2              X3       
##  Min.   :62.80   Min.   : 2.040   Min.   :11.73   Min.   :66.89  
##  1st Qu.:68.66   1st Qu.: 4.282   1st Qu.:12.72   1st Qu.:70.44  
##  Median :71.63   Median : 5.070   Median :13.38   Median :72.45  
##  Mean   :72.23   Mean   : 5.520   Mean   :13.41   Mean   :71.72  
##  3rd Qu.:75.25   3rd Qu.: 6.565   3rd Qu.:13.77   3rd Qu.:72.84  
##  Max.   :82.31   Max.   :10.870   Max.   :15.75   Max.   :74.18
GGally::ggpairs(data)


3. Uji Asumsi

3.1 Normalitas Residual

model <- lm(Y ~ X1 + X2 + X3, data = data)
res <- residuals(model)
shapiro.test(res)
## 
##  Shapiro-Wilk normality test
## 
## data:  res
## W = 0.98563, p-value = 0.8979
qqnorm(res); qqline(res, col=2)

3.2 Homoskedastisitas

plot(model$fitted.values, res,
     xlab="Fitted Values", ylab="Residuals",
     main="Scatterplot Residual vs Fitted")
abline(h=0, col="red")

3.3 Multikolinearitas

car::vif(model)
##       X1       X2       X3 
## 1.596684 1.720312 1.310034

4. Estimasi

summary(model)
## 
## Call:
## lm(formula = Y ~ X1 + X2 + X3, data = data)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.8977 -1.0382  0.3042  0.9027  3.2869 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -41.8091    10.4048  -4.018 0.000307 ***
## X1            0.7586     0.1688   4.494 7.71e-05 ***
## X2            2.5763     0.3908   6.593 1.48e-07 ***
## X3            1.0499     0.1557   6.745 9.44e-08 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.634 on 34 degrees of freedom
## Multiple R-squared:  0.9044, Adjusted R-squared:  0.896 
## F-statistic: 107.2 on 3 and 34 DF,  p-value: < 2.2e-16

Penjelasan metode estimasi menggunakan OLS, rumus β = (X’X)⁻¹ X’Y, serta interpretasi koefisien.


5. Pengujian Hipotesis

Uji Simultan (Uji F)

anova(model)
## Analysis of Variance Table
## 
## Response: Y
##           Df Sum Sq Mean Sq F value    Pr(>F)    
## X1         1 514.03  514.03 192.627 1.449e-15 ***
## X2         1 223.13  223.13  83.614 1.096e-10 ***
## X3         1 121.40  121.40  45.493 9.443e-08 ***
## Residuals 34  90.73    2.67                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

6. Evaluasi Model

r.squared <- summary(model)$r.squared
adj.r <- summary(model)$adj.r.squared
AIC(model); BIC(model)
## [1] 150.9108
## [1] 159.0987

Interpretasi R-squared, adjusted R-squared, AIC, BIC, dan kesimpulan akhir mengenai kelayakan model regresi.