Pemodelan Kemiskinan Kota dan Kabupaten pada Provinsi di Pulau Jawa Menggunakan Metode Multivariate Adaptive Regression Spline (MARS)

Dea Amanda Ch

2023-07-27

Salah satu metode dalam analisis regresi dengan pendekatan non parametrik adalah Multivariate Adaptive Regression Spline (MARS). MARS merupakan perluasan yang komplek dari Regresi Spline dan Recursive Partitioning Regression (RPR). Metode MARS mengasumsikan bentuk fungsional antara variabel prediktor dan variabel respon yang tidak diketahui sehingga bentuk fungsional dari metode ini akan lebih fleksibel. Penerapan metode ini salah satunya dapat digunakan pada pembentukan model kemiskinan.

1 Input Data

Data yang digunakan berupa data sekunder dari total 119 kota dan kabupaten pada provinsi di Pulau Jawa dengan satu variabel respon yaitu Persentase Kemiskinan dan tiga variabel prediktor antara lain, Laju Pertumbuhan Produk Domestik Regional Bruto (PDRB), Indeks Pembangunan Manusia (IPM), dan Angka Harapan Hidup (AHH).

2 Diagram Pencar

Hal pertama yang dilakukan ketika membuat model regresi adalah dengan melihat bentuk kurva regresi dari data yang digunakan dengan bantuan diagram pencar. Bentuk kurva regresi yang terbentuk dapat menentukan pendekatan regresi yang akan diterapkan ketika membentuk model regresi. Berikut disajikan diagram pencar dari variabel penelitian.

> plot(x=datakemiskinan$PDRB, y=datakemiskinan$KEMISKINAN,
+      main="Plot Persentase Kemiskinan ~ PDRB",
+      xlab="PDRB", ylab="Persentase Kemiskinan",
+      pch=16, col="magenta")

> plot(x=datakemiskinan$IPM, y=datakemiskinan$KEMISKINAN,
+      main="Plot Persentase Kemiskinan ~ IPM",
+      xlab="IPM", ylab="Persentase Kemiskinan",
+      pch=16, col="magenta")

> plot(x=datakemiskinan$AHH, y=datakemiskinan$KEMISKINAN,
+      main="Plot Persentase Kemiskinan ~ AHH",
+      xlab="AHH", ylab="Persentase Kemiskinan",
+      pch=16, col="magenta")

3 Statistika Deskriptif

Statistika deskriptif dilakukan untuk memperoleh gambaran umum suatu penelitian melalui karakteristik variabel yang digunakan pada penelitian. Salah satu jenis statistika deskriptif yang bisa diterapkan adalah dengan melihat ukuran pemusatan dan penyebaran dari data yang digunakan.

> summary(datakemiskinan)
      PDRB            IPM             AHH          KEMISKINAN    
 Min.   :0.220   Min.   :62.80   Min.   :64.72   Min.   : 2.570  
 1st Qu.:3.210   1st Qu.:69.12   1st Qu.:71.55   1st Qu.: 7.475  
 Median :3.610   Median :72.28   Median :72.80   Median :10.210  
 Mean   :3.603   Mean   :73.03   Mean   :72.80   Mean   :10.337  
 3rd Qu.:4.005   3rd Qu.:76.06   3rd Qu.:74.42   3rd Qu.:12.685  
 Max.   :6.020   Max.   :87.18   Max.   :77.86   Max.   :23.760  
> var(datakemiskinan)
                 PDRB        IPM       AHH KEMISKINAN
PDRB        0.7976181   1.716649  0.418596  -1.287202
IPM         1.7166494  28.724633  7.965504 -14.621169
AHH         0.4185960   7.965504  6.856857  -2.256641
KEMISKINAN -1.2872018 -14.621169 -2.256641  17.662803

4 Pendeteksian Non Multikolinearitas

Multikolinearitas merupakan suatu kondisi dimana terdapat hubungan linear antar variabel bebas dalam suatu model regresi. Untuk mendeteksi adanya multikolinearitas pada suatu model regresi linier yang melibatkan lebih dari dua variabel dapat digunakan Variance Inflation Factor (VIF). Nilai VIF yang besar (VIF>10) mengindikasikan adanya multikolinearitas.

> modelreg <- lm(KEMISKINAN ~ PDRB+IPM+AHH, data=datakemiskinan)
> summary(modelreg)

Call:
lm(formula = KEMISKINAN ~ PDRB + IPM + AHH, data = datakemiskinan)

Residuals:
    Min      1Q  Median      3Q     Max 
