ANALISIS SPATIAL AUTOCORRELATION (GLOBAL MORAN’S I)

Pendahuluan

Analisis ini bertujuan untuk menguji apakah terdapat autokorelasi spasial pada variabel (misalnya kemiskinan) antar seluruh kabupaten/kota di Sulawesi Selatan menggunakan Global Moran’s I berbasis data spasial (SHP).

Persiapan Data

data <- read.csv("D:/Youtube/Spasial/Moran.csv")
data
##                     wilayah Kemiskinan
## 1                  Bantaeng  11.000000
## 2                     Barru  29.374738
## 3                      Bone  40.959866
## 4                 Bulukumba  21.033022
## 5                  Enrekang  54.854249
## 6                      Gowa  19.634148
## 7                 Jeneponto   8.278893
## 8         Kepulauan Selayar   1.351635
## 9                      Luwu  64.561073
## 10               Luwu Timur  97.000000
## 11               Luwu Utara  89.527740
## 12                 Makassar  12.067227
## 13                    Maros  20.745629
## 14                   Palopo  71.917377
## 15 Pangkajene dan Kepulauan  12.691165
## 16                 Parepare  46.175712
## 17                  Pinrang  48.051138
## 18        Sindereng Rappang  41.482636
## 19                   Sinjai  26.369766
## 20                  Soppeng  34.781655
## 21                  Takalar   2.000000
## 22              Tana Toraja  58.417412
## 23             Toraja Utara  63.035686
## 24                     Wajo  46.799723

Persiapan Peta

library(sf)
## Linking to GEOS 3.13.1, GDAL 3.11.4, PROJ 9.7.0; 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
shp <- st_read("D:/Youtube/Spasial/SHP/sulsel.shp")
## Reading layer `sulsel' from data source `D:\Youtube\Spasial\SHP\sulsel.shp' using driver `ESRI Shapefile'
## Simple feature collection with 24 features and 13 fields
## Geometry type: MULTIPOLYGON
## Dimension:     XY
## Bounding box:  xmin: 117.0385 ymin: -7.758941 xmax: 121.8402 ymax: -1.895236
## Geodetic CRS:  WGS 84
shp$kemiskinan <- data$Kemiskinan
shp$wilayah <- shp$NAME_2

Membuat Matriks Bobot Spasial

library(spdep)
## Loading required package: spData
## To access larger datasets in this package, install the spDataLarge
## package with: `install.packages('spDataLarge',
## repos='https://nowosad.github.io/drat/', type='source')`
nb <- poly2nb(shp, queen = TRUE)
## Warning in poly2nb(shp, queen = TRUE): some observations have no neighbours;
## if this seems unexpected, try increasing the snap argument.
## Warning in poly2nb(shp, queen = TRUE): neighbour object has 2 sub-graphs;
## if this sub-graph count seems unexpected, try increasing the snap argument.
lw <- nb2listw(nb, style = "W", zero.policy = TRUE)

Uji Moran’s I

# Uji Moran
moran_test <- moran.test(shp$kemiskinan, lw)

moran_test
## 
##  Moran I test under randomisation
## 
## data:  shp$kemiskinan  
## weights: lw  
## n reduced by no-neighbour observations  
## 
## Moran I statistic standard deviate = 5.6211, p-value = 9.487e-09
## alternative hypothesis: greater
## sample estimates:
## Moran I statistic       Expectation          Variance 
##        0.75385912       -0.04545455        0.02022041

Hasil uji Moran’s I menunjukkan adanya autokorelasi spasial positif yang sangat signifikan (p < 0.05) , yang berarti wilayah dengan tingkat kemiskinan tinggi cenderung bertetangga dengan wilayah yang juga berstatus miskin (membentuk pola pengelompokan atau clustering).

Moran Scatterplot

mp <- moran.plot(shp$kemiskinan, lw,
                 labels = FALSE,
                 col = "blue", pch = 19,
                 xlab = "Kemiskinan")

text(mp$x, mp$wx,
     labels = shp$wilayah,
     cex = 0.6, pos = 4)

Grafik ini membagi wilayah ke dalam empat kuadran berdasarkan hubungannya dengan tetangga:

  • High-High (Kuadran Kanan Atas): Wilayah dengan kemiskinan tinggi dikelilingi oleh tetangga yang juga memiliki kemiskinan tinggi. Contoh jelas di sini adalah Luwu Utara, Palopo, Toraja Utara, dan Luwu. Ini adalah titik panas (hotspots) kemiskinan.

  • Low-Low (Kuadran Kiri Bawah): Wilayah dengan kemiskinan rendah dikelilingi oleh tetangga dengan kemiskinan rendah pula. Wilayah seperti Makassar, Gowa, Maros, dan Kepulauan Selayar berada di area ini (coldspots).

  • Outliers (Low-High atau High-Low): Titik-titik yang menjauh dari garis diagonal, seperti Bone (berada di kuadran kanan bawah/High-Low, meski mepet) atau wilayah yang berada jauh dari tren utama, menunjukkan anomali di mana kondisi wilayah tersebut berbeda signifikan dengan rata-rata tetangganya.

Plot

library(ggplot2)
ggplot(data = shp) +
  geom_sf(aes(fill = kemiskinan), color = "black", size = 0.2) +
  scale_fill_gradient(low = "#2c7bb6", high = "#d7191c",
                      name = "Kemiskinan (%)") +
  labs(
    title = "Peta Sebaran Kemiskinan",
    subtitle = "Kabupaten/Kota di Sulawesi Selatan",
    caption = "Sumber: Data Simulasi"
  ) +
  theme_minimal()