Analisis Regresi Logistik Pada Gini Ratio Indonsia

Pendahuluan

Salah satu kriteria yang sering menjadi acuan kemajuan suatu pembangunan adalah gini ratio. Gini ratio adalah ukuran distribusi pendapatan suatu daerah. Negara atau daerah dengan gini ratio yang rendah berarti pemerintah berhasil mencapai keadilan bagi rakyatnya dari sisi ekonomi. Disisi lain, ketimpangan pendapatan yang tinggi dapat menyebabkan beberapa permasalahan sosial. sehingga gini ratio selalu menjadi perhatian pemerintah manapun.

Beberapa faktor yang secara teori mempengaruhi angka gini ratio adalah tingkat pengangguran terbuka, persentase kemiskinan, pendapatan perkapita dan indeks pembangunan manusia.

Gini ratio di Indonesia yaitu 0.385. angka tersebut termasuk dalam kategori rendah. artinya ketimpangan pendapatan di Indonesia masih tergolong rendah. akan tetapi perlu dilakukan evaluasi lagi pada level provinsi untuk melihat provinsi mana yang diatas rata-rata nasional. Provinsi dengan gini ratio dibawah 0.385 dikategorikan “rendah”, sedangkan provinsi dengan gini ratio di atas 0.385 dikategorikan “tinggi”. Terdapat 34 sampel gini ratio provinsi yang diperoleh dari data BPS tahun 2020 semester 2.

Tujuan dari penelitian ini adalah untuk melihat bagaimana pengaruh faktor tingkat pengangguran terbuka, persentase kemiskinan, pendapatan perkapita dan indeks pembangunan manusia terhadap klasifikasi gini ratio provinsi di Indonesia.

Metode Penelitian

Metode penelitian yang digunakan dalam penelitian ini adalah analisis regresi logistik. Regresi logistik merupakan salah satu jenis regresi yang menghubungkan antara satu atau beberapa variabel independen (variabel bebas) dengan variabel dependen yang berupa kategori; biasanya 0 dan 1. Jenis variabel independen berupa kategori inilah yang membedakan regresi logistik dengan regresi berganda atau regresi linear lainnya.

Variabel yang digunakan dalam penelitian ini adalah:

# gini, gini ratio provinsi yang dikategorikan menjadi dua yaitu tinggi dan rendah. Suatu provinsi termasuk kategori rendah apabila gini ratio dibawah 0,385. Sedangkan termasuk kategori tinggi apabila gini ratio di atas 0,385.

#TPK, tingkat pengangguran terbuka

#kemiskinan, persentase kemiskinan provinsi 

#PDRB, pendapatan perkapita provinsi

#IPM, indeks pembangunan manusia provinsi

Hasil Penelitian

Eksplorasi data

Packages

library(broom)
library(caret)
library(DataExplorer)
library(grid)
library(InformationValue)
library(ISLR)
library(pscl)
library(tidyverse)
library(readxl)

Data

datapaper<-read_excel("F:/Pascasarjana/02 Kuliah/Semester 1/STA 581 Sains Data/data paper.xlsx")
summary(datapaper)
##    Provinsi              TPK           kemiskinan          PDRB       
##  Length:34          Min.   : 3.320   Min.   : 4.450   Min.   : 12417  
##  Class :character   1st Qu.: 4.580   1st Qu.: 6.725   1st Qu.: 26203  
##  Mode  :character   Median : 5.570   Median : 9.065   Median : 33796  
##                     Mean   : 6.034   Mean   :10.806   Mean   : 41855  
##                     3rd Qu.: 6.853   3rd Qu.:13.040   3rd Qu.: 40291  
##                     Max.   :10.950   Max.   :26.800   Max.   :168417  
##       IPM            gini          
##  Min.   :60.44   Length:34         
##  1st Qu.:69.50   Class :character  
##  Median :71.46   Mode  :character  
##  Mean   :71.11                     
##  3rd Qu.:72.36                     
##  Max.   :80.77
datapaper$gini<-as.factor(datapaper$gini)
glimpse(datapaper)
## Rows: 34
## Columns: 6
## $ Provinsi   <chr> "Aceh", "Sumatera Utara", "Sumatera Barat", "Riau", "Jam...
## $ TPK        <dbl> 6.59, 6.91, 6.88, 6.32, 5.13, 5.51, 4.07, 4.67, 5.25, 10...
## $ kemiskinan <dbl> 15.43, 9.14, 6.56, 7.04, 7.97, 12.98, 15.30, 12.76, 4.89...
## $ PDRB       <dbl> 24100.30, 36300.55, 30817.56, 68743.48, 40362.74, 36781....
## $ IPM        <dbl> 71.99, 71.77, 72.38, 72.71, 72.29, 70.01, 71.40, 69.69, ...
## $ gini       <fct> rendah, rendah, rendah, rendah, rendah, rendah, rendah, ...

Plot Data

plot_bar(datapaper$gini)

Dari 34 Provinsi di Indonesia, terdapat 7 provinsi yang memiliki gini ratio kategori tinggi. ## Regresi Logistik

