Ordinary Kriging digunakan untuk menginterpolasi variabel kemiskinan dengan mempertimbangkan struktur autokorelasi spasial melalui variogram. Model variogram yang terbentuk digunakan untuk menghasilkan prediksi nilai pada seluruh wilayah Sulawesi Selatan sehingga diperoleh peta distribusi spasial yang lebih akurat dibandingkan metode deterministik.
library(sf)
## Linking to GEOS 3.13.1, GDAL 3.11.4, PROJ 9.7.0; sf_use_s2() is TRUE
library(sp)
library(gstat)
library(raster)
library(ggplot2)
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
data <- read.csv("D:/Youtube/Spasial/LISA.csv")
data
## wilayah Kemiskinan
## 1 Bantaeng 7.2
## 2 Barru 7.5
## 3 Bone 9.5
## 4 Bulukumba 11.1
## 5 Enrekang 10.5
## 6 Gowa 7.8
## 7 Jeneponto 12.5
## 8 Kepulauan Selayar 10.8
## 9 Luwu 11.0
## 10 Luwu Timur 11.8
## 11 Luwu Utara 12.2
## 12 Makassar 4.5
## 13 Maros 6.9
## 14 Palopo 9.3
## 15 Pangkep 8.2
## 16 Parepare 6.5
## 17 Pinrang 8.3
## 18 Sidrap 7.9
## 19 Sinjai 9.8
## 20 Soppeng 8.7
## 21 Takalar 9.0
## 22 Tana Toraja 12.7
## 23 Toraja Utara 13.0
## 24 Wajo 10.2
shp$kemiskinan <- data$Kemiskinan
shp$wilayah <- shp$NAME_2
shp <- st_transform(shp, 32750)
shp_sp <- as(shp, "Spatial")
vgm_exp <- variogram(kemiskinan ~ 1, data = shp_sp)
Model umum: spherical / exponential / gaussian
model <- vgm(psill = 2, model = "Sph", range = 100000, nugget = 3)
fit <- fit.variogram(vgm_exp, model)
## Warning in fit.variogram(vgm_exp, model): No convergence after 200 iterations:
## try different initial values?
grid <- st_make_grid(shp, cellsize = 2000, what = "centers")
grid <- as(grid, "Spatial")
kriging_res <- krige(kemiskinan ~ 1, shp_sp, grid, model = fit)
## [using ordinary kriging]
ok_df <- as.data.frame(kriging_res)
names(ok_df)[1:2] <- c("x","y")
library(ggplot2)
ggplot(ok_df, aes(x = x, y = y, fill = var1.pred)) +
geom_tile() +
coord_equal() +
scale_fill_viridis_c() +
labs(title = "Peta Ordinary Kriging - Kemiskinan",
fill = "Prediksi")
Zona Kuning (Utara/Timur Laut): Area dengan prediksi nilai kemiskinan tertinggi (\(\approx 11\)). Ini secara konsisten memvalidasi klaster High-High.
Zona Ungu Gelap (Tengah): Terdapat kantong kemiskinan rendah (\(\approx 8.5 - 9\)) yang sangat jelas di bagian tengah. Ini menunjukkan adanya wilayah yang memiliki kondisi ekonomi lebih baik dibandingkan sekitarnya.
Zona Hijau-Biru (Selatan): Menunjukkan nilai kemiskinan tingkat menengah ke rendah, yang konsisten dengan pola Coldspot yang kita lihat sebelumnya di wilayah sekitar Makassar.