Disusun oleh: Ariq Abbdillah Syahlan (140610230065)
Dosen Pengampu: I Gede Nyoman Mindra Jaya, M.Si., Ph.D.
Program Studi Statistika
Fakultas Matematika dan Ilmu Pengetahuan Alam
Universitas Padjadjaran
Jatinangor 2025
link dashboard : https://ariq97.shinyapps.io/spasial/
Kesetaraan gender merupakan sebuah hal yang telah lama diperbincangkan, hal ini sering kali membahas mengenai agar semua gender mendapatkan perlakuan yang sama baik itu dalam hal seperti pendidikan, kesehatan dan lainnya. Indeks Ketimpangan Gender (IKG) merupakan salah satu variabel yang dapat menggambarkan kondisi ketimpangan antara laki-laki dan perempuan dalam berbagai aspek seperti, seperti dimensi kesehatan, dimensi pasar tenaga kerja, dan dimensi pemberdayaan. IKG memberikan gambaran ketimpangan yang terjadi pada suatu wilayah sehingga dapat digunakan untuk melihat manfaat yang diberikan dari pembangunan yang dilakukan daerah terhadap kesetaraan gender. Analisis spasial dilakukan untuk melihat ketimpangan yang terjadi secara menyeluruh di suatu daerah, dalam hal ini Jawa Barat, analisis spasial dapat membantu dalam melihat pola penyebaran yang terjadi. Dengan melakukan analisis ini, diharapkan dapat membantu dalam pemerintah dalam merancang pembangunan agar tepat sasaran dan mengurangi ketimpangan gender yang terjadi di wilayah yang masih terjadi ketimpangan yang besar.
Statistika deskriptif adalah metode statistik yang digunakan untuk menggambarkan dan meringkas data agar lebih mudah dipahami. Analisis ini meliputi penghitungan ukuran pemusatan dan penyebaran data seperti mean, median, modus, kuartil atau kuantil, nilai maksimum, dan nilai minimum guna memberikan gambaran umum mengenai karakteristik variabel yang diteliti.
Mean adalah nilai rata-rata dari seluruh data, diperoleh dengan menjumlahkan semua nilai observasi kemudian dibagi dengan jumlah observasi tersebut.
\[
\bar{x} = \frac{1}{n} \sum_{i=1}^{n} x_i
\]
Keterangan:
- \(\bar{x}\) = mean atau
rata-rata
- \(n\) = jumlah data
- \(x_i\) = nilai ke-\(i\) dari data
Median adalah nilai tengah dari data yang sudah diurutkan. Separuh data berada di bawah median dan separuhnya lagi di atas median.
\[
\tilde{x} =
\begin{cases}
x_{\frac{n+1}{2}}, & \text{jika } n \text{ ganjil} \\
\frac{1}{2}(x_{\frac{n}{2}} + x_{\frac{n}{2}+1}), & \text{jika } n
\text{ genap}
\end{cases}
\]
Keterangan:
- \(\tilde{x}\) = median atau nilai
tengah
- Data harus diurutkan terlebih dahulu
Kuantil adalah nilai-nilai yang membagi data menjadi beberapa bagian
sama besar.
Contohnya:
Rumus umum:
\[
Q_p = x_{(np)}
\]
Keterangan:
- \(Q_p\) = kuantil ke-\(p\) (misal \(Q_{0.25}\), \(Q_{0.5}\), \(Q_{0.75}\))
- \(x_{(np)}\) = data ke-\(np\) setelah diurutkan
Maksimum adalah nilai tertinggi dari data dan minimum adalah nilai terendah dari data.
\[ \max(x) = x_{(n)} \]
\[ \min(x) = x_{(1)} \]
Keterangan:
- \(x_{(n)}\) = nilai terbesar dalam
data yang sudah diurutkan
- \(x_{(1)}\) = nilai terkecil dalam
data yang sudah diurutkan
Peta deskriptif adalah peta yang digunakan untuk menyajikan data atau informasi spasial secara visual agar pola, sebaran, dan karakteristik suatu variabel di wilayah tertentu dapat terlihat dengan jelas.
Dalam konteks analisis spasial, peta deskriptif berfungsi untuk menggambarkan keragaman nilai antar wilayah, misalnya perbedaan nilai Indeks Ketimpangan Gender (IKG) di berbagai kabupaten/kota.
Peta ini biasanya ditampilkan dalam bentuk peta tematik (choropleth map), di mana setiap wilayah diberi warna atau gradasi warna yang berbeda sesuai dengan nilai variabel yang ditampilkan.
Uji autokorelasi spasial digunakan untuk mengetahui apakah terdapat hubungan atau keterkaitan antarwilayah berdasarkan lokasi geografisnya.
Autokorelasi spasial bisa bersifat:
Moran’s I merupakan ukuran global untuk mengetahui apakah terdapat pola spasial secara keseluruhan pada data. Nilai Moran’s I berkisar antara –1 hingga +1, di mana:
Rumus dari Moran’s I adalah,
\[ I = \frac{n}{W} \cdot \frac{\displaystyle\sum_{i=1}^{n}\sum_{j=1}^{n} w_{ij}(x_i - \bar{x})(x_j - \bar{x})} {\displaystyle\sum_{i=1}^{n}(x_i - \bar{x})^2} \]
Keterangan:
- \(I\) = indeks Moran’s I
- \(n\) = jumlah unit observasi
(misalnya wilayah, kabupaten, atau kecamatan)
- \(x_i, x_j\) = nilai variabel
pengamatan pada lokasi \(i\) dan \(j\)
- \(\bar{x}\) = rata-rata dari seluruh
nilai \(x\)
- \(w_{ij}\) = bobot spasial antara
lokasi \(i\) dan \(j\)
- \(W = \sum_{i=1}^{n}\sum_{j=1}^{n}
w_{ij}\) = jumlah total bobot spasial
Geary’s C juga mengukur autokorelasi spasial global, tetapi lebih
sensitif terhadap perbedaan lokal antarwilayah tetangga.
Nilai Geary’s C berkisar antara 0 hingga 2, dengan interpretasi:
Rumus dari Geary’s C adalah,
\[ C = \frac{(n - 1)}{2W} \cdot \frac{\displaystyle\sum_{i=1}^{n}\sum_{j=1}^{n} w_{ij}(x_i - x_j)^2} {\displaystyle\sum_{i=1}^{n}(x_i - \bar{x})^2} \]
Keterangan:
- \(C\) = indeks Geary’s C
- \(n\) = jumlah unit observasi
- \(x_i, x_j\) = nilai variabel pada
lokasi \(i\) dan \(j\)
- \(\bar{x}\) = rata-rata dari seluruh
nilai \(x\)
- \(w_{ij}\) = bobot spasial antara
lokasi \(i\) dan \(j\)
- \(W = \sum_{i=1}^{n}\sum_{j=1}^{n}
w_{ij}\) = jumlah total bobot spasial
LISA merupakan pengukuran autokorelasi spasial lokal, yang digunakan untuk mengetahui wilayah mana saja yang memiliki pola spasial signifikan.
Berbeda dengan Moran’s I dan Geary’s C yang bersifat global, LISA fokus pada identifikasi klaster di tingkat wilayah.
LISA dapat mengidentifikasi empat jenis pola spasial:
Melalui analisis LISA, peneliti dapat memetakan wilayah yang menjadi hotspot atau coldspot, yang sangat berguna dalam kebijakan daerah berbasis spasial, seperti pemerataan gender, pendidikan, atau kesehatan.
Sebelum melakukan estimasi model spasial seperti SAR atau SEM, langkah awal yang perlu dilakukan adalah memastikan bahwa antar variabel bebas (prediktor) tidak memiliki hubungan yang terlalu kuat satu sama lain, atau yang disebut multikolinearitas.
Multikolinearitas terjadi ketika dua atau lebih variabel independen saling berkorelasi tinggi, sehingga dapat menyebabkan hasil estimasi model menjadi tidak stabil dan sulit diinterpretasikan. Akibatnya, koefisien regresi bisa menjadi bias dan uji signifikansi menjadi tidak akurat.
Untuk mendeteksi adanya multikolinearitas, digunakan ukuran Variance Inflation Factor (VIF). Nilai VIF menunjukkan seberapa besar varians dari suatu koefisien regresi meningkat akibat adanya korelasi antar variabel independen.
Rumus VIF adalah:
\[ VIF_j = \frac{1}{1 - R_j^2} \]
Keterangan: - \(VIF_j\) = Variance Inflation Factor untuk
variabel ke-\(j\)
- \(R_j^2\) = koefisien determinasi
hasil regresi variabel \(X_j\) terhadap
variabel bebas lainnya
Interpretasi: - \(VIF =
1\) → tidak ada multikolinearitas
- \(1 < VIF < 5\) →
multikolinearitas lemah
- \(5 \leq VIF < 10\) →
multikolinearitas sedang
- \(VIF \geq 10\) → multikolinearitas
kuat (perlu perhatian atau penghapusan variabel)
Model SAR digunakan ketika nilai variabel dependen di suatu wilayah dipengaruhi oleh nilai variabel dependen di wilayah sekitarnya. Artinya, terdapat spatial lag dari variabel dependen.
Persamaan dari SAR adalah:
\[ \mathbf{y} = \rho \mathbf{W}\mathbf{y} + \mathbf{X}\boldsymbol{\beta} + \boldsymbol{\varepsilon} \]
Keterangan:
- \(\mathbf{y}\): vektor variabel
dependen
- \(\mathbf{X}\): matriks variabel
independen
- \(\boldsymbol{\beta}\): vektor
koefisien regresi
- \(\rho\): parameter autokorelasi
spasial (spatial lag coefficient)
- \(\mathbf{W}\): matriks bobot spasial
(spatial weight matrix)
- \(\boldsymbol{\varepsilon}\): vektor
error acak
Model SAR mengasumsikan bahwa nilai variabel dependen di suatu lokasi dipengaruhi oleh nilai-nilai variabel dependen di lokasi-lokasi tetangganya.
Model SEM digunakan ketika pengaruh spasial tidak muncul pada nilai variabel dependen secara langsung, tetapi melalui komponen error (gangguan) yang saling berkorelasi antarwilayah.
Persamaan dari SEM adalah:
\[ \mathbf{y} = \mathbf{X}\boldsymbol{\beta} + \boldsymbol{\varepsilon}, \qquad \boldsymbol{\varepsilon} = \lambda \mathbf{W}\boldsymbol{\varepsilon} + \mathbf{u} \]
Keterangan:
- \(\lambda\): parameter autokorelasi
spasial pada error
- \(\mathbf{u}\): komponen error acak
yang bebas spasial
Model SEM digunakan ketika ketergantungan spasial tidak terdapat pada \(y\), melainkan pada komponen error.
Model SDM adalah model yang lebih umum yang memasukkan lag spasial dari variabel dependen WY dan juga lag spasial dari variabel-variabel independen WX. Model ini dapat menangkap efek limpahan yang berasal dari variabel dependen (interaksi endogen) dan variabel independen (interaksi eksogen). SDM mampu mengestimasi efek langsung (dampak perubahan variabel independen di suatu wilayah terhadap variabel dependen di wilayah itu sendiri) dan efek tidak langsung/limpahan (dampak perubahan di suatu wilayah terhadap wilayah lain). Persamaan model SDM adalah:
\[ \mathbf{y} = \rho \mathbf{W}\mathbf{y} + \mathbf{X}\boldsymbol{\beta} + \mathbf{W}\mathbf{X}\boldsymbol{\theta} + \boldsymbol{\varepsilon} \]
Keterangan:
- \(\mathbf{W}\mathbf{X}\): lag spasial
dari variabel independen
- \(\boldsymbol{\theta}\): koefisien
efek tidak langsung (spillover effects)
Model SDM menggabungkan lag spasial pada variabel
dependen (\(\mathbf{W}\mathbf{y}\)) dan lag
pada variabel independen (\(\mathbf{W}\mathbf{X}\)),
sehingga menangkap pengaruh antarwilayah baik secara langsung maupun
tidak langsung.
Model SDEM adalah variasi dari model SEM yang juga memasukkan lag spasial dari variabel independen WX, namun tidak memasukkan lag spasial dari variabel dependen WY. Model ini cocok untuk situasi di mana autokorelasi spasial diyakini berada pada galat, namun tetap ada efek limpahan yang berasal dari variabel-variabel independen di wilayah tetangga. Persamaan model SDEM adalah:
\[ \mathbf{y} = \mathbf{X}\boldsymbol{\beta} + \mathbf{W}\mathbf{X}\boldsymbol{\theta} + \boldsymbol{\varepsilon}, \qquad \boldsymbol{\varepsilon} = \lambda \mathbf{W}\boldsymbol{\varepsilon} + \mathbf{u} \]
Keterangan:
- Model ini menggabungkan lag spasial pada variabel independen (\(\mathbf{W}\mathbf{X}\)) dengan autokorelasi
error (\(\lambda
\mathbf{W}\boldsymbol{\varepsilon}\)).
- Tidak ada lag pada variabel dependen (\(\mathbf{W}\mathbf{y}\)).
SDEM digunakan ketika efek spasial muncul pada variabel independen dan error, bukan pada \(y\).
Model SAC, juga dikenal sebagai General Spatial Model atau model Kelejian-Prucha, adalah model yang paling komprehensif karena memasukkan kedua jenis dependensi spasial secara bersamaan: lag spasial pada variabel dependen WY dan autokorelasi pada galat Wu. Model ini digunakan ketika ada alasan teoretis untuk meyakini bahwa kedua proses spasial (substantif dan residual) terjadi secara simultan. Persamaan model SAC adalah:
\[ \mathbf{y} = \rho \mathbf{W}\mathbf{y} + \mathbf{X}\boldsymbol{\beta} + \boldsymbol{\varepsilon}, \qquad \boldsymbol{\varepsilon} = \lambda \mathbf{W}\boldsymbol{\varepsilon} + \mathbf{u} \]
Keterangan:
- Menggabungkan dua bentuk dependensi spasial:
- Lag spasial pada \(y\) seperti pada SAR
- Autokorelasi spasial pada error seperti pada SEM
Model SAC adalah bentuk paling umum dari model spasial, digunakan bila terdapat efek spasial baik pada variabel dependen maupun pada error.
Data yang digunakan dalam penelitian ini diperoleh dari Badan Pusat Statistik Jawa Barat (BPS Jawa Barat) tahun 2024 yang meliputi Indeks Ketimpangan Gender sebagai variabel dependen, lalu untuk variabel independen/prediktor diperoleh berdasarkan berita statistik yang meliputi Tingkat Partisipasi Angkatan Kerja, Proporsi Perempuan Pernah Kawin 15-49 tahun yang Melahirkan Anak Lahir Hidup Yang Pertama Kali Berumur Kurang dari 20 tahun, Proporsi Perempuan Pernah Kawin 15-49 tahun yang Pernah Melahirkan Anak Lahir Hidup dalam 2 Tahun Terakhir Tidak di Fasilitas Kesehatan, Persentase penduduk usia 25 Tahun keatas dengan pendidikan SMA ke atas, dan Keterlibatan di Parlemen.
| Variabel | Keterangan |
|---|---|
| Y | Indeks Ketimpangan Gender |
| X1 | Proporsi Perempuan Pernah Kawin 15–49 Tahun yang Pernah Melahirkan Anak Lahir Hidup dalam 2 Tahun Terakhir Tidak di Fasilitas Kesehatan |
| X2 | Proporsi Perempuan Pernah Kawin 15–49 Tahun yang Melahirkan Anak Lahir Hidup yang Pertama Kali Berumur Kurang dari 20 Tahun |
| X3 | Persentase Tingkat Partisipasi Angkatan Kerja (Laki-laki) |
| X4 | Persentase Tingkat Partisipasi Angkatan Kerja (Perempuan) |
| X5 | Persentase Penduduk Usia 25 Tahun ke Atas dengan Pendidikan SMA ke Atas (Laki-laki) |
| X6 | Persentase Penduduk Usia 25 Tahun ke Atas dengan Pendidikan SMA ke Atas (Perempuan) |
| X7 | Persentase Keterlibatan di Parlemen (Laki-laki) |
| X8 | Persentase Keterlibatan di Parlemen (Perempuan) |
Persiapan Library
# --- 1. Load library ---
library(sf)
## Warning: package 'sf' was built under R version 4.4.3
## Linking to GEOS 3.13.0, GDAL 3.10.1, PROJ 9.5.1; sf_use_s2() is TRUE
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(leaflet)
## Warning: package 'leaflet' was built under R version 4.4.3
library(spdep)
## Warning: package 'spdep' was built under R version 4.4.3
## Loading required package: spData
## Warning: package 'spData' was built under R version 4.4.3
## To access larger datasets in this package, install the spDataLarge
## package with: `install.packages('spDataLarge',
## repos='https://nowosad.github.io/drat/', type='source')`
library(spatialreg)
## Warning: package 'spatialreg' was built under R version 4.4.3
## Loading required package: Matrix
##
## Attaching package: 'spatialreg'
## The following objects are masked from 'package:spdep':
##
## get.ClusterOption, get.coresOption, get.mcOption,
## get.VerboseOption, get.ZeroPolicyOption, set.ClusterOption,
## set.coresOption, set.mcOption, set.VerboseOption,
## set.ZeroPolicyOption
library(car)
## Loading required package: carData
##
## Attaching package: 'car'
## The following object is masked from 'package:dplyr':
##
## recode
library(tmap)
## Warning: package 'tmap' was built under R version 4.4.3
Persiapa Data
# --- 2. Baca data CSV ---
data <- read.csv("C:/folder/Data Spasial (Dashboard UTS) (CSV3).csv", sep = ";", dec = ".")
P = data$Kabupaten.Kota.di.Jawa.Barat
Y = data$IKG..Y.
X1 = data$NONFASKES_MELAHIRKAN..X1.
X2 = data$USIA_ANAK1_MUDA..X2.
X3 = data$TPAK_L..X3.
X4 = data$TPAK_P..X4..
X5 = data$PDDK_L..X5.
X6 = data$PDDK_P..X6.
X7 = data$PARLEMEN_L..X7.
X8 = data$PARLEMEN_P..X8.
dataku <- data.frame(P, Y)
# --- Samakan format penulisan nama wilayah ---
dataku$P <- toupper(dataku$P)
# --- Baca shapefile GADM ---
jabar <- st_read("C:/folder/gadm41_IDN_2.shp")
## Reading layer `gadm41_IDN_2' from data source `C:\folder\gadm41_IDN_2.shp' using driver `ESRI Shapefile'
## Simple feature collection with 502 features and 13 fields
## Geometry type: MULTIPOLYGON
## Dimension: XY
## Bounding box: xmin: 95.00971 ymin: -11.00761 xmax: 141.0194 ymax: 6.076941
## Geodetic CRS: WGS 84
jabar <- jabar %>% filter(NAME_1 == "Jawa Barat")
jabar$NAME_2 <- toupper(jabar$NAME_2)
setdiff(dataku$P, jabar$NAME_2)
## [1] "PANGANDARAN"
dataku <- data.frame(P, Y, X1, X2, X3, X4, X5, X6, X7, X8)
dataku
## P Y X1 X2 X3 X4 X5 X6 X7 X8
## 1 BOGOR 0.577 0.242 0.319 85.99 45.57 39.65 28.67 90.91 9.09
## 2 SUKABUMI 0.533 0.180 0.398 85.69 53.44 21.02 12.55 82.00 18.00
## 3 CIANJUR 0.544 0.265 0.430 88.86 55.61 19.88 14.17 78.00 22.00
## 4 BANDUNG 0.387 0.035 0.312 82.71 51.25 40.67 37.57 83.64 16.36
## 5 GARUT 0.533 0.274 0.403 85.54 56.48 29.25 20.72 76.00 24.00
## 6 TASIKMALAYA 0.559 0.309 0.337 83.98 53.26 22.93 20.23 88.00 12.00
## 7 CIAMIS 0.439 0.072 0.211 80.80 55.64 25.41 20.78 90.00 10.00
## 8 KUNINGAN 0.415 0.116 0.216 80.57 50.85 26.42 20.52 68.00 32.00
## 9 CIREBON 0.385 0.061 0.225 86.46 51.86 33.76 24.49 72.00 28.00
## 10 MAJALENGKA 0.437 0.047 0.346 85.24 54.11 25.99 18.40 86.00 14.00
## 11 SUMEDANG 0.217 0.000 0.328 83.74 54.65 30.94 27.03 76.00 24.00
## 12 INDRAMAYU 0.349 0.031 0.271 84.71 48.21 27.50 21.80 72.00 28.00
## 13 SUBANG 0.432 0.085 0.289 87.76 55.83 28.40 23.29 78.00 22.00
## 14 PURWAKARTA 0.548 0.362 0.386 86.62 46.19 33.80 26.65 70.00 30.00
## 15 KARAWANG 0.478 0.097 0.286 83.56 43.48 36.82 28.92 84.00 16.00
## 16 BEKASI 0.348 0.026 0.237 85.51 44.34 59.75 49.11 78.18 21.82
## 17 BANDUNG BARAT 0.520 0.171 0.372 87.12 48.84 31.57 22.10 80.00 20.00
## 18 PANGANDARAN 0.415 0.075 0.285 91.31 69.11 26.07 21.09 80.00 20.00
## 19 KOTA BOGOR 0.376 0.067 0.186 83.71 50.69 61.74 50.75 74.00 26.00
## 20 KOTA SUKABUMI 0.359 0.036 0.212 79.54 45.67 56.69 47.49 80.00 20.00
## 21 KOTA BANDUNG 0.244 0.010 0.161 83.93 51.96 63.51 58.30 84.00 16.00
## 22 KOTA CIREBON 0.383 0.108 0.180 82.41 54.77 61.88 54.37 65.71 34.29
## 23 KOTA BEKASI 0.273 0.020 0.148 80.54 50.63 76.82 71.36 80.00 20.00
## 24 DEPOK 0.165 0.000 0.142 78.90 46.83 74.86 66.26 76.00 24.00
## 25 CIMAHI 0.162 0.000 0.155 82.90 49.99 70.05 62.73 73.33 26.67
## 26 KOTA TASIKMALAYA 0.354 0.037 0.197 83.54 54.03 43.71 39.44 83.72 16.28
## 27 BANJAR 0.239 0.000 0.238 82.35 52.16 38.66 31.76 86.67 13.33
summary(dataku[, 2:10])
## Y X1 X2 X3
## Min. :0.1620 Min. :0.0000 Min. :0.1420 Min. :78.90
## 1st Qu.:0.3485 1st Qu.:0.0285 1st Qu.:0.2040 1st Qu.:82.56
## Median :0.3870 Median :0.0670 Median :0.2710 Median :83.93
## Mean :0.3952 Mean :0.1010 Mean :0.2693 Mean :84.22
## 3rd Qu.:0.4990 3rd Qu.:0.1435 3rd Qu.:0.3325 3rd Qu.:85.84
## Max. :0.5770 Max. :0.3620 Max. :0.4300 Max. :91.31
## X4 X5 X6 X7
## Min. :43.48 Min. :19.88 Min. :12.55 Min. :65.71
## 1st Qu.:48.52 1st Qu.:26.96 1st Qu.:20.93 1st Qu.:75.00
## Median :51.86 Median :33.80 Median :27.03 Median :80.00
## Mean :51.68 Mean :41.03 Mean :34.09 Mean :79.12
## 3rd Qu.:54.38 3rd Qu.:58.22 3rd Qu.:48.30 3rd Qu.:83.86
## Max. :69.11 Max. :76.82 Max. :71.36 Max. :90.91
## X8
## Min. : 9.09
## 1st Qu.:16.14
## Median :20.00
## Mean :20.88
## 3rd Qu.:25.00
## Max. :34.29
jabar_merged <- left_join(jabar, dataku, by = c("NAME_2" = "P"))
pal <- colorBin("YlOrRd", domain = jabar_merged$Y, bins = c(0.1, 0.2, 0.3, 0.4, 0.5, 0.6))
leaflet(jabar_merged) %>%
addTiles() %>%
addPolygons(
fillColor = ~pal(Y),
color = "black",
weight = 1,
opacity = 1,
fillOpacity = 0.8,
label = ~paste(NAME_2, "<br>IKG:", Y),
highlightOptions = highlightOptions(weight = 2, color = "white", bringToFront = TRUE)
) %>%
addLegend(pal = pal, values = ~Y,
title = "Indeks Ketimpangan Gender (IKG)",
position = "bottomright") %>%
addControl("Peta Sebaran IKG Kabupaten/Kota di Jawa Barat", position = "topright")
names(jabar_merged)
## [1] "GID_2" "GID_0" "COUNTRY" "GID_1" "NAME_1" "NL_NAME_1"
## [7] "NAME_2" "VARNAME_2" "NL_NAME_2" "TYPE_2" "ENGTYPE_2" "CC_2"
## [13] "HASC_2" "Y" "X1" "X2" "X3" "X4"
## [19] "X5" "X6" "X7" "X8" "geometry"
sum(is.na(jabar_merged$Y))
## [1] 1
jabar_merged %>% filter(is.na(Y)) %>% select(NAME_2, Y)
## Simple feature collection with 1 feature and 2 fields
## Geometry type: MULTIPOLYGON
## Dimension: XY
## Bounding box: xmin: 107.2496 ymin: -6.82306 xmax: 107.3671 ymax: -6.687392
## Geodetic CRS: WGS 84
## NAME_2 Y geometry
## 1 WADUK CIRATA NA MULTIPOLYGON (((107.3229 -6...
jabar_merged <- jabar_merged %>% filter(!is.na(Y))
Membentuk Matriks Bobot (W)
# Membuat objek neighbors berdasarkan polygon
nb <- poly2nb(jabar_merged, queen = TRUE)
# Konversi menjadi matriks bobot spasial
lw <- nb2listw(nb, style = "W")
# Cek struktur
summary(lw)
## Characteristics of weights list object:
## Neighbour list object:
## Number of regions: 26
## Number of nonzero links: 102
## Percentage nonzero weights: 15.08876
## Average number of links: 3.923077
## Link number distribution:
##
## 1 2 3 4 5 6 7 8
## 4 2 6 4 3 5 1 1
## 4 least connected regions:
## 3 16 17 18 with 1 link
## 1 most connected region:
## 5 with 8 links
##
## Weights style: W
## Weights constants summary:
## n nn S0 S1 S2
## W 26 676 26 16.19885 115.1439
moran_test <- moran.test(jabar_merged$Y, lw)
moran_test
##
## Moran I test under randomisation
##
## data: jabar_merged$Y
## weights: lw
##
## Moran I statistic standard deviate = 0.99235, p-value = 0.1605
## alternative hypothesis: greater
## sample estimates:
## Moran I statistic Expectation Variance
## 0.10333822 -0.04000000 0.02086404
geary_test <- geary.test(jabar_merged$Y, lw)
geary_test
##
## Geary C test under randomisation
##
## data: jabar_merged$Y
## weights: lw
##
## Geary C statistic standard deviate = 0.77171, p-value = 0.2201
## alternative hypothesis: Expectation greater than statistic
## sample estimates:
## Geary C statistic Expectation Variance
## 0.8789897 1.0000000 0.0245885
lisa <- localmoran(jabar_merged$Y, lw)
# Tambahkan hasil LISA ke data spasial
jabar_merged$Ii <- lisa[, 1] # Nilai Local Moran's I
jabar_merged$Pvalue <- lisa[, 5] # P-value tiap wilayah
mean_y <- mean(jabar_merged$Y, na.rm = TRUE)
lag_y <- lag.listw(lw, jabar_merged$Y)
jabar_merged$cluster <- NA
jabar_merged$cluster[jabar_merged$Y >= mean_y & lag_y >= mean_y & jabar_merged$Pvalue <= 0.05] <- "High-High"
jabar_merged$cluster[jabar_merged$Y <= mean_y & lag_y <= mean_y & jabar_merged$Pvalue <= 0.05] <- "Low-Low"
jabar_merged$cluster[jabar_merged$Y >= mean_y & lag_y <= mean_y & jabar_merged$Pvalue <= 0.05] <- "High-Low"
jabar_merged$cluster[jabar_merged$Y <= mean_y & lag_y >= mean_y & jabar_merged$Pvalue <= 0.05] <- "Low-High"
jabar_merged$cluster[is.na(jabar_merged$cluster)] <- "Not Significant"
# Palet warna untuk kategori LISA
pal_lisa <- colorFactor(
palette = c("High-High" = "red",
"Low-Low" = "blue",
"High-Low" = "pink",
"Low-High" = "lightblue",
"Not Significant" = "grey"),
domain = jabar_merged$cluster
)
# Peta interaktif LISA
leaflet(jabar_merged) %>%
addTiles() %>%
addPolygons(
fillColor = ~pal_lisa(cluster),
color = "black",
weight = 1,
opacity = 1,
fillOpacity = 0.8,
label = ~paste0(
"<b>", NAME_2, "</b><br>",
"Cluster: ", cluster, "<br>",
"IKG: ", round(Y, 3), "<br>",
"Local Moran's I: ", round(Ii, 4), "<br>",
"P-value: ", round(Pvalue, 4)
),
labelOptions = labelOptions(
style = list("font-weight" = "bold"),
textsize = "13px",
direction = "auto"
),
highlightOptions = highlightOptions(
weight = 2,
color = "white",
bringToFront = TRUE
)
) %>%
addLegend(
"bottomright",
pal = pal_lisa,
values = ~cluster,
title = "LISA Cluster",
opacity = 1
) %>%
addControl(
"<b>Peta LISA Indeks Ketimpangan Gender (IKG)</b><br>Kabupaten/Kota di Jawa Barat",
position = "topright"
)
# asumsikan lw, nb, jabar_merged sudah ada dan Y numeric
library(spdep)
# 1) hitung lag spatial (rata2 tetangga)
jabar_merged$lagY <- lag.listw(lw, jabar_merged$Y)
# 2) tampilkan nilai untuk beberapa wilayah yang kamu curigai
areas <- c("PURWAKARTA", "CIANJUR")
diagn <- data.frame(NAME_2 = jabar_merged$NAME_2,
Y = jabar_merged$Y,
lagY = jabar_merged$lagY,
Ii = jabar_merged$Ii, # pastikan sudah ada dari localmoran
Pvalue = jabar_merged$Pvalue)
diagn[diagn$NAME_2 %in% areas, ]
## NAME_2 Y lagY Ii Pvalue
## 7 CIANJUR 0.544 0.5163333 1.245111 0.003237813
## 22 PURWAKARTA 0.548 0.5102000 1.214079 0.012361355
# lihat indeks tetangga dan nama-namanya untuk Cianjur dan Purwakarta
idx <- which(jabar_merged$NAME_2 == "CIANJUR", "PURWAKARTA")
nb[[idx]] # indeks tetangga
## [1] 1 2 5 11 22 24
jabar_merged$NAME_2[nb[[idx]]] # nama-nama tetangga Cianjur dan Purwakarta
## [1] "BANDUNG" "BANDUNG BARAT" "BOGOR" "GARUT"
## [5] "PURWAKARTA" "SUKABUMI"
fm_ols <- lm(Y ~ X1 + X2 + + X3 + X4 + X6 + X8, data = jabar_merged)
summary(fm_ols)
##
## Call:
## lm(formula = Y ~ X1 + X2 + +X3 + X4 + X6 + X8, data = jabar_merged)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.097239 -0.035600 0.008287 0.036577 0.079494
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.250811 0.503823 0.498 0.6243
## X1 0.798665 0.148794 5.368 3.52e-05 ***
## X2 -0.206298 0.279541 -0.738 0.4695
## X3 0.005251 0.006115 0.859 0.4012
## X4 -0.003253 0.003014 -1.079 0.2940
## X6 -0.002884 0.001089 -2.648 0.0159 *
## X8 -0.002747 0.001696 -1.619 0.1218
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.05439 on 19 degrees of freedom
## Multiple R-squared: 0.8523, Adjusted R-squared: 0.8057
## F-statistic: 18.27 on 6 and 19 DF, p-value: 5.829e-07
4.4.2. Multikolinearitas
vif(fm_ols)
## X1 X2 X3 X4 X6 X8
## 2.133679 5.088793 2.052704 1.135317 2.994800 1.089830
model_sar <- lagsarlm(Y ~ X1 + X2 + X3 + X4 + X6 + X8,
data = jabar_merged, listw = lw)
summary(model_sar)
##
## Call:lagsarlm(formula = Y ~ X1 + X2 + X3 + X4 + X6 + X8, data = jabar_merged,
## listw = lw)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.0988323 -0.0334191 0.0076909 0.0361886 0.0821422
##
## Type: lag
## Coefficients: (asymptotic standard errors)
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 0.20650519 0.43958720 0.4698 0.638519
## X1 0.79452859 0.12707139 6.2526 4.036e-10
## X2 -0.21615907 0.24020276 -0.8999 0.368172
## X3 0.00540822 0.00522803 1.0345 0.300918
## X4 -0.00308997 0.00256988 -1.2024 0.229217
## X6 -0.00288242 0.00092783 -3.1066 0.001892
## X8 -0.00281525 0.00144527 -1.9479 0.051427
##
## Rho: 0.062989, LR test value: 0.16749, p-value: 0.68235
## Asymptotic standard error: 0.14418
## z-value: 0.43689, p-value: 0.66219
## Wald statistic: 0.19087, p-value: 0.66219
##
## Log likelihood: 42.96922 for lag model
## ML residual variance (sigma squared): 0.0021459, (sigma: 0.046324)
## Number of observations: 26
## Number of parameters estimated: 9
## AIC: -67.938, (AIC for lm: -69.771)
## LM test for residual autocorrelation
## test value: 1.7198, p-value: 0.18972
\[ Y = 0.20650519 + 0.79452859X_{1} - 0.21615907X_{2} + 0.00540822X_{3} - 0.00308997X_{4} - 0.00288242X_{6} - 0.00281525X_{8} + 0.062989\,WY + \varepsilon \] Hasil utama:
model_sem <- errorsarlm(Y ~ X1 + X2 + X3 + X4 + X6 + X8,
data = jabar_merged, listw = lw)
summary(model_sem)
##
## Call:
## errorsarlm(formula = Y ~ X1 + X2 + X3 + X4 + X6 + X8, data = jabar_merged,
## listw = lw)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.0755579 -0.0326964 0.0071819 0.0303722 0.0640459
##
## Type: error
## Coefficients: (asymptotic standard errors)
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 0.3315157 0.3911895 0.8475 0.396741
## X1 0.8332941 0.1012936 8.2265 2.220e-16
## X2 -0.2951211 0.1689818 -1.7465 0.080730
## X3 0.0060504 0.0046254 1.3081 0.190838
## X4 -0.0057951 0.0020037 -2.8921 0.003826
## X6 -0.0033184 0.0006266 -5.2959 1.184e-07
## X8 -0.0018546 0.0011527 -1.6089 0.107628
##
## Lambda: -0.73562, LR test value: 3.5369, p-value: 0.060018
## Asymptotic standard error: 0.21105
## z-value: -3.4855, p-value: 0.00049128
## Wald statistic: 12.148, p-value: 0.00049128
##
## Log likelihood: 44.65391 for error model
## ML residual variance (sigma squared): 0.0016452, (sigma: 0.040562)
## Number of observations: 26
## Number of parameters estimated: 9
## AIC: -71.308, (AIC for lm: -69.771)
\[ \begin{aligned} Y &= 0.3315157 + 0.8332941X_{1} - 0.2951211X_{2} + 0.0060504X_{3} - 0.0057951X_{4} - 0.0033184X_{6} - 0.0018546X_{8} + u, \\ u &= -0.73562\,Wu + \varepsilon \end{aligned} \]
model_sdm <- lagsarlm(Y ~ X1 + X2 + X3 + X4 + X6 + X8,
data = jabar_merged, listw = lw, type = "mixed")
summary(model_sdm)
##
## Call:lagsarlm(formula = Y ~ X1 + X2 + X3 + X4 + X6 + X8, data = jabar_merged,
## listw = lw, type = "mixed")
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.0733636 -0.0198041 0.0018145 0.0198127 0.0579588
##
## Type: mixed
## Coefficients: (asymptotic standard errors)
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 0.75021268 0.96721771 0.7756 0.4379616
## X1 0.77048285 0.08304699 9.2777 < 2.2e-16
## X2 -0.27479593 0.18797323 -1.4619 0.1437717
## X3 0.00026568 0.00399576 0.0665 0.9469864
## X4 -0.00294952 0.00191521 -1.5401 0.1235477
## X6 -0.00318229 0.00081811 -3.8898 0.0001003
## X8 -0.00391170 0.00124985 -3.1297 0.0017497
## lag.X1 0.89414580 0.28609327 3.1254 0.0017758
## lag.X2 -0.50121605 0.26246829 -1.9096 0.0561815
## lag.X3 0.00913570 0.00902811 1.0119 0.3115778
## lag.X4 -0.00998929 0.00450424 -2.2178 0.0265716
## lag.X6 -0.00403396 0.00164701 -2.4493 0.0143149
## lag.X8 0.00458566 0.00240955 1.9031 0.0570254
##
## Rho: -0.53897, LR test value: 2.4763, p-value: 0.11557
## Asymptotic standard error: 0.2222
## z-value: -2.4256, p-value: 0.015283
## Wald statistic: 5.8835, p-value: 0.015283
##
## Log likelihood: 53.43651 for mixed model
## ML residual variance (sigma squared): 0.00089394, (sigma: 0.029899)
## Number of observations: 26
## Number of parameters estimated: 15
## AIC: -76.873, (AIC for lm: -76.397)
## LM test for residual autocorrelation
## test value: 5.5707, p-value: 0.018263
\[ \begin{aligned} Y &= 0.75021268 + 0.77048285X_{1} - 0.27479593X_{2} + 0.00026568X_{3} - 0.00294952X_{4} - 0.00318229X_{6} - 0.00391170X_{8} \\ &\quad + 0.89414580\,WX_{1} - 0.50121605\,WX_{2} + 0.00913570\,WX_{3} - 0.00998929\,WX_{4} - 0.00403396\,WX_{6} + 0.00458566\,WX_{8} \\ &\quad - 0.53897\,WY + \varepsilon \end{aligned} \]
model_sdem <- errorsarlm(Y ~ X1 + X2 + X3 + X4 + X6 + X8,
data = jabar_merged, listw = lw, etype = "emixed")
summary(model_sdem)
##
## Call:
## errorsarlm(formula = Y ~ X1 + X2 + X3 + X4 + X6 + X8, data = jabar_merged,
## listw = lw, etype = "emixed")
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.0604987 -0.0159021 0.0027591 0.0151546 0.0502020
##
## Type: error
## Coefficients: (asymptotic standard errors)
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 1.02789788 0.84927651 1.2103 0.2261554
## X1 0.75223222 0.08491468 8.8587 < 2.2e-16
## X2 -0.42794842 0.19681821 -2.1743 0.0296801
## X3 0.00139656 0.00384316 0.3634 0.7163139
## X4 -0.00228489 0.00230005 -0.9934 0.3205112
## X6 -0.00351830 0.00099751 -3.5271 0.0004201
## X8 -0.00400519 0.00131547 -3.0447 0.0023293
## lag.X1 0.64883456 0.27711037 2.3414 0.0192100
## lag.X2 -0.04039295 0.34178234 -0.1182 0.9059225
## lag.X3 -0.00344714 0.01160077 -0.2971 0.7663540
## lag.X4 -0.00575040 0.00449829 -1.2784 0.2011251
## lag.X6 -0.00112091 0.00163910 -0.6839 0.4940630
## lag.X8 0.00843057 0.00253991 3.3192 0.0009026
##
## Lambda: -0.90607, LR test value: 5.2737, p-value: 0.02165
## Asymptotic standard error: 0.18057
## z-value: -5.018, p-value: 5.2217e-07
## Wald statistic: 25.18, p-value: 5.2217e-07
##
## Log likelihood: 54.83521 for error model
## ML residual variance (sigma squared): 0.00069376, (sigma: 0.026339)
## Number of observations: 26
## Number of parameters estimated: 15
## AIC: -79.67, (AIC for lm: -76.397)
\[ \begin{aligned} Y &= 1.02789788 + 0.75223222X_{1} - 0.42794842X_{2} + 0.00139656X_{3} - 0.00228489X_{4} - 0.00351830X_{6} - 0.00400519X_{8} \\ &\quad + 0.64883456\,WX_{1} - 0.04039295\,WX_{2} - 0.00344714\,WX_{3} - 0.00575040\,WX_{4} - 0.00112091\,WX_{6} + 0.00843057\,WX_{8} \\ &\quad + u, \\ u &= -0.90607\,Wu + \varepsilon \end{aligned} \]
model_sac <- sacsarlm(Y ~ X1 + X2 + X3 + X4 + X6 + X8,
data = jabar_merged, listw = lw)
summary(model_sac)
##
## Call:sacsarlm(formula = Y ~ X1 + X2 + X3 + X4 + X6 + X8, data = jabar_merged,
## listw = lw)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.0718690 -0.0130335 0.0067567 0.0243090 0.0605431
##
## Type: sac
## Coefficients: (asymptotic standard errors)
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 0.00477903 0.37699333 0.0127 0.989886
## X1 0.75782863 0.08975665 8.4431 < 2.2e-16
## X2 -0.34753541 0.13217535 -2.6294 0.008555
## X3 0.00752196 0.00401278 1.8745 0.060861
## X4 -0.00439314 0.00185496 -2.3683 0.017869
## X6 -0.00308573 0.00051227 -6.0236 1.705e-09
## X8 -0.00128238 0.00097165 -1.3198 0.186905
##
## Rho: 0.31864
## Asymptotic standard error: 0.14743
## z-value: 2.1613, p-value: 0.030673
## Lambda: -1.0449
## Asymptotic standard error: 0.16838
## z-value: -6.2055, p-value: 5.4524e-10
##
## LR test value: 7.1152, p-value: 0.028508
##
## Log likelihood: 46.44306 for sac model
## ML residual variance (sigma squared): 0.0011787, (sigma: 0.034332)
## Number of observations: 26
## Number of parameters estimated: 10
## AIC: -72.886, (AIC for lm: -69.771)
\[ \begin{aligned} Y &= 0.00477903 + 0.75782863X_{1} - 0.34753541X_{2} + 0.00752196X_{3} - 0.00439314X_{4} - 0.00308573X_{6} - 0.00128238X_{8} \\ &\quad + 0.31864\,WY + u, \\ u &= -1.0449\,Wu + \varepsilon \end{aligned} \]
# Bandingkan AIC dan Log-Likelihood antar model spasial
models <- list(
SAR = model_sar,
SEM = model_sem,
SDM = model_sdm,
SDEM = model_sdem,
SAC = model_sac
)
# Gunakan tryCatch agar tidak error kalau ada model yang gagal
get_metric <- function(model, metric) {
tryCatch({
if (metric == "AIC") return(AIC(model))
if (metric == "LogLik") return(as.numeric(logLik(model)))
}, error = function(e) NA)
}
comparison <- data.frame(
Model = names(models),
AIC = sapply(models, get_metric, "AIC"),
LogLik = sapply(models, get_metric, "LogLik")
)
# Urutkan berdasarkan AIC terkecil
comparison <- comparison[order(comparison$AIC), ]
print(comparison, row.names = FALSE)
## Model AIC LogLik
## SDEM -79.67043 54.83521
## SDM -76.87303 53.43651
## SAC -72.88611 46.44306
## SEM -71.30783 44.65391
## SAR -67.93844 42.96922
Hasil perbandingan menunjukkan bahwa model SDEM (Spatial Durbin Error Model) adalah yang terbaik dari lima model spasial yang diuji: SAR, SEM, SDM, SDEM, dan SAC. Ini berdasarkan nilai AIC terkecil sebesar -79.67, yang menunjukkan keseimbangan ideal antara tingkat kesesuaian model dan kompleksitasnya. Nilai AIC yang lebih rendah menunjukkan bahwa SDEM dapat menjelaskan variasi data dengan lebih efisien tanpa menyebabkan overfitting. Oleh karena itu, model SDEM dipilih karena paling mampu menangkap pengaruh spasial melalui komponen error secara langsung dan tidak langsung. Ini menjadikannya representasi yang lebih akurat dari pola ketimpangan gender antar wilayah di Jawa Barat.
library(leaflet)
library(RColorBrewer)
# --- Pastikan variabel prediksi sudah ada ---
jabar_merged$Y_pred <- fitted.values(model_sdem)
## This method assumes the response is known - see manual page
# --- Palet warna prediksi (gradasi hijau) ---
pal_pred <- colorNumeric(
palette = "YlGn",
domain = jabar_merged$Y_pred
)
# --- Peta interaktif Prediksi IKG ---
leaflet(jabar_merged) %>%
addProviderTiles(providers$CartoDB.Positron) %>% # background terang
addPolygons(
fillColor = ~pal_pred(Y_pred),
color = "black",
weight = 1,
opacity = 1,
fillOpacity = 0.8,
label = ~paste0("<strong>", NAME_2, "</strong><br>",
"Prediksi IKG (SDEM): ", round(Y_pred, 3)),
highlightOptions = highlightOptions(weight = 2, color = "white", bringToFront = TRUE)
) %>%
addLegend(pal = pal_pred, values = ~Y_pred,
title = "Prediksi IKG (Model SDEM)",
position = "bottomright") %>%
addControl("🌍 Peta Prediksi Indeks Ketimpangan Gender (IKG) - Model SDEM",
position = "topright")
Peta prediksi Indeks Ketimpangan Gender (IKG) yang diperoleh dari hasil model SDEM menunjukkan variasi spasial yang cukup signifikan di Jawa Barat. Wilayah yang sangat hijau menunjukkan nilai IKG prediksi yang tinggi, yang menunjukkan perbedaan gender yang signifikan. Daerah selatan yang lebih pedesaan cenderung memiliki nilai prediksi yang lebih rendah dibandingkan dengan daerah perkotaan seperti Bandung, Bekasi, dan Bogor. Namun, hijau muda menunjukkan ketidaksamaan. Pola ini menunjukkan bahwa faktor sosial-ekonomi dan tingkat pembangunan sangat berpengaruh dalam menentukan tingkat ketimpangan gender antar daerah. Model SDEM lebih akurat dalam menggambarkan distribusi ketimpangan spasial daripada model non-spasial.
# --- Pastikan residual sudah ada ---
jabar_merged$residuals <- residuals(model_sdem)
# --- Palet warna residual (diverging merah-biru) ---
pal_resid <- colorNumeric(
palette = rev(brewer.pal(11, "RdBu")), # biru = underestimate, merah = overestimate
domain = jabar_merged$residuals
)
# --- Peta interaktif Residual Model SDEM ---
leaflet(jabar_merged) %>%
addProviderTiles(providers$CartoDB.Positron) %>% # background terang
addPolygons(
fillColor = ~pal_resid(residuals),
color = "black",
weight = 1,
opacity = 1,
fillOpacity = 0.8,
label = ~paste0("<strong>", NAME_2, "</strong><br>",
"Residual: ", round(residuals, 4)),
highlightOptions = highlightOptions(weight = 2, color = "white", bringToFront = TRUE)
) %>%
addLegend(pal = pal_resid, values = ~residuals,
title = "Residual Model SDEM",
position = "bottomright") %>%
addControl("📈 Peta Residual Model SDEM",
position = "topright")
Peta residual menunjukkan perbedaan antara nilai aktual dan prediksi model SDEM. Nilai biru menunjukkan nilai aktual yang lebih tinggi, atau underestimate, dan warna merah menunjukkan nilai prediksi yang lebih tinggi, atau overestimate. Sebaran residu yang acak menunjukkan bahwa model telah cukup menangkap efek spasial. Menampilkan klaster warna yang serupa menunjukkan bahwa pengaruh spasial yang belum dijelaskan masih ada. Secara keseluruhan, peta ini menunjukkan bahwa model SDEM berfungsi dengan baik untuk menggambarkan pola spasial ketimpangan gender di Jawa Barat, dengan hasil estimasi yang stabil dengan sedikit deviasi.
Berdasarkan hasil analisis spasial terhadap Indeks Ketimpangan Gender (IKG) di Provinsi Jawa Barat tahun 2024, dapat disimpulkan bahwa secara umum tingkat ketimpangan gender antar kabupaten/kota menunjukkan variasi yang cukup nyata, namun tidak terdapat autokorelasi spasial global yang signifikan. Hal ini terlihat dari hasil uji Moran’s I (0.1033; p-value 0.1605) dan Geary’s C (0.879; p-value 0.2201) yang keduanya tidak signifikan, sehingga dapat disimpulkan bahwa pola sebaran IKG cenderung acak dan tidak menunjukkan pengelompokan spasial yang kuat. Dengan kata lain, daerah dengan nilai IKG tinggi atau rendah tidak secara konsisten berdekatan dengan wilayah yang memiliki karakteristik serupa. Namun demikian, hasil analisis LISA menunjukkan adanya beberapa wilayah dengan pola lokal yang berbeda, seperti klaster High-High (wilayah dengan ketimpangan tinggi yang berdekatan dengan wilayah tinggi lainnya), yang perlu menjadi perhatian khusus bagi pembuat kebijakan daerah.
Berdasarkan temuan tersebut, disarankan agar pemerintah daerah fokus pada peningkatan akses pendidikan dan lapangan kerja bagi perempuan sebagai upaya strategis untuk mengurangi ketimpangan gender. Selain itu, perlu ditingkatkan pula kesadaran masyarakat terhadap pentingnya pelayanan kesehatan reproduksi di fasilitas yang memadai guna menekan angka kelahiran tidak aman dan memperbaiki dimensi kesehatan gender. Pemerintah juga sebaiknya melakukan intervensi berbasis wilayah (spatial targeting) pada daerah yang teridentifikasi memiliki nilai IKG tinggi agar kebijakan menjadi lebih efektif dan efisien. Untuk penelitian selanjutnya, disarankan untuk menggunakan data panel antar tahun atau pendekatan model spasial lokal seperti Geographically Weighted Regression (GWR) agar variasi spasial antar daerah dapat dianalisis lebih mendalam dan spesifik.