Analisis Regresi Linear Berganda pada Angka Harapan Hidup di Asia pada Tahun 2015

Debora Suryani Putri Miracle- M0722029


Deskripsi Data

Angka Harapan Hidup (Life Expectancy) merupakan suatu data yang menggambarkan perkiraan atau estimasi rata-rata umur yang diharapkan seseorang dapat mencapai dalam suatu populasi tertentu. Pada umumnya diukur dalam satuan tahun dan digunakan sebagai indikator kesehatan dan perkembangan sosial ekonomi suatu negara atau wilayah. Dalam hal ini, kita akan menganalisis data angka harapan hidup di Asia tahun 2015. Data tersebut dianalisis menggunakan salah satu metode statistika, yaitu analisis regresi linear berganda.

Regresi linear terbagi menjadi regresi linear sederhana dan regresi linear berganda. regresi linear berganda merupakan suatu algoritma yang digunakan untuk melihat pola hubungan antara variabel dependen dengan dua atau lebih variabel independen. Dengan tujuan yaitu untuk menemukan hubungan linear antara variabel independen dengan variabel dependen, juga memahami sejauh mana variabel independen memengaruhi variabel dependen.

Dalam analisis ini, variabel independen yang digunakan adalah tingkat kematian dewasa sebagai X1, kematian anak di bawah 5 tahun sebagai X2, dan memiliki penyakit hepatitis B sebagai X3. Selanjutnya, 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\]

Keterangan :

Y = variabel dependen

β0,β1,..,βk = parameter regresi

X1,X2,..,XK = variabel independen

€ = sesatan / residu

Analisis regresi linier berganda melibatkan beberapa asumsi, antara lain:

1. Asumsi normalitas

Uji normalitas bertujuan untuk memeriksa apakah residual dari model regresi terdistribusi secara normal. Normalitas residual diperlukan untuk validitas pengujian hipotesis dan pembentukan interval kepercayaan.Uji ini dapat dilakukan dengan Shapiro-Wilk test, Kolmogorov-Smirnov Test.Asumsi normalitas ini dikatakan dianggar apabila p-value < α = 0.05

2. Asumsi non-heteroskedastisitas

Uji non-heteroskedastisitas memeriksa apakah varians residual konstan di seluruh rentang prediktor. Homoskedastisitas penting untuk efisiensi estimasi koefisien regresi.Uji ini dapat dilakukan dengan Breusch-Pagan Test, Glejser Test.Asumsi non-heteroskedastisitas ini dikatakan dianggar apabila p-value < α = 0.05

3. Asumsi non-autokorelasi

Uji autokorelasi memeriksa apakah residual berkorelasi satu sama lain. Autokorelasi sering muncul dalam data time series dan dapat mempengaruhi efisiensi estimasi koefisien regresi. Uji ini dapat dilakukan dengan Durbin-Watson Test.Asumsi non-autokorelasi ini dikatakan dianggar apabila p-value < α = 0.05

4. Asumsi multikolinearitas

Uji multikolinearitas memeriksa apakah terdapat korelasi tinggi antara variabel independen. Multikolinearitas dapat mengakibatkan kesulitan dalam mengestimasi dan menginterpretasi koefisien regresi.Uji ini dilakukan dengan Variance Inflation Factor (VIF) dan Tolerance.Asumsi normalitas ini dikatakan dianggar apabila VIF > 10.

5. Asumsi linearitas

Uji linearitas memeriksa apakah hubungan antara variabel independen dan variabel dependen adalah linear. Linearitas adalah asumsi dasar model regresi linear. Dapat dilakukan dari melihat plot residual vs fitted value.

Jika asumsi-asumsi tersebut terdapat salah satu asumsi yang tidak terpenuhi, maka diperlukan transformasi variabel atau penggunaan metode regresi lainnya yang lebih sesuai.Setelah melakukan uji asumsi, langkah selanjutnya adalah membuat model regresi linear berganda dan menguji secara simultan (uji F) serta parsial (uji t).


Package yang Digunakan

Sebelum akan dilakukan uji regresi linear berganda pada data life expectancy, adult mortality, under five deaths, dan hepatitis B di Asia pada tahun 2015. Maka perlu menyiapkan package yang akan digunakan.

# Memuat _packages_ yang diperlukan
library(readxl)
library(dplyr)
library(lmtest)
library(car)
library(ggplot2)
library(conf)

Load Data

