Nama : Fazila Azra Anggina
NPM : 140610230039
Mata Kuliah : Spasial
Dosen Pengampu : Dr. I Gede Nyoman Mindra Jaya, M.Si.



Konsep Teori

1. Jelaskan dengan kata-kata Anda apa yang dimaksud dengan autokorelasi spasial positif dan autokorelasi spasial negatif.

Autokorelasi spasial digunakan untuk ukuran hubungan antar lokasi berdasarkan kedekatan spasial. Tujuannya adalah melihat apakah nilai suatu variabel di sebuah lokasi mirip atau berbeda dengan nilai lokasi tetangga.

Autokorelasi spasial positif terjadi ketika lokasi-lokasi yang berdekatan memiliki kemiripan nilai. Fenomena-nya bisa berupa “tinggi” dengan “tinggi” atau “rendah” dengan “rendah”. Sehingga, pola yang terbentuk tidak menyebar acak tetapi berkelompok (cluster).

Autokorelasi sosial negatif terjadi ketika lokasi-lokasi yang berdekatan memiliki nilai yang berlawanan. Fenomena-nya bisa berupa satu lokasi bernilai “tinggi” tetapi sekitarnya bernilai “rendah”, begitu pula sebaliknya.



2. Berikan contoh sederhana dari fenomena yang bisa menunjukkan masing-masing pola tersebut.

Autokorelasi Spasial Positif Autokorelasi Spasial Negatif
Suatu lokasi dengan kualitas air yang baik berdekatan / bertetangga dengan lokasi lain yang juga memiliki kualitas air yang baik. Lingkungan apartemen di ibukota dikelilingi oleh perumahan warga yang padat penduduk.



