Apa itu Regresi Berganda?

Model regresi linier berganda (multiple linear regression) mengasumsikan antara sebuah variabel respon y (dependent variable) dan sebuah himpunan dari variabel prediktor x (independent variable). Model regresi linier berganda dengan k variabel prediktor dan satu variabel respon y, persamaan regresi linier berganda dapat ditulis sebagai berikut:

\[ Y = \beta_0 + \beta_1 X_1 + \beta_2 X_2 + \beta_3 X_3 + \epsilon \]

Di mana:
- \(Y\) adalah variabel dependen.
- \(X_1\), \(X_2\), dan \(X_3\) adalah variabel independen.
- \(\beta_0\) adalah intercept, yaitu nilai rata-rata \(Y\) ketika semua variabel independen bernilai nol.
- \(\beta_1\), \(\beta_2\), dan \(\beta_3\) adalah koefisien regresi untuk masing-masing variabel independen \(X_1\), \(X_2\), dan \(X_3\). Koefisien ini mengukur perubahan rata-rata dalam \(Y\) untuk setiap unit perubahan dalam variabel independen yang sesuai, dengan asumsi variabel lain tetap konstan.
- \(\epsilon\) adalah kesalahan residu atau error term, yang mewakili variabilitas dalam \(Y\)

Selain itu untuk mengetahui apakah model regresi tersebut adalah model yang tepat, maka harus dilakukan pula uji asumsi yang teridiri dari uji normalitas, uji non autokorelasi, uji non multikolinearitas dan uji heterokedastisitas. Apabilah telah memenuhi keempat uji asumsi tersebut maka dapat dikatakan bahwa model regresi tersebut merupakan model yang tepat.

Load Libraries

Sebelum masuk ke pengujian, kita akan menginstall packages yang dibutuhkan dalam pengujian ini. Berikut merupakan packages yang dibutuhkan:

library(lmtest)
## Loading required package: zoo
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
library(car)
## Loading required package: carData
library(readxl)
library(knitr)
library(readr)
library(rmarkdown)

Data

Data yang digunakan adalah data tahun 2014 pada wilayah Amerika baik utara, tengah maupun selatan yang mencakup 34 negara. Diambil 4 variabel yaitu:
- \(Y\) = Life_expectancy
- \(X_1\) = GDP_per_capita
- \(X_2\) = Alcohol_consumption
- \(X_3\) = Infant_deaths

Import Data

data <- read_excel(path = "C:\\Users\\ASUS\\Documents\\data CM2.xlsx")
data
## # A tibble: 34 × 7
##       No Country       Region Life_expectancy GDP_per_capita Alcohol_consumption
##    <dbl> <chr>         <chr>            <dbl>          <dbl>               <dbl>
##  1     1 Costa Rica    Centr…            79.4          11355                3.12
##  2     2 Argentina     South…            75.9          13568                7.93
##  3     3 Dominican Re… Centr…            73             6547                5.23
##  4     4 Chile         South…            79.5          13367                7.92
##  5     5 Honduras      Centr…            74.3           2256                2.42
##  6     6 Bahamas  The  Centr…            72.8          31689                9.22
##  7     7 Jamaica       Centr…            74             4890                3.2 
##  8     8 Uruguay       South…            77.2          15609                6.15
##  9     9 Sao Tome and… Centr…            69.1           1554                5.63
## 10    10 Brazil        South…            74.7           9215                6.91
## # ℹ 24 more rows
## # ℹ 1 more variable: Infant_deaths <dbl>

Statistik Deskriptif

Dari statistik deskriptif kita akan mendapatkan Nilai Minimal (Min), Kuartil 1 (Q1), Kuartil 2 atau Median (Q2), Kuartil 3 (Q3), Rata-Rata (Mean), dan Nilai Maksimal (Max) setiap variabel yang digunakan.

summary(data)
##        No          Country             Region          Life_expectancy
##  Min.   : 1.00   Length:34          Length:34          Min.   :62.10  
##  1st Qu.: 9.25   Class :character   Class :character   1st Qu.:72.80  
##  Median :17.50   Mode  :character   Mode  :character   Median :74.15  
##  Mean   :17.50                                         Mean   :74.34  
##  3rd Qu.:25.75                                         3rd Qu.:76.30  
##  Max.   :34.00                                         Max.   :81.80  
##  GDP_per_capita  Alcohol_consumption Infant_deaths  
##  Min.   : 1371   Min.   :1.690       Min.   : 4.60  
##  1st Qu.: 5000   1st Qu.:3.842       1st Qu.:12.32  
##  Median : 7990   Median :5.735       Median :14.20  
##  Mean   :11382   Mean   :5.748       Mean   :15.99  
##  3rd Qu.:13518   3rd Qu.:7.690       3rd Qu.:18.40  
##  Max.   :55675   Max.   :9.660       Max.   :54.10

Berdasarkan hasil statistika deskriptif diatas, dapat diketahui bahwa Alcohol_consumption memiliki gambaran statistik terendah karena memiliki nilai data terkecil sehingga gambaran statistiknya juga bernilai kecil. Berbanding terbalik dengan GDP_per_capita yang memiliki gambaran statistik tertinggi karena memiliki nilai data terbesar sehingga gambaran statistiknya juga bernilai tinggi.

Regresi Berganda

Dilakukan pengujian regresi berganda pada tahap ini. Selain itu, pada tahap ini juga akan diperoleh plot yang akan menyatakan hubungan antara variabel dependen y dengan setiap variabel independen x.

