Nama: Nisa Aziza Putri
NIM: 24050123140196
Mata Kuliah: Komputasi Statistika Lanjut D

1 Latar Belakang

Dalam studi pembangunan, hubungan antara kesejahteraan ekonomi dan kesehatan penduduk merupakan topik yang sangat penting. Negara dengan pendapatan per kapita yang lebih tinggi umumnya memiliki akses yang lebih baik terhadap layanan kesehatan, gizi, sanitasi, pendidikan, serta teknologi medis. Semua faktor tersebut secara teoritis dapat meningkatkan umur harapan hidup.

Meskipun demikian, hubungan antara pendapatan dan kesehatan tidak selalu bersifat linier sempurna. Pada tingkat pendapatan yang sangat rendah, kenaikan pendapatan kecil dapat menghasilkan peningkatan harapan hidup yang cukup besar. Namun, setelah pendapatan mencapai tingkat menengah-tinggi, tambahan pendapatan sering kali memberi kenaikan harapan hidup yang lebih lambat. Oleh sebab itu, pendekatan statistik yang menggunakan transformasi logaritma pada pendapatan sering dipakai agar pola hubungan lebih realistis.

2 Rumusan Masalah dan Tujuan

Rumusan masalah dalam laporan ini adalah:

  1. Apakah terdapat hubungan positif antara GDP per capita dan life expectancy?
  2. Seberapa kuat hubungan tersebut?
  3. Apakah perbedaan kawasan geografis masih berperan setelah pengaruh pendapatan diperhitungkan?
  4. Apakah ukuran populasi memberikan kontribusi tambahan dalam model?

Tujuan analisis adalah menyusun alur komputasi statistika yang lengkap, mulai dari penyiapan data, eksplorasi, pemodelan, interpretasi hasil, hingga evaluasi model.

3 Sumber Data dan Variabel

Data diperoleh dari hasil penelusuran web/Google pada sebuah gist GitHub bertajuk Relation Between Income And Health Expectancy In Different Countries. Menurut README gist tersebut, variabel income berasal dari World Wealth & Income Database, sedangkan variabel health/angka harapan hidup dihimpun dari Global Health Observatory.

Variabel yang digunakan:

library(dplyr)
library(ggplot2)
library(broom)
library(knitr)
csv_text <- '
country,income,health,population,region
"Afghanistan",1925,57.63,32526562,"Asia"
"Albania",10620,76.0,2896679,"Europe"
"Algeria",13434,76.5,39666519,"Africa"
"Andorra",46577,84.1,70473,"Europe"
"Angola",7615,61.0,25021974,"Africa"
"Antigua and Barbuda",21049,75.2,91818,"Latin America"
"Argentina",17344,76.2,43416755,"Latin America"
"Armenia",7763,74.4,3017712,"Asia"
"Australia",44056,81.8,23968973,"Oceania"
"Austria",44401,81.0,8544586,"Europe"
"Azerbaijan",16986,72.9,9753968,"Asia"
"Bahamas",22818,72.3,388019,"Latin America"
"Bahrain",44138,79.2,1377237,"Asia"
"Bangladesh",3161,70.1,160995642,"Asia"
"Barbados",12984,75.8,284215,"Latin America"
"Belarus",17415,70.4,9495826,"Europe"
"Belgium",41240,80.4,11299192,"Europe"
"Belize",8501,70.0,359287,"Latin America"
"Benin",1830,65.5,10879829,"Africa"
"Bhutan",7983,70.2,774830,"Asia"
"Bolivia",6295,72.3,10724705,"Latin America"
"Bosnia and Herzegovina",9833,77.9,3810416,"Europe"
"Botswana",17196,66.4,2262485,"Africa"
"Brazil",15441,75.6,207847528,"Latin America"
"Brunei",73003,78.7,423188,"Asia"
"Bulgaria",16371,74.9,7149787,"Europe"
"Burkina Faso",1654,62.8,18105570,"Africa"
"Burundi",777,60.4,11178921,"Africa"
"Cambodia",3267,68.4,15577899,"Asia"
"Cameroon",2897,59.5,23344179,"Africa"
"Canada",43294,81.7,35939927,"Northern America"
"Cape Verde",6514,74.6,520502,"Africa"
"Central African Republic",599,53.8,4900274,"Africa"
"Chad",2191,57.7,14037472,"Africa"
"Chile",22465,79.3,17948141,"Latin America"
'

dat <- read.csv(text = csv_text, stringsAsFactors = FALSE)
dat$region <- as.factor(dat$region)
dat$log_income <- log(dat$income)
dat$log_population <- log(dat$population)

