Spatial Autocorrelation atau Autokorelasi Spasial adalah suatu ukuran kemiripan nilai suatu variabel pada lokasi-lokasi yang saling berdekatan di ruang geografis. Konsep ini menunjukkan bahwa lokasi-lokasi yang berdekatan cenderung memiliki nilai variabel yang lebih mirip, seperti suhu udara yang mirip di area kota yang berdekatan. Pengukuran autokorelasi spasial umumnya menggunakan metode analisis seperti Indeks Moran untuk mengidentifikasi pola apakah nilai-nilai yang berdekatan itu serupa (autokorelasi positif), berlawanan (autokorelasi negatif), atau acak.
Elsevier (Spatial Autocorrelation, Hugyens Brochure) menyatakan :
“Positive Spatial Autocorrelation: high values tend to be geographic neighbors of high values and low values tend to be geographic neighbors of low values. Negative Spatial Autocorrelation: high values tend to be geographic neighbors of low values.”
(Elsevier, Spatial Autocorrelation, hlm. 2)
Autokorelasi Spasial Positif : Nilai tinggi cenderung bersebelahan dengan nilai tinggi, dan nilai rendah bersebelahan dengan nilai rendah → terbentuk kelompok. (High–High, Low-Low)
Lengkapnya, Autokorelasi spasial positif adalah pola di mana kotak-kotak yang berdampingan cenderung memiliki nilai yang sama atau sangat dekat. Misalnya, jika satu kotak punya angka penyakit yang tinggi, maka kotak di sekitarnya pun seringkali tinggi juga. Atau kalau satu kotak rendah, tetangganya juga cenderung rendah. Jadi ada “kelompok” nilai tinggi bersama, dan kelompok nilai rendah bersama. Intinya “yang tinggi bercampur dengan yang tinggi”, “yang rendah bercampur dengan yang rendah” dan hal ini terjadi secara spasial (di tempat yang berdekatan).
Autokorelasi Spasial Negatif : Nilai tinggi justru bersebelahan dengan nilai rendah → pola bergantian. (High–Low, Low–High).
Lengkapnya, Autokorelasi spasial negatif adalah sebaliknya yaitu kotak-kotak yang berdampingan cenderung berbeda nilainya. Jadi jika satu kotak memiliki nilai tinggi, tetangganya malah rendah, atau sebaliknya. Ini akan membentuk pola seperti papan catur : tinggi–rendah–tinggi–rendah bergantian. Intinya “yang tinggi dekat dengan yang rendah” lebih dominan daripada “yang tinggi dekat tinggi”.
Autokorelasi Spasial Positif
Penyakit menular (epidemiologi)
Studi wabah COVID-19 di Wuhan, China menunjukkan klaster spasial signifikan, area dengan jumlah kasus tinggi cenderung dikelilingi area lain yang juga tinggi.
Kutipan (Wang et al., Spatial Statistics, 2020, Scopus-indexed) :
“High–high clusters of confirmed COVID-19 cases were found in Wuhan and surrounding cities, indicating positive spatial autocorrelation of the epidemic.”
Artinya, kasus tinggi tidak muncul acak, tapi membentuk kumpulan spasial.
Harga properti (ekonomi perkotaan)
Di banyak kota besar (misalnya New York atau Jakarta), daerah dengan harga rumah tinggi biasanya berdekatan dengan daerah lain yang juga tinggi (kawasan elite). Sebaliknya, kawasan dengan harga rendah (permukiman kumuh) sering bersebelahan dengan kawasan serupa. Ini contoh jelas autokorelasi positif karena nilai mirip mengelompok di ruang.
Autokorelasi Spasial Negatif
Penggunaan lahan perkotaan (urban land use)
Di beberapa kota Eropa, zona industri sering berdampingan dengan zona residensial. Nilai polusi tinggi di area industri bersebelahan dengan nilai polusi rendah di area permukiman hijau. Ini membentuk pola “checkerboard”: tinggi (polusi) dekat dengan rendah (permukiman).
Biodiversitas (ekologi)
Studi ekologi menunjukkan kompetisi spesies tumbuhan di hutan tropis → spesies dominan tinggi kepadatannya sering berdekatan dengan area di mana kepadatan spesies pesaing justru rendah.
Kutipan (Condit et al., Science, 2000) :
“Negative spatial autocorrelation was observed in some species pairs, suggesting spatial segregation due to interspecific competition.”
Artinya, spesies tertentu cenderung menghindari menempati lokasi yang sama → nilai tinggi satu spesies berdekatan dengan nilai rendah spesies lain.
\[ I = \frac{N}{S_0} \cdot \frac{\sum_i \sum_j w_{ij}(x_i - \bar{x})(x_j - \bar{x})}{\sum_i (x_i - \bar{x})^2} \]
Keterangan :
- \(N\) : jumlah unit spasial
(misalnya jumlah kecamatan).
- \(x_i\) : nilai variabel pada lokasi
\(i\).
- \(\bar{x}\) : rata-rata seluruh
nilai.
- \(w_{ij}\) : elemen matriks bobot
spasial (\(=1\) jika i dan j
bertetangga, 0 jika tidak).
- \(S_0 = \sum_i \sum_j w_{ij}\) :
jumlah total bobot spasial.
\[ C = \frac{(N-1)\sum_i \sum_j w_{ij}(x_i - x_j)^2}{2S_0 \sum_i (x_i - \bar{x})^2} \]
Keterangan :
- \(N, w_{ij}, S_0, x_i, \bar{x}\) :
sama seperti pada Moran’s I.
- \((x_i - x_j)^2\) : kuadrat perbedaan
nilai antar tetangga.
Interpretasi :
- \(C < 1\) : autokorelasi
positif.
- \(C > 1\) : autokorelasi
negatif.
- \(C \approx 1\) : pola acak.
\[ I_i = \frac{(x_i - \bar{x})}{m_2} \sum_j w_{ij}(x_j - \bar{x}), \quad m_2 = \frac{1}{N}\sum_k (x_k - \bar{x})^2 \]
Keterangan :
- \(I_i\) : nilai autokorelasi lokal
di unit \(i\).
- \(m_2\) : variansi rata-rata
data.
Interpretasi :
- \(I_i > 0\) signifikan → unit
\(i\) mirip dengan tetangganya
(High–High atau Low–Low).
- \(I_i < 0\) signifikan → unit
\(i\) berbeda dari tetangganya
(High–Low atau Low–High).
\[ G_i = \frac{\sum_{j=1}^{n} w_{ij}(d) x_j}{\sum_{j=1}^{n} x_j} \]
\[ G_i^* = \frac{\sum_{j=1}^{n} w_{ij}(d) x_j}{\sum_{j=1}^{n} x_j}, \quad \text{dengan } w_{ii} \neq 0 \]
Perbedaan utama adalah apakah lokasi \(i\) sendiri dimasukkan dalam perhitungan
:
- Pada \(G_i\), \(w_{ii} = 0\), sehingga hanya tetangga yang
diperhitungkan.
- Pada \(G_i^*\), \(w_{ii} \neq 0\), sehingga nilai di lokasi
\(i\) ikut dihitung bersama
tetangganya.
Nilai \(G_i\) atau \(G_i^*\) kemudian dinormalisasi menjadi z-score untuk menentukan signifikansi hotspot (nilai tinggi terkonsentrasi) atau coldspot (nilai rendah terkonsentrasi).
Keterangan :
- \(x_j\) : nilai variabel pada
lokasi \(j\).
- \(w_{ij}(d)\) : bobot spasial
berbasis jarak \(d\) (misal, tetangga
dalam radius tertentu).
- \(G_i^*\) : perbandingan konsentrasi
nilai di sekitar \(i\) terhadap total
keseluruhan.
Interpretasi :
- Z-score \(G_i^*\) signifikan positif
→ hotspot (nilai tinggi berkumpul).
- Z-score \(G_i^*\) signifikan negatif
→ coldspot (nilai rendah berkumpul).
Ukuran | Rumus Ringkas | Fokus utama | Interpretasi kunci |
---|---|---|---|
Moran’s I | Kovarians global berbobot | Hubungan keseluruhan | Positif: cluster serupa, Negatif: checkerboard |
Geary’s C | Kuadrat perbedaan antar tetangga | Kontras lokal | C < 1 positif, C > 1 negatif |
Local Moran’s I | Kovarians per unit | Identifikasi cluster/outlier lokal | HH, LL, HL, LH |
Getis–Ord \(G_i^*\) | Rasio konsentrasi lokal | Hotspot & coldspot | Z > 0 hotspot, Z < 0 coldspot |
Ukuran Global
Ukuran global dalam autokorelasi spasial, seperti Moran’s I dan
Geary’s C, memberikan satu nilai ringkasan yang mewakili
kecenderungan spasial pada keseluruhan wilayah. Indeks ini menjawab
pertanyaan umum apakah data cenderung terdistribusi secara
clustered, acak, atau berpola menyebar (dispersed). Misalnya,
nilai Moran’s I yang positif signifikan menunjukkan bahwa unit dengan
nilai serupa (tinggi dengan tinggi, rendah dengan rendah) cenderung
berdekatan, sedangkan nilai negatif mengindikasikan pola papan catur
(Cliff & Ord, 1981). Kelebihan ukuran global adalah kesederhanaannya
dalam mendeteksi tren umum, namun kelemahannya adalah ketidakmampuannya
untuk mengidentifikasi lokasi spesifik di mana klaster atau outlier
terjadi. Dengan kata lain, ukuran global hanya menangkap pola rata-rata,
sehingga bisa menutupi heterogenitas antarwilayah (Anselin,
1995).
Ukuran Lokal
Sebaliknya, ukuran lokal seperti Local Moran’s I (LISA) dan
Getis–Ord \(G_i^*\) menghitung
autokorelasi pada tingkat unit individu, sehingga dapat mengungkapkan
lokasi spesifik di mana terdapat klaster (High–High,
Low–Low) atau outlier (High–Low, Low–High).
Analisis ini memungkinkan identifikasi pola spasial heterogen yang tidak
terlihat dengan ukuran global, misalnya mendeteksi hotspot atau
coldspot penyakit dalam suatu kota. Kelebihan pendekatan lokal
adalah kemampuannya memberikan detail spasial, yang sangat penting untuk
kebijakan berbasis wilayah. Sebagai contoh, Raza et al. (2020)
menemukan bahwa meskipun prevalensi diare di Mozambik secara global
terklaster, hanya provinsi tertentu seperti Tete dan Zambezia yang
teridentifikasi sebagai klaster High–High melalui analisis
lokal. Hal ini menunjukkan bahwa ukuran lokal melengkapi ukuran global
dengan menyoroti di mana pola signifikan terjadi di
ruang.
library(sf)
## Warning: package 'sf' was built under R version 4.5.1
## Linking to GEOS 3.13.1, GDAL 3.11.0, PROJ 9.6.0; sf_use_s2() is TRUE
library(spdep)
## Warning: package 'spdep' was built under R version 4.5.1
## Loading required package: spData
## Warning: package 'spData' was built under R version 4.5.1
## To access larger datasets in this package, install the spDataLarge
## package with: `install.packages('spDataLarge',
## repos='https://nowosad.github.io/drat/', type='source')`
library(tmap)
## Warning: package 'tmap' was built under R version 4.5.1
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.5.1
##
## 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(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.5.1
library(viridis)
## Warning: package 'viridis' was built under R version 4.5.1
## Loading required package: viridisLite
## Warning: package 'viridisLite' was built under R version 4.5.1
Sumber data DBD per kecamatan :
Nuhgroho, Jesa & Eryando, Tris & Makful, Martya & Yudhistira, Deny. (2023). PEMETAAN DAERAH RAWAN PENYAKIT DEMAM BERDARAH DENGUE (DBD) DI KOTA BANDUNG MENGGUNAKAN APLIKASI QGIS. Jurnal Indonesia : Manajemen Informatika dan Komunikasi. 4. 729-741. 10.35870/jimik.v4i2.272.
# Data jumlah kasus DBD per kecamatan (sumber: Profil Kesehatan Kota Bandung 2021)
dbd_data <- data.frame(
Kecamatan = c("Andir","Antapani","Arcamanik","Astana Anyar","Babakan Ciparay",
"Bandung Kidul","Bandung Kulon","Bandung Wetan","Batununggal","Bojongloa Kaler",
"Bojongloa Kidul","Buahbatu","Cibeunying Kaler","Cibeunying Kidul","Cibiru",
"Cicendo","Cidadap","Cinambo","Coblong","Gedebage","Kiaracondong","Lengkong",
"Mandalajati","Panyileukan","Rancasari","Regol","Sukajadi","Sukasari",
"Sumur Bandung","Ujung Berung"),
JumlahKasus = c(123,239,131,75,131,
110,113,46,119,164,
114,185,121,140,94,
114,74,35,173,85,
202,134,109,58,187,
99,215,134,54,165)
)
head(dbd_data)
## Kecamatan JumlahKasus
## 1 Andir 123
## 2 Antapani 239
## 3 Arcamanik 131
## 4 Astana Anyar 75
## 5 Babakan Ciparay 131
## 6 Bandung Kidul 110
ggplot(bandung_data) +
geom_sf(aes(fill = JumlahKasus), color = "white") +
scale_fill_viridis_c(option = "plasma") +
theme_minimal() +
labs(title = "Peta Kasus DBD Kota Bandung (2021)", fill = "Jumlah Kasus")
Interpretasi Visual
Peta choropleth kasus DBD Kota Bandung tahun 2021 menunjukkan adanya variasi spasial jumlah kasus antar kecamatan. Kecamatan dengan intensitas kasus tinggi ditampilkan dalam warna kuning hingga oranye terang, sedangkan kecamatan dengan kasus lebih rendah terlihat dalam gradasi ungu gelap. Dari visualisasi ini, terlihat bahwa kasus DBD tidak merata, melainkan terkonsentrasi di beberapa kecamatan tertentu, misalnya di bagian timur dan sebagian wilayah tengah kota yang tampak memiliki jumlah kasus lebih tinggi dibandingkan daerah lainnya. Hal ini mengindikasikan potensi adanya cluster atau pengelompokan spasial, yang perlu dianalisis lebih lanjut menggunakan ukuran autokorelasi spasial seperti Moran’s I dan LISA untuk memastikan apakah pola tersebut signifikan secara statistik (Jaya, 2020; Anselin, 1995).
plot(bandung_data["JumlahKasus"],
main = "Peta Kasus DBD Kota Bandung (2021)",
pal = viridis::viridis)
library(tmap)
tmap_mode("view") # statis "plot" atau interaktif "view"
## ℹ tmap modes "plot" - "view"
## ℹ toggle with `tmap::ttm()`
tm_shape(bandung_data) +
tm_polygons(
col = "JumlahKasus",
fill.scale = tm_scale(values = "Reds"),
border.col = "gray40"
) +
tm_title("Peta Kasus DBD Kota Bandung (2021)")
##
## ── tmap v3 code detected ───────────────────────────────────────────────────────
## [v3->v4] `tm_polygons()`: use 'fill' for the fill color of polygons/symbols
## (instead of 'col'), and 'col' for the outlines (instead of 'border.col').
INTERPRETASI VISUAL
Peta menunjukkan distribusi kasus DBD di tingkat kecamatan di Kota Bandung. Terlihat adanya variasi intensitas kasus antar wilayah, dengan beberapa kecamatan memiliki jumlah kasus sangat tinggi (di atas 200 kasus, misalnya Kiaracondong, Sukajadi, dan Ujung Berung) yang ditunjukkan dengan warna lebih terang/kuning hingga merah. Sebaliknya, kecamatan seperti Cinambo dan Cidadap cenderung memiliki kasus rendah (di bawah 50–75 kasus) dengan warna gelap. Pola ini mengindikasikan bahwa penyebaran DBD tidak merata, melainkan terkonsentrasi pada kecamatan tertentu.
Visualisasi ini memberikan gambaran awal bahwa terdapat indikasi pola spasial (clustering), di mana kecamatan dengan jumlah kasus tinggi cenderung berdekatan. Hal ini selaras dengan teori dalam analisis spasial yang menyatakan bahwa distribusi penyakit menular sering kali dipengaruhi oleh faktor lingkungan, kepadatan penduduk, sanitasi, dan mobilitas masyarakat (Anselin, 1995; Lawson, 2013). Namun, peta ini juga masih bersifat deskriptif, sehingga perlu dilanjutkan dengan uji statistik autokorelasi spasial (Moran’s I, Geary’s C, LISA, dan Getis–Ord \(G_i^*\)) untuk memastikan apakah pola tersebut signifikan secara spasial.
library(spdep)
# Buat neighbors dan spatial weights
# nb: daftar tetangga, lw: bobot spasial
nb <- poly2nb(bandung_data, queen = TRUE)
lw <- nb2listw(nb, style = "W", zero.policy = TRUE)
moran_res <- moran.test(bandung_data$JumlahKasus, lw, randomisation = TRUE, zero.policy = TRUE)
moran_res
##
## Moran I test under randomisation
##
## data: bandung_data$JumlahKasus
## weights: lw
##
## Moran I statistic standard deviate = 1.3558, p-value = 0.08758
## alternative hypothesis: greater
## sample estimates:
## Moran I statistic Expectation Variance
## 0.12025930 -0.03448276 0.01302589
1) Nilai Moran’s I
Nilai Moran’s I diperoleh sebesar :
I = 0.1203
Nilai ini bersifat positif, yang berarti terdapat indikasi adanya pengelompokan (clustering) kasus DBD. Artinya, kecamatan dengan jumlah kasus tinggi cenderung berdekatan dengan kecamatan lain yang juga memiliki jumlah kasus tinggi, begitu pula untuk kecamatan dengan jumlah kasus rendah.
2) Signifikansi secara statistik (uji permutasi)
Hasil uji memberikan nilai :
p-value = 0.0876
Pada taraf signifikansi α = 0.05, hasil ini tidak signifikan, sehingga gagal menolak hipotesis nol (H0) yang menyatakan tidak ada autokorelasi spasial. Namun, jika menggunakan α = 0.10, hasil ini dapat dikatakan marginally significant, artinya ada indikasi awal pola spasial meskipun kekuatannya tidak terlalu kuat.
3) Arti bagi pola spasial penyakit
Interpretasi dari nilai ini adalah bahwa distribusi kasus
DBD di Kota Bandung cenderung membentuk cluster,
meskipun kekuatan autokorelasi spasial masih relatif lemah secara
statistik. Hal ini menunjukkan bahwa persebaran kasus belum sepenuhnya
acak, namun bukti untuk menyatakan adanya autokorelasi spasial
signifikan masih terbatas.
Oleh karena itu, analisis lanjutan dengan ukuran lokal diperlukan untuk mendeteksi lokasi spesifik hotspot (klaster kasus tinggi) dan coldspot (klaster kasus rendah) yang lebih bermanfaat untuk intervensi kesehatan masyarakat.
geary_res <- geary.test(bandung_data$JumlahKasus, lw, randomisation = TRUE, zero.policy = TRUE)
geary_res
##
## Geary C test under randomisation
##
## data: bandung_data$JumlahKasus
## weights: lw
##
## Geary C statistic standard deviate = 1.1732, p-value = 0.1204
## alternative hypothesis: Expectation greater than statistic
## sample estimates:
## Geary C statistic Expectation Variance
## 0.86186804 1.00000000 0.01386343
1) Perbandingan dengan Moran’s I
Nilai Moran’s I yang diperoleh sebelumnya adalah I = 0.1203 dengan p = 0.0876, sedangkan Geary’s C untuk variabel yang sama adalah C = 0.8619 dengan p = 0.1204. Secara numerik kedua indeks menunjukkan arah yang sama: Moran positif (I > 0) dan Geary kurang dari 1 (C < 1) sama-sama mengindikasikan kecenderungan autokorelasi spasial positif (yaitu tetangga cenderung memiliki nilai mirip). Namun secara signifikansi statistik keduanya tidak signifikan pada tingkat α = 0.05, sehingga bukti untuk menyatakan adanya autokorelasi spasial global yang kuat belum cukup.
2) Perbedaan sensitivitas kedua ukuran
Secara teoretis Moran’s I dan Geary’s C mengukur aspek yang berbeda dari keterkaitan spasial meskipun keduanya bersifat global: Moran’s I pada dasarnya mengukur kovarians antar lokasi (analogi spasial dari korelasi Pearson), sehingga lebih peka terhadap pola pengelompokan yang halus/bertahap dan terhadap covariansi secara keseluruhan; sedangkan Geary’s C didasarkan pada kuadrat perbedaan antar tetangga :
\[ ((x_i - x_j)^2) \]
dan lebih menekankan kontras lokal atau perbedaan antar tetangga. Oleh karena itu, Geary cenderung lebih sensitif dalam mendeteksi heterogenitas skala kecil (outlier lokal atau perbedaan tajam di antara tetangga), sedangkan Moran lebih sensitif untuk mendeteksi pola clustering global yang “mulus”. Jika sebuah fenomena menunjukkan klaster halus tersebar luas, Moran dapat menjadi lebih kuat; jika fenomena memiliki banyak perbedaan lokal tajam (checkerboard atau outlier), Geary dapat bereaksi lebih kuat (Geary C < 1 menunjukkan autokorelasi positif).
local_res <- localmoran(bandung_data$JumlahKasus, lw, zero.policy = TRUE)
# Simpan hasil
bandung_data$lisa_I <- local_res[,1]
bandung_data$lisa_p <- local_res[,5]
# Hitung rata-rata kasus
mean_rate <- mean(bandung_data$JumlahKasus)
# Kategorisasi cluster
bandung_data$quad_sig <- NA
for (i in 1:nrow(bandung_data)) {
if (bandung_data$lisa_p[i] <= 0.05) {
if (bandung_data$JumlahKasus[i] > mean_rate & lag.listw(lw, bandung_data$JumlahKasus, zero.policy=TRUE)[i] > mean_rate)
bandung_data$quad_sig[i] <- "High-High"
else if (bandung_data$JumlahKasus[i] < mean_rate & lag.listw(lw, bandung_data$JumlahKasus, zero.policy=TRUE)[i] < mean_rate)
bandung_data$quad_sig[i] <- "Low-Low"
else if (bandung_data$JumlahKasus[i] > mean_rate & lag.listw(lw, bandung_data$JumlahKasus, zero.policy=TRUE)[i] < mean_rate)
bandung_data$quad_sig[i] <- "High-Low"
else if (bandung_data$JumlahKasus[i] < mean_rate & lag.listw(lw, bandung_data$JumlahKasus, zero.policy=TRUE)[i] > mean_rate)
bandung_data$quad_sig[i] <- "Low-High"
} else {
bandung_data$quad_sig[i] <- "Not Sig"
}
}
# Visualisasi peta LISA
ggplot(bandung_data) +
geom_sf(aes(fill = quad_sig), color="white", size=0.2) +
scale_fill_manual(values=c("High-High"="red","Low-Low"="blue",
"High-Low"="orange","Low-High"="lightblue",
"Not Sig"="grey80")) +
labs(title="Peta Cluster LISA (Local Moran’s I)") +
theme_minimal()
# Buat vektor nama untuk tiap kategori (jika kolom quad_sig ada)
hh <- bandung_data$WADMKC[bandung_data$quad_sig == "High-High"]
ll <- bandung_data$WADMKC[bandung_data$quad_sig == "Low-Low"]
hl <- bandung_data$WADMKC[bandung_data$quad_sig == "High-Low"]
lh <- bandung_data$WADMKC[bandung_data$quad_sig == "Low-High"]
# Tampilkan ringkasan jumlah tiap kategori dan nama kecamatan yang termasuk
cat("Ringkasan jumlah kategori LISA:\n")
## Ringkasan jumlah kategori LISA:
print(table(bandung_data$quad_sig))
##
## High-High Low-High Not Sig
## 1 1 28
cat("\nNama kecamatan per kategori (jika ada):\n")
##
## Nama kecamatan per kategori (jika ada):
cat("\nHigh-High (Hotspot):\n")
##
## High-High (Hotspot):
if(length(hh)>0) print(hh) else cat("Tidak ada kecamatan High-High yang signifikan.\n")
## [1] "Buahbatu"
cat("\nLow-Low (Coldspot):\n")
##
## Low-Low (Coldspot):
if(length(ll)>0) print(ll) else cat("Tidak ada kecamatan Low-Low yang signifikan.\n")
## Tidak ada kecamatan Low-Low yang signifikan.
cat("\nHigh-Low (Outlier - High surrounded by Low):\n")
##
## High-Low (Outlier - High surrounded by Low):
if(length(hl)>0) print(hl) else cat("Tidak ada kecamatan High-Low yang signifikan.\n")
## Tidak ada kecamatan High-Low yang signifikan.
cat("\nLow-High (Outlier - Low surrounded by High):\n")
##
## Low-High (Outlier - Low surrounded by High):
if(length(lh)>0) print(lh) else cat("Tidak ada kecamatan Low-High yang signifikan.\n")
## [1] "Mandalajati"
1) Identifikasi kecamatan yang masuk kategori High-High, Low-Low, High-Low, dan Low-High
Berdasarkan hasil analisis Local Moran’s I :
High–High (Hotspot) : Kecamatan
Buahbatu
Low–Low (Coldspot) : Tidak ada kecamatan yang masuk
kategori ini
High–Low (Outlier – High dikelilingi Low) : Tidak ada
kecamatan yang masuk kategori ini
Low–High (Outlier – Low dikelilingi High) : Kecamatan
Mandalajati
2) Interpretasi hasil ini untuk kasus penyakit menular
Kecamatan Buahbatu (High–High).
Kecamatan ini teridentifikasi sebagai hotspot kasus DBD,
artinya jumlah kasus di wilayah ini tinggi dan wilayah tetangganya juga
menunjukkan kasus tinggi. Kondisi ini mengindikasikan adanya
klaster spasial signifikan. Secara epidemiologis,
Buahbatu harus menjadi prioritas utama intervensi
karena potensi penyebaran lebih lanjut cukup besar. Intervensi yang
disarankan mencakup pengendalian vektor (fogging, pemberantasan sarang
nyamuk), sosialisasi intensif kepada masyarakat, serta surveilans
aktif.
Kecamatan Mandalajati (Low–High).
Wilayah ini masuk kategori outlier, yaitu kecamatan dengan
kasus relatif rendah tetapi dikelilingi oleh tetangga dengan kasus
tinggi. Situasi ini menunjukkan adanya risiko penyebaran ke
Mandalajati karena berada di sekitar area yang terdampak. Oleh
karena itu, wilayah ini harus dipantau dengan ketat dan dipersiapkan
dengan langkah pencegahan dini agar tidak berubah menjadi hotspot
baru.
Tidak adanya kategori Low–Low maupun High–Low
signifikan.
Hal ini menunjukkan bahwa tidak ditemukan klaster
coldspot (wilayah rendah yang stabil) maupun outlier berkasus
tinggi di tengah wilayah rendah. Dengan kata lain, pola spasial kasus
DBD di Bandung pada 2021 lebih didominasi oleh satu klaster
hotspot (Buahbatu) dan satu potensi risiko spillover
(Mandalajati).
gstar <- localG(bandung_data$JumlahKasus, lw, zero.policy = TRUE)
bandung_data$zGstar <- as.numeric(gstar)
# Visualisasi peta Hotspot
ggplot(bandung_data) +
geom_sf(aes(fill = zGstar), color="white", size=0.2) +
scale_fill_gradient2(low="blue", mid="white", high="red", midpoint=0,
name="Gi* Z-score") +
labs(title="Peta Hotspot Getis–Ord Gi*") +
theme_minimal()
1) Kecamatan yang termasuk hot spot dan cold spot
Hasil perhitungan Getis–Ord \(G_i^*\) menghasilkan nilai \(Z\)-score untuk tiap kecamatan :
Hotspot (Z > 1.96, signifikan pada α = 0.05)
:
Kecamatan Buahbatu, Kiaracondong,
serta beberapa wilayah di bagian utara-tengah (misalnya Cicadas). Warna
merah pada peta menunjukkan wilayah dengan konsentrasi kasus tinggi yang
signifikan secara spasial.
Coldspot (Z < -1.96, signifikan pada α = 0.05)
:
Beberapa kecamatan di bagian barat dan selatan Kota Bandung tampak
berwarna biru, menunjukkan konsentrasi kasus rendah yang berkelompok
secara signifikan.
2) Perbandingan hasil dengan peta LISA
3) Perbedaan wilayah yang ditandai sebagai klaster signifikan
LISA (Local Moran’s I) :
Getis–Ord \(G_i^*\) :
LISA lebih menekankan pada hubungan nilai suatu kecamatan dengan tetangganya sehingga sangat berguna untuk mendeteksi outlier spasial (misalnya kecamatan dengan kasus tinggi tetapi dikelilingi oleh rendah, atau sebaliknya).
Getis–Ord \(G_i^*\) berfokus pada pola akumulasi nilai tinggi atau rendah dalam suatu area, sehingga dapat menandai klaster hotspot maupun coldspot yang lebih luas.
Oleh karena itu, hasil analisis menunjukkan bahwa wilayah signifikan berbeda. Buahbatu konsisten muncul di kedua analisis (sebagai hotspot). Namun, Mandalajati hanya muncul di LISA sebagai outlier, sedangkan Kiaracondong dan beberapa wilayah lain hanya muncul di \(G_i^*\) sebagai hotspot. Coldspot baru terlihat dengan \(G_i^*\).
Dengan demikian, ada perbedaan wilayah yang ditandai sebagai klaster signifikan antara kedua metode. LISA lebih sensitif terhadap outlier lokal dan \(G_i^*\) lebih kuat untuk melihat pola konsentrasi (hotspot–coldspot) secara keseluruhan.
Analisis autokorelasi spasial (global dan lokal) memberikan informasi yang bersifat tindakan (actionable) bagi Dinas Kesehatan. Secara langsung, hasil Local Moran’s I (LISA) dan Getis–Ord \(G_i^*\) yang diperoleh mengidentifikasi lokasi spesifik di mana kasus DBD terkonsentrasi (Buahbatu teridentifikasi sebagai High–High / hotspot; Mandalajati muncul sebagai outlier Low–High; dan Kiaracondong juga muncul pada analisis \(G_i^*\)). Informasi semacam ini memungkinkan pengambilan keputusan berbasis lokasi: sumber daya pengendalian vektor (fogging, larvasida, pemberantasan genangan), program edukasi komunitas, dan surveilans dapat diprioritaskan ke kecamatan yang teridentifikasi sebagai hotspot sehingga intervensi menjadi lebih efisien dan berdampak. Selain itu, peta lokal membantu merancang intervensi yang berskala mikro, misalnya fokus pada RW/kelurahan dengan klaster kasus tinggi serta memonitor efek intervensi dari waktu ke waktu (evaluasi pra-/pasca-intervensi). Analisis spasial juga berguna untuk mengaitkan pola penyakit dengan variabel lingkungan atau sosio-ekonomi (mis. kepadatan penduduk, kualitas sanitasi, ketersediaan fasilitas kesehatan), sehingga intervensi dapat bersifat multisektoral dan lebih bertarget (Anselin, 1995; Getis & Ord, 1992; Bivand et al., 2013).
Selain fungsi penentuan prioritas, hasil autokorelasi membantu perencanaan operasional, misalnya menentukan rute dan titik fogging, penempatan pos surveilans, dan alokasi petugas lapangan. Identifikasi outlier seperti Mandalajati (low surrounded by high) juga penting: wilayah seperti ini perlu pemantauan intensif karena berisiko “terinfeksi” oleh tetangga, artinya tindakan preventif di area buffer atau perbatasan antar kecamatan menjadi relevan. Secara keseluruhan, analisis spasial mengubah data numerik kasus menjadi informasi geografis yang bisa ditindaklanjuti, sehingga kebijakan pencegahan dan mitigasi menjadi lebih efektif dan hemat sumber daya.
a) MAUP (Modifiable Areal Unit Problem)
MAUP terjadi ketika hasil analisis berubah jika unit agregasi (misal
kecamatan vs. kelurahan vs. blok sensus) diubah. Satu pola klaster pada
skala kecamatan bisa lenyap atau berbeda pada skala kelurahan karena
agregasi data menutupi heterogenitas lokal (Openshaw, 1984). Implikasi
praktisnya adalah: keputusan yang dibuat hanya berdasarkan analisis pada
satu tingkat (misalnya kecamatan) berisiko tidak akurat bila
implementasi operasional bekerja pada tingkat yang lebih kecil. Cara
mitigasinya: lakukan analisis sensitivitas pada beberapa tingkat
agregasi (multi-scale), gunakan data yang lebih detil bila memungkinkan
(kelurahan atau RW), dan jika hanya tersedia data agregat, kombinasi
dengan analisis lokal (LISA) serta verifikasi lapangan sebelum
intervensi.
b) Pilihan bobot spasial (rook, queen, k-nearest neighbors,
dll.)
Definisi ‘tetangga’ (bobot spasial \(w_{ij}\)) sangat memengaruhi hasil Moran’s
I, Geary’s C, LISA, dan \(G_i^*\).
Misalnya, aturan queen (berbatasan dengan titik atau sisi)
berbeda hasilnya dibanding rook (hanya sisi), dan pendekatan
k-NN (k tetangga terdekat) menghasilkan struktur bobot yang lain lagi.
Karena epidemiologi penyakit menular dapat dipengaruhi oleh mobilitas
manusia (jarak efektif) bukan semata batas administratif, pemilihan
bobot harus didasari alasan substantif (misalnya jarak nyata antar pusat
aktivitas, infrastruktur transportasi) dan diuji sensitivitasnya.
Rekomendasi langkah analisis yaitu jalankan analisis menggunakan
beberapa definisi bobot (queen, rook, 4-NN, 8-NN, jarak tertentu) dan
laporkan hasil yang konsisten. Jika hasil sensitif terhadap pilihan
bobot, gunakan pendekatan berbasis jarak/mobilitas atau model spasial
yang eksplisit memasukkan jarak (misal model Poisson spasial,
CAR/ICAR).
c) Multiple testing pada analisis lokal (LISA)
Analisis lokal melakukan banyak uji statistik (satu per unit wilayah),
sehingga menimbulkan risiko false positives (penanda signifikan
yang sebenarnya kebetulan) akibat multiple testing. Jika tidak
dikoreksi, beberapa wilayah mungkin salah diidentifikasi sebagai
hotspot. Mitigasinya termasuk penggunaan prosedur koreksi (mis. False
Discovery Rate–FDR, Benjamini–Hochberg), menerapkan threshold p yang
lebih ketat, atau menggunakan pendekatan permutasi yang kuat (Monte
Carlo) untuk menghitung p-value empiris. Selain itu, kombinasi bukti,
misalnya menugaskan prioritas lebih tinggi kepada wilayah yang
signifikan di beberapa metode (LISA dan \(G_i^*\)) dapat mengurangi risiko false
positives.
d) Kualitas Data
Selain aspek metodologis, kualitas data yang digunakan dalam analisis spasial sangat menentukan keandalan hasil. Pertama, data kasus DBD yang bersumber dari laporan tahunan Dinas Kesehatan hanya merepresentasikan kasus yang terlaporkan secara resmi, sehingga kemungkinan terdapat under-reporting (kasus tidak tercatat karena pasien tidak berobat ke fasilitas kesehatan formal). Hal ini dapat menyebabkan estimasi jumlah kasus lebih rendah dari situasi sebenarnya. Kedua, data kasus dikumpulkan pada tingkat agregasi kecamatan. Agregasi ini dapat menutupi variasi spasial yang lebih halus di tingkat kelurahan atau RW, sehingga pola klaster kecil mungkin tidak terdeteksi (relasi erat dengan masalah MAUP). Ketiga, ketidakcocokan penamaan atau ketidaksesuaian antara data tabular dan peta batas administrasi dapat menimbulkan nilai hilang (missing values), seperti yang sempat terjadi pada kecamatan Ujung Berung. Kesalahan semacam ini harus ditangani melalui pembersihan data dan standarisasi penamaan.
Selain itu, penggunaan data absolut kasus tanpa menyesuaikan dengan jumlah penduduk di tiap kecamatan dapat menghasilkan bias interpretasi. Kecamatan berpenduduk besar cenderung menunjukkan jumlah kasus tinggi meskipun risiko relatif tidak selalu lebih besar. Oleh karena itu, analisis sebaiknya dilengkapi dengan perhitungan rate (misalnya kasus per 10.000 penduduk) atau bahkan menggunakan metode Empirical Bayes smoothing untuk menstabilkan variabilitas pada kecamatan dengan populasi kecil.
Hasil analisis spasial yang diperoleh dari data yang belum sepenuhnya bersih dan terstandarisasi harus dipandang sebagai indikasi awal yang memerlukan validasi lebih lanjut, baik melalui survei lapangan maupun triangulasi dengan sumber data tambahan (misalnya data lingkungan, kepadatan penduduk, curah hujan, atau kualitas sanitasi).
Anselin, L. (1995). Local Indicators of Spatial Association—LISA. Geographical Analysis, 27(2), 93–115. https://doi.org/10.1111/j.1538-4632.1995.tb00338.x
Anselin, L. (1996). The Moran Scatterplot as an ESDA Tool to Assess Local Instability in Spatial Association. In Spatial Analytical Perspectives on GIS in Environmental and Socio-Economic Sciences (pp. 111–125). Taylor & Francis.
Bivand, R. S., Pebesma, E., & Gómez-Rubio, V. (2013). Applied Spatial Data Analysis with R (2nd ed.). Springer. https://doi.org/10.1007/978-1-4614-7618-4
Benjamini, Y., & Hochberg, Y. (1995). Controlling the False Discovery Rate: A Practical and Powerful Approach to Multiple Testing. Journal of the Royal Statistical Society: Series B (Methodological), 57(1), 289–300. https://doi.org/10.1111/j.2517-6161.1995.tb02031.x
Clayton, D., & Kaldor, J. (1987). Empirical Bayes Estimates of Age-Standardized Relative Risks for Use in Disease Mapping. Biometrics, 43(3), 671–681. https://doi.org/10.2307/2532003
Getis, A., & Ord, J. K. (1992). The Analysis of Spatial Association by Use of Distance Statistics. Geographical Analysis, 24(3), 189–206. https://doi.org/10.1111/j.1538-4632.1992.tb00261.x
Openshaw, S. (1984). The Modifiable Areal Unit Problem. Concepts and Techniques in Modern Geography, No. 38. Geo Books.
Raza, O., Raza, S., & Kaba, A. J. (2020). Spatial Distribution and Clustering of Diarrhea in Mozambique: A Spatial Analysis Using 2011 Demographic and Health Survey Data. International Journal of Environmental Research and Public Health, 17(12), 4474. https://doi.org/10.3390/ijerph17124474
Tobler, W. R. (1970). A Computer Movie Simulating Urban Growth in the Detroit Region. Economic Geography, 46(sup1), 234–240. https://doi.org/10.2307/143141
Waller, L. A., & Gotway, C. A. (2004). Applied Spatial Statistics for Public Health Data. Wiley.