Pendahuluan

Data yang digunakan dalam penelitian ini merupakan data Indeks Pembangunan Manusia (IPM), pengeluaran per kapita, rata-rata lama sekolah, dan tingkat pengangguran terbuka dari seluruh provinsi di Indonesia. Keempat indikator ini merupakan komponen penting yang menggambarkan kondisi sosial ekonomi suatu daerah. IPM menunjukkan capaian pembangunan manusia melalui dimensi kesehatan, pendidikan, dan standar hidup layak, sementara pengeluaran per kapita mencerminkan tingkat kesejahteraan ekonomi masyarakat. Rata-rata lama sekolah menggambarkan kualitas pendidikan, dan tingkat pengangguran menunjukkan kondisi pasar tenaga kerja. Analisis hubungan antarvariabel ini penting dilakukan untuk memahami faktor-faktor yang memengaruhi pembangunan manusia di Indonesia, sehingga dapat menjadi dasar dalam penyusunan kebijakan pembangunan yang lebih efektif dan tepat sasaran.

Mengumpulkan Data

Pada tahap ini dilakukan proses pengumpulan data yang terdiri dari variabel dependen IPM (Y) serta tiga variabel independen yaitu Pengeluaran Konsumsi (X1), Rata-Rata Pendidikan (X2), dan Pengangguran (X3). Data diperoleh untuk seluruh kabupaten/kota di Provinsi Jawa Tengah tahun 2024 dan diinput ke dalam R untuk dianalisis lebih lanjut.

# Input data

# Input nama Provinsi
Provinsi <- c(
  "Aceh","Sumatera Utara","Sumatera Barat","Riau","Jambi","Sumatera Selatan",
    "Bengkulu","Lampung","Bangka Belitung","Kep Riau","DKI Jakarta","Jawa Barat",
    "Jawa Tengah","DI Yogyakarta","Jawa Timur","Banten","Bali","NTB","NTT",
    "Kalimantan Barat","Kalimantan Tengah","Kalimantan Selatan",
    "Kalimantan Timur","Kalimantan Utara","Sulawesi Utara","Sulawesi Tengah",
    "Sulawesi Selatan","Sulawesi Tenggara","Gorontalo","Sulawesi Barat",
    "Maluku","Maluku Utara","Papua Barat","Papua Barat Daya","Papua","Papua Tengah",
    "Papua Pegunungan","Papua Selatan"
)

# Input variabel
Y  <- c(72.81, 74.11, 75.65, 75.90, 72.79, 70.90, 72.06, 70.24, 72.78, 75.49,
        81.11, 74.45, 72.00, 80.22, 72.49, 72.45, 76.39, 69.48, 68.23,
        67.90, 70.49, 71.87, 78.45, 71.12, 72.94, 70.29, 72.93, 71.42,
        67.44, 64.00, 69.05, 69.14, 66.30, 67.05, 61.39, 60.50,58.26,59.70)
X1 <- c(12000, 12500, 13500, 14500, 13300, 13000, 12800, 12000, 13500, 15000,
        19000, 14000, 12500, 18000, 13000, 15000, 16000, 11000, 10800,
        11500, 12500, 12700, 17000, 13000, 14500, 12000, 13500, 12500,
        11000, 10800, 12300, 12500, 11500, 11800, 10000, 9500,9200,9400)
X2 <- c( 9.20, 9.60, 9.56, 9.70, 9.00, 8.80, 9.10, 8.50, 9.70, 10.20,
         11.40, 8.70, 8.60, 11.40, 8.70, 9.60, 10.70, 7.80, 7.40,
         7.70, 8.10, 9.00, 10.30, 9.40, 9.80, 8.20, 9.00, 8.40,
         7.50, 7.00, 8.20, 8.40, 7.60, 7.80, 6.20, 6.10,5.90,6.00)