head(dat)
##               country income health population        region log_income
## 1         Afghanistan   1925  57.63   32526562          Asia   7.562681
## 2             Albania  10620  76.00    2896679        Europe   9.270494
## 3             Algeria  13434  76.50   39666519        Africa   9.505544
## 4             Andorra  46577  84.10      70473        Europe  10.748862
## 5              Angola   7615  61.00   25021974        Africa   8.937875
## 6 Antigua and Barbuda  21049  75.20      91818 Latin America   9.954608
##   log_population
## 1       17.29757
## 2       14.87908
## 3       17.49602
## 4       11.16298
## 5       17.03526
## 6       11.42756

4 Statistik Deskriptif

summary(dat[, c("income", "health", "population")])
##      income          health        population       
##  Min.   :  599   Min.   :53.80   Min.   :    70473  
##  1st Qu.: 4781   1st Qu.:67.40   1st Qu.:  1819861  
##  Median :12984   Median :74.40   Median :  9753968  
##  Mean   :17532   Mean   :71.85   Mean   : 21674317  
##  3rd Qu.:21757   3rd Qu.:77.20   3rd Qu.: 20724874  
##  Max.   :73003   Max.   :84.10   Max.   :207847528
region_summary <- dat %>%
  group_by(region) %>%
  summarise(
    n = n(),
    mean_income = mean(income),
    median_income = median(income),
    mean_health = mean(health),
    median_health = median(health)
  )

kable(region_summary, digits = 2, caption = "Ringkasan data menurut kawasan")
Ringkasan data menurut kawasan
region n mean_income median_income mean_health median_health
Africa 10 5470.70 2544.0 63.82 61.90
Asia 8 19778.25 7873.0 71.44 71.55
Europe 7 26636.71 17415.0 77.81 77.90
Latin America 8 15862.12 16392.5 74.59 75.40
Northern America 1 43294.00 43294.0 81.70 81.70
Oceania 1 44056.00 44056.0 81.80 81.80

Interpretasi awal menunjukkan bahwa negara pada kawasan Eropa dan negara maju lain cenderung memiliki rata-rata life expectancy lebih tinggi, sedangkan negara-negara Afrika dalam sampel cenderung memiliki rata-rata lebih rendah. Hal ini menunjukkan bahwa konteks kawasan kemungkinan penting untuk dimasukkan ke model.

5 Eksplorasi Visual

ggplot(dat, aes(x = income, y = health)) +
  geom_point() +
  geom_smooth(method = "lm", formula = y ~ log(x), se = FALSE) +
  scale_x_log10() +
  labs(
    title = "Hubungan GDP per capita dan life expectancy",
    x = "GDP per capita (skala log)",
    y = "Life expectancy (tahun)"
  ) +
  theme_minimal()

Scatter plot menunjukkan kecenderungan hubungan positif. Ketika pendapatan meningkat, angka harapan hidup juga cenderung meningkat. Pada skala log, pola hubungan terlihat lebih stabil dan lebih mudah dijelaskan melalui regresi linear.

ggplot(dat, aes(x = region, y = health)) +
  geom_boxplot() +
  labs(
    title = "Sebaran life expectancy menurut region",
    x = "Region",
    y = "Life expectancy (tahun)"
  ) +
  theme_minimal()

6 Analisis Korelasi

cor_test <- cor.test(dat$log_income, dat$health)
cor_test
## 
##  Pearson's product-moment correlation
## 
## data:  dat$log_income and dat$health
## t = 10.184, df = 33, p-value = 1.023e-11
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.7576614 0.9333341
## sample estimates:
##       cor 
## 0.8709927

Korelasi Pearson antara log_income dan health diharapkan bernilai positif dan signifikan. Apabila demikian, hasil tersebut memperkuat dugaan bahwa kenaikan pendapatan per kapita berkaitan dengan peningkatan life expectancy.

7 Model 1: Regresi Linear Sederhana

Model pertama yang diestimasi adalah:

\[ health_i = \beta_0 + \beta_1 log(income_i) + \varepsilon_i \]

model1 <- lm(health ~ log_income, data = dat)
summary(model1)
## 
## Call:
## lm(formula = health ~ log_income, data = dat)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -9.3800 -2.1425  0.9963  2.8875  6.0842 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  20.1783     5.1169   3.943 0.000395 ***
## log_income    5.6167     0.5515  10.184 1.02e-11 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3.942 on 33 degrees of freedom
## Multiple R-squared:  0.7586, Adjusted R-squared:  0.7513 
## F-statistic: 103.7 on 1 and 33 DF,  p-value: 1.023e-11

Interpretasi:

8 Model 2: Regresi Linear Berganda dengan Region

Model kedua menambahkan faktor kawasan:

\[ health_i = \beta_0 + \beta_1 log(income_i) + \gamma region_i + \varepsilon_i \]

