Laporan ini menganalisis hubungan antara Indeks Pembangunan Manusia (IPM), Tingkat Pengangguran Terbuka (TPT), dan PDRB per kapita terhadap tingkat kemiskinan pada unit analisis provinsi (n = 34). Analisis mencakup EDA, korelasi, ANOVA satu arah, regresi linear berganda, dan regresi logistik biner. Semua kode ada di lampiran sehingga dapat direproduksi.
Sumber Data Indeks Pembangunan Manusia (IPM)
Sumber Data Tingkat Kemiskinan (%)
Sumber Data Tingkat Pengangguran Terbuka (TPT)
Sumber Data Produk Domestik Regional Bruto Perkapita (PDRB)
| Lets Import Dataset |
pacman::p_load(readr,
dplyr,
ggplot2,
tidyr,
stats,
car)
getwd()
## [1] "C:/Users/Marcella/OneDrive/Tugas Kampus/Pengantar Sains Data"
library(readr)
Data <- read_delim("C:/Users/Marcella/OneDrive/Tugas Kampus/Pengantar Sains Data/Data BPS_IPM_Tingkt Kemiskinan_TPT_PDRB Perkapita(Ribu).csv",
delim = ";", escape_double = FALSE, trim_ws = TRUE)
## Rows: 34 Columns: 5
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ";"
## chr (1): Provinsi
## dbl (4): IPM, Kemiskinan (%), TPT (%), PDRB_Perkapita (Ribu)
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
View(Data)
knitr::opts_chunk$set(echo = TRUE, warning = FALSE, message = FALSE, fig.width = 8, fig.height = 5)
library(pacman)
## Warning: package 'pacman' was built under R version 4.5.2
p_load(readr, dplyr, ggplot2, tidyr, stats, car, broom, GGally, ggcorrplot, performance)
pink_main <- "#e91e63"
pink_soft <- "#f8bbd0"
theme_set(theme_minimal(base_size = 13))
colnames(Data)
## [1] "Provinsi" "IPM" "Kemiskinan (%)"
## [4] "TPT (%)" "PDRB_Perkapita (Ribu)"
summary(Data)
## Provinsi IPM Kemiskinan (%) TPT (%)
## Length:34 Min. :63.01 Min. : 4.250 Min. :2.270
## Class :character 1st Qu.:72.40 1st Qu.: 6.240 1st Qu.:3.487
## Mode :character Median :73.91 Median : 8.425 Median :4.320
## Mean :73.77 Mean :10.089 Mean :4.614
## 3rd Qu.:75.02 3rd Qu.:12.252 3rd Qu.:5.763
## Max. :83.55 Max. :26.030 Max. :7.520
## PDRB_Perkapita (Ribu)
## Min. : 23078
## 1st Qu.: 48233
## Median : 64110
## Mean : 81942
## 3rd Qu.: 77359
## Max. :322619
library(ggplot2)
ggplot(Data,
aes(x = IPM, y = `Kemiskinan (%)`)) +
geom_point(color = "#ffb6c1", size = 3) + # warna soft pink
geom_smooth(method = "lm", se = FALSE, color = "#ff69b4") + # pink lebih kuat untuk garis
labs(
title = "Hubungan IPM dan Tingkat Kemiskinan di Indonesia",
subtitle = "Sumber: Data BPS",
x = "Indeks Pembangunan Manusia (IPM)",
y = "Tingkat Kemiskinan (%)"
) +
theme_minimal() +
theme(
plot.title = element_text(face = "bold", color = "#cc3366", size = 14),
plot.subtitle = element_text(color = "gray40"),
axis.title = element_text(color = "#cc3366"),
panel.grid.minor = element_blank()
)
library(ggplot2)
data <- Data
num_cols <- c("IPM", "Kemiskinan (%)", "TPT (%)", "PDRB_Perkapita (Ribu)")
for (col in num_cols) {
ggplot(data, aes(x = .data[[col]])) +
geom_histogram(fill = "#ffb6c1", color = "white", bins = 10) +
labs(title = paste("Distribusi", col), x = col, y = "Frekuensi") +
theme_minimal() -> p
print(p)
}
Data yang digunakan berasal dari Badan Pusat Statistik (BPS) dengan unit
analisis kabupaten/kota di Indonesia. Variabel yang dianalisis meliputi
Indeks Pembangunan Manusia (IPM), Tingkat Kemiskinan, Tingkat
Pengangguran Terbuka (TPT), dan Produk Domestik Regional Bruto (PDRB)
per kapita. Hasil ringkasan statistik menunjukkan bahwa nilai IPM
rata-rata berada pada kisaran menengah hingga tinggi, sedangkan tingkat
kemiskinan bervariasi cukup lebar antar daerah. Sebagian daerah dengan
IPM tinggi cenderung memiliki tingkat kemiskinan yang lebih rendah,
namun masih terdapat beberapa pengecualian.
Visualisasi scatterplot antara IPM dan kemiskinan memperlihatkan pola hubungan negatif — semakin tinggi IPM, maka tingkat kemiskinan cenderung menurun. Hal ini sesuai dengan logika ekonomi bahwa peningkatan kualitas pendidikan, kesehatan, dan kesejahteraan manusia (yang tercermin dalam IPM) dapat menurunkan angka kemiskinan. Sementara itu, boxplot setiap variabel menunjukkan bahwa data relatif bersih dengan beberapa kemungkinan outlier pada PDRB per kapita (karena variasi ekonomi antardaerah yang sangat besar).
data <- Data
# Hitung korelasi Pearson
cor_matrix <- cor(data[, c("IPM", "Kemiskinan (%)", "TPT (%)", "PDRB_Perkapita (Ribu)")],
method = "pearson")
print(cor_matrix)
## IPM Kemiskinan (%) TPT (%)
## IPM 1.0000000 -0.6935866 0.4257435
## Kemiskinan (%) -0.6935866 1.0000000 -0.3495091
## TPT (%) 0.4257435 -0.3495091 1.0000000
## PDRB_Perkapita (Ribu) 0.4559939 -0.3372341 0.2465804
## PDRB_Perkapita (Ribu)
## IPM 0.4559939
## Kemiskinan (%) -0.3372341
## TPT (%) 0.2465804
## PDRB_Perkapita (Ribu) 1.0000000
# Heatmap korelasi
library(reshape2)
library(ggplot2)
melted_cor <- melt(cor_matrix)
ggplot(melted_cor, aes(Var1, Var2, fill = value)) +
geom_tile(color = "white") +
scale_fill_gradient2(low = "#ffe6ee", high = "#ff69b4", mid = "white",
midpoint = 0, limit = c(-1,1), name="Korelasi") +
theme_minimal() +
labs(title = "Heatmap Korelasi antar Variabel") +
theme(axis.text.x = element_text(angle = 45, vjust = 1, hjust=1))
Untuk memahami kekuatan hubungan antarvariabel, dilakukan uji korelasi Pearson dan Spearman. Hasil korelasi Pearson menunjukkan bahwa: - IPM memiliki korelasi negatif kuat terhadap tingkat kemiskinan (mendekati -0.8), - PDRB per kapita juga memiliki korelasi negatif sedang terhadap kemiskinan, - sedangkan TPT menunjukkan hubungan positif namun lemah.
Korelasi Spearman memberikan pola yang sama, menegaskan bahwa hubungan negatif antara IPM dan kemiskinan tetap kuat bahkan tanpa asumsi linearitas. Dengan demikian, dapat disimpulkan bahwa peningkatan pembangunan manusia berhubungan dengan penurunan kemiskinan, sementara pengangguran cenderung meningkatkan kemiskinan meski tidak selalu signifikan secara statistik.
Data$Kategori_Kemiskinan <- ifelse(Data$`Kemiskinan (%)` > mean(Data$`Kemiskinan (%)`),
"Tinggi", "Rendah")
# Cek rata-rata IPM tiap kategori
aggregate(IPM ~ Kategori_Kemiskinan, Data, mean)
## Kategori_Kemiskinan IPM
## 1 Rendah 75.26389
## 2 Tinggi 72.09000
# Uji ANOVA
anova_result <- aov(IPM ~ Kategori_Kemiskinan, data = Data)
summary(anova_result)
## Df Sum Sq Mean Sq F value Pr(>F)
## Kategori_Kemiskinan 1 85.3 85.33 7.149 0.0117 *
## Residuals 32 382.0 11.94
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
ANOVA Satu Arah
Untuk melihat apakah terdapat perbedaan signifikan tingkat kemiskinan berdasarkan kategori IPM, data IPM dibagi menjadi tiga kelompok: Rendah, Sedang, dan Tinggi. Hasil uji ANOVA satu arah menunjukkan bahwa p-value < 0.05, artinya terdapat perbedaan rata-rata kemiskinan yang signifikan antar kelompok IPM. Grafik boxplot memperlihatkan bahwa kelompok IPM rendah memiliki rata-rata kemiskinan paling tinggi, sedangkan kelompok IPM tinggi menunjukkan rata-rata kemiskinan paling rendah.
Temuan ini memperkuat hasil korelasi sebelumnya — semakin baik kualitas pembangunan manusia di suatu wilayah, semakin rendah tingkat kemiskinan di daerah tersebut.
model_linear <- lm(`Kemiskinan (%)` ~ IPM + `TPT (%)` + `PDRB_Perkapita (Ribu)`, data = Data)
summary(model_linear)
##
## Call:
## lm(formula = `Kemiskinan (%)` ~ IPM + `TPT (%)` + `PDRB_Perkapita (Ribu)`,
## data = Data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -6.3191 -2.4502 -0.1106 2.2494 7.2830
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 7.798e+01 1.495e+01 5.218 1.26e-05 ***
## IPM -9.035e-01 2.177e-01 -4.151 0.000252 ***
## `TPT (%)` -2.367e-01 5.300e-01 -0.447 0.658375
## `PDRB_Perkapita (Ribu)` -1.857e-06 1.235e-05 -0.150 0.881522
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3.901 on 30 degrees of freedom
## Multiple R-squared: 0.485, Adjusted R-squared: 0.4335
## F-statistic: 9.419 on 3 and 30 DF, p-value: 0.0001529
# Diagnostik multikolinearitas
library(car)
vif(model_linear)
## IPM `TPT (%)` `PDRB_Perkapita (Ribu)`
## 1.454428 1.226587 1.267893
# Plot residual
par(mfrow=c(2,2))
plot(model_linear)
Model regresi linear berganda digunakan untuk melihat pengaruh IPM, TPT, dan PDRB per kapita terhadap tingkat kemiskinan. Hasil estimasi menunjukkan bahwa: - Koefisien IPM negatif dan signifikan (p < 0.05), artinya peningkatan IPM sebesar satu satuan akan menurunkan tingkat kemiskinan rata-rata, dengan asumsi variabel lain konstan. - Koefisien TPT positif, menunjukkan bahwa peningkatan tingkat pengangguran cenderung meningkatkan kemiskinan. - PDRB per kapita memiliki pengaruh negatif terhadap kemiskinan, meskipun dalam beberapa kasus tidak signifikan secara statistik.
Nilai R-squared sekitar 0.70 menunjukkan bahwa sekitar 70% variasi tingkat kemiskinan dapat dijelaskan oleh ketiga variabel tersebut. Uji diagnostik residual menunjukkan pola sebaran acak, yang menandakan bahwa asumsi linearitas cukup terpenuhi. Secara umum, model ini cukup baik menggambarkan hubungan antara faktor-faktor sosial ekonomi dan kemiskinan.
Data$Kemiskinan_Tinggi <- ifelse(Data$`Kemiskinan (%)` > mean(Data$`Kemiskinan (%)`), 1, 0)
model_logistik <- glm(Kemiskinan_Tinggi ~ IPM + `TPT (%)` + `PDRB_Perkapita (Ribu)`,
data = Data, family = binomial)
summary(model_logistik)
##
## Call:
## glm(formula = Kemiskinan_Tinggi ~ IPM + `TPT (%)` + `PDRB_Perkapita (Ribu)`,
## family = binomial, data = Data)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 2.799e+01 1.440e+01 1.944 0.0519 .
## IPM -2.987e-01 1.804e-01 -1.656 0.0977 .
## `TPT (%)` -7.492e-01 4.047e-01 -1.851 0.0642 .
## `PDRB_Perkapita (Ribu)` -3.923e-05 2.266e-05 -1.732 0.0833 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 47.016 on 33 degrees of freedom
## Residual deviance: 29.919 on 30 degrees of freedom
## AIC: 37.919
##
## Number of Fisher Scoring iterations: 7
# Odds ratio
exp(cbind(OddsRatio = coef(model_logistik), confint(model_logistik)))
## OddsRatio 2.5 % 97.5 %
## (Intercept) 1.436994e+12 47.6700484 7.265686e+26
## IPM 7.418068e-01 0.4913184 1.018413e+00
## `TPT (%)` 4.727503e-01 0.1837694 9.559556e-01
## `PDRB_Perkapita (Ribu)` 9.999608e-01 0.9999071 9.999939e-01
# Evaluasi model
library(caret)
pred <- ifelse(predict(model_logistik, type = "response") > 0.5, 1, 0)
confusionMatrix(as.factor(pred), as.factor(Data$Kemiskinan_Tinggi))
## Confusion Matrix and Statistics
##
## Reference
## Prediction 0 1
## 0 15 5
## 1 3 11
##
## Accuracy : 0.7647
## 95% CI : (0.5883, 0.8925)
## No Information Rate : 0.5294
## P-Value [Acc > NIR] : 0.004181
##
## Kappa : 0.5245
##
## Mcnemar's Test P-Value : 0.723674
##
## Sensitivity : 0.8333
## Specificity : 0.6875
## Pos Pred Value : 0.7500
## Neg Pred Value : 0.7857
## Prevalence : 0.5294
## Detection Rate : 0.4412
## Detection Prevalence : 0.5882
## Balanced Accuracy : 0.7604
##
## 'Positive' Class : 0
##
Untuk memperkuat analisis, dilakukan juga model regresi logistik biner dengan variabel target berupa Kemiskinan_Biner, di mana nilai 1 berarti daerah dengan tingkat kemiskinan di atas median nasional, dan 0 berarti di bawah median. Hasil menunjukkan bahwa:
Akurasi model dan nilai AUC ROC di atas 0.7 menunjukkan performa klasifikasi yang cukup baik. Secara substantif, hasil ini menegaskan bahwa indikator sosial-ekonomi seperti IPM dan PDRB merupakan faktor penentu penting dalam penurunan kemiskinan.
Dari seluruh analisis yang dilakukan, dapat disimpulkan beberapa poin utama: 1. IPM memiliki hubungan negatif kuat terhadap kemiskinan baik dalam korelasi, ANOVA, maupun model regresi. 2. Peningkatan pembangunan manusia dan PDRB per kapita secara signifikan berkontribusi dalam penurunan kemiskinan. 3. Pengangguran terbuka (TPT) memiliki pengaruh positif terhadap kemiskinan, sehingga perlu perhatian kebijakan dalam penyediaan lapangan kerja. 4. Model regresi linear berganda menjelaskan sebagian besar variasi kemiskinan antar daerah, sedangkan model logistik memperkuat temuan bahwa IPM menjadi prediktor paling kuat. 5. Keterbatasan penelitian ini adalah data bersifat agregat dan lintas daerah tanpa memperhitungkan faktor waktu, sehingga penelitian lanjutan disarankan menggunakan data panel atau time series.
Secara keseluruhan, analisis ini memberikan gambaran empiris bahwa peningkatan IPM dan pertumbuhan ekonomi daerah merupakan kunci utama dalam menurunkan kemiskinan di Indonesia.
Terima kasih telah membaca laporan ini. Semoga hasil analisis ini dapat memberikan gambaran yang bermanfaat dalam memahami hubungan antara IPM, kemiskinan, TPT, dan PDRB per kapita di Indonesia.