Regresi Linear Berganda

Analisis regresi berganda adalah pengembangan dari analisis regresi sederhana dimana terdapat lebih dari satu variabel independen x. Analisis ini digunakan untuk melihat sejumlah variabel independen sejumlah k terhadap variabel dependen y berdasarkan nilai variabel-variabel independen sejumlah k.

Perbedaaan antara regresi sederhana dengan regresi berganda terletak pada jumlah variabel bebasnya. Jika dalam regresi sederhana jumlah variabel bebas yang digunakan untuk memprediksi variabel tergantung hanya satu, maka regresi berganda jumlah variabel bebas yang digunakan untuk memprediksi variabel tergantung lebih dari satu.

Fungsi

Fungsi regresi linear berganda adalah metode statistik yang digunakan untuk menganalisis hubungan antara satu variabel dependen (Y) dan dua atau lebih variabel independen (X1, X2, …, Xn). Metode ini membantu kita untuk memprediksi nilai Y berdasarkan nilai variabel independen.

Rumus

Menurut Mentgomery and Peck (2006), persamaan umum model regresi linear berganda dapat ditulis dalam persamaan berikut : \[Y = \beta_0 + \beta_1X_1 + \beta_2X_2 +...+\beta_pX_p + \epsilon_i\]

Asumsi yang Harus Dipenuhi

Analisis regresi linier berganda melibatkan beberapa asumsi yang diuji dalam uji asumsi klasik. Uji asumsi dilakukan sebelum menguji hipotesis. Tujuan uji asumsi klasik untuk memberikan kepastian bahwa persamaan regresi yang diperoleh memiliki ketepatan dalam estimasi, tidak bias, dan konsisten. Jika asumsi-asumsi tersebut tidak terpenuhi, mungkin diperlukan transformasi variabel atau penggunaan metode regresi lainnya yang lebih sesuai.

Normalitas

Model regresi yang baik adalah memiliki residu yang berdistribusi normal atau mendekati normal. Uji normalitas dapat dilakukan dengan uji Shapiro-wilk. Suatu data dikatakan berdistribusi normal jika p-value > dari nilai α. Selain melihat dari p-value dapat pula dilihat dari sebaran plot data, apabila berada di sekitar garis lurus maka data berdistribusi normal.

Non Multikolinearitas

Tujuan uji multikolinearitas untuk memastikan bahwa variabel independen tidak saling berkorelasi tinggi dan tidak memberikan informasi yang berlebihan dalam model regresi. Multikolinearitas dapat menyebabkan koefisien regresi menjadi tidak stabil, standar error yang tinggi, dan interpretasi yang sulit. Multikolinearitas dapat dilihat dari nilai VIF (Variance Inflation Factor).

\[VIF= \frac{1}{1-R_j^2}\] Suatu data dikatakan tidak menunjukkan adanya multikolinearitas ketika nilai VIF < 10.

Non Heteroskedastisitas

Uji heteroskedastisitas bertujuan untuk memastikan bahwa model regresi memiliki homoskedastisitas, yaitu varian residu tidak bergantung pada nilai variabel independen. Heteroskedastisitas dapat menyebabkan estimasi koefisien regresi yang tidak efisien dan standar error yang tidak akurat. Uji normalitas dapat dilakukan dengan uji Breusch-Pagan.Suatu data dikatakan berdistribusi homoskedastisitas jika p-value > dari nilai α. Selain melihat dari p-value dapat pula dilihat dari sebaran plot data, apabila titik-titik data tersebar dan tidak membentuk pola tertentu maka data berdistribusi normal.

Non Autokorelasi

Asumsi ini menyatakan bahwa residU tidak berkorelasi satu sama lain.Tujuannya untuk memastikan bahwa tidak ada ketergantungan antar observasi dalam data. Autokorelasi dapat menyebabkan estimasi koefisien regresi yang tidak efisien dan standar error yang tidak akurat.Uji autokorelasi dapat dilakukan dengan uji Durbin Watson. Suatu data dikatakan non autokorelasi jika p-value > dari nilai α.

Uji Simultan (Uji F)

Uji F bertujuan untuk mencari apakah variabel independen mempengaruhi variabel dependen secara bersama-sama (simultan). Tingkatan yang digunakan sebesar 0,05 atau 5%, jika nilai signifikan F < 0,05 maka variabel independen secara simultan mempengaruhi variabel dependen atau sebaliknya