X3 <- c(5.35, 6.20, 5.90, 4.80, 4.50, 4.70, 3.90, 4.80, 4.40, 7.00,
        6.50, 8.20, 5.30, 3.50, 4.20, 7.20, 4.00, 3.40, 3.30,
        4.50, 4.10, 4.00, 5.20, 4.80, 5.50, 3.80, 4.70, 3.90,
        3.20, 2.90, 4.30, 4.10, 3.70, 3.90, 3.20, 3.10,2.80,3.00)

# Membuat Data Frame
data <- data.frame(Provinsi, X1, X2, X3, Y)

Eksplorasi Data

Eksplorasi data awal dilakukan untuk memahami karakteristik dasar dari setiap variabel sebelum masuk ke tahap pemodelan regresi. Tahapan ini mencakup pemeriksaan statistik deskriptif, pola hubungan antara variabel dependen dan variabel independen melalui scatterplot, serta analisis korelasi untuk melihat tingkat keeratan hubungan antar-variabel. Melalui eksplorasi ini dapat diketahui apakah data menunjukkan kecenderungan linear, adanya outlier, serta potensi multikolinearitas yang dapat memengaruhi hasil analisis regresi pada tahap berikutnya.

library(ggplot2)
library(GGally)

summary(data)
##    Provinsi               X1              X2               X3       
##  Length:38          Min.   : 9200   Min.   : 5.900   Min.   :2.800  
##  Class :character   1st Qu.:11575   1st Qu.: 7.800   1st Qu.:3.725  
##  Mode  :character   Median :12500   Median : 8.700   Median :4.250  
##                     Mean   :12858   Mean   : 8.638   Mean   :4.522  
##                     3rd Qu.:13500   3rd Qu.: 9.590   3rd Qu.:5.100  
##                     Max.   :19000   Max.   :11.400   Max.   :8.200  
##        Y        
##  Min.   :58.26  
##  1st Qu.:68.44  
##  Median :71.64  
##  Mean   :70.78  
##  3rd Qu.:72.94  
##  Max.   :81.11
par(mfrow=c(2,2))

# y vs x1
plot(data$X1, data$Y,
main="Scatterplot Y vs X1",
xlab="Pengeluaran Konsumsi", ylab="IPM (y)",
pch=19, col="pink")
abline(lm(Y ~ X1, data=data), col="purple", lwd=2)

# y vs x2
plot(data$X2, data$Y,
main="Scatterplot Y vs X2",
xlab="Rata-Rata Pendidikan", ylab="IPM (y)",
pch=19, col="pink")
abline(lm(Y ~ X2, data=data), col="purple", lwd=2)

# y vs x3
plot(data$X3, data$Y,
main="Scatterplot Y vs X3",
xlab="Pengangguran", ylab="IPM(y)",
pch=19, col="pink")
abline(lm(Y ~ X3, data=data), col="purple", lwd=2)

# Matriks korelasi (Pearson)
cor_matrix <- cor(data[, c("Y", "X1", "X2", "X3")])
cor_matrix
##            Y        X1        X2        X3
## Y  1.0000000 0.9127889 0.9631920 0.6243508
## X1 0.9127889 1.0000000 0.9364100 0.5691033
## X2 0.9631920 0.9364100 1.0000000 0.5979299
## X3 0.6243508 0.5691033 0.5979299 1.0000000

Output tersebut menunjukkan hubungan antara IPM (Y) dengan tiga variabel penjelas: Pengeluaran Konsumsi (X1), Rata-Rata Pendidikan (X2), dan Pengangguran (X3). Dari matriks korelasi terlihat bahwa Y memiliki korelasi paling kuat dengan X2 dan X1, sedangkan korelasi dengan X3 lebih lemah. Scatterplot yang ditampilkan memperkuat hasil tersebut, di mana ketiganya menunjukkan pola hubungan linear positif—nilai IPM cenderung meningkat seiring meningkatnya X1, X2, maupun X3. Namun, pola hubungan pada X2 dan X1 tampak lebih kuat dan lebih teratur dibandingkan X3. Secara keseluruhan, data mengindikasikan bahwa pendidikan dan pengeluaran konsumsi memiliki pengaruh terbesar terhadap variasi IPM.

