Bagian A Konsep Teori

1. Definisi autokorelasi spasial positif dan negatif

  • Autokorelasi spasial positif terjadi ketika unit-unit ruang yang berdekatan atau “tetangga” (spatial neighbors) cenderung memiliki nilai karakteristik (misalnya variabel X) yang serupa (baik sama-sama tinggi atau sama-sama rendah). Dengan kata lain, nilai tinggi “berkumpul” dengan nilai tinggi, dan nilai rendah dengan nilai rendah.

  • Autokorelasi spasial negatif terjadi ketika unit-unit yang berdekatan cenderung memiliki nilai yang berbeda (misalnya tinggi dekat dengan rendah). Jadi nilai tinggi di satu lokasi cenderung dikelilingi oleh nilai rendah, dan sebaliknya.

Dengan autokorelasi spasial positif, pola ruang menunjukkan klaster homogen; dengan autokorelasi negatif, pola ruang menunjukkan semacam “dispersi” atau variasi teratur di antara tetangga.

2. Contoh sederhana fenomena

  • Contoh autokorelasi spasial positif:
    Misalnya dalam data pendapatan per kapita di kota-kota dalam suatu provinsi. Kota-kota yang berdekatan kemungkinan memiliki karakter ekonomi yang mirip (infrastruktur, industri, akses pasar), sehingga kota dengan pendapatan tinggi di satu lokasi sering dikelilingi oleh kota-kota lain dengan pendapatan tinggi, dan yang rendah dikelilingi yang rendah.

  • Contoh autokorelasi spasial negatif:
    Misalnya dalam data kepadatan penduduk di pemukiman: kalau satu blok sangat padat (banyak rumah), tetangganya mungkin memiliki kepadatan relatif rendah (misalnya area taman atau ruang terbuka). Atau dalam pertanian: petak tanah dengan hasil sangat tinggi mungkin dikelilingi petak dengan kondisi tanah dan hasil lebih rendah, sehingga ada variasi “ziko-pola” (tall-short neighbor pattern)

3. Rumus matematis

Berikut beberapa rumus klasik untuk indikator autokorelasi spasial (global dan lokal). (Catatan: ada variasi penormalan atau standardisasi tergantung literatur.)

3.1 Moran’s I (global)

Rumus umum:

\[ I = \frac{N}{W} \cdot \frac{\sum_{i=1}^{N} \sum_{j=1}^{N} w_{ij}\,(x_i - \bar{x})(x_j - \bar{x})} {\sum_{i=1}^{N} (x_i - \bar{x})^2} \]

Keterangan:

  • \(N\) : jumlah unit spasial
  • \(x_i\) : nilai variabel pada lokasi \(i\)
  • \(\bar{x}\) : rata-rata dari seluruh \(x_i\)
  • \(w_{ij}\) : bobot spasial antara lokasi \(i\) dan \(j\)
  • \(W = \sum_{i} \sum_{j} w_{ij}\) : total bobot

3.2 Geary’s C (global)

Salah satu bentuk formula klasik Geary’s C adalah:

\[ C = \frac{(N-1)\,\sum_{i=1}^{N}\sum_{j=1}^{N} w_{ij}\,(x_i - x_j)^2} {2\,W \,\sum_{i=1}^{N} (x_i - \bar{x})^2} \]

Keterangan:

  • \(C < 1 ;\Rightarrow\) autokorelasi positif
  • \(C > 1 ;\Rightarrow\) autokorelasi negatif
  • \(C = 1 ;\Rightarrow\) tidak ada autokorelasi

3.3 Local Moran’s \(I_i\)

Local Moran’s I untuk unit \(i\) (versi klasik) dapat ditulis:

\[ I_i = \frac{(x_i - \bar{x})}{m_2} \sum_{j=1}^{N} w_{ij}(x_j - \bar{x}) \]

dengan:

\[ m_2 = \frac{1}{N} \sum_{i=1}^{N} (x_i - \bar{x})^2 \]