Uji Signifikasi Parsial (Uji t)

Tujuan dari uji parsial ini adalah untuk melihat sejauh mana pengaruh secara parsial dari variabel bebas terhadap variabel terikat.

Analisis Kasus

Aktifkan Library

# Paket yang diperlukan
library(readxl)
library(kableExtra)
## Warning: package 'kableExtra' was built under R version 4.3.3
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following object is masked from 'package:kableExtra':
## 
##     group_rows
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(lmtest)
## Loading required package: zoo
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
library(car)
## Warning: package 'car' was built under R version 4.3.2
## Loading required package: carData
## 
## Attaching package: 'car'
## The following object is masked from 'package:dplyr':
## 
##     recode
library(ggplot2)

Deskripsi Data

Pada tahun 2000 hingga 2015 penduduk dunia dihadapkan dengan permasalahan sosial dan ekonomi yang tidak stabil, termasuk negara-negara di Eropa baik yang tergabung dalam Uni Eropa dan negara-negara di Bentua Eropa. Negara-negara Eropa pada tahun 2012 hampir semuanya merupakan negara maju, dengan adanya permasalahan sosial maupun ekonomi tersebut apakah memengaruhi angka harapan hidup masyarakatnya. Sehingga ingin diketahui bagaimana pengaruh dari permasalahan konsumsi alkohol, kematian pada orang dewasa, dan PDB negara-negara Eropa terhadap angka harapan hidup di tahun 2012.

Dalam analisis regresi berganda minimal variabel independennya sebanyak 2, jika hanya ada 1 variabel independen maka termasuk dalam regresi linear sederhana. Contoh kasus ini digunakan 3 variabel independen dan 1 variabel dependen, antara lain:

Variabel dependen (variabel yang dipengaruhi) atau biasa disebut variabel Y:

  • Life Expectancy yang merupakan angka harapan hidup rata-rata laki-laki dan perempuan di Eropa pada tahun 2012.

    Variabel independen (variabel yang mempengaruhi) atau biasa disebut variabel X:

  • Alcohol Consumption (X1) yang merupakan konsumsi alkohol yang dicatat dalam liter per kapita dengan usia 15+ tahun.

  • Adult Mortality (X2) yang merupakan kematian orang dewasa per 1000 penduduk.

  • GDP per Capita (X3) yang merupakan nilai Gross Domestic Product dalam USD.

# Import dari file Excel
library(readxl)
data <- read_excel("C:/Users/USERR/Downloads/Data Regresi Ganda CM.xlsx")
Y = data$`Life Expectancy`
X1 = data$`Alcohol Consumption`
X2 = data$`Adult Mortality`
X3 = data$`GDP per Capita`
data.regresi= data.frame(Y, X1, X2,X3)

# Menampilkan data
kable(data.regresi)
Y X1 X2 X3
77.3 4.43 79.7620 3736
73.8 3.89 129.8370 3313
80.9 12.10 69.0215 44550
72.0 13.56 192.4090 6048
80.4 10.09 78.0865 39976
76.4 4.83 100.3530 4216
74.3 10.88 135.0865 6694
76.9 10.58 98.1320 11547
79.8 10.58 54.6180 24217
78.1 12.83 92.0385 16607
80.1 9.23 75.0940 51567
76.3 16.96 133.0870 16257
80.6 9.27 79.3410 43637
82.0 12.22 80.3445 36183
72.1 7.23 164.1770 3597
80.5 11.32 73.3235 40069
80.6 7.62 72.6245 18124
75.1 11.13 142.5135 11470
82.9 6.82 50.6180 49192
80.8 11.38 67.3805 46001
82.2 7.48 55.1645 31185
73.8 10.20 165.2735 12410
73.9 14.97 179.7720 12679
81.4 11.67 68.2955 104488
80.7 7.18 54.2180 21222
70.6 8.30 176.3780 2374
76.2 9.37 106.8490 5996
81.1 9.00 62.8590 44243
74.9 3.54 101.4970 4408
81.5 6.21 59.0970 73179
76.7 10.21 124.3160 11520
80.4 9.76 80.7525 18655
74.4 9.66 135.6795 8005
70.1 10.56 228.0705 9476
74.8 8.78 121.4185 5344
76.1 10.14 115.5610 15067
80.1 10.95 80.7685 20157
82.4 8.60 61.3175 24635
81.7 7.23 55.8855 48886
82.7 9.87 53.4515 82800
70.9 8.54 203.7885 2460
80.9 9.53 69.1470 43100