-5.4111 -1.9847 -0.7051  1.9920  8.4785 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 27.12449    7.94753   3.413 0.000888 ***
PDRB        -0.56341    0.34137  -1.650 0.101576    
IPM         -0.58067    0.06798  -8.542 6.31e-14 ***
AHH          0.37985    0.13200   2.878 0.004779 ** 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 3.09 on 115 degrees of freedom
Multiple R-squared:  0.4732,    Adjusted R-squared:  0.4595 
F-statistic: 34.43 on 3 and 115 DF,  p-value: 5.901e-16
> car::vif(modelreg)
    PDRB      IPM      AHH 
1.148780 1.640424 1.476743 

Dapat terlihat bahwa nilai VIF yang dihasilkan kurang dari 10 (VIF<10) untuk semua variabel bebas. Hal ini lantas menunjukkan bahwa tidak ada indikasi kasus multikolinearitas dalam variabel bebas pada penelitian ini.

5 Pemilihan Kombinasi MI, BF, MO

Pemilihan kombinasi MI, BF, dan MO merupakan suatu cara untuk menentukan model terbaik bagi spline. Pemilihan ini dapat dilihat dari penentuan titik knot optimalnya. Penentuan titik knot optimal dapat dilihat dari nilai GCV suatu peubah, semakin kecil nilai GCV dari suatu peubah, maka semakin penting peubah tersebut terhadap model yang dibangun.

> K3_12_0 <- earth(KEMISKINAN ~ PDRB+IPM+AHH,
+                  data = datakemiskinan,
+                  degree = 3, nprune = 12, minspan = 0)
> K3_12_1 <- earth(KEMISKINAN ~ PDRB+IPM+AHH,
+                  data = datakemiskinan,
+                  degree = 3, nprune = 12, minspan = 1)
> K3_12_2 <- earth(KEMISKINAN ~ PDRB+IPM+AHH,
+                  data = datakemiskinan,
+                  degree = 3, nprune = 12, minspan = 2)
> K3_12_3 <- earth(KEMISKINAN ~ PDRB+IPM+AHH,
+                  data = datakemiskinan,
+                  degree = 3, nprune = 12, minspan = 3)
> 
> MI <- c(3,3,3,3)
> BF <- c(12,12,12,12)
> MO <- c(0,1,2,3)
> GCV <- c(K3_12_0$gcv, K3_12_1$gcv, K3_12_2$gcv, K3_12_3$gcv)
> list_gcv <- data.frame(MI, BF, MO, GCV) #MI = 3, BF = 12, MO = 0
> list_gcv
  MI BF MO      GCV
1  3 12  0 8.860529
2  3 12  1 9.426671
3  3 12  2 9.453310
4  3 12  3 9.425407

Berdasarkan hasil perhitungan nilai GCV pada Tabel 4.3 didapati GCV terkecil sebesar 8.856. Sehingga berdasarkan nilai GCV terkecil, diperoleh model MARS terbaik yaitu dengan kombinasi MI = 3, BF = 12, dan MO = 0.

6 Model Kemiskinan

6.1 Hasil Pendugaan

Selanjutnya akan dibentuk model MARS sesuai dengan kombinasi MI, BF, dan MO yang telah diperoleh.

> modelkemiskinan1 <- earth(KEMISKINAN ~ PDRB+IPM+AHH,
+                          data = datakemiskinan,
+                          degree = 3, nprune = 12, minspan = 0)
> summary(modelkemiskinan1, style = "bf")
Call: earth(formula=KEMISKINAN~PDRB+IPM+AHH, data=datakemiskinan, degree=3,
            nprune=12, minspan=0)

KEMISKINAN =
  5.598118
  + 0.5862838 * bf1
  +  0.947152 * bf2
  -   2.75053 * bf3 * bf2
  +  2.497897 * bf4 * bf2

   bf1  h(81.96-IPM)
   bf2  h(73.53-AHH)
   bf3  h(PDRB-2.61)
   bf4  h(PDRB-3.17)

Selected 5 of 20 terms, and 3 of 3 predictors (nprune=12)
Termination condition: Reached nk 21
Importance: IPM, PDRB, AHH
Number of terms at each degree of interaction: 1 2 2
GCV 8.860529    RSS 868.4807    GRSq 0.5025665    RSq 0.5833048

Dengan MI = 3, BF = 12, dan MO = 0 yang telah diperoleh dilakukan pembentukan, model yang terbentuk dari kombinasi ini adalah sebagai berikut :

\[ Y =5.598+0.586BF1+0.947BF2-2.751BF3*BF2+2.498BF4*BF2 \]

6.2 Pengujian Asumsi Normalitas