Keterangan:

  • \(I_i > 0\): lokasi \(i\) membentuk klaster dengan tetangga serupa (High–High atau Low–Low)
  • \(I_i < 0\): lokasi \(i\) merupakan outlier (High–Low atau Low–High)

3.4 Getis–Ord \(G_i\) ​ dan \(G_i^*\) ​ (lokal)

Rumus dasar untuk statistik Getis–Ord lokal (versi non-standar) adalah:

\[ G_i = \frac{\sum_{j \neq i} w_{ij} x_j}{\sum_{j \neq i} x_j} \]

\[ G_i^* = \frac{\sum_{j=1}^{N} w_{ij} x_j}{\sum_{j=1}^{N} x_j} \]

Keterangan:

  • \(G_i\): mengukur konsentrasi nilai di sekitar lokasi \(i\) (tanpa \(x_i\))
  • \(G_i^*\): mengukur konsentrasi nilai termasuk \(x_i\)
  • Nilai tinggi \(\Rightarrow\) hotspot, nilai rendah \(\Rightarrow\) coldspot

4. Perbedaan utama ukuran global vs lokal

  • Ukuran global (seperti Moran’s I global atau Geary’s C global) memberikan satu angka (statistik tunggal) yang merangkum sejauh mana pola autokorelasi berlaku seluruh area studi. Ia menguji apakah secara keseluruhan data menunjukkan pola klaster (positif), disersi (negatif), atau acak.
  • Ukuran lokal (seperti Local Moran’s \(I_i\)​, Getis–Ord \(G_i\)​, dll) menghitung statistik autokorelasi untuk setiap unit spasial atau setiap lokasi individu. Dengan demikian, ukuran lokal dapat mengungkap heterogenitas spasial — di mana dalam suatu area, bisa ada klaster lokal tertentu (hotspot, coldspot, outlier) meskipun secara global pola mungkin lemah atau bahkan tak signifikan.

Beberapa poin pembeda:

  1. Resolusi spasial: Global memberikan gambaran makro, lokal memberikan detail mikro (unit per unit).
  2. Deteksi klaster/anomali lokal: Ukuran lokal bisa mendeteksi cluster lokal (High-High, Low-Low) atau outlier lokal (High di area tetangga rendah atau sebaliknya).
  3. Asumsi homogenitas: Global mengasumsikan bahwa proses spatial autocorrelation adalah homogen di seluruh area; lokal mengizinkan variasi spasial (heterogenitas).
  4. Interpretasi dan penggunaan: Untuk eksplorasi pola ruang lokal, peta lokal (LISA maps, hotspot maps) sangat berguna. Namun untuk kesimpulan umum tentang pola dalam data keseluruhan, ukuran global diperlukan.

Bagian B Analisis Data (Simulasi)

1. Gunakan data spasial kecamatan di Kota Bandung (atau gunakan grid

simulasi jika data asli tidak tersedia).

library(sf)
## Warning: package 'sf' was built under R version 4.3.3
## Linking to GEOS 3.11.2, GDAL 3.8.2, PROJ 9.3.1; sf_use_s2() is TRUE
library(sp)
## Warning: package 'sp' was built under R version 4.3.3
library(spdep)
## Warning: package 'spdep' was built under R version 4.3.3
## Loading required package: spData
## Warning: package 'spData' was built under R version 4.3.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(dplyr)
## Warning: package 'dplyr' was built under R version 4.3.3
## 
## 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)
library(spData)

