Nama: Nisa Aziza Putri
NIM: 24050123140196
Mata Kuliah: Komputasi Statistika Lanjut D
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.
Rumusan masalah dalam laporan ini adalah:
Tujuan analisis adalah menyusun alur komputasi statistika yang lengkap, mulai dari penyiapan data, eksplorasi, pemodelan, interpretasi hasil, hingga evaluasi model.
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:
country: nama negaraincome: GDP per capita/pendapatan per kapitahealth: life expectancy (tahun)population: jumlah pendudukregion: kawasan geografislibrary(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
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")
| 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.
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()
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.
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:
log_income yang positif menunjukkan bahwa
semakin tinggi pendapatan per kapita, semakin tinggi life
expectancy.R-squared menjelaskan proporsi variasi
health yang dapat diterangkan oleh
log_income.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:
log_income tetap signifikan, maka hubungan
pendapatan dan life expectancy tetap kuat meskipun perbedaan kawasan
telah diperhitungkan.R-squared dibanding model pertama menunjukkan
bahwa penambahan variabel region membuat model lebih informatif.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:
log_population tidak signifikan, maka ukuran
populasi tidak memberi tambahan informasi yang berarti dalam 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.
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.
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.