3. Tuliskan rumus matematis dari metode autokorelasi spasial.

  • Moran’s I

    \[ I = \frac{N}{S_0} \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
    • \(w_{ij}\): bobot spasial antara unit \(i\) dan \(j\)
    • \(S_0 : \sum_i \sum_j w_{ij}\)
    • \(x_i\): nilai variabel di lokasi \(i\)
    • \(\bar{x}\): rata-rata nilai variabel

    Menunjukkan pola global.



  • Geary’s C

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

    • \(C < 1\): autokorelasi positif

    • \(C > 1\): autokorelasi negatif

    • \(C = 1\): tidak ada autokorelasi



  • Local Moran’s \(I_i\)

    \[ I_i = \frac{(x_i - \bar{x})}{m^2} \sum_{j=1}^N w_{ij}(x_j - \bar{x}), \quad m^2 = \frac{1}{N}\sum_{k=1}^N (x_k - \bar{x})^2 \]

    Menunjukkan pola lokal.



  • Getis-Ord \(G_i\) dan \(G_i^*\)

    • Tanpa lokasi \(i\):

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

    • Dengan memasukkan lokasi \(i\):

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

    1. Nilai besar \(G^*_i\) : hot spot atau nilai tinggi dikelilingi tinggi.

    2. Nilai kecil \(G^*_i\) : cold spot atau nilai rendah dikelilingi rendah.



4. Jelaskan perbedaan utama antara ukuran global dan lokal.

Ukuran global Ukuran lokal
Bertujuan untuk mengukur bagaimana pola autokorelasi spasial secara keseluruhan lokasi. Bertujuan untuk mengukur bagaimana pola autokorelasi spasial di suatu lokasi spesifik.
Sebagai contoh, terdapat suatu analisis kasus tuberkulosis di 40 kecamatan provinsi A. Melalui hasil Moran’s I, terdapat indikasi autokorelasi positif global yang menandakan bahwa lokasi dengan kasus tinggi cenderung berdekatan pula dengan lokasi berkasus tinggi, begitupun dengan yang berlokasi rendah. Akan tetapi, Moran’s I tidak memberitahukan kecamatan mana yang membentuk pola cluster spasial.

Dengan contoh kasus yang sama seperti ukuran global, ukuran lokal lebih ingin menganalisis pola cluster jenis apa yang terbentuk dalam suatu kecamatan. Misalnya, pada kecamatan 1 teridentifikasi pola hotspot, kecamatan 2 teridentifikasi pola coldspot, kecamatan 3 dan 4 teridentifikasi pola tinggi-rendah.

Dengan kata lain, ukuran lokal memetakan hasil pola spasial secara spesifik per lokasi.



Analisis Data

1. Gunakan data spasial kecamatan di Kota Bandung.

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')`
## Loading required package: 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(sf)

# Contoh data shapefile
nc <- st_read(system.file("shape/nc.shp", package="sf"))
## Reading layer `nc' from data source 
##   `C:\Users\hp\AppData\Local\R\win-library\4.4\sf\shape\nc.shp' 
##   using driver `ESRI Shapefile'
## Simple feature collection with 100 features and 14 fields
## Geometry type: MULTIPOLYGON
## Dimension:     XY
## Bounding box:  xmin: -84.32385 ymin: 33.88199 xmax: -75.45698 ymax: 36.58965
## Geodetic CRS:  NAD27
# Membuat matriks bobot Queen contiguity
nb <- poly2nb(nc, queen=TRUE)
W <- nb2mat(nb, style="W") # Normalisasi row-standardized

# Menampilkan matriks bobot
print(W[1:5, 1:5])
##           1         2         3 4 5
## 1 0.0000000 0.3333333 0.0000000 0 0
## 2 0.3333333 0.0000000 0.3333333 0 0
## 3 0.0000000 0.2000000 0.0000000 0 0
## 4 0.0000000 0.0000000 0.0000000 0 0
## 5 0.0000000 0.0000000 0.0000000 0 0
library(spdep)
library(sp)
## Warning: package 'sp' was built under R version 4.4.3
library(sf)
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.4.3
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
# Arahkan ke folder kerja Anda
setwd("C:\\Users\\hp\\Documents\\New folder\\SMT 5\\SPASIAL\\Spatial")

# Data kasus
tuber <- read.csv("TB_Sim.csv", sep=";")
tuber
##    id        Kecamatan Terobati
## 1   1            Andir       80
## 2   2         Antapani       88
## 3   3        Arcamanik      149
## 4   4      Astanaanyar       46
## 5   5  Babakan Ciparay      137
## 6   6    Bandung Kidul      186
## 7   7    Bandung Kulon      131
## 8   8    Bandung Wetan        9
## 9   9      Batununggal       80
## 10 10  Bojongloa Kaler      169
## 11 11  Bojongloa Kidul       70
## 12 12         Buahbatu      269
## 13 13 Cibeunying Kaler      109
## 14 14 Cibeunying Kidul      240
## 15 15           Cibiru       51
## 16 16          Cicendo      251
## 17 17          Cidadap       24
## 18 18          Cinambo      133
## 19 19          Coblong      192
## 20 20         Gedebage      123
## 21 21     Kiaracondong      333
## 22 22         Lengkong       25
## 23 23      Mandalajati       24
## 24 24      Panyileukan      476
## 25 25        Rancasari      151
## 26 26            Regol      118
## 27 27         Sukajadi       72
## 28 28         Sukasari       75
## 29 29    Sumur Bandung       92
## 30 30      Ujungberung      162
# Peta administratif Indonesia level kecamatan (gadm36 level 3)
Indo_Kec <- readRDS('gadm36_IDN_3_sp.rds')

# Ambil hanya Kota Bandung
Bandung <- Indo_Kec[Indo_Kec$NAME_2 == "Kota Bandung",]
plot(Bandung)

# Tambahkan id untuk join
Bandung$id <- c(1:30)

# Ubah ke format sf
Bandung_sf <- st_as_sf(Bandung)

# Gabungkan dengan data kasus
Bandung_merged <- Bandung_sf %>%
  left_join(tuber, by = "id")
ggplot() +
geom_sf(data=Bandung_merged, aes(fill = Terobati), color=NA) + theme_bw() +
scale_fill_gradient(low = "yellow", high = "purple") +
theme(panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.text.x = element_blank(),
axis.text.y = element_blank(),
legend.position = "right") +
labs(title = "Peta Kasus Pengobatan Tuberkulosis Kota Bandung", fill = "Jumlah Kasus")

# Interval kategori
breaks <- quantile(tuber$Terobati, probs = c(0, 0.25, 0.5, 0.75, 1), na.rm=TRUE)
labels <- c("Very Low", "Low", "High", "Very High")

# Buat variabel diskrit
Bandung_merged$tuber_Discrete <- cut(Bandung_merged$Terobati,
breaks = breaks,
include.lowest = TRUE,
labels = labels,
right = TRUE)

ggplot() +
geom_sf(data=Bandung_merged, aes(fill = tuber_Discrete), color=NA) +
theme_bw() +
scale_fill_manual(values = c("Very Low" = "yellow",
"Low" = "pink",
"High" = "purple",
"Very High" = "purple3")) +
theme(axis.text.x = element_blank(),
axis.text.y = element_blank(),
legend.position = "right") +
labs(title = "Kategori Kasus Pengobatan Tuberkulosis Kota Bandung",
fill = "Kategori")



2. Buat data simulasi kasus penyakit menular (per 10.000 penduduk) untuk 30 kecamatan kota Bandung. Gunakan distribusi Poisson dengan rata-rata berbeda antar kecamatan.

library(sf)
library(sp)
library(spdep)
library(dplyr)
library(ggplot2)
library(mapview)
## Warning: package 'mapview' was built under R version 4.4.3
library(spData)
library(leaflet)
## Warning: package 'leaflet' was built under R version 4.4.3
set.seed(39)

# 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")

N <- nrow(Bandung_sf)
z <- rnorm(N)
lz <- spdep::lag.listw(lwW, z)

beta0 <- 1.2; beta1 <- 0.6; beta2 <- 1.0
lambda <- exp(beta0 + beta1*scale(z) + beta2*scale(lz))
pop <- round(runif(N, 3000, 8000))
cases <- rpois(N, lambda=lambda * (pop/10000))
Tuber <- dplyr::tibble(id = Bandung_sf$id, pop = pop, cases = cases,
rate10k = (cases/pop)*10000)
Bandung_merged <- dplyr::left_join(Bandung_sf, Tuber, by="id")



3. Buat peta choropleth dari data simulasi tersebut.

ggplot(Bandung_merged) +
geom_sf(aes(fill = rate10k), color="white", size=0.2) +
scale_fill_viridis_c(option="magma") +
labs(title="Rate Pengobatan Tuberkulosis (per 10.000) — Simulasi", fill="Rate") +
theme_minimal()

leaflet(Bandung_merged) %>%
  addTiles() %>%
  addPolygons(fillColor = ~colorNumeric("viridis", rate10k)(rate10k),
              color = "black", weight = 1,
              popup = ~paste0("Kecamatan: ", NAME_3, 
                              "<br>Rate: ", round(rate10k,2)))
## Warning: sf layer has inconsistent datum (+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs).
## Need '+proj=longlat +datum=WGS84'



4. Apa pola spasial yang terlihat secara visual?

Berdasarkan peta choropleth tersebut, terlihat adanya variasi pola spasial yang cukup mencolok antar kecamatan di Kota Bandung. Sebagian besar wilayah, khususnya di bagian utara, timur, serta sebagian tengah kota, memiliki warna ungu tua hingga hitam yang menandakan angka pengobatan tuberkulosis relatif rendah, mendekati 0 hingga 5 kasus per 10.000 penduduk.

Sebaliknya, pada bagian selatan hingga barat daya tampak beberapa kecamatan berwarna oranye hingga kuning, yang mengindikasikan angka pengobatan TB cukup tinggi, di atas 20 per 10.000 penduduk. Hal ini menunjukkan adanya ketidakmerataan spasial, di mana sebagian wilayah menjadi hot spot pengobatan tuberkulosis sementara sebagian besar kecamatan lainnya justru menunjukkan capaian pengobatan yang rendah. Fenomena ini dapat disebabkan oleh keberadaan fasilitas kesehatan rujukan di wilayah tertentu sehingga lebih banyak pasien yang terdeteksi dan diobati, atau justru karena angka kasus tuberkulosis memang lebih tinggi di daerah tersebut. Sebaliknya, rendahnya angka pengobatan di wilayah lain bisa jadi terkait dengan keterbatasan akses layanan kesehatan atau jumlah kasus tuberkulosis yang lebih sedikit.

Secara keseluruhan, peta ini menegaskan adanya ketimpangan spasial dalam penanganan tuberkulosis di Kota Bandung, sehingga perlu evaluasi lebih lanjut terkait distribusi fasilitas kesehatan dan pemerataan akses layanan pengobatan tuberkulosis.



Pengukuran Autokorelasi

1. Hitung Moran’s I untuk data simulasi kasus diare 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 = 3.8551, p-value = 0.0001157
## alternative hypothesis: two.sided
## sample estimates:
## Moran I statistic       Expectation          Variance 
##        0.37675865       -0.03448276        0.01137973
  • Apakah signifikan secara statistik (uji permutasi)?

    Karena hasil p-value dari uji Moran’s I yaitu 0.0001157 lebih kecil dibandingkan alpha, maka uji permutasi signifikan.

  • Apa artinya bagi pola spasial penyakit?

    Dalam konteks spasial, uji permutasi yang signifikan menandakan bahwa terdapat autokorelasi spasial positif pada kasus pengobatan tuberkulosis. Tuberkulosis cenderung berkelompok di lokasi tertentu dan terdapat hot spot yang signifikan. Dan karena penyakit ini merupakan penyakit menular, maka kedekatan spasial memengaruhi risiko terjadinya kasus pada lokasi tetangganya.



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.4263, p-value = 0.0006119
## alternative hypothesis: two.sided
## sample estimates:
## Geary C statistic       Expectation          Variance 
##        0.57123053        1.00000000        0.01566015
  • Bagaimana perbandingannya dengan Moran’s I?

    Kedua metode menghasilkan uji permutasi yang sama-sama signifikan dengan p-value lebih kecil daripada alpha. Namun, nilai p-value Moran’s I lebih kecil daripada Geary’s C yang menandakan bahwa Moran’s I lebih kuat mendeteksi adanya pola spasial pada kasus tuberkulosis berikut.

  • Jelaskan perbedaan sensitivitas kedua ukuran ini.

    Moran’s I Geary’s C
    Lebih sensitif terhadap pola autokorelasi spasial global Lebih sensitif terhadap pola autokorelasi spasial lokal antara nilai suatu kecamatan terhadap tetangganya
    Lebih baik untuk digunakan untuk melihat kecenderungan umum clustering di tahap global Jika terdapat satu kecamatan yang sangat berbeda dengan tetangganya, maka metode ini lebih cepat menangkap ketidaksamaan itu
    Mengindikasikan adanya pola clustering global Mengindikasikan bahwa perbedaan antar tetangga juga penting sehingga perlu diperhatikan



3. Hitung Local Moran’s I (LISA).

  • Buat peta cluster LISA. Identifikasi kecamatan yang masuk kategori High-High, Low-Low, High-Low, dan Low-High.
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()

  • Apa interpretasi hasil ini untuk kasus penyakit menular?

    Berdasarkan metode LISA, kasus penyakit menular di kota bandung tidak menyebar merata melainkan membentuk cluster signifikan Tinggi-Tinggi. Hal ini menegaskan terdapat daerah dengan risiko tinggi yang perlu menjadi prioritas utama dalam strategi pencegahan dan pengendalian penyakit tuberkulosis. Ini juga bisa disebabkan oleh mobilitas penduduk tinggi, kepadatan penduduk, atau akses kesehatan yang kurai memadai.



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

  • Tentukan kecamatan yang termasuk hot spot dan cold spot.
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)
den_G <- (sum_x - x_raw)
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 (p 0.05)",
  z_Gistar <= -1.96 ~ "Cold spot (p 0.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.03161   Min.   :0.03930   Min.   :-1.613549   MULTIPOLYGON :30  