# ==== Opsi A: menggunakan file RDS Anda ====
setwd("C:/M Naufal/Spasial/Spatial")
Indo_Kec <- readRDS("gadm36_IDN_3_sp.rds")
Bandung <- Indo_Kec[Indo_Kec$NAME_2 == "Kota Bandung", ]
Bandung$id <- seq_len(nrow(Bandung))
Bandung_sf <- sf::st_as_sf(Bandung)
# Untuk keperluan *knit* tanpa data eksternal, siapkan grid mock 30 poligon (DEMO).
if(!exists("Bandung_sf")) {
  bb <- sf::st_as_sfc(sf::st_bbox(c(xmin=107.55, ymin=-6.98, xmax=107.72,
                                    ymax=-6.85), crs=4326))
  grid <- sf::st_make_grid(bb, n = c(6,5)) |> 
          sf::st_as_sf() |> 
          dplyr::mutate(id = dplyr::row_number())
  Bandung_sf <- grid
}
Bandung_sf <- sf::st_make_valid(Bandung_sf)
Bandung_sf$id <- if(!"id" %in% names(Bandung_sf)) seq_len(nrow(Bandung_sf)) else Bandung_sf$id
ggplot(Bandung_sf) + geom_sf(fill="grey90", color="white") +
labs(title="Kota Bandung - Unit (contoh)") + theme_minimal()

2. Buat data simulasi kasus penyakit menular (kasus TBC per 10.000 penduduk) untuk 30 kecamatan di Kota Bandung. Gunakan distribusi

Poisson dengan rata-rata berbeda antar kecamatan.

# Set seed agar hasil simulasi tetap sama tiap dijalankan
set.seed(1234)

# Neighbor queen
nb <- spdep::poly2nb(sf::as_Spatial(Bandung_sf), queen = TRUE)

# Listw untuk analitik global/lokal
lwW <- spdep::nb2listw(nb, style="W")
lwB <- spdep::nb2listw(nb, style="B")

# Jumlah kecamatan
N <- nrow(Bandung_sf)

# Variabel acak spasial
z <- rnorm(N)
lz <- spdep::lag.listw(lwW, z)

# Model rata-rata kasus (log-linear)
beta0 <- 1.2; beta1 <- 0.6; beta2 <- 1.0
lambda <- exp(beta0 + beta1*scale(z) + beta2*scale(lz))

# Populasi tiap kecamatan
pop <- round(runif(N, 3000, 8000))

# Simulasi jumlah kasus TBC dengan distribusi poisson
cases <- rpois(N, lambda = lambda * (pop/10000))

# Buat data frame
TBC <- dplyr::tibble(
  id = Bandung_sf$id,
  pop = pop,
  cases = cases,
  rate10k = (cases/pop)*10000
)

# Gabungkan dengan peta Bandung
Bandung_merged <- dplyr::left_join(Bandung_sf, TBC, by = "id")
Bandung_merged
nrow(Bandung_merged)
## [1] 30

3. Buat peta choropleth dari data simulasi tersebut

# Peta choropleth kasus TBC
library(ggplot2)

ggplot(Bandung_merged) +
  geom_sf(aes(fill = rate10k), color = "white", size = 0.3) +
  scale_fill_viridis_c(option = "magma", direction = -1) +
  labs(
    title = "Peta Choropleth Kasus TBC (per 10.000 penduduk) - Simulasi",
    fill = "Rate TBC"
  ) +
  theme_minimal()

Interpretasi:

  • Warna kuning terang menunjukkan angka kasus TBC rendah (mendekati 0 per 10.000 penduduk).
  • Warna jingga/merah menunjukkan angka kasus sedang.
  • Warna ungu hingga hitam menunjukkan angka kasus TBC tinggi (hingga lebih dari 40 per 10.000 penduduk).
  • Sebagian besar wilayah berada pada kategori rendah hingga sedang (kuning–jingga).
  • Ada beberapa kecamatan/daerah dengan angka TBC sangat tinggi (ditunjukkan warna ungu–hitam). Daerah ini menonjol karena berbeda dengan daerah sekitarnya.