Kemudian, akan diambil 3 variabel independen yaitu:

  1. Adult mortality : Kematian orang dewasa per 1000 populasi
  2. Under five deaths : Kematian anak di bawah 5 tahun
  3. Hepatitis B : Angka orang dengan riwayat penyakit hepatitis B

Variabel dependen yang akan digunakan adalah Life_Expectancy yang merupakan angka harapan hidup laki-laki dan perempuan di Asia pada tahun 2015.

Sebelum melakukan analisis, kita perlu mengimpor data terlebih dahulu.

# Membaca data dari file Excel
Data_SIM <- read_excel(path="C:/Users/dbrmi/OneDrive/Documents/Data_SIM.xlsx")
Data_SIM
## # A tibble: 2,864 × 22
##       No Country    Region  Year Infant_deaths Under_five_deaths Adult_mortality
##    <dbl> <chr>      <chr>  <dbl>         <dbl>             <dbl>           <dbl>
##  1     1 Turkiye    Middl…  2015          11.1              13             106. 
##  2     2 Spain      Europ…  2015           2.7               3.3            57.9
##  3     3 India      Asia    2007          51.5              67.9           201. 
##  4     4 Guyana     South…  2006          32.8              40.5           222. 
##  5     5 Israel     Middl…  2012           3.4               4.3            58.0
##  6     6 Costa Rica Centr…  2006           9.8              11.2            95.2
##  7     7 Russian F… Rest …  2015           6.6               8.2           223  
##  8     8 Hungary    Europ…  2000           8.7              10.1           193. 
##  9     9 Jordan     Middl…  2001          22                26.1           130. 
## 10    10 Moldova    Rest …  2008          15.3              17.8           218. 
## # ℹ 2,854 more rows
## # ℹ 15 more variables: Alcohol_consumption <dbl>, Hepatitis_B <dbl>,
## #   Measles <dbl>, BMI <dbl>, Polio <dbl>, Diphtheria <dbl>,
## #   Incidents_HIV <dbl>, GDP_per_capita <dbl>, Population_mln <dbl>,
## #   Thinness_ten_nineteen_years <dbl>, Thinness_five_nine_years <dbl>,
## #   Schooling <dbl>, Economy_status_Developed <dbl>,
## #   Economy_status_Developing <dbl>, Life_expectancy <dbl>
# Mengambil data di Uni Eropa pada tahun 2008
data_filtered <- filter(Data_SIM, Region == "Asia" & Year == 2015) %>%
  select(Life_expectancy, Adult_mortality, Under_five_deaths, 
Hepatitis_B)

# Menampilkan data hasil filter
data_filtered
## # A tibble: 27 × 4
##    Life_expectancy Adult_mortality Under_five_deaths Hepatitis_B
##              <dbl>           <dbl>             <dbl>       <dbl>
##  1            75.1           125.               21.8          97
##  2            69.5           155.               35.5          91
##  3            70.8           176.               27.7          78
##  4            75.9            82.3              10.7          99
##  5            68.6           178.               43.5          87
##  6            67.7           190.               42.2          99
##  7            65.8           196.               52.2          89
##  8            72.3           125.               26.3          96
##  9            76.1           149.               10.8          99
## 10            69.1           213.               19.4          99
## # ℹ 17 more rows

Statistik Deskriptif

# Statistik deskriptif untuk semua variabel
summary(Data_SIM)
##  Life_expectancy Adult_mortality  Under_five_deaths  Hepatitis_B   
##  Min.   :63.40   Min.   : 50.96   Min.   : 2.70     Min.   :65.00  
##  1st Qu.:68.85   1st Qu.:123.14   1st Qu.:10.75     1st Qu.:89.00  
##  Median :70.80   Median :154.60   Median :26.30     Median :97.00  
##  Mean   :71.98   Mean   :148.13   Mean   :28.02     Mean   :92.04  
##  3rd Qu.:75.40   3rd Qu.:186.02   3rd Qu.:37.80     3rd Qu.:99.00  
##  Max.   :83.80   Max.   :227.74   Max.   :76.00     Max.   :99.00

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 di negara Afghanistan,kuartil bawah 68.85 tahun, median 70.80 tahun, kuartil atas 75.40 tahun, dan nilai maksimum sebesar 83.80 tahun di negara Japan. Begitu seterusnya hingga variabel Hepatitis_B.


Uji Asumsi Klasik