##  1st Qu.:0.07652   1st Qu.:0.08713   1st Qu.:-0.908201   epsg:NA      : 0  
##  Median :0.12551   Median :0.13820   Median :-0.455698   +proj=long...: 0  
##  Mean   :0.16053   Mean   :0.18604   Mean   : 0.003154                     
##  3rd Qu.:0.21883   3rd Qu.:0.23907   3rd Qu.: 0.678779                     
##  Max.   :0.45972   Max.   :0.48351   Max.   : 3.792516
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 (p 0.05)"  = "#b2182b",
      "Cold spot (p 0.05)" = "#2166ac",
      "Not significant"    = "grey85"
    )
  ) +
  labs(
    title = "Getis-Ord Gi* - Hot/Cold Spots (z-skor)",
    fill  = NULL
  ) +
  theme_minimal()

data_rate <- Bandung_merged$rate10 
data_rate
##  [1]  4.500450  0.000000  3.788836  7.634753 11.329305 20.173492  8.084074
##  [8]  1.494992  2.920561 16.216216 26.903417  0.000000  0.000000  3.400204
## [15]  2.717391  0.000000  0.000000  7.833307  8.813161  1.649893  2.371354
## [22]  9.006304  2.163566  0.000000  1.376462  6.014133  6.185567  7.524454
## [29]  2.405581  8.909253
# weights matriks tetangga
lw <- nb2listw(nb, style="W")  

