Angka harapan hidup merupakan salah satu indikator penting untuk mengukur tingkat kesehatan dan kesejahteraan suatu negara. Berbagai faktor dapat memengaruhi angka harapan hidup, termasuk faktor ekonomi dan demografi. Adapun faktor yang sering dikaitkan dengan angka harapan hidup adalah GDP per kapita, populasi, dan
Analisis regresi linier berganda dapat digunakan untuk menyelidiki hubungan antara GDP per kapita, populasi, kematian pada populasi dewasa, dan angka harapan hidup. Analisis ini memungkinkan kita untuk memperkirakan pengaruh individual dari kedua variabel independen (GDP per kapita dan populasi) terhadap variabel dependen (angka harapan hidup), 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 di Asia pada tahun 2015 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, diambil 2 variabel independen yaitu:
Variabel dependen yang akan digunakan adalah Life_Expectancy yang merupakan angka harapan hidup laki-laki dan perempuan di Asia pada tahun 2015
# Membaca data dari file Excel
data <- read_excel("D:/AHH2015.xlsx")
data
## # A tibble: 179 × 4
## Y X1 X2 X3
## <dbl> <dbl> <dbl> <dbl>
## 1 75.1 2582 92.7 106.
## 2 69.5 902 27.0 57.9
## 3 70.8 3332 258. 223
## 4 75.9 8016 1380. 340.
## 5 68.6 1606 1310. 262.
## 6 67.7 6433 5.57 95.8
## 7 65.8 1197 52.7 89.2
## 8 72.3 5500 9.65 218.
## 9 76.1 5840 68.7 53.9
## 10 69.1 3875 3 125.
## # ℹ 169 more rows
# Statistik deskriptif untuk semua variabel
summary(data)
## Y X1 X2 X3
## Min. :63.40 Min. : 556 Min. : 0.41 Min. : 49.38
## 1st Qu.:68.85 1st Qu.: 1302 1st Qu.: 6.35 1st Qu.: 90.79
## Median :70.80 Median : 3001 Median : 27.02 Median :146.52
## Mean :71.98 Mean : 7832 Mean : 147.07 Mean :163.67
## 3rd Qu.:75.40 3rd Qu.: 7224 3rd Qu.: 97.39 3rd Qu.:215.65
## Max. :83.80 Max. :55647 Max. :1379.86 Max. :513.48
## NA's :152 NA's :152 NA's :152
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 63.40 tahun kuartil bawah 68.85 tahun median 70.80 tahun kuartil atas 75.40 tahun nilai maksimum 83.80 tahun. Begitu hingga variabel X3 “Adult_Mortality”.
# Membangun model regresi
model <- lm(Y~ X1 + X2 + X3, data = data)
model
##
## Call:
## lm(formula = Y ~ X1 + X2 + X3, data = data)
##
## Coefficients:
## (Intercept) X1 X2 X3
## 6.868e+01 2.888e-04 6.879e-04 5.069e-03
1. Uji Asumsi Linearitas
# Uji Asumsi Linearitas menggunkan Ramsey RESET
ramsey_test <- resettest(model, power = 3)
ramsey_test
##
## RESET test
##
## data: model
## RESET = 1.6495, df1 = 1, df2 = 22, p-value = 0.2124
Dengan nilai p-value = 0.2124 > 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="red", 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.96726, p-value = 0.5312
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 = 0.61605, df = 3, p-value = 0.8927
4. Uji Non-Multikolinearitas
# Uji Multikolinearitas
vif(model)
## X1 X2 X3
## 1.017440 1.124152 1.132536
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.0004072337 1.879128 0.698
## Alternative hypothesis: rho != 0
Berdasarkan uji autokorelasi diatas, diperoleh p-value = 0.698 > 0.05 yang berarti bahwa asumsi tidak terjadinya autokorelasi terpenuhi.
# Ringkasan model
summary(model)
##
## Call:
## lm(formula = Y ~ X1 + X2 + X3, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -6.2759 -2.5824 -0.1499 2.0753 5.7533
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 6.868e+01 1.516e+00 45.310 < 2e-16 ***
## X1 2.888e-04 5.312e-05 5.437 1.59e-05 ***
## X2 6.879e-04 2.014e-03 0.342 0.736
## X3 5.069e-03 7.117e-03 0.712 0.484
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3.406 on 23 degrees of freedom
## (152 observations deleted due to missingness)
## Multiple R-squared: 0.5628, Adjusted R-squared: 0.5058
## F-statistic: 9.869 on 3 and 23 DF, p-value: 0.0002252
Melalui output diatas, diperoleh:
model regresi linear berganda yaitu: \[Y = 2.888e-04X_1 + 6.879e-04X_2 + 5.069e-03X_3 + \epsilon\] Artinya, jika variabel Life_Expectancy naik sebanyak 1 tahun, maka akan menaikkan GDP Per kapita sebesar 2.888e-04, menaikkan Populasi sebesar 6.879e-04 juta orang, dan menaikkan kematian orang dewasa sebesar 5.069e-03 pertahunnya
Uji Simultan: nilai p-value = 0.0002252 < 0.05, sehingga dapat disimpulkan bahwa terdapat pengaruh yang signifikan antara variabel independen terhadap variabel dependen secara simultan.
Uji Parsial: Variabel GDP Per kapita memiliki p- value sebesar 1.59e-05 < 0.05 yang berarti bahwa variabel ini secara parsial berpengaruh signifikan terhadap variabel dependen. Sedangkan variabel populasi dan jumlah kematian orang dewasa memiliki p-value berturut-turut sebesar 0.736 dan 0.484 > 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.5058 atau 50.58%. Artinya, variabel independen dalam model regresi ini mampu menjelaskan variasi dari variabel dependen sebesar 50.58%. Sedangkan 49.42% lainnya dapat dijelaskan oleh variabel lain yang tidak termasuk dalam model ini.