# Membangun model regresi
model <- lm(Life_expectancy~ Adult_mortality+Under_five_deaths+Hepatitis_B, data = Data_SIM)

1. Uji Asumsi 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")

# Menghasilkan QQ plot untuk memeriksa normalitas residual
qqnorm(resid(model))
qqline(resid(model))

# Uji Asumsi Normalitas menggunakan Shapiro-Wilk
shapiro.test(model$residuals)
## 
##  Shapiro-Wilk normality test
## 
## data:  model$residuals
## W = 0.96052, p-value = 0.3799

2. Uji Non-Heteroskedastisitas

# Uji Non-Heteroskedastisitas Menggunakan Breusch-Pagan
bptest(model)
## 
##  studentized Breusch-Pagan test
## 
## data:  model
## BP = 2.5761, df = 3, p-value = 0.4617
#Grafik Residual Plot untuk non-heteroskedastisitas
plot(model,which = 1)

3. Uji Non-Autokorelasi

# Uji Non-Autokorelasi Residual
dwtest(model)
## 
##  Durbin-Watson test
## 
## data:  model
## DW = 2.6602, p-value = 0.9529
## alternative hypothesis: true autocorrelation is greater than 0

Berdasarkan uji autokorelasi diatas, diperoleh p-value = 0.9529 > 0.05 yang berarti bahwa asumsi tidak terjadinya autokorelasi terpenuhi.

4. Uji Non-Multikolinearitas

#Uji Non-Multikolinearitas
vif(model)
##   Adult_mortality Under_five_deaths       Hepatitis_B 
##          1.762857          2.539304          1.677327
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 Linearitas

#Uji Linearitas
crPlots(model) 

Posisi dua garis warna berbeda (garis putus-putus dan garis sambung) berada pada posisi yang hampir berdempet, artinya variabel independent memiliki linieritas dengan variabel dependen, dapat dikatakan asumsi Lineritas model regresi terpenuhi.


Model Regresi Linier Berganda

# Ringkasan Model Regresi
summary(model)
## 
## Call:
## lm(formula = Life_expectancy ~ Adult_mortality + Under_five_deaths + 
##     Hepatitis_B, data = Data_SIM)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.1491 -0.7793 -0.1139  0.7247  3.0376 
## 
## Coefficients:
##                    Estimate Std. Error t value Pr(>|t|)    
## (Intercept)       92.898259   3.753649  24.749  < 2e-16 ***
## Adult_mortality   -0.053034   0.007316  -7.249 2.23e-07 ***
## Under_five_deaths -0.153872   0.022330  -6.891 5.02e-07 ***
## Hepatitis_B       -0.095065   0.036785  -2.584   0.0166 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.391 on 23 degrees of freedom
## Multiple R-squared:  0.9271, Adjusted R-squared:  0.9176 
## F-statistic: 97.55 on 3 and 23 DF,  p-value: 3.166e-13

Uji Simultan (Uji F)

Uji Simultan bertujuan mengetahui apakah variabel-variabel independen secara signifikan bersama-sama berpengaruh terpengaruh terhadap variabel dependen.

Tahapan yang dilakukan dalam Uji - F adalah:

  1. Menentukan Hipotesis

    H0 : β1 = β2 = β3 = 0; (variabel X1,X2,X3 tidak berpengaruh terhadap Y)

    H1 : β1 ≠ β2 ≠ β3 ≠ 0; (variabel X1,X2,X3 berpengaruh terhadap Y)

  2. Menentukan Taraf/tingkat Signifikansi (α)

    α = 0.05

  3. Menentukan daerah kritis

    H0 ditolak jika p-value < α = 0.05

  4. Statistik uji

    Untuk melihat output dari uji simultan didapatkan dari syntax summary (model) dengan melihat p-value nya.

  5. Kesimpulan

    Dapat disimpulkan bahwa didapatkan p-value = 3.166e-13 < α = 0.05, yang berarti bahwa H0 ditolak sehingga variabel Adult_mortality, Under_five_deaths, dan Hepatitis_B berpengaruh signifikan terhadap Life_expectancy.

Uji Parsial (Uji t)

Uji secara parsial bertujuan mengetahui apakah persamaan model regresi yang terbentuk secara parsial variabel-variabel independennya berpengaruh signifikan terhadap variabel dependen.