logit <- glm(gini~TPK+kemiskinan+PDRB+IPM, data=datapaper, family = "binomial")
summary(logit)
## 
## Call:
## glm(formula = gini ~ TPK + kemiskinan + PDRB + IPM, family = "binomial", 
##     data = datapaper)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -1.1459  -0.6583  -0.4341  -0.2256   2.0867  
## 
## Coefficients:
##               Estimate Std. Error z value Pr(>|z|)  
## (Intercept) -2.459e+01  1.384e+01  -1.777   0.0756 .
## TPK          3.431e-02  2.979e-01   0.115   0.9083  
## kemiskinan   2.845e-01  1.353e-01   2.102   0.0355 *
## PDRB         7.234e-06  1.616e-05   0.448   0.6543  
## IPM          2.714e-01  1.790e-01   1.516   0.1294  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 34.575  on 33  degrees of freedom
## Residual deviance: 28.443  on 29  degrees of freedom
## AIC: 38.443
## 
## Number of Fisher Scoring iterations: 5

Membagi Data

Untuk menguji apakah model yang dihasilkan merupakan model yang baik, perlu dilakukan pembagian dataset menjadi dua. Data pertama yaitu train sebanyak 70 persen dari data awal digunakan untuk membangun model. Data kedua yaitu test sebanyak 30 persen dari data awal digunakan untuk melakukan evaluasi model.

set.seed(123)
sample <- sample(nrow(datapaper),floor(nrow(datapaper)*0.7))

train <- datapaper[sample,]
train
## # A tibble: 23 x 6
##    Provinsi              TPK kemiskinan    PDRB   IPM gini  
##    <chr>               <dbl>      <dbl>   <dbl> <dbl> <fct> 
##  1 Maluku               7.57      18.0   16794.  69.5 rendah
##  2 Jawa Timur           5.84      11.5   40375.  71.7 rendah
##  3 Nusa Tenggara Timur  4.28      21.2   12417.  65.2 rendah
##  4 Di Yogyakarta        4.57      12.8   26191.  80.0 tinggi
##  5 Sumatera Barat       6.88       6.56  30818.  72.4 rendah
##  6 Kep. Riau           10.3        6.13  78038.  75.6 rendah
##  7 Nusa Tenggara Barat  4.22      14.2   18197.  68.2 tinggi
##  8 Kalimantan Selatan   4.74       4.83  30406.  70.9 rendah
##  9 Dki Jakarta         11.0        4.69 168417.  80.8 tinggi
## 10 Jambi                5.13       7.97  40363.  72.3 rendah
## # ... with 13 more rows
test <- datapaper[-sample,]
test
## # A tibble: 11 x 6
##    Provinsi            TPK kemiskinan    PDRB   IPM gini  
##    <chr>             <dbl>      <dbl>   <dbl> <dbl> <fct> 
##  1 Aceh               6.59      15.4   24100.  72.0 rendah
##  2 Sumatera Utara     6.91       9.14  36301.  71.8 rendah
##  3 Riau               6.32       7.04  68743.  72.7 rendah
##  4 Sumatera Selatan   5.51      13.0   36782.  70.0 rendah
##  5 Jawa Barat        10.5        8.43  29142.  72.1 tinggi
##  6 Jawa Tengah        6.48      11.8   27637.  71.9 rendah
##  7 Bali               5.63       4.45  33681.  75.5 rendah
##  8 Kalimantan Tengah  4.58       5.26  35735.  71.0 rendah
##  9 Kalimantan Timur   6.87       6.64 124663.  76.2 rendah
## 10 Sulawesi Tengah    3.77      13.1   43317.  69.6 rendah
## 11 Papua Barat        6.8       21.7   62733.  65.0 rendah

Permodelan Ulang

Selanjutnya dilakukan permodelan ulang dengan menggunakan data train. taraf nyata yang digunakan dalam penelitian ini adalah 5 persen.

logit_train <- glm(gini~TPK+kemiskinan+PDRB+IPM, data=train, family = "binomial")

Interpretasi Hasil

summary(logit_train)
## 
## Call:
## glm(formula = gini ~ TPK + kemiskinan + PDRB + IPM, family = "binomial", 
##     data = train)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -1.5701  -0.4486  -0.1522   0.1273   1.8178  
## 
## Coefficients:
##               Estimate Std. Error z value Pr(>|z|)  
## (Intercept) -3.515e+01  2.376e+01  -1.479   0.1391  
## TPK         -1.015e+00  8.056e-01  -1.260   0.2078  
## kemiskinan   4.532e-01  2.281e-01   1.987   0.0469 *
## PDRB         6.007e-05  3.661e-05   1.641   0.1009  
## IPM          4.461e-01  3.294e-01   1.354   0.1756  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 26.402  on 22  degrees of freedom
## Residual deviance: 14.076  on 18  degrees of freedom
## AIC: 24.076
## 
## Number of Fisher Scoring iterations: 6

Hasil permodelan menunjukkan bahwa dari empat peubah independen yang dimasukkan ke dalam model, hanya persentase kemiskinan yang berpengaruh nyata terhadap ketimpangan pendapatan provinsi di Indonesia.