4. Pola spasial yang terlihat secara visual

  • Kasus TBC tidak tersebar merata di seluruh wilayah. Ada daerah dengan angka rendah (kuning) berdampingan dengan daerah dengan angka sangat tinggi (ungu–hitam).
  • Bagian tengah–selatan dan timur tampak memiliki beberapa wilayah dengan angka TBC sangat tinggi (hitam/ungu tua).
  • Daerah sekitar klaster tersebut umumnya juga berwarna jingga–merah, menunjukkan kecenderungan bahwa kasus tinggi mengelompok di wilayah tertentu.
  • Bagian barat dan utara dominan berwarna kuning hingga jingga muda → menunjukkan kasus relatif rendah hingga sedang.
  • Hal ini mengindikasikan adanya pola gradien: makin ke arah selatan–timur, angka kasus cenderung meningkat.

Kesimpulan
Pola spasial menunjukkan pengelompokan kasus tinggi di selatan–timur wilayah, sedangkan wilayah barat–utara relatif rendah, sehingga distribusi kasus TBC cenderung membentuk klaster spasial dan tidak acak.

Bagian C Pengukuran Autokorelasi

1. Hitung Moran’s I untuk data simulasi kasus TBC di Kota Bandung.

  • Berapa nilai Moran’s I
moran_res <- spdep::moran.test(Bandung_merged$rate10k, lwW,
randomisation = TRUE, alternative = "two.sided")
moran_res
## 
##  Moran I test under randomisation
## 
## data:  Bandung_merged$rate10k  
## weights: lwW    
## 
## Moran I statistic standard deviate = 4.1958, p-value = 2.72e-05
## alternative hypothesis: two.sided
## sample estimates:
## Moran I statistic       Expectation          Variance 
##        0.39085537       -0.03448276        0.01027659

Intepretasi:

  • Moran’s I statistic = 0.3909
    Angka positif dan cukup tinggi (maksimum teoritis = +1). Artinya ada autokorelasi spasial positif, yaitu wilayah dengan angka TBC tinggi cenderung berdekatan dengan wilayah yang juga tinggi, dan wilayah dengan angka rendah cenderung berdekatan dengan wilayah yang rendah.

  • Expectation = -0.0345
    Nilai harapan Moran’s I di bawah asumsi random distribution (tidak ada pola spasial). Karena nilai aktual (0.3909) jauh lebih besar dari ekspektasi, ini menunjukkan adanya penyimpangan signifikan dari acak.

  • Variance = 0.01028
    Varians ini digunakan untuk menghitung z-score.

  • Standard deviate (z) = 4.1958
    Z-score jauh di atas 1.96 (batas 95% CI), menunjukkan signifikansi yang kuat.

  • p-value = 2.72e-05 (≈ 0.000027)
    Sangat kecil (<0.001), berarti hasilnya sangat signifikan secara statistik.

  1. Apakah signifikan secara statistik (uji permutasi)?

    Ya, hasil Moran’s I signifikan secara statistik pada taraf signifikansi konvensional (misalnya 5% bahkan 1%), karena p-value ≈ 0.000027 < 0.05. Artinya, pola spasial yang muncul tidak terjadi secara kebetulan semata.

  2. Apa artinya bagi pola spasial penyakit?

    Karena nilai Moran’s I positif (0.39) dan signifikan, ini menunjukkan adanya autokorelasi spasial positif. Artinya, daerah dengan tingkat penyakit tinggi cenderung bertetangga dengan daerah yang juga tinggi, dan daerah dengan tingkat rendah cenderung bertetangga dengan daerah yang rendah. Dengan kata lain, distribusi kasus penyakit membentuk pola klaster (bukan acak dan bukan juga pola penyebaran menyebar/terdispersi).

2. Hitung Geary’s C

geary_res <- spdep::geary.test(Bandung_merged$rate10k, lwW,
randomisation = TRUE, alternative = "two.sided")
geary_res
## 
##  Geary C test under randomisation
## 
## data:  Bandung_merged$rate10k 
## weights: lwW   
## 
## Geary C statistic standard deviate = 3.1866, p-value = 0.00144
## alternative hypothesis: two.sided
## sample estimates:
## Geary C statistic       Expectation          Variance 
##        0.58618326        1.00000000        0.01686418