Uji Asumsi Model Awal

Uji asumsi regresi dilakukan untuk memastikan bahwa model yang dibangun sesuai dengan aturan statistik sehingga hasil analisis dapat dipercaya dan ditafsirkan secara tepat. Beberapa asumsi yang diuji meliputi normalitas residual, keseragaman varians (homoskedastisitas), tidak adanya hubungan kuat antarvariabel independen (multikolinearitas), serta tidak munculnya autokorelasi pada residual. Apabila seluruh asumsi tersebut terpenuhi, maka model regresi dianggap valid dan dapat digunakan untuk analisis lanjutan.

model <- lm(Y ~ X1 + X2 + X3, data = data)
model
## 
## Call:
## lm(formula = Y ~ X1 + X2 + X3, data = data)
## 
## Coefficients:
## (Intercept)           X1           X2           X3  
##   3.919e+01    1.966e-04    3.205e+00    3.055e-01
# 1) Normalitas residual: Shapiro-Wilk dan QQ-plot
shapiro <- shapiro.test(residuals(model))
shapiro
## 
##  Shapiro-Wilk normality test
## 
## data:  residuals(model)
## W = 0.96197, p-value = 0.2199
qqnorm(residuals(model)); qqline(residuals(model))

# 2) Homokedastisitas: Breusch-Pagan test
bptest_result <- lmtest::bptest(model)
bptest_result
## 
##  studentized Breusch-Pagan test
## 
## data:  model
## BP = 3.7923, df = 3, p-value = 0.2848
# 3) Multikolinearitas: VIF
vif_values <- car::vif(model)
vif_values
##       X1       X2       X3 
## 8.129770 8.555460 1.558134
# 4) Autokorelasi: Durbin-Watson test
dw <- lmtest::dwtest(model)
dw
## 
##  Durbin-Watson test
## 
## data:  model
## DW = 1.3667, p-value = 0.01339
## alternative hypothesis: true autocorrelation is greater than 0

HOutput tersebut menunjukkan hasil uji asumsi regresi linier. Pertama, uji normalitas residual menggunakan Shapiro-Wilk menghasilkan p-value 0.2199, sehingga residual dinyatakan berdistribusi normal. Q-Q plot juga memperlihatkan titik-titik yang mengikuti garis diagonal, memperkuat kesimpulan tersebut. Selanjutnya, uji Breusch–Pagan memberikan p-value 0.2848, yang berarti tidak terdapat heteroskedastisitas dan asumsi homokedastisitas terpenuhi. Terakhir, nilai VIF menunjukkan bahwa X1 dan X2 memiliki nilai VIF yang cukup tinggi (sekitar 8), mengindikasikan adanya multikolinearitas kuat di antara variabel bebas tersebut, sementara X3 tidak mengalami masalah tersebut. Secara keseluruhan, model memenuhi asumsi normalitas dan homokedastisitas, tetapi memiliki potensi masalah multikolinearitas pada variabel X1 dan X2.

Estimasi Model

Berikut adalah output estimasi model regresi linier berganda, serta plot prediksi vs aktual untuk memvisualisasikan kemampuan prediksi model.

summary_model <- summary(model)
# Prediksi dan plot Prediksi vs Aktual
pred <- predict(model)
pred_df <- data.frame(aktual = data$Y, prediksi = pred, resid = residuals(model))

library(ggrepel)
ggplot(pred_df, aes(x = aktual, y = prediksi)) +
  geom_point() +
  geom_abline(intercept = 0, slope = 1, linetype = "dashed") +
  geom_text_repel(aes(label = seq_along(aktual)), size = 3) +
  labs(title = "Plot Prediksi vs Aktual", x = "Aktual (Y)", y = "Prediksi (Yhat)") +
  theme_minimal()

# Tabel koefisien dengan p-value
knitr::kable(broom::tidy(model), digits = 4, caption = "Koefisien Estimasi Model")
Koefisien Estimasi Model
term estimate std.error statistic p.value
(Intercept) 39.1871 1.4881 26.3342 0.0000
X1 0.0002 0.0003 0.6484 0.5211
X2 3.2052 0.4974 6.4441 0.0000
X3 0.3055 0.2294 1.3314 0.1919