# uji Local Getis-Ord Gi*
gi_star <- localG(data_rate, lw)

# gabung hasil ke data frame
hasil_gi <- data.frame(
  Kecamatan = Bandung_merged$NAME_3,
  GiZScore  = as.numeric(gi_star)
)

# tentukan kategori
hasil_gi$Kategori <- ifelse(hasil_gi$GiZScore > 1.96, "Hot Spot",
                      ifelse(hasil_gi$GiZScore < -1.96, "Cold Spot",
                      "Tidak signifikan"))

hasil_gi
##           Kecamatan   GiZScore         Kategori
## 1             Andir  0.7365265 Tidak signifikan
## 2          Antapani -1.3253871 Tidak signifikan
## 3         Arcamanik -1.2846994 Tidak signifikan
## 4       Astanaanyar  2.9911774         Hot Spot
## 5   Babakan Ciparay  2.8305543         Hot Spot
## 6     Bandung Kidul  1.6395828 Tidak signifikan
## 7     Bandung Kulon  0.5055366 Tidak signifikan
## 8     Bandung Wetan -1.2088051 Tidak signifikan
## 9       Batununggal -0.1558677 Tidak signifikan
## 10  Bojongloa Kaler  2.5271055         Hot Spot
## 11  Bojongloa Kidul  3.7925163         Hot Spot
## 12         Buahbatu -0.3797001 Tidak signifikan
## 13 Cibeunying Kaler -0.4071573 Tidak signifikan
## 14 Cibeunying Kidul -1.5599328 Tidak signifikan
## 15           Cibiru -0.3275126 Tidak signifikan
## 16          Cicendo -0.5042396 Tidak signifikan
## 17          Cidadap  0.4410494 Tidak signifikan
## 18          Cinambo -0.7121024 Tidak signifikan
## 19          Coblong -1.5882398 Tidak signifikan
## 20         Gedebage -0.9020011 Tidak signifikan
## 21     Kiaracondong -1.6135493 Tidak signifikan
## 22         Lengkong  0.7431298 Tidak signifikan
## 23      Mandalajati -0.8498607 Tidak signifikan
## 24      Panyileukan -0.2387789 Tidak signifikan
## 25        Rancasari -1.1816045 Tidak signifikan
## 26            Regol  1.1353815 Tidak signifikan
## 27         Sukajadi -0.8406348 Tidak signifikan
## 28         Sukasari -0.5994443 Tidak signifikan
## 29    Sumur Bandung -0.6581419 Tidak signifikan
## 30     Ujung Berung -0.9102672 Tidak signifikan