attach(data)
modelreg <- lm(Life_expectancy ~ GDP_per_capita+Alcohol_consumption+Infant_deaths)
summary(modelreg)
## 
## Call:
## lm(formula = Life_expectancy ~ GDP_per_capita + Alcohol_consumption + 
##     Infant_deaths)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -3.549 -1.042  0.003  1.231  3.609 
## 
## Coefficients:
##                       Estimate Std. Error t value Pr(>|t|)    
## (Intercept)          7.963e+01  1.392e+00  57.192  < 2e-16 ***
## GDP_per_capita       5.738e-05  3.779e-05   1.518    0.139    
## Alcohol_consumption -1.172e-01  1.882e-01  -0.623    0.538    
## Infant_deaths       -3.297e-01  4.255e-02  -7.749 1.21e-08 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.943 on 30 degrees of freedom
## Multiple R-squared:  0.7541, Adjusted R-squared:  0.7296 
## F-statistic: 30.68 on 3 and 30 DF,  p-value: 2.846e-09

Diperoleh nilai p-value < 0,05 sehingga semua variabel independen x signifikan terhadap variabel dependen y.

Plot

plot(GDP_per_capita, Life_expectancy)

Dapat dilihat bahwa plot linear ke kanan sehingga dapat diketahui bahwa GDP_per_capita memiliki hubungan positif dengan Life_expectancy. Nilai p-value dari GDP_per_capita adalah yang terbesar sehingga plot linearnya terlihat tidak begitu jelas dibandingkan yang lainnya.

plot(Alcohol_consumption, Life_expectancy)

Dapat dilihat bahwa plot linear ke kiri sehingga dapat diketahui bahwa Alcohol_consumption memiliki hubungan negatif dengan Life_expectancy. Nilai p-value dari Alcohol_consumption adalah yang terkecil sehingga plot linearnya terlihat lebih jelas dibandingkan yang lainnya

plot(Infant_deaths, Life_expectancy)

Dapat dilihat bahwa plot linear ke kiri sehingga dapat diketahui bahwa Infant_deaths memiliki hubungan negatif dengan Life_expectancy. Nilai p-value dari Infact_deaths adalah yang terkecil sehingga plot linearnya terlihat lebih jelas dibandingkan yang lainnya

Uji Asumsi

Selanjutnya adalah uji asmsi, jika memenuhi semua uji asumsi maka dapat dikatakan bahwa model regresi tersebut tepat.

Uji Normalitas

shapiro.test(modelreg$residuals)
## 
##  Shapiro-Wilk normality test
## 
## data:  modelreg$residuals
## W = 0.98151, p-value = 0.819

Dapat dilihat bahwa nilai p−value = 0,819 > α (0,05) maka H0 gagal ditolak yang berarti bahwa residu berdistribusi normal.

Uji Non Autokorelasi

dwtest(modelreg)
## 
##  Durbin-Watson test
## 
## data:  modelreg
## DW = 1.7817, p-value = 0.2689
## alternative hypothesis: true autocorrelation is greater than 0

Dapat dilihat bahwa nilai p−value = 0,2685 > α (0,05) maka H0 gagal ditolak yang berarti bahwa tidak terjadi autokorelasi.

Uji Non Multikolinearitas

vif(modelreg)
##      GDP_per_capita Alcohol_consumption       Infant_deaths 
##            1.670147            1.593545            1.318806

Karena semua nilai VIF < 10, maka tidak terjadi multikolinearitas.

Uji Homokedastisitas

  bptest(modelreg, studentize = FALSE, data = data)
## 
##  Breusch-Pagan test
## 
## data:  modelreg
## BP = 2.9864, df = 3, p-value = 0.3937

Dapat dilihat bahwa nilai p−value = 0,3937 > α (0,05) maka H0 gagal ditolak yang berarti bahwa terdapat homoskedastisitas residu.

Kesimpulan

Berdasarkan hasil pengujian di atas, maka diperoleh model regresi berganda sebagai berikut.

Y = 7.963e+01 + 5.738e-05\(X_1\) - 1.172e-01\(X_2\) - 3.297e-01\(X_3\)

Interpretasi:
- Jika nilai GDP_per_capita, Alcohol_consumption dan Infant_deaths konstan maka Life_expectancy akan bernilai 7.963e+01
- Setiap kenaikan 1 satuan GDP_per_capita atau \(X_1\) akan menaikkan Life_expectancy sebanyak 5.738e-05
- Setiap kenaikan 1 satuan Alcohol_consumption atau \(X_2\) akan menurunkan Life_expectancy sebesar 1.172e-01
- Setiap kenaikan 1 satuan Infant_deaths atau \(X_3\) akan menurunkan Life_expectancy sebesar 3.297e-01

Berdasarkan analisis yang telah dilakukan dapat disimpulkan bahwa GDP_per_capita, Alcohol_consumption, dan Infant_deaths berpengaruh signifikan terhadap Life_expectancy karena nilai p-value yang dihasilkan < 0,05. Model regresi ganda tersebut memiliki R-squared Adjustednya sebesar 0,7296 atau 72,96% yang berarti bahwa Life_expectancy 72,96% dipengaruhi oleh faktor GDP_per_capita, Alcohol_consumption, dan Infant_deaths sedangkan sisanya sebesar 27,04% dipengaruhi oleh faktor lain yang tidak masuk dalam model.

Selain itu, model regresi tersebut adalah model yang tepat karena telah memenuhi keempat uji asumsi yaitu uji normalitas, uji non autokorelasi, uji non multikolinearitas dan uji heterokedastisitas, maka dapat dikatakan bahwa model regresi tersebut merupakan model yang tepat.