Output ini menunjukkan akurasi model regresi dan hasil estimasi koefisien variabel. Scatterplot antara nilai aktual (Y) dan nilai prediksi (Ŷ) memperlihatkan titik-titik yang cukup mengikuti garis diagonal, menandakan bahwa model mampu memprediksi nilai IPM dengan baik. Pada tabel koefisien, hanya variabel X2 (Rata-Rata Pendidikan) yang signifikan secara statistik (p-value = 0.0000), sedangkan X1 dan X3 tidak signifikan karena memiliki p-value di atas 0.05. Koefisien X2 yang positif (3.2052) menunjukkan bahwa peningkatan pendidikan memiliki pengaruh terbesar dan paling berarti terhadap kenaikan IPM. Secara keseluruhan, model memprediksi dengan baik, tetapi hanya X2 yang terbukti menjadi prediktor signifikan.

Pengujian Hipotesis

Pengujian hipotesis digunakan untuk memastikan apakah variabel-variabel independen dalam model benar-benar berpengaruh terhadap variabel dependen. Proses ini meliputi uji F untuk menilai pengaruh variabel independen secara bersama-sama, serta uji t untuk menguji pengaruh masing-masing variabel secara terpisah. Apabila p-value dari uji F maupun uji t lebih kecil dari tingkat signifikansi (misalnya 0,05), maka dapat dikatakan bahwa model atau variabel tersebut signifikan. Langkah ini penting untuk menilai kelayakan model regresi dan mengidentifikasi variabel mana yang memberikan kontribusi nyata terhadap perubahan variabel dependen.

# Uji F (ANOVA)
anova_model <- anova(model)
anova_model
## Analysis of Variance Table
## 
## Response: Y
##           Df Sum Sq Mean Sq  F value    Pr(>F)    
## X1         1 834.91  834.91 417.9905 < 2.2e-16 ***
## X2         1  95.71   95.71  47.9157 5.612e-08 ***
## X3         1   3.54    3.54   1.7726    0.1919    
## Residuals 34  67.91    2.00                       
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Alternatif: uji F melalui summary (F-statistic)
summary_model$fstatistic
##    value    numdf    dendf 
## 155.8929   3.0000  34.0000
# Uji parsial: t-test sudah tersedia pada summary(model) -> lihat koefisien
# Untuk uji kontribusi parsial variabel, dapat juga dilakukan drop1 (partial F)
partial_drop <- drop1(model, test = "F")
partial_drop
## Single term deletions
## 
## Model:
## Y ~ X1 + X2 + X3
##        Df Sum of Sq     RSS    AIC F value    Pr(>F)    
## <none>               67.913 30.064                      
## X1      1     0.840  68.753 28.531  0.4204    0.5211    
## X2      1    82.947 150.860 58.393 41.5265 2.296e-07 ***
## X3      1     3.541  71.453 29.996  1.7726    0.1919    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Output ini menampilkan hasil uji ANOVA dan uji F parsial untuk model regresi. Berdasarkan tabel ANOVA, variabel X1 dan X2 berpengaruh signifikan terhadap Y karena memiliki p-value sangat kecil (p < 0.001), sedangkan X3 tidak signifikan (p = 0.1919). Uji F keseluruhan model menghasilkan nilai F yang sangat besar (155.89), menunjukkan bahwa model regresi secara bersama-sama signifikan dalam menjelaskan variasi Y. Analisis dropl (partial F) juga memperkuat hasil tersebut: penghapusan X2 menyebabkan peningkatan RSS yang besar dan memberikan p-value signifikan, sehingga X2 memiliki kontribusi penting dalam model. Sebaliknya, penghapusan X1 dan X3 tidak menunjukkan perubahan signifikan. Secara keseluruhan, X2 adalah variabel dengan pengaruh paling kuat, X1 berpengaruh signifikan tetapi lebih lemah, dan X3 tidak memberikan kontribusi berarti dalam model.