model2 <- lm(health ~ log_income + region, data = dat)
summary(model2)
## 
## Call:
## lm(formula = health ~ log_income + region, data = dat)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -6.7328 -1.9854  0.0872  2.3248  7.5905 
## 
## Coefficients:
##                        Estimate Std. Error t value Pr(>|t|)    
## (Intercept)             28.1198     6.0505   4.647 7.27e-05 ***
## log_income               4.4285     0.7349   6.026 1.71e-06 ***
## regionAsia               2.7517     2.0143   1.366   0.1828    
## regionEurope             5.4036     2.3889   2.262   0.0316 *  
## regionLatin America      4.0193     2.1583   1.862   0.0731 .  
## regionNorthern America   6.3027     4.5093   1.398   0.1732    
## regionOceania            6.3254     4.5148   1.401   0.1722    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3.89 on 28 degrees of freedom
## Multiple R-squared:  0.8006, Adjusted R-squared:  0.7578 
## F-statistic: 18.73 on 6 and 28 DF,  p-value: 1.252e-08

Interpretasi:

9 Model 3: Penambahan Ukuran Populasi

Model ketiga menambahkan log_population:

\[ health_i = \beta_0 + \beta_1 log(income_i) + \beta_2 log(population_i) + \gamma region_i + \varepsilon_i \]

model3 <- lm(health ~ log_income + log_population + region, data = dat)
summary(model3)
## 
## Call:
## lm(formula = health ~ log_income + log_population + region, data = dat)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -6.6996 -2.0720  0.1507  2.3236  7.4794 
## 
## Coefficients:
##                        Estimate Std. Error t value Pr(>|t|)    
## (Intercept)            29.09907   10.16869   2.862  0.00804 ** 
## log_income              4.39885    0.78723   5.588 6.31e-06 ***
## log_population         -0.04618    0.38155  -0.121  0.90456    
## regionAsia              2.76227    2.05251   1.346  0.18956    
## regionEurope            5.41521    2.43391   2.225  0.03464 *  
## regionLatin America     4.01276    2.19797   1.826  0.07898 .  
## regionNorthern America  6.44332    4.73562   1.361  0.18489    
## regionOceania           6.44786    4.70644   1.370  0.18197    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3.96 on 27 degrees of freedom
## Multiple R-squared:  0.8007, Adjusted R-squared:  0.749 
## F-statistic: 15.49 on 7 and 27 DF,  p-value: 5.715e-08

Interpretasi:

10 Evaluasi Model

plot(model2$fitted.values, resid(model2),
     xlab = "Nilai fitted",
     ylab = "Residual",
     main = "Residual plot model regresi berganda")
abline(h = 0, lty = 2)

Residual plot digunakan untuk menilai apakah residual menyebar di sekitar nol dan tidak membentuk pola yang sangat sistematis. Jika pola acak cukup terlihat, maka asumsi linearitas secara umum masih layak.

11 Interpretasi Substantif

Secara substantif, hasil analisis ini mendukung teori bahwa kesejahteraan ekonomi berhubungan erat dengan kondisi kesehatan penduduk. Pendapatan per kapita yang lebih tinggi biasanya berkaitan dengan kemampuan negara menyediakan layanan kesehatan, memperbaiki nutrisi, sanitasi, pendidikan, dan perlindungan sosial. Semua faktor tersebut berkontribusi pada peningkatan life expectancy.

Akan tetapi, hasil model yang memasukkan region menunjukkan bahwa pendapatan bukan satu-satunya faktor. Dua negara dengan pendapatan mirip dapat memiliki life expectancy yang berbeda karena kualitas institusi, sistem kesehatan, stabilitas politik, budaya hidup sehat, dan kondisi geografis yang berbeda.

12 Kesimpulan

Berdasarkan analisis terhadap 35 negara, terdapat hubungan positif yang kuat antara GDP per capita dan life expectancy. Model regresi sederhana diharapkan sudah mampu menjelaskan sebagian besar variasi life expectancy. Setelah variabel region dimasukkan, kemampuan model menjelaskan data menjadi lebih baik. Sementara itu, variabel populasi kemungkinan tidak memberikan tambahan informasi yang berarti.

Dengan demikian, model yang disarankan dalam laporan ini adalah model yang memuat log_income dan region. Model ini relatif sederhana tetapi cukup kuat untuk menjelaskan pola umum pada data.

13 Daftar Pustaka Singkat

  1. GitHub Gist: Relation Between Income And Health Expectancy In Different Countries.
  2. README gist: income dari World Wealth & Income Database, health expectancy dari Global Health Observatory.
  3. World Bank Open Data: definisi indikator life expectancy dan GDP per capita.