Interpretasi:

  • Signifikansi
    Hasil uji signifikan secara statistik, karena p-value < 0.05. Ini berarti pola spasial yang terbentuk tidak acak, melainkan ada autokorelasi spasial.
  • Arah autokorelasi
    Geary’s C bekerja berlawanan dengan Moran’s I:

    • Nilai C < 1 → ada autokorelasi spasial positif.
    • Nilai C > 1 → ada autokorelasi spasial negatif.

    Karena nilai C = 0.586 (< 1), maka hasil ini menunjukkan autokorelasi spasial positif.

  • Makna dalam konteks penyakit
    Artinya, wilayah dengan angka kasus tinggi cenderung berdekatan dengan wilayah lain yang juga tinggi, sementara wilayah dengan angka kasus rendah cenderung berdekatan dengan wilayah yang rendah. Dengan kata lain, ada indikasi pembentukan klaster penyakit di Bandung.

  1. Bagaimana perbandingannya dengan Moran’s I?

    • Moran’s I = 0.3909 (p < 0.0001) → autokorelasi spasial positif (klaster).

    • Geary’s C = 0.586 (p = 0.0014) → autokorelasi spasial positif (klaster).

    Keduanya konsisten: sama-sama menunjukkan adanya pola pengelompokan penyakit di Bandung, bukan pola acak.

  2. Jelaskan perbedaan sensitivitas kedua ukuran ini.

    • Moran’s I

      • Mengukur hubungan spasial global secara rata-rata, dengan membandingkan nilai suatu unit dengan nilai rata-rata keseluruhan.
      • Lebih sensitif terhadap struktur global atau pola umum di seluruh wilayah.
      • Jadi, jika penyakit terkonsentrasi membentuk klaster besar (misalnya timur vs barat kota), Moran’s I akan mendeteksinya.
    • Geary’s C

      • Membandingkan nilai suatu unit dengan nilai tetangganya langsung.
      • Lebih sensitif terhadap perbedaan lokal atau variasi kecil antar unit yang berdekatan.
      • Jadi, jika ada ketidaksesuaian lokal (misalnya satu kelurahan tinggi dikelilingi tetangga rendah), Geary’s C lebih cepat menangkapnya.

3. Hitung Local Moran’s I (LISA)