Tahapan yang dilakukan dalam Uji - t adalah:

  1. Menentukan Hipotesis

    H0 : βi = 0; untuk i = 1,2,..(variabel Xi tidak berpengaruh signifikan terhadap Y)

    H1 : βi ≠ 0; (variabel Xi berpengaruh signifikan terhadap Y)

  2. Menentukan Taraf/tingkat Signifikansi (α)

    α = 0.05

  3. Menentukan daerah kritis

    H0 ditolak jika p-value < α = 0.05

  4. Statistik uji

    Untuk melihat output dari uji parsial didapatkan dari syntax summary (model) dengan melihat p-value di setiap variabelnya.

  5. Kesimpulan

Koefisien Determinasi

Koefisien determinasi adalah proporsi variansi dari variabel dependen (Y) yang dapat dijelaskan oleh variabel independen (X) dalam model regresi.

\[ R^2 = 1 - \frac{SS_{res}}{SS_{tot}} \] Di mana

Interpretasi Koefisien Determinasi

Nilai Rsquared berkisar antara 0 dan 1:

# Melihat Rsquared Model Regresi
summary(model)
## 
## Call:
## lm(formula = Life_expectancy ~ Adult_mortality + Under_five_deaths + 
##     Hepatitis_B, data = Data_SIM)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.1491 -0.7793 -0.1139  0.7247  3.0376 
## 
## Coefficients:
##                    Estimate Std. Error t value Pr(>|t|)    
## (Intercept)       92.898259   3.753649  24.749  < 2e-16 ***
## Adult_mortality   -0.053034   0.007316  -7.249 2.23e-07 ***
## Under_five_deaths -0.153872   0.022330  -6.891 5.02e-07 ***
## Hepatitis_B       -0.095065   0.036785  -2.584   0.0166 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.391 on 23 degrees of freedom
## Multiple R-squared:  0.9271, Adjusted R-squared:  0.9176 
## F-statistic: 97.55 on 3 and 23 DF,  p-value: 3.166e-13

Interpretasi :

Didapat nilai R-squared Adj sebesar 0.9176 yang berarti bahwa 91,76% variabel Y (Life_expectancy) dipengaruhi oleh variabel X1 (Adult_mortality), X2 (Under_five_deaths), dan X3 (Hepatitis_B), sedangkan sisanya yaitu 8,14% dijelaskan oleh variabel lain yang belum masuk ke dalam model.

Deteksi Pencilan

Pencilan adalah observasi yang memiliki nilai yang sangat berbeda dari nilai lainnya dalam dataset. Pencilan dapat disebabkan oleh berbagai alasan, termasuk kesalahan pengukuran, entri data yang salah, atau fenomena yang nyata. Pencilan dapat memberikan informasi penting tentang dataset, tetapi juga dapat mempengaruhi analisis statistik dan hasil model secara signifikan.

\[ |DFFITS| > 2\sqrt{k+1/n} \] Keterangan :

DFFITS (Difference in Fits) = Pencilan

k = variabel independen

n = banyaknya observasi

Dalam mencari pencilan atau outlier dapat menggunakan syntax (dffits(model)) lalu dibandingkan dengan syntax nilai.pembanding.dffits = 2*(sqrt(k+1/n)). Apabila |DFFITS| tersebut lebih besar dari nilai pembandingnya, maka dapat disimpulkan sebagai outlier.

# Mendeteksi Pencilan
nilai.pembanding.dffits= 2*(sqrt(4/27))
nilai.pembanding.dffits
## [1] 0.7698004

Sehingga, didapatkan nilai untuk pembanding sebesar 0.7698004.

# Melihat Pencilan
dffits(model)
##           1           2           3           4           5           6 
##  0.24213800 -0.17213325 -0.45618886 -0.42293742  0.01922697  0.25501527 
##           7           8           9          10          11          12 
## -0.05496994 -0.14599324  0.54241533 -0.04868504 -0.20183873  0.56424943 
##          13          14          15          16          17          18 
## -0.26856051  1.46142178 -0.19734602 -0.14666485 -0.03175026 -0.47901304 
##          19          20          21          22          23          24 
##  0.16911871 -0.41015744  0.83015298 -0.29137224  1.14271336  0.20174986 
##          25          26          27 
## -0.01196942 -0.01223138 -0.06117005

Sehingga, dapat dilihat bahwa |DFFITS| > 0.7698004. Maka, terlihat bahwa terdapat pencilan pada data ke-14,21 dan 23.

Kesimpulan