Analisis regresi linier berganda adalah metode statistik yang digunakan untuk mempelajari hubungan antara satu variabel dependen (variabel respons) dengan dua atau lebih variabel independen (variabel prediktor). Tujuannya adalah untuk menemukan hubungan linier antara variabel dependen dan variabel independen, serta untuk memahami sejauh mana variabel independen mempengaruhi variabel dependen.
Dalam analisis regresi linier berganda, model regresi linier digunakan untuk memprediksi nilai variabel dependen berdasarkan nilai-nilai variabel independen. Model regresi linier berganda diekspresikan dalam persamaan matematis:
\[Y = \beta_0 + \beta_1X_1 + \beta_2X_2 +...+\beta_pX_p + \epsilon\]
Analisis regresi linier berganda melibatkan beberapa asumsi, antara lain:
Dalam analisis regresi linier berganda, dilakukan juga pengujian terhadap asumsi-asumsi klasik tersebut menggunakan berbagai metode seperti uji normalitas residual, uji heteroskedastisitas, uji multikolinearitas, dan uji autokorelasi. Jika asumsi-asumsi tersebut tidak terpenuhi, mungkin diperlukan transformasi variabel atau penggunaan metode regresi lainnya yang lebih sesuai.
Pada kesempatan ini, akan dilakukan uji regresi linear berganda pada data life expectancy dan health di Asia pada tahun 2012 Sebelum melanjutkan, terlebih dahulu kita siapkan library yang akan digunakan.
# Memuat paket yang diperlukan
library(readxl)
library(dplyr)
library(lmtest)
library(car)
library(ggplot2)
Kemudian, akan diambil 3 variabel independen yaitu:
Variabel dependen yang akan digunakan adalah Life_Expectancy yang merupakan angka harapan hidup laki-laki dan perempuan di Asia pada tahun 2012
# Membaca data dari file Excel
data <- read_excel("C:/Users/Bradly Sitompul/Downloads/AHH2012_ASIA.xlsx")
data
## # A tibble: 27 × 4
## Life_expectancy Adult_mortality GDP_per_capita Population_mln
## <dbl> <dbl> <dbl> <dbl>
## 1 70 184. 994 5.61
## 2 70.1 205. 2611 97.2
## 3 69.3 220. 2479 0.7
## 4 71.5 132. 5195 9.3
## 5 67.2 194. 5250 5.27
## 6 67.5 185. 1347 1266.
## 7 69.9 181. 2981 248.
## 8 68.2 220. 3336 2.82
## 9 62.1 240. 558 31.2
## 10 67.5 187. 993 14.8
## # ℹ 17 more rows
# Statistik deskriptif untuk semua variabel
summary(data)
## Life_expectancy Adult_mortality GDP_per_capita Population_mln
## Min. :62.10 Min. : 55.26 Min. : 558 Min. : 0.400
## 1st Qu.:67.85 1st Qu.:127.50 1st Qu.: 1170 1st Qu.: 6.025
## Median :70.00 Median :163.24 Median : 2611 Median : 26.990
## Mean :71.09 Mean :156.32 Mean : 7387 Mean : 142.730
## 3rd Qu.:75.00 3rd Qu.:197.57 3rd Qu.: 6062 3rd Qu.: 93.505
## Max. :83.10 Max. :240.46 Max. :51680 Max. :1354.190
Melalui statistik deskriptif diatas, didapatkan nilai minimum, kuartil bawah, median, mean, kuartil atas, dan nilai maksimum dari keempat variabel. Pada variabel Life_Expectancy, didapatkan nilai minimum 62.10 tahun kuartil bawah 67.85 tahun median 70.00 tahun mean 71.09 tahun kuartil atas 75.00 tahun nilai maksimum 83.10 tahun. Begitu hingga variabel Population_Mln.
# Membangun model regresi
model <- lm(Life_expectancy~., data = data)
model
##
## Call:
## lm(formula = Life_expectancy ~ ., data = data)
##
## Coefficients:
## (Intercept) Adult_mortality GDP_per_capita Population_mln
## 81.1366321 -0.0685593 0.0001029 -0.0006369
1. Uji Asumsi Linearitas
# Uji Asumsi Linearitas menggunkan Ramsey RESET
ramsey_test <- resettest(model, power = 2)
ramsey_test
##
## RESET test
##
## data: model
## RESET = 0.030704, df1 = 1, df2 = 22, p-value = 0.8625
Dengan nilai p-value = 0.8625 > 0.05, maka tidak ada cukup bukti untuk menolak asumsi linearitas dan dapat disimpulkan bahwa model regresi linear berganda tersebut memenuhi asumsi linearitas.
2. Uji Normalitas Residual
# Histogram dari residual
ggplot(data.frame(Residual=resid(model)), aes(x=Residual)) +
geom_histogram(binwidth=0.5, fill="steelblue", color="black") +
labs(x = "Residual", y = "Count", title = "Histogram of Residuals")
# Grafik QQ Plot untuk normalitas residual
qqnorm(resid(model))
qqline(resid(model))
# Uji Normalitas residual model
shapiro.test(resid(model))
##
## Shapiro-Wilk normality test
##
## data: resid(model)
## W = 0.96251, p-value = 0.4209
3. Uji Non-Heteroskedastisitas
# Grafik Residual Plot untuk non-heteroskedastisitas
plot(model, which = 1)
# Uji non-Heteroskedastisitas
bptest(model)
##
## studentized Breusch-Pagan test
##
## data: model
## BP = 1.8877, df = 3, p-value = 0.596
4. Uji Non-Multikolinearitas
# Uji Multikolinearitas
vif(model)
## Adult_mortality GDP_per_capita Population_mln
## 1.853875 1.843523 1.073356
vif_values <- vif(model)
# Membuat plot VIF
plot(vif_values, type = "bar", main = "VIF Plot")
Diperoleh nilai VIF ketiga variabel independen < 10 sehingga tidak
terjadi multikolinearitas yang berarti asumsi non-multikolinearitas
terpenuhi.
5. Uji Autokorelasi Residual
# Uji autokorelasi residual
durbinWatsonTest(model)
## lag Autocorrelation D-W Statistic p-value
## 1 0.2322953 1.516817 0.136
## Alternative hypothesis: rho != 0
Berdasarkan uji autokorelasi diatas, diperoleh p-value = 0.166 > 0.05 yang berarti bahwa asumsi tidak terjadinya autokorelasi terpenuhi.
# Ringkasan model
summary(model)
##
## Call:
## lm(formula = Life_expectancy ~ ., data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -4.1555 -1.2389 -0.2669 2.0073 3.9195
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 8.114e+01 2.239e+00 36.238 < 2e-16 ***
## Adult_mortality -6.856e-02 1.194e-02 -5.741 7.58e-06 ***
## GDP_per_capita 1.029e-04 5.041e-05 2.042 0.0528 .
## Population_mln -6.369e-04 1.381e-03 -0.461 0.6489
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.328 on 23 degrees of freedom
## Multiple R-squared: 0.8078, Adjusted R-squared: 0.7827
## F-statistic: 32.22 on 3 and 23 DF, p-value: 2.081e-08
Melalui output diatas, diperoleh:
model regresi linear berganda yaitu: \[Y = - 6.856e-02X_1 + 1.029e-04X_2 - 6.369e-04X_3 + \epsilon\] Artinya, jika variabel Life_Expectancy naik sebanyak 1 tahun, maka akan menurunkan Adult_mortality sebesar 6.856e-02, menaikkan GDP_per_capita sebesar 1.029e-04, dan menurunkan Population_mln sebesar 6.369e-04
Uji Simultan: nilai p-value = 2.081e-08 < 0.05, sehingga dapat disimpulkan bahwa terdapat pengaruh yang signifikan antara variabel independen terhadap variabel dependen secara simultan.
Uji Parsial: Variabel Adult_mortality dan GDP_per_capita memiliki p- value secara berturut-turut 7.58e-06 dan 0.0528 < 0.05 yang berarti bahwa kedua variabel ini secara parsial berpengaruh signifikan terhadap variabel dependen. Sedangkan variabel Population_mln memiliki p-value = 0.6489 > 0.05 yang berarti bahwa variabel ini secara parsial tidak berpengaruh signifikan terhadap variabel dependen.
Nilai Koefisien Determinasi (diperoleh dari Adjusted R-Square) memiliki nilai 0.7827 atau 78.27%. Artinya, variabel independen dalam model regresi ini mampu menjelaskan variasi dari variabel dependen sebesar 78.27%. Sedangkan 21.73% lainnya dapat dijelaskan oleh variabel lain yang tidak termasuk dalam model ini.