x <- scale(Bandung_merged$rate10k)[,1]
lagx <- spdep::lag.listw(lwW, x)
lisa <- spdep::localmoran(x, lwW, alternative = "two.sided", zero.policy = TRUE)
lisa_df <- as.data.frame(lisa)
names(lisa_df) <- c("Ii","Ei","Vi","Zi","Pi.two.sided")
alpha <- 0.05
quad <- dplyr::case_when(
x >= 0 & lagx >= 0 ~ "High-High",
x < 0 & lagx < 0 ~ "Low-Low",
x >= 0 & lagx < 0 ~ "High-Low (Outlier)",
x < 0 & lagx >= 0 ~ "Low-High (Outlier)"
)
Bandung_LISA <- dplyr::bind_cols(Bandung_merged, lisa_df) |>
dplyr::mutate(quad = ifelse(Pi.two.sided <= alpha, quad, "Not significant"))
ggplot(Bandung_LISA) +
geom_sf(aes(fill = quad), color="white", size=0.2) +
scale_fill_manual(values=c(
"High-High"="#d73027","Low-Low"="#4575b4",
"High-Low (Outlier)"="#fdae61","Low-High (Outlier)"="#74add1",
"Not significant"="grey85"
)) +
labs(title="Local Moran's I (LISA)", fill="Kategori") +
theme_minimal()

  1. Identifikasi kecamatan yang masuk kategori High-High, Low-Low, High-Low, dan Low-High

    • High-High (merah) → kecamatan dengan kasus tinggi dikelilingi oleh tetangga yang juga tinggi. Terlihat di wilayah selatan dan tenggara peta.
    • Low-High (biru) → kecamatan dengan kasus rendah tetapi dikelilingi oleh tetangga yang tinggi (outlier). Terlihat di wilayah tengah–timur peta.
    • Low-Low → tidak ada yang muncul pada peta ini (tidak terlihat warna biru muda/hijau).
    • High-Low → juga tidak ada yang muncul pada peta ini (tidak terlihat warna kuning).
    • Not significant (abu-abu) → sebagian besar kecamatan lainnya.
  2. Buat peta cluster LISA

    • Warna merah menunjukkan klaster signifikan High-High.
    • Warna biru menunjukkan outlier Low-High.
    • Warna abu-abu menunjukkan daerah yang tidak signifikan.
  3. Apa interpretasi hasil ini untuk kasus penyakit menular?

    • High-High cluster (selatan & tenggara Bandung):
      Daerah ini adalah hotspot penyakit menular, karena tingkat kasusnya tinggi dan dikelilingi oleh wilayah lain yang juga tinggi. Hal ini mengindikasikan adanya penyebaran spasial di kawasan tersebut. Dalam konteks epidemiologi, wilayah ini harus menjadi prioritas intervensi kesehatan (misalnya peningkatan fasilitas kesehatan, penyemprotan, kampanye pencegahan).

    • Low-High outlier (tengah–timur Bandung):
      Daerah ini memiliki kasus rendah, tetapi dikelilingi oleh wilayah dengan kasus tinggi. Hal ini bisa berarti:

      • Wilayah tersebut memiliki perlindungan atau program pencegahan yang baik, sehingga kasus lebih rendah meskipun dikelilingi wilayah berisiko.

      • Bisa juga mencerminkan adanya under-reporting (data kasus tidak tercatat lengkap).
        Daerah ini menarik untuk diteliti lebih lanjut, karena bisa memberi pelajaran penting tentang faktor protektif atau kelemahan dalam pencatatan kasus.

    • Tidak ada Low-Low atau High-Low:
      Menunjukkan tidak ada area “dingin” yang jelas (Low-Low) maupun outlier High-Low. Pola utama adalah konsentrasi kasus tinggi di wilayah selatan–tenggara.

4. Hitung Getis Ord \(G_i^*\)

x_raw <- Bandung_merged$rate10k
sum_x <- sum(x_raw)
# Matriks bobot biner (tidak distandarisasi)
Wb <- spdep::listw2mat(lwB) # diag=0 secara default
# G_i (tanpa i)
num_G <- as.numeric(Wb %*% x_raw) # Σ_{ji} w_ij x_j
den_G <- (sum_x - x_raw) # Σ_{ji} x_j
G_raw <- num_G / den_G
# G_i^* (dengan i) — set w_ii = 1
Wb_star <- Wb; diag(Wb_star) <- 1
num_Gs <- as.numeric(Wb_star %*% x_raw) # Σ_j w_ij^* x_j
den_Gs <- sum_x # Σ_j x_j
G_star_raw <- num_Gs / den_Gs
# Z-skor (yang dihitung spdep::localG)
Gz <- spdep::localG(x_raw, listw = lwW) # z(G_i^*) dengan listw yang diberikan
Bandung_G <- dplyr::mutate(Bandung_merged,
G_raw = G_raw,
G_star_raw = G_star_raw,
z_Gistar = as.numeric(Gz),
hotcold = dplyr::case_when(
z_Gistar >= 1.96 ~ "Hot spot (p0.05)",
z_Gistar <= -1.96 ~ "Cold spot (p0.05)",
TRUE ~ "Not significant"
))
summary(dplyr::select(Bandung_G, G_raw, G_star_raw, z_Gistar))
##      G_raw           G_star_raw         z_Gistar                geometry 
##  Min.   :0.00000   Min.   :0.00000   Min.   :-1.7154   MULTIPOLYGON :30  
##  1st Qu.:0.01741   1st Qu.:0.02948   1st Qu.:-1.2275   epsg:NA      : 0  
##  Median :0.06439   Median :0.06943   Median :-0.8652   +proj=long...: 0  
##  Mean   :0.14625   Mean   :0.16909   Mean   :-0.1056                     
##  3rd Qu.:0.21543   3rd Qu.:0.25709   3rd Qu.: 0.4811                     
##  Max.   :0.65444   Max.   :0.66187   Max.   : 3.3115
ggplot(Bandung_G) +
geom_sf(aes(fill = G_star_raw), color="white", size=0.2) +
scale_fill_viridis_c() +
labs(title="Raw Getis–Ord G* (proporsi massa tetangga)", fill="G*_raw") +
theme_minimal()