Evaluasi Model

Evaluasi model dilakukan untuk mengetahui sejauh mana model regresi mampu menjelaskan variasi pada variabel dependen. Proses ini umumnya mencakup pemeriksaan nilai koefisien determinasi, yaitu R² dan Adjusted R², untuk melihat persentase keragaman data yang berhasil diterangkan oleh model, serta penggunaan RMSE atau ukuran galat lainnya guna menilai ketepatan prediksi yang dihasilkan. Selain itu, plot residual dan grafik diagnostik lain diperiksa untuk memastikan tidak terdapat pola tersisa pada residual yang dapat mengindikasikan masalah pada model. Tahap evaluasi ini penting agar model yang digunakan tidak hanya signifikan secara statistik, tetapi juga memiliki tingkat ketelitian dan keandalan yang baik dalam menggambarkan hubungan antarvariabel.

# Goodness of fit
r2 <- summary_model$r.squared
adjr2 <- summary_model$adj.r.squared
rmse <- sqrt(mean(residuals(model)^2))
cat(sprintf("R-squared: %.4f
Adjusted R-squared: %.4f
RMSE: %.4f
", r2, adjr2, rmse))
## R-squared: 0.9322
## Adjusted R-squared: 0.9262
## RMSE: 1.3369
## plot regresi
par(mfcol = c(2,2))
plot(model)

# Ringkasan evaluasi model
data.frame(Metric = c("R-squared","Adjusted R-squared","RMSE"), Value = c(r2, adjr2, rmse))
##               Metric     Value
## 1          R-squared 0.9322275
## 2 Adjusted R-squared 0.9262476
## 3               RMSE 1.3368552

Output ini menunjukkan evaluasi kinerja model regresi melalui plot diagnostik dan metrik statistik. Nilai R-squared sebesar 0.933 dan Adjusted R-squared sebesar 0.926 menandakan bahwa model mampu menjelaskan sekitar 93% variasi IPM, sehingga model tergolong sangat baik. RMSE yang relatif kecil (1.336) menunjukkan bahwa kesalahan prediksi model cukup rendah. Plot diagnostik juga mendukung kesesuaian model: Residuals vs Fitted tidak memperlihatkan pola jelas, Scale-Location menunjukkan varian residual yang cukup stabil, Q-Q plot memperlihatkan residual mendekati distribusi normal, dan Residuals vs Leverage menunjukkan tidak adanya pengaruh ekstrem dari titik outlier. Secara keseluruhan, model regresi dinilai kuat, akurat, dan memenuhi asumsi dasar regresi linier.

Kesimpulan

Berdasarkan seluruh hasil analisis regresi yang telah dilakukan, dapat disimpulkan bahwa model regresi linier yang dibangun memiliki kinerja yang sangat baik dan memenuhi hampir semua asumsi klasik. Variabel independen yang paling berpengaruh signifikan terhadap IPM adalah Rata-Rata Pendidikan (X2), disusul oleh Pengeluaran Konsumsi (X1), meskipun X1 tidak signifikan pada uji t karena adanya multikolinearitas tinggi dengan X2. Sementara itu, variabel Pengangguran (X3) tidak memberikan pengaruh signifikan terhadap IPM baik pada uji t maupun uji F parsial. Model menunjukkan kemampuan prediktif yang sangat kuat dengan R-squared sebesar 0.933 dan Adjusted R-squared sebesar 0.926, ditambah nilai RMSE yang rendah, menandakan kesalahan prediksi kecil. Uji normalitas residual, homokedastisitas, serta evaluasi plot diagnostik menunjukkan bahwa model memenuhi asumsi normalitas, tidak heteroskedastis, dan tidak terdapat masalah leverage atau outlier yang serius. Secara keseluruhan, model ini dapat dikatakan valid dan efektif untuk memprediksi IPM, dengan variabel pendidikan sebagai faktor utama yang paling memengaruhi peningkatan kualitas pembangunan manusia.