Pengujian asumsi normalitas dilakukan untuk melihat apakah galat mengikuti distribusi normal atau tidak. Salah satu statistik uji yang digunakan untuk pengujian asumsi normalitas adalah Kolmogorov-Smirnov.

> res <- residuals(modelkemiskinan1)
> res_sq <- res^2
> ks.test(res, "pnorm", mean(res), sd(res)) #Sisaan tidak memenuhi asumsi normalitas

    Asymptotic one-sample Kolmogorov-Smirnov test

data:  res
D = 0.12512, p-value = 0.0482
alternative hypothesis: two-sided

Diperoleh p-value sebesar 0.0482 yang bernilai lebih kecil dari daripada \(\alpha\) = 0.05. Hal ini menunjukkan bahwa residual dari model MARS yang terbentuk tidak mengikuti distribusi normal sehingga perlu penanganan agar asumsi dapat terpenuhi

6.3 Penanganan Pelanggaran Asumsi Normalitas

Salah satu penanganan terhadap pelanggaran asumsi normalitas yaitu dengan menghapus pencilan dari data. Untuk dapat mendeteksi penciland ari sekelompok data, dapat dilihat dari boxplot residual model kemiskinan sebelumnya.

> plot(modelkemiskinan1, which = 4) #Outlier di pengamatan ke 69,70,86

Plot diatas merupakan Normality Q-Q Plot yang memetakan residual model kemiskinan yang didekati dengan distribusi normal.Tampak residual model nyaris memenuhi asumsi normalitas, namun terdapat 3 data ekstrim yang jauh dari rata-rata residual model lainnya sehingga ketiga data ini dicurigai merupakan outlier.

> outlier <- boxplot(res, col = "pink", main = "Boxplot Residual Model MARS", ylab = "Residual")

> datakemiskinan_baru <- datakemiskinan[c(1:68, 71:85, 87:119),]

Melalui gambar diatas, terlihat bahwa terdapat 3 pengamatan yang masuk pada data pencilan. Ketiga pengamatan ini secara detail terdapat pada pengamatan ke 69, 70, dan 86. Selanjutnya ketiga pengamatan ini akan dihapuskan dari data penelitian untuk kembali dibentuk model dan dijui asumsinya.

6.4 Pengujian Asumsi Homoskedastisitas

Ragam galat dikatakan memenuhi asumsi homoskedastisitas apabila tidak terdapat pola hubungan yang sistematis antara kuadrat galat \(\epsilon^2\) dengan nilai variabel bebas.

> bptest(modelkemiskinan1)

    studentized Breusch-Pagan test

data:  modelkemiskinan1
BP = 3.7941, df = 3, p-value = 0.2846

Berdasarkan hasil uji nilai residual model MARS, diperoleh p-value sebesar 0.284 yang bernilai lebih besar dari daripada \(\alpha\) = 0.05. Hal ini menunjukkan bahwa terdapat kesamaan ragam residual dari model MARS yang terbentuk atau dapat dikatakan memenuhi asumsi homoskedastisitas.

7 Model Kemiskinan Setelah Penanganan

7.1 Hasil Pendugaan

> modelkemiskinan2 <- earth(KEMISKINAN ~ PDRB+IPM+AHH,
+                           data = datakemiskinan_baru,
+                           degree = 3, nprune = 12, minspan = 0)
> summary(modelkemiskinan2, style = "bf")
Call: earth(formula=KEMISKINAN~PDRB+IPM+AHH, data=datakemiskinan_baru,
            degree=3, nprune=12, minspan=0)

KEMISKINAN =
  5.075331
  + 0.5858659 * bf1
  + 0.8057583 * bf2 * bf3
  - 0.7853521 * bf4 * bf3
  - 0.2102555 * bf5 * bf3

   bf1  h(81.95-IPM)
   bf2  h(3.57-PDRB)
   bf3  h(73.31-AHH)
   bf4  h(PDRB-3.57)
   bf5  h(69.12-IPM)

Selected 5 of 18 terms, and 3 of 3 predictors (nprune=12)
Termination condition: Reached nk 21
Importance: IPM, PDRB, AHH
Number of terms at each degree of interaction: 1 1 3
GCV 7.759239    RSS 737.4622    GRSq 0.5413536    RSq 0.6176501

Melalui data dengan pencilan atau outlier yang telah dibuang serta serta kombinasi MI = 3, BF = 12, dan MO = 0 yang telah diperoleh, terbentuk model MARS sebagai berikut :

\[ Y =5.075+0.586BF1+0.806BF2*BF3-0.785BF4*BF3-0.210BF5*BF3 \]

Dimana :

\[ BF1 = (81.95-X_2)_+ \] \[ BF2 = (3.57-X_1)_+ \] \[ BF3 = (73.31-X_3)_+ \] \[ BF4 = (X_1-3.57)_+ \] \[ BF5 = (69.12-X_2)_+ \]

7.2 Pengujian Asumsi Normalitas

> res_baru <- residuals(modelkemiskinan2)
> res_sq_baru <- res_baru^2
> ks.test(res_baru, "pnorm", mean(res_baru), sd(res_baru))

    Asymptotic one-sample Kolmogorov-Smirnov test

data:  res_baru
D = 0.087899, p-value = 0.3316
alternative hypothesis: two-sided

Berdasarkan hasil uji nilai residual model MARS, diperoleh p-value sebesar 0.3316 yang bernilai lebih besar dari daripada \(\alpha\) = 0.05. Hal ini menunjukkan bahwa residual dari model MARS yang terbentuk setelah pencilan dibuang telah memenuhi asumsi normalitas.

7.3 Pengujian Asumsi Homoskedastisitas

> bptest(modelkemiskinan2)

    studentized Breusch-Pagan test

data:  modelkemiskinan2
BP = 6.4574, df = 3, p-value = 0.09136

Berdasarkan hasil uji nilai residual model MARS, diperoleh p-value sebesar 0.091 yang bernilai lebih besar dari daripada \(\alpha\) = 0.05. Hal ini menunjukkan bahwa terdapat kesamaan ragam residual dari model MARS yang terbentuk setelah pengamatan outlier dibuang dari penelitian atau dapat dikatakan memenuhi asumsi homoskedastisitas.

8 Uji Signifikansi Fungsi Basis

Setelah melakukan pendugaan parameter untuk membentuk model MARS, selanjutnya akan dilakukan uji signifikansi fungsi basis yang meliputi uji serentak dan uji parsial.

> matriks <- model.matrix(modelkemiskinan2)
> uji_parameter <- lm(datakemiskinan_baru$KEMISKINAN ~ matriks[,-1])
> summary(uji_parameter)

Call:
lm(formula = datakemiskinan_baru$KEMISKINAN ~ matriks[, -1])

Residuals:
    Min      1Q  Median      3Q     Max 
-4.8853 -1.5647 -0.3678  1.3109  6.0943 

Coefficients:
                                       Estimate Std. Error t value Pr(>|t|)    
(Intercept)                             5.07533    0.51621   9.832  < 2e-16 ***
matriks[, -1]h(81.95-IPM)               0.58587    0.05510  10.632  < 2e-16 ***
matriks[, -1]h(PDRB-3.57)*h(73.31-AHH) -0.78535    0.24294  -3.233 0.001615 ** 
matriks[, -1]h(3.57-PDRB)*h(73.31-AHH)  0.80576    0.15371   5.242 7.65e-07 ***
matriks[, -1]h(69.12-IPM)*h(73.31-AHH) -0.21026    0.05407  -3.889 0.000172 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.578 on 111 degrees of freedom
Multiple R-squared:  0.6177,    Adjusted R-squared:  0.6039 
F-statistic: 44.83 on 4 and 111 DF,  p-value: < 2.2e-16

Dari hasil penelitian yang telah dilakukan, diperoleh model kemiskinan kota dan kabupaten pada provinsi di Pulau Jawa adalah sebagai berikut :

\[ Y =5.075+0.586(81.95-X_2)_++0.806(3.57-X_1)_+*(73.31-X_3)_+ \] \[ -0.785(X_1-3.57)_+*(73.31-X_3)_+-0.210(69.12-X_2)_+*(73.31-X_3)_+ \]

Dengan :

\(Y\) : Persentase Kemiskinan

\(X_1\) : Laju Pertumbuhan PDRB

\(X_2\) : Indeks Pembangunan Manusia (IPM)

\(X_2\) : Angka Harapan Hidup (AHH)

Perubahan Persentase Kemiskinan akan terjadi pada batas tertentu nilai tiap variabel prediktor yang terbentuk dari titik knot, yaitu Laju Pertumbuhan PDRB \(\neq\) 3.57%, indeks IPM \(<\) 69.12, dan AHH \(<\) 73.31 tahun.

Adapun berdasarkan model MARS yang telah terbentuk dapat diketahui pula bahwa baik secara simultan maupun parsial tiap-tiap fungsi basis yang menyusun model berpengaruh secara signifikan terhadap model MARS. Adapun diperoleh pula nilai \(R^2\) sebesar 0.6039 yang menunjukkan keragaman variabel respon dapat dijelaskan oleh hubungan variabel prediktor sebesar 60.39% sementara 39.61% sisanya dijelaskan oleh variabel lain diluar model.