Berdasarkan hasil di atas, tidak ada kecamatan yang termasuk ke dalam cold spot. Akan tetapi, terdapat beberapa kecamatan yang termasuk ke dalam wilayah hot spot di antaranya adalah kecamatan Astanaanyar, Babakan Ciparay, Bojongloa Kaler, dan Bojongloa Kidul.

  • Bandingkan hasilnya dengan peta LISA.

    Peta LISA menunjukkan hubungan nilai suatu kecamatan dengan tetangganya atau mengidentidikasi pola interaksi lokal antar kecamatan. Sedangkan peta Getis-Ord lebih menunjukkan konsentrasi hot spot atau cold spot tanpa membedakan pola interaksi antar kecamatan.

  • Apakah ada perbedaan wilayah yang ditandai sebagai klaster signifikan?

    Baik metode LISA maupun Getis-Ord sama-sama mengidentifikasi wilayah selatan barat-daya Bandung sebagai klaster signifikan kasus tuberkulosis. Sehingga, tidak ada perbedaan wilayah dalam lokasi klaster signifikan.



Diskusi Kritis

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

Hasil analisis autokorelasi spasial sangat penting bagi dinas kesehatan karena mampu mengidentifikasi pola penyebaran penyakit menular di Kota Bandung secara lebih tepat.

Dengan mengetahui adanya autokorelasi spasial positif yang signifikan, dinas kesehatan dapat memahami bahwa kasus penyakit tidak tersebar secara acak, melainkan membentuk klaster di wilayah tertentu. Informasi ini memungkinkan perumusan strategi pencegahan dan intervensi yang lebih terarah, misalnya dengan memfokuskan sumber daya pada kecamatan yang terdeteksi sebagai hot spot atau klaster Tinggi-Tinggi.

Pendekatan ini tidak hanya meningkatkan efisiensi dalam alokasi tenaga medis, obat-obatan, dan program edukasi masyarakat, tetapi juga membantu memutus rantai penularan di daerah rawan sebelum menyebar ke wilayah sekitarnya. Analisis spasial dapat menjadi dasar evidence-based policy dalam pengendalian penyakit menular di Kota Bandung.



2. Sebutkan keterbatasan dari analisis korelasi spasial, misalnya terkait dengan :

  • MAUP

    Hasil analisis sangat dipengaruhi oleh skala dan agregasi data. Dalam kasus ini, apabila batas administratif yang digunakan berubah, maka nilai autokorelasi spasial bisa berubah dan interpretasi menjadi rentan untuk diambil.

  • Ukuran bobot spasial

    Pemilihan matriks bobot spasial yang berbeda bisa menghasilkan pola korelasi yang berbeda pula.

  • Masalah multiple testing pada analisis lokal

    Semakin banyak wilayah yang diuji, maka semakin tinggi peluang terjadinya kesalahan tipe I (bisa ada wilayah yang tampak signifikan hanya karena faktor kebetulan).