Analisis Statistik Deskriptif

Statistika deskriptif berfungsi memberikan gambaran sebaran dan karakteristik data.

# Statistik deskriptif
summary(data.regresi)
##        Y               X1               X2               X3        
##  Min.   :70.10   Min.   : 3.540   Min.   : 50.62   Min.   :  2374  
##  1st Qu.:74.83   1st Qu.: 7.790   1st Qu.: 68.48   1st Qu.:  7022  
##  Median :78.95   Median : 9.710   Median : 80.76   Median : 17366  
##  Mean   :77.82   Mean   : 9.493   Mean   :103.03   Mean   : 25697  
##  3rd Qu.:80.88   3rd Qu.:10.932   3rd Qu.:132.27   3rd Qu.: 42342  
##  Max.   :82.90   Max.   :16.960   Max.   :228.07   Max.   :104488

Nilai Korelasi Masing-masing Variabel

Untuk melihat hubungan dari masing-masing variabel, dilakukan dengan mencari nilai korelasinya.

# Menghitung matriks korelasi
cor_matrix <- cor(data.regresi)
cor_matrix <- round(cor_matrix, 3)
cor_matrix
##         Y     X1     X2     X3
## Y   1.000 -0.034 -0.944  0.734
## X1 -0.034  1.000  0.226  0.103
## X2 -0.944  0.226  1.000 -0.621
## X3  0.734  0.103 -0.621  1.000

Melalui output diatas, terlihat bahwa variabel:

  • Nilia korelasi Alcohol Consumption dan Life Expectancy yaitu -0.034. Artinya kedua variabel memiliki hubungan yang berkebalikan dan cukup kuat.
  • Nilia korelasi Adult Mortality dan Life Expectancy yaitu -0.944. Artinya kedua variabel memiliki hubungan yang berkebalikan dan sangat kuat.
  • Nilia korelasi GDP per Capita dan Life Expectancy yaitu 0.734. Artinya kedua variabel memiliki hubungan yang searah dan kuat.

Uji Asumsi Klasik

# MModel regresi
model.mkt <- lm(Y~ X1+ X2 + X3, data = data.regresi)
model.mkt
## 
## Call:
## lm(formula = Y ~ X1 + X2 + X3, data = data.regresi)
## 
## Coefficients:
## (Intercept)           X1           X2           X3  
##   8.239e+01    1.936e-01   -6.951e-02    2.937e-05

Uji Normalitas

# Histogram dari residual
ggplot(data.frame(Residual=resid(model.mkt)), aes(x=Residual)) +
  geom_histogram(binwidth=0.5, fill="red", color="black") +
  labs(x = "Residual", y = "Count", title = "Histogram of Residuals")

# Grafik QQ Plot
qqnorm(resid(model.mkt))
qqline(resid(model.mkt))

# Uji normalitas residual
shapiro.test(resid(model.mkt))
## 
##  Shapiro-Wilk normality test
## 
## data:  resid(model.mkt)
## W = 0.97528, p-value = 0.4878
  • Histogram: bentuknya sesuai dengan kurva distribusi normal.
  • Plot normal Q-Q: titik yang menyebar di sekitar grafik normal dan penyebarannya mengikuti garis diagonal sehingga berdistribusi normal.
  • Uji Shapiro-Wilk: p-value = 0.4878 > 0.05 yang berarti asumsi residual berdistribusi normal terpenuhi.

Uji Multikolinearitas

# Uji Multikolinearitas
vif(model.mkt)
##       X1       X2       X3 
## 1.172108 1.889099 1.812110
vif_values <- vif(model.mkt)

# Plot VIF
plot(vif_values, type = "bar", main = "VIF Plot")
## Warning in plot.xy(xy, type, ...): plot type 'bar' will be truncated to first
## character

Nilai VIF ketiga variabel independen < 10 sehingga tidak terjadi multikolinearitas yang berarti asumsi non-multikolinearitas terpenuhi.

Uji Heteroskedastisitas

# Grafik residual uji heteroskedastisitas
plot(model.mkt, which = 1)

