Analisis Hotspot (Getis-Ord Gi*, KDE)

Pendahuluan

Dalam modul ini, Anda akan mempelajari cara mengidentifikasi area panas (hotspot) dan area dingin (coldspot) menggunakan dua metode utama analisis spasial tingkat lanjut:

  • Getis-Ord Gi* → analisis statistik spasial berbasis tetangga
  • Kernel Density Estimation (KDE) → analisis kepadatan titik berbasis fungsi kernel

Keduanya sangat penting untuk keputusan strategis jaringan perbankan karena memungkinkan Anda menemukan:

  • Lokasi transaksi sangat tinggi → cocok untuk penempatan ATM/cabang baru
  • Area risiko → wilayah rawan fraud, penyalahgunaan kartu, atau klaim
  • Zona prioritas pemasaran → wilayah konsentrasi potensi nasabah

Prasyarat / Alat yang dibutuhkan

  • Python dengan library: geopandas, esda, libpysal, numpy, matplotlib, sklearn, seaborn
  • Data titik: nasabah, ATM, transaksi, atau event fraud
  • IDE: Jupyter Notebook / VSCode
  • Peta batas wilayah (shapefile/GeoJSON) untuk overlay hasil analisis

Langkah-langkah Utama


1. Siapkan Data Titik dan Boundary Area

Anda harus memastikan data spasial dalam format yang siap dianalisis.

Instruksi Detail

  1. Impor data titik (nasabah/ATM/event).
  2. Impor peta batas wilayah (kecamatan/kelurahan).
  3. Pastikan kedua dataset berada dalam CRS yang sama (direkomendasikan: EPSG:4326 atau EPSG:3857 untuk KDE).
  4. Buat kolom koordinat dan siapkan array untuk perhitungan jarak jika diperlukan.

(Visual Hint: Tampilan Jupyter Notebook dengan peta titik di atas peta wilayah)

Tip:
Selalu gunakan boundary wilayah untuk agregasi hotspot agar hasil analisis relevan secara administratif.


2. Bangun Struktur Ketetanggaan (Spatial Weights)

Getis-Ord Gi* membutuhkan struktur tetangga untuk mengetahui pengaruh titik/wilayah terdekat.

Instruksi Detail

  • Buat spatial weights berbasis jarak (misalnya 1–2 km), menggunakan: from libpysal.weights import DistanceBand w = DistanceBand.from_dataframe(gdf_points, threshold=2000)
  • Standarisasi bobot: w.transform = 'r'

(Visual Hint: Diagram lingkaran radius 2 km yang menunjukkan hubungan antar titik)

Peringatan:
Threshold terlalu kecil → banyak titik tidak punya tetangga sehingga nilai Gi* tidak stabil.
Threshold terlalu besar → hasil analisis terlalu menggeneralisasi.


3. Hitung Hotspot Menggunakan Getis-Ord Gi*

Gi* memberikan Z-score dan p-value untuk menentukan hotspot signifikan secara statistik.

Instruksi Detail

  1. Siapkan nilai yang dianalisis (misalnya jumlah transaksi per titik atau nilai total transaksi).
  2. Jalankan fungsi Gi*: from esda.getisord import G_Local gi = G_Local(values, w)
  3. Tambahkan hasil ke GeoDataFrame:
    • gdf["gi_zscore"] = gi.Zs
    • gdf["gi_pvalue"] = gi.p_sim
  4. Klasifikasi hasil:
    • Hotspot signifikan: Z-score tinggi, p-value < 0.05
    • Coldspot signifikan: Z-score rendah, p-value < 0.05

(Visual Hint: Peta titik dengan gradasi warna merah (hotspot) dan biru (coldspot))

Tip Profesional:
Gunakan Z-score > 2.58 (p < 0.01) untuk hotspot prioritas tingkat tinggi bagi ekspansi cabang.


4. Lakukan Kernel Density Estimation (KDE) untuk Memetakan Kepadatan

KDE menunjukkan kepadatan kejadian yang halus dan kontinyu.

Instruksi Detail

  1. Konversi titik ke CRS meter (misalnya EPSG:3857).
  2. Gunakan Scikit-learn untuk membuat grid dan menghitung kepadatan: from sklearn.neighbors import KernelDensity kde = KernelDensity(bandwidth=500).fit(X)
  3. Buat grid raster dan hitung nilai density untuk tiap cell.
  4. Overlay raster hasil KDE ke peta wilayah.

(Visual Hint: Heatmap gradien merah–kuning menampilkan area padat)

Strategi:
KDE ideal untuk mendeteksi “zona panas alami” transaksi yang tidak mengikuti batas administrasi.


5. Overlay Hotspot Gi* + KDE untuk Pengambilan Keputusan

Menggabungkan keduanya menghasilkan pemahaman 360° tentang area strategis.

Instruksi Detail

  • Buat layer:
    • Layer 1: Hotspot Gi* signifikan
    • Layer 2: Heatmap KDE
  • Tumpuk kedua layer pada peta administrasi (kelurahan/kecamatan).
  • Identifikasi:
    • Titik merah pekat (KDE) + hotspot signifikan (Gi*)lokasi paling ideal untuk cabang/ATM
    • Area KDE tinggi tapi Gi* non-signifikan → potensi pertumbuhan
    • Coldspot signifikan → area pengurangan layanan atau optimasi

(Visual Hint: Peta dengan dua layer transparan + legenda jelas)

Peringatan:
Jangan hanya menggunakan KDE tanpa analisis statistik.
KDE hanya menunjukkan kepadatan, bukan signifikansi.*


Ringkasan & Tugas

3 Poin Kunci

  1. Getis-Ord Gi* mengidentifikasi hotspot/coldspot secara statistik menggunakan konsep ketetanggaan.
  2. KDE memvisualisasikan kepadatan kejadian secara halus dan intuitif.
  3. Kombinasi keduanya memberikan insight paling kuat untuk strategi ekspansi jaringan perbankan.

Tugas Praktis

  1. Ambil dataset titik transaksi (≥ 500 titik).
  2. Hitung hotspot menggunakan Getis-Ord Gi*.
  3. Buat heatmap KDE.
  4. Overlay keduanya, lalu buat rekomendasi:
    • 3 lokasi ideal untuk cabang baru
    • 3 lokasi ideal untuk ATM
    • 3 lokasi prioritas pemasaran