ggplot(Bandung_G) +
geom_sf(aes(fill = hotcold), color="white", size=0.2) +
scale_fill_manual(values=c("Hot spot (p0.05)"="#b2182b",
"Cold spot (p0.05)"="#2166ac",
"Not significant"="grey85")) +
labs(title="Getis–Ord Gi* — Hot/Cold Spots (z-skor)", fill=NULL) +
theme_minimal()

Sensitivitas bobot spasial

# Rook: buat ulang neighbor dengan queen = FALSE
nb_rook <- spdep::poly2nb(sf::as_Spatial(Bandung_sf), queen = FALSE)
lw_rook <- spdep::nb2listw(nb_rook, style="W")
# kNN (k = 4)
coords <- sf::st_coordinates(sf::st_centroid(Bandung_sf))
## Warning: st_centroid assumes attributes are constant over geometries
nb_knn <- spdep::knn2nb(spdep::knearneigh(coords, k = 4))
lw_knn <- spdep::nb2listw(nb_knn, style="W")
# Bandingkan rata-rata z(Gi*) untuk tiga bobot
c(
mean_z_queen = mean(spdep::localG(Bandung_merged$rate10k, lwW)),
mean_z_rook = mean(spdep::localG(Bandung_merged$rate10k, lw_rook)),
mean_z_knn4 = mean(spdep::localG(Bandung_merged$rate10k, lw_knn))
)
## mean_z_queen  mean_z_rook  mean_z_knn4 
##  -0.10564947  -0.06100198  -0.12533993

Interpretasi:

  • Nilai z-score mendekati 0 → artinya tidak ada autokorelasi spasial yang kuat.
  • Nilai negatif tipis (sekitar –0.1) menunjukkan kecenderungan sangat lemah ke arah dispersi (pola menyebar), tapi tidak signifikan secara statistik.
  • Queen (–0.1056) dan Rook (–0.0610) menghasilkan z-score yang hampir nol → menunjukkan hasil yang konsisten, tidak ada autokorelasi spasial berarti.
  • k-nearest neighbors 4 (–0.1253) juga mendekati nol, meskipun sedikit lebih negatif.
  • Perbedaan kecil ini menunjukkan bahwa hasil analisis relatif stabil, meskipun cara mendefinisikan tetangga diubah.
  1. Tentukan kecamatan yang termasuk hot spot dan cold spot

    • Hot spot (merah):
      Terlihat jelas di bagian selatan dan tenggara Bandung (beberapa kecamatan berdekatan membentuk klaster besar).
      Artinya, wilayah ini memiliki tingkat penyakit yang tinggi dan dikelilingi oleh wilayah lain yang juga tinggi (mirip dengan High-High di LISA).
    • Cold spot:
      Pada peta tidak ada daerah yang muncul dengan warna biru (cold spot). Jadi, tidak ada kecamatan dengan kasus rendah yang secara signifikan dikelilingi oleh tetangga yang juga rendah.
    • Not significant (abu-abu):
      Wilayah lainnya di luar selatan–tenggara tidak menunjukkan pola spasial signifikan.
  2. Bandingkan hasilnya dengan peta LISA

    • Kesamaan:

      • Baik LISA maupun Getis–Ord Gi* sama-sama menunjukkan wilayah selatan dan tenggara Bandung sebagai klaster signifikan kasus tinggi.

      • Keduanya mengindikasikan adanya pola hotspot penyakit menular.

    • Perbedaan:

      • LISA mendeteksi lebih detail, termasuk satu outlier Low-High (wilayah dengan kasus rendah di tengah, tapi dikelilingi tetangga tinggi).
      • Getis–Ord Gi* tidak menampilkan outlier ini, karena fokusnya hanya pada identifikasi hot spot (kasus tinggi terkonsentrasi) dan cold spot (kasus rendah terkonsentrasi).
      • Jadi, hasil Getis–Ord Gi* lebih “bersih” dalam menandai klaster tinggi, tanpa memperlihatkan variasi outlier.
  3. Apakah ada perbedaan wilayah yang ditandai sebagai klaster signifikan?

    Ya, ada perbedaan kecil:

    • LISA: selain klaster High-High (selatan–tenggara), juga mendeteksi satu Low-High outlier di wilayah tengah-timur.

    • Getis–Ord Gi*: hanya menandai hot spot di selatan–tenggara, tidak menampilkan outlier maupun cold spot.