# Uji heteroskedastisitas
bptest(model.mkt)
## 
##  studentized Breusch-Pagan test
## 
## data:  model.mkt
## BP = 0.59773, df = 3, p-value = 0.897
  • Plot residu: titik-titik data tersebar dan tidak membentuk pola tertentu, sehingga tidak terjadi perbedaan variansi residual yang berarti model regresi memenuhi uji asumsi non-heteroskedastisitas.
  • Uji Breusch-Pagan: p-value = 0.897 > 0.05 yang berarti uji asumsi non-heteroskedastisitas terpenuhi.

Uji Autokorelasi

# Uji autokorelasi residual
dwtest(model.mkt)
## 
##  Durbin-Watson test
## 
## data:  model.mkt
## DW = 1.7111, p-value = 0.1725
## alternative hypothesis: true autocorrelation is greater than 0

Diperoleh p-value = 0.1725 > 0.05 yang berarti tidak terdapat autokorelasi sehingga asumsi non autokorelasi terpenuhi.

Uji Kelayakan Model

# Uji kelayakan model
summary(model.mkt)
## 
## Call:
## lm(formula = Y ~ X1 + X2 + X3, data = data.regresi)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -1.5695 -0.6454 -0.1022  0.6320  1.8851 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  8.239e+01  6.505e-01 126.663  < 2e-16 ***
## X1           1.936e-01  5.677e-02   3.410  0.00155 ** 
## X2          -6.951e-02  4.250e-03 -16.356  < 2e-16 ***
## X3           2.937e-05  8.249e-06   3.561  0.00101 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.9245 on 38 degrees of freedom
## Multiple R-squared:  0.9441, Adjusted R-squared:  0.9397 
## F-statistic:   214 on 3 and 38 DF,  p-value: < 2.2e-16

Diketahui P value < α = 0,05, sehingga model layak digunakan.

Uji Parsial

# Uji parsial
summary(model.mkt)
## 
## Call:
## lm(formula = Y ~ X1 + X2 + X3, data = data.regresi)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -1.5695 -0.6454 -0.1022  0.6320  1.8851 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  8.239e+01  6.505e-01 126.663  < 2e-16 ***
## X1           1.936e-01  5.677e-02   3.410  0.00155 ** 
## X2          -6.951e-02  4.250e-03 -16.356  < 2e-16 ***
## X3           2.937e-05  8.249e-06   3.561  0.00101 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.9245 on 38 degrees of freedom
## Multiple R-squared:  0.9441, Adjusted R-squared:  0.9397 
## F-statistic:   214 on 3 and 38 DF,  p-value: < 2.2e-16
  • P-value Alcohol consumption = 0.00155 < α = 0,05 sehingga variabel Alcohol Consumption berpengaruh signifikan terhadap variabel Life Expectancy
  • P-value Adult Mortality = 2e-16 < α = 0,05 sehingga variabel Adult Mortality berpengaruh signifikan terhadap variabel Life Expectancy
  • P-value GDP per Capita = 0.00101 < α = 0,05 sehingga variabel GDP per Capita berpengaruh signifikan terhadap variabel Life Expectancy

Kesimpulan

# Ringkasan model 
summary(model.mkt)
## 
## Call:
## lm(formula = Y ~ X1 + X2 + X3, data = data.regresi)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -1.5695 -0.6454 -0.1022  0.6320  1.8851 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  8.239e+01  6.505e-01 126.663  < 2e-16 ***
## X1           1.936e-01  5.677e-02   3.410  0.00155 ** 
## X2          -6.951e-02  4.250e-03 -16.356  < 2e-16 ***
## X3           2.937e-05  8.249e-06   3.561  0.00101 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.9245 on 38 degrees of freedom
## Multiple R-squared:  0.9441, Adjusted R-squared:  0.9397 
## F-statistic:   214 on 3 and 38 DF,  p-value: < 2.2e-16

Model regresi linear berganda yang diperoleh yaitu: Regression Equation \[Life Expectancy = 82,389 + 0,1936 Alcohol Consumption - 0,06951 Adult Mortality + 0,000029 GDP per Capita + \epsilon\]

Artinya, jika variabel Life_Expectancy naik sebanyak 1 tahun, maka akan menaikkan Alcohol Consumption sebesar 0,1936, menurunkan Adult Mortality sebesar 0,06951, dan menaikkan GDP per Capita sebesar 0,000029. Oleh karena itu, model regresi ini cukup dapat diandalkan dalam melakukan prediksi mengenai angka harapan hidup.