INSTAL PACKAGES YANG DIPERLUKAN

library(readxl)    #untuk impor .xlsx
library(lmtest)    # untuk membuat model regresi
## Loading required package: zoo
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric

IMPORT DATA YANG DIGUNAKAN

data2 = read_xlsx("Data Potik.xlsx")
head(data2)
## # A tibble: 6 × 5
##   `Kabupaten/ Kota`   AHH   AKB   ABH   MCK
##   <chr>             <dbl> <dbl> <dbl> <dbl>
## 1 ACEH               69.9  19.4  1.58  76.5
## 2 SUMATERA UTARA     69.1  18.3  0.77  87.3
## 3 SUMATERA BARAT     69.5  16.4  0.77  76.2
## 4 RIAU               71.6  15.7  0.71  91.8
## 5 JAMBI              71.2  17.0  1.64  85.0
## 6 SUMATERA SELATAN   69.9  16.8  1.16  82.5

ANALISIS STATISTIK DESKRIPTIF

summary(data2)
##  Kabupaten/ Kota         AHH             AKB             ABH         
##  Length:34          Min.   :65.06   Min.   :10.38   Min.   : 0.2600  
##  Class :character   1st Qu.:68.67   1st Qu.:15.55   1st Qu.: 0.9875  
##  Mode  :character   Median :69.96   Median :17.23   Median : 1.7050  
##                     Mean   :70.04   Mean   :19.74   Mean   : 3.3024  
##                     3rd Qu.:71.53   3rd Qu.:24.30   3rd Qu.: 4.6750  
##                     Max.   :74.99   Max.   :38.17   Max.   :20.3500  
##       MCK       
##  Min.   :61.74  
##  1st Qu.:76.27  
##  Median :82.33  
##  Mean   :80.92  
##  3rd Qu.:85.49  
##  Max.   :93.55

DEFINISIKAN X DAN Y AGAR LEBIH SEDERHANA DALAM PEMODELAN

x1 <- data2$AKB                   # mendefinisikan data AKB sebagai variabel x1
x2 <- data2$ABH                    # mendefinisikan data ABH sebagai variabel x2
x3 <- data2$MCK                  # mendefinisikan data MCK sebagai variabel x3
y <- data2$AHH                  # mendefinisikan data Y sebagai variabel y

Pembentukan persamaan regresi

model<- lm(y ~ x1+x2+x3)
model$coefficients 
## (Intercept)          x1          x2          x3 
## 73.50365681 -0.27919661  0.03234640  0.02398661

UJI HIPOTESIS DENGAN F-STATISTICS (UJI SIMULTAN)

UJI HIPOTESIS KOEFISIEN REGRESI DENGAN T-STATISTICS (UJI PARSIAL)

summary(model)
## 
## Call:
## lm(formula = y ~ x1 + x2 + x3)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.24410 -0.94660 -0.06875  1.10792  2.88728 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 73.50366    4.83556  15.201 1.23e-15 ***
## x1          -0.27920    0.05565  -5.017 2.22e-05 ***
## x2           0.03235    0.07309   0.443    0.661    
## x3           0.02399    0.04878   0.492    0.627    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.478 on 30 degrees of freedom
## Multiple R-squared:  0.688,  Adjusted R-squared:  0.6568 
## F-statistic: 22.05 on 3 and 30 DF,  p-value: 9.75e-08

Pemeriksaan asumsi

res <- model$residuals                              # mendefinisikan residual 

1. ASUMSI LINIERITAS Asumsi linieritas harus terpenuhi sebelum melakukan pemodelan regresi linier. Untuk melihat bagaimana pola data apakah linier atau tidak, kita bisa menggunakan plot dari sebaran data.

#install.packages("car")
library(car)
## Loading required package: carData
crPlots(model)

2. PENGUJIAN ASUMSI HOMOSKEDASTISITAS Model regresi yang memenuhi persayaratan adalah model regresi yang memiliki kesamaan varians residual dari satu pengamatan ke pengamatan yang lain tetap atau disebut homoskedastis. Uji heterokedastisitas adalah uji untuk melihat apakah terdapat ketidaksamaan varians dari residual satu pengamatan ke pengamatan yang lain.

# BENTUK VARIABEL NILAI ABSOLUT DARI RESIDUAL 
abs_res <- abs(res)

# REGRESIKAN SELURUH VARIABEL BEBAS TERHADAP NILAI ABSOLUT DARI RESIDUAL
model_glejser <- lm(abs_res~x1+x2+x3)
summary(model_glejser)
## 
## Call:
## lm(formula = abs_res ~ x1 + x2 + x3)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -1.0862 -0.5511 -0.0331  0.5326  1.6869 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.534740   2.640061   0.203    0.841
## x1          0.004533   0.030381   0.149    0.882
## x2          0.008996   0.039904   0.225    0.823
## x3          0.006287   0.026634   0.236    0.815
## 
## Residual standard error: 0.8071 on 30 degrees of freedom
## Multiple R-squared:  0.003005,   Adjusted R-squared:  -0.09669 
## F-statistic: 0.03014 on 3 and 30 DF,  p-value: 0.9928

3. PEMERIKSAAN ASUMSI NONMULTIKOLINIERITAS multikolinearitas adalah uji untuk melihat ada atau tidaknya korelasi yang tinggi antara variabel bebas dalam suatu model regresi linear berganda. Jika ada korelasi yang tinggi di antara variabel-variabel bebasnya, maka hubungan antara variabel bebas dengan variabel respon (variabel terikat) nya terganggu. Alat statistik yang sering digunakan untuk menguji gangguan multikolinearitas adalah variance inflation factor (VIF)

vif(model)
##       x1       x2       x3 
## 2.369611 1.238668 2.443183

Karena nilai VIF < 10 maka asumsi nonmultikolineritas terpenuhi semua

4. Non Autokorelasi

car::durbinWatsonTest(model)
##  lag Autocorrelation D-W Statistic p-value
##    1       0.2804502      1.429213   0.054
##  Alternative hypothesis: rho != 0
lmtest::dwtest(model, alternative = 'two.sided')
## 
##  Durbin-Watson test
## 
## data:  model
## DW = 1.4292, p-value = 0.0502
## alternative hypothesis: true autocorrelation is not 0
lmtest::bgtest(model, order=1)
## 
##  Breusch-Godfrey test for serial correlation of order up to 1
## 
## data:  model
## LM test = 2.9432, df = 1, p-value = 0.08624

5. ASUMSI NORMAL Uji normalitas untuk melihat apakah nilai residual terdistribusi normal atau tidak. Model regresi yang baik adalah memiliki nilai residual yang berdistribusi normal, bukan pada masing-masing variabelnya. QQ-plot adalah uji kenormalan secara visual dengan grafik. Selain dengan QQ-plot bisa menggunakan uji Kolmogorov-Smirnov.

# Evaluasi Normalitas
# Menggunakan QQ-plot
qqPlot(model, main='QQ-Plot Regresi Linier Berganda')

## [1] 14 23
ks.test(res, "pnorm", mean=mean(res),sd=sd(res))        # Uji Kolmogorov-Smirnov --uji kenormalan
## 
##  Exact one-sample Kolmogorov-Smirnov test
## 
## data:  res
## D = 0.079896, p-value = 0.9696
## alternative hypothesis: two-sided