Bagian D Diskusi Kritis

1. Bagaimana hasil analisis autokorelasi spasial bisa membantu dinas kesehatan dalam menyusun strategi pencegahan dan intervensi penyakit menular di Kota Bandung?

  1. Identifikasi wilayah prioritas (hotspot)

    • Analisis menunjukkan ada klaster signifikan penyakit menular di wilayah selatan–tenggara Bandung.
    • Informasi ini membantu dinas kesehatan memfokuskan sumber daya (tenaga medis, vaksinasi, penyemprotan, surveilans intensif) ke wilayah dengan risiko tertinggi.
    • Dengan demikian, intervensi lebih efisien dibanding penyebaran sumber daya merata ke seluruh kota.
  2. Deteksi outlier untuk evaluasi kebijakan

    • Hasil LISA mengungkap adanya wilayah Low-High (kasus rendah di tengah wilayah tinggi).

    • Dinas kesehatan bisa meneliti apakah daerah ini:

      • memang memiliki praktik pencegahan yang efektif (misalnya sanitasi lebih baik, cakupan imunisasi lebih tinggi), atau

      • justru ada under-reporting kasus.

    • Jika efektif, strategi di daerah ini bisa direplikasi ke wilayah lain; jika under-reporting, bisa dilakukan penguatan sistem pencatatan.
  3. Perencanaan intervensi berbasis spasial

    Dengan mengetahui klaster penyakit, dinas bisa menyusun intervensi berbasis wilayah, misalnya:

    • kampanye kesehatan masyarakat khusus di daerah hotspot,
    • peningkatan akses layanan kesehatan di selatan–tenggara,
    • fogging atau distribusi kelambu jika penyakit berbasis vektor,
    • penyediaan air bersih dan sanitasi di wilayah rawan.
  4. Pemantauan efektivitas program

    • Analisis autokorelasi bisa diulang tiap periode (misalnya per semester atau per tahun).
    • Jika hotspot mengecil atau bergeser, maka efektivitas intervensi dapat diukur secara spasial.
    • Ini memberi feedback langsung bagi perbaikan strategi kesehatan.
  5. Dasar advokasi dan penganggaran

    • Peta klaster penyakit menjadi alat komunikasi visual yang kuat untuk pemerintah daerah.

    • Dinas kesehatan dapat menunjukkan bukti spasial ketika mengajukan anggaran tambahan atau dukungan lintas sektor (PU untuk sanitasi, DLH untuk lingkungan, dll).

2. Sebutkan keterbatasan dari analisis autokorelasi spasial!