logit_train$coefficient
##   (Intercept)           TPK    kemiskinan          PDRB           IPM 
## -3.514632e+01 -1.014846e+00  4.532476e-01  6.007234e-05  4.461036e-01

koefisian kemiskinan adalah sebesar 0.4532 berarti peningkatan sebesar satu persen persentase kemiskinan berhubungan dalam peningkatan log-odds gini ratio sebesar 0.4532.

interpretasi bisa juga dilakukan dengan menggunakan odds ratio, dengan cara:

exp(logit_train$coefficients)
##  (Intercept)          TPK   kemiskinan         PDRB          IPM 
## 5.446889e-16 3.624584e-01 1.573414e+00 1.000060e+00 1.562213e+00

odds ratio kemiskinan sebesar 1.573 berarti setiap peningkatan satu persen angka kemiskinan di suatu provinsi akan berpeluang meningkat gini ratio 1.573 kali dibandingkan sebelumnya. ## Evaluasi Model ### Pseudo R2 Pseudo R2 adalah salah satu ukuran kebaikan model regresi logistik. semakin besar nila pseudo R2 semakin besar pula model dalam memprediksi respon.

pscl::pR2(logit_train)["McFadden"]
## fitting null model for pseudo-r2
##  McFadden 
## 0.4668527

nilai pseudo R2 dalam model ini adalah 46.68 persen.

Confussion Matrix

Sensitivitas (atau True Positive Rate) adalah persentase pengamatan (aktual) yang diprediksi dengan benar oleh model, sedangkan spesifisitas adalah persentase dari 0 (aktual) yang diprediksi dengan benar.

test$pred <- predict(logit_train, test, type="response")

test$ginipred <- ifelse(test$pred > 0.80, "tinggi", "rendah")
test$ginipred <- as.factor(test$ginipred)
(conf.mat<-caret::confusionMatrix(test$ginipred, test$gini, positive="tinggi"))
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction rendah tinggi
##     rendah      9      1
##     tinggi      1      0
##                                           
##                Accuracy : 0.8182          
##                  95% CI : (0.4822, 0.9772)
##     No Information Rate : 0.9091          
##     P-Value [Acc > NIR] : 0.9288          
##                                           
##                   Kappa : -0.1            
##                                           
##  Mcnemar's Test P-Value : 1.0000          
##                                           
##             Sensitivity : 0.00000         
##             Specificity : 0.90000         
##          Pos Pred Value : 0.00000         
##          Neg Pred Value : 0.90000         
##              Prevalence : 0.09091         
##          Detection Rate : 0.00000         
##    Detection Prevalence : 0.09091         
##       Balanced Accuracy : 0.45000         
##                                           
##        'Positive' Class : tinggi          
## 
broom::tidy(conf.mat)
## # A tibble: 14 x 6
##    term                 class  estimate conf.low conf.high p.value
##    <chr>                <chr>     <dbl>    <dbl>     <dbl>   <dbl>
##  1 accuracy             <NA>     0.818     0.482     0.977   0.929
##  2 kappa                <NA>    -0.100    NA        NA      NA    
##  3 mcnemar              <NA>    NA        NA        NA       1    
##  4 sensitivity          tinggi   0        NA        NA      NA    
##  5 specificity          tinggi   0.9      NA        NA      NA    
##  6 pos_pred_value       tinggi   0        NA        NA      NA    
##  7 neg_pred_value       tinggi   0.900    NA        NA      NA    
##  8 precision            tinggi   0        NA        NA      NA    
##  9 recall               tinggi   0        NA        NA      NA    
## 10 f1                   tinggi NaN        NA        NA      NA    
## 11 prevalence           tinggi   0.0909   NA        NA      NA    
## 12 detection_rate       tinggi   0        NA        NA      NA    
## 13 detection_prevalence tinggi   0.0909   NA        NA      NA    
## 14 balanced_accuracy    tinggi   0.45     NA        NA      NA

Terlihat dari 11 observasi yang menjadi pengujian fitting dilakukan dengan benar sebanyak 9 kali. salah klasifikasi terjadi sebanyak 2 kali, yaitu 1 kali gini ratio kategori tinggi terprediksi rendah dan 1 kali gini ratio rendah terprediksi tinggi. Akurasi model ini dalam memprediksi sebesar 81.82 persen.

Kesimpulan

Gini ratio provinsi di Indonesia dipenharuhi secara nyata oleh angka kemiskinan, dimana setiap peningkatan 1 persen angka kemiskinan akan berpeluang meningkatkan gini ratio 1,573 kali dibandingkan sebelumnya. Akurasi model dalam memprediksi sebesar 81.82 persen dan ukuran kebaikan model sebesar 46.68 persen.

Daftar Pustaka

Hidayat, A (2015).Regresi Logistik. https://www.statistikian.com/2015/02/regresi-logistik.html

Anisa,R., Dito, G.A., dan Nurussadad,A.A.. (2021). Logistik Regresion. [11 Maret 2021]. https://rpubs.com/nurussadad/STA581-05-regresi-logistik