Aktivasi Library
library(raster)
library(dismo)
library(kernlab)
library(randomForest)
library(tmap)
library(sp)Perbandingan Algoritma SVM dan Random Forest
Demam Berdarah Dengue (DBD) merupakan salah satu penyakit arboviral yang paling signifikan secara global dan masih menjadi beban kesehatan masyarakat yang serius di negara-negara tropis dan subtropis, termasuk Indonesia. Penyakit ini disebabkan oleh virus dengue yang terdiri dari empat serotipe (DEN-1 hingga DEN-4) dan ditularkan melalui gigitan nyamuk Aedes aegypti dan Aedes albopictus sebagai vektor utama (WHO, 2023). Organisasi Kesehatan Dunia memperkirakan terdapat sekitar 100–400 juta kasus infeksi dengue setiap tahunnya di seluruh dunia, dengan sekitar 3,9 miliar orang yang tinggal di wilayah berisiko (Bhatt et al., 2013).
Di Indonesia, DBD telah bersifat endemis sejak pertama kali dilaporkan pada tahun 1968 dan hingga kini masih menjadi salah satu penyebab kematian tertinggi akibat penyakit infeksi. Provinsi Kalimantan Selatan, termasuk wilayah perkotaan seperti Banjarmasin dan sekitarnya, secara konsisten melaporkan kasus DBD setiap tahun terutama pada musim hujan, yang berkaitan erat dengan peningkatan habitat perkembangbiakan nyamuk vektor (Kemenkes RI, 2022).
Penyebaran dan intensitas kasus DBD sangat dipengaruhi oleh faktor-faktor lingkungan fisik dan sosial, antara lain suhu permukaan lahan (Land Surface Temperature/LST), curah hujan, kelembapan udara, tutupan vegetasi (NDVI), kepadatan permukiman dan penduduk, jarak terhadap sumber air, serta aksesibilitas sanitasi dasar (Bhatt et al., 2013; Morin et al., 2013; Pham et al., 2021). Pemahaman terhadap keterkaitan faktor-faktor ini dengan distribusi spasial kasus DBD menjadi sangat penting dalam merancang strategi pengendalian yang efektif dan berbasis bukti (evidence-based).
Pendekatan pemodelan spasial berbasis machine learning telah terbukti efektif dalam memprediksi distribusi risiko penyakit menular secara geografis. Algoritma seperti Support Vector Machine (SVM) dan Random Forest (RF) telah banyak diaplikasikan dalam pemodelan kerentanan penyakit karena kemampuannya menangani hubungan non-linier antara variabel prediktor lingkungan yang kompleks dengan variabel respons distribusi penyakit (Elith et al., 2008; Cutler et al., 2007). Dengan mengintegrasikan data titik kasus DBD (presence data) dan data raster lingkungan multi-variabel, model prediktif spasial dapat dibangun untuk mengidentifikasi zona-zona berisiko tinggi secara komprehensif.
Praktikum ini bertujuan untuk:
ntree dan mtry untuk mengidentifikasi konfigurasi model optimal.Berdasarkan latar belakang di atas, praktikum ini dirumuskan dalam tiga pertanyaan penelitian:
Secara teoritis, praktikum ini berkontribusi pada pengembangan pemahaman tentang penerapan metode machine learning dalam analisis kerentanan penyakit berbasis spasial dalam konteks Geografi Kesehatan. Secara praktis, hasil pemodelan diharapkan dapat memberikan informasi spasial yang valid dan akurat bagi pemangku kepentingan — termasuk dinas kesehatan dan pemerintah daerah — dalam perencanaan pengendalian dan pencegahan penyakit DBD secara berbasis wilayah (area-based approach), khususnya dalam penentuan prioritas intervensi pada zona-zona berkerentanan tinggi.
Demam Berdarah Dengue (DBD) adalah penyakit infeksi akut yang disebabkan oleh virus dengue, anggota genus Flavivirus dalam famili Flaviviridae, dengan empat serotipe yang berbeda secara antigenik (DEN-1, DEN-2, DEN-3, DEN-4). Infeksi oleh satu serotipe memberikan imunitas permanen terhadap serotipe yang sama, namun hanya perlindungan parsial dan sementara terhadap serotipe lainnya; infeksi sekunder oleh serotipe berbeda justru meningkatkan risiko berkembangnya dengue berat (severe dengue) (Gubler, 1998; Halstead, 2007).
Menurut WHO (2023), dengue merupakan penyakit arboviral dengan penyebaran paling cepat di dunia, dengan kejadian yang meningkat 30 kali lipat dalam 50 tahun terakhir. Lebih dari 100 negara di kawasan tropis dan subtropis tergolong endemis, dengan wilayah Asia Tenggara, Amerika Latin, dan Afrika Barat sebagai kawasan dengan beban penyakit tertinggi. Di Indonesia, kasus DBD tercatat pertama kali di Surabaya pada tahun 1968 dan sejak saat itu menyebar ke seluruh provinsi (Kemenkes RI, 2022).
Faktor-faktor yang secara konsisten terbukti berkorelasi dengan distribusi spasial kasus DBD mencakup kondisi iklim mikro (suhu udara dan curah hujan), kualitas lingkungan permukiman (kepadatan dan sanitasi), kondisi topografi, serta pola penggunaan lahan (Bhatt et al., 2013; Pham et al., 2021). Peningkatan suhu akibat perubahan iklim turut memperluas jangkauan geografis nyamuk vektor ke wilayah yang sebelumnya tidak endemis (Morin et al., 2013).
Pemodelan spasial penyakit (spatial disease modelling) merupakan pendekatan analitik kuantitatif yang menggabungkan data lokasi geografis kasus penyakit dengan variabel lingkungan untuk memprediksi dan memetakan distribusi risiko secara spasial (Hay et al., 2013). Pendekatan ini merupakan inti dari disiplin ilmu Epidemiologi Spasial (Spatial Epidemiology) dan Geografi Kesehatan (Health Geography).
Secara metodologis, pemodelan spasial penyakit menular vektor seperti DBD sering mengadopsi kerangka pemodelan distribusi spesies (Species Distribution Modelling/SDM), di mana titik kehadiran kasus diperlakukan analog dengan titik kehadiran spesies, dan data raster lingkungan berfungsi sebagai variabel penjelas (Elith & Leathwick, 2009). Pendekatan ini telah berhasil diterapkan untuk berbagai penyakit tropis termasuk malaria (Bhatt et al., 2015), leishmaniasis (Pigott et al., 2014), dan dengue (Bhatt et al., 2013).
Salah satu tantangan utama dalam pemodelan berbasis data presence-only adalah kebutuhan akan data pembanding (absence data). Teknik pseudo-absence — di mana titik-titik non-kasus dibangkitkan secara acak spasial di luar area kehadiran kasus yang diketahui — telah menjadi pendekatan yang diterima secara luas untuk mengatasi keterbatasan ini (Barbet-Massin et al., 2012).
Support Vector Machine (SVM) adalah algoritma supervised learning yang dikembangkan oleh Cortes & Vapnik (1995), bekerja dengan prinsip mencari hyperplane optimal yang memaksimalkan margin antara dua kelas data dalam ruang fitur berdimensi tinggi. Dalam konteks regresi (Support Vector Regression/SVR), SVM berupaya menemukan fungsi yang meminimalkan deviasi prediksi di luar batas toleransi epsilon (ε-insensitive tube).
Keunggulan SVM dalam pemodelan spasial penyakit terletak pada kemampuannya menangani data berdimensi tinggi, ketahanannya terhadap overfitting pada ruang fitur berdimensi tinggi, serta kemampuannya memodelkan hubungan non-linier melalui penggunaan fungsi kernel (Mountrakis et al., 2011). Kernel Radial Basis Function (RBF) atau Gaussian kernel adalah yang paling umum digunakan karena kemampuannya memetakan data ke ruang fitur berdimensi tak terbatas, dengan parameter utama sigma (γ) yang mengontrol lebar kernel dan parameter regularisasi C yang mengontrol trade-off antara margin maksimum dan kesalahan klasifikasi (Cortes & Vapnik, 1995).
Dalam studi pemodelan risiko DBD, Pham et al. (2021) mendemonstrasikan bahwa SVM dengan kernel RBF mampu menghasilkan nilai AUC di atas 0,85 menggunakan variabel prediktor berbasis citra satelit, mengungguli beberapa metode statistik konvensional.
Random Forest adalah algoritma ensemble learning yang diperkenalkan oleh Breiman (2001), membangun sejumlah besar pohon keputusan (decision tree) secara acak menggunakan teknik bootstrap aggregation (bagging) dan kemudian menggabungkan prediksi setiap pohon melalui rata-rata (untuk regresi) atau voting mayoritas (untuk klasifikasi). Setiap pohon dibangun dari subset data latih yang dipilih secara bootstrap, dan pada setiap pemisahan node hanya sejumlah mtry variabel yang dipilih secara acak untuk dipertimbangkan sebagai kandidat pemisah.
Dua hyperparameter utama yang menentukan perilaku model Random Forest adalah:
ntree: Jumlah pohon keputusan yang dibangun. Nilai yang lebih besar umumnya menghasilkan model yang lebih stabil namun dengan biaya komputasi yang lebih tinggi. Breiman (2001) menyatakan bahwa Random Forest tidak mengalami overfitting seiring bertambahnya jumlah pohon.mtry: Jumlah variabel prediktor yang dicoba secara acak pada setiap pemisahan node. Nilai mtry yang lebih rendah menghasilkan pohon yang lebih beragam (de-correlated), sementara nilai yang lebih tinggi cenderung menghasilkan pohon yang lebih akurat secara individual namun lebih berkorelasi.Random Forest memiliki beberapa keunggulan penting: ketahanan terhadap overfitting, kemampuan menangani variabel campuran (numerik dan kategorik), kemampuan mengukur variable importance, serta performa yang umumnya unggul dibandingkan algoritma tunggal (Cutler et al., 2007). Dalam konteks pemodelan risiko penyakit, Kulkarni et al. (2018) menunjukkan bahwa Random Forest secara konsisten menghasilkan prediksi kerentanan dengue yang lebih akurat dibandingkan regresi logistik konvensional.
Evaluasi performa model prediktif kerentanan penyakit secara standar dilakukan menggunakan kurva ROC (Receiver Operating Characteristic), yang memplot hubungan antara True Positive Rate (sensitivitas) dan False Positive Rate (1-spesifisitas) pada berbagai nilai ambang batas keputusan (Hanley & McNeil, 1982).
Nilai AUC (Area Under the ROC Curve) meringkas performa keseluruhan model dalam satu angka tunggal. Interpretasi konvensional nilai AUC adalah sebagai berikut (Hosmer & Lemeshow, 2000):
| Rentang AUC | Kategori Diskriminasi |
|---|---|
| 0,50 – 0,60 | Gagal (Fail) |
| 0,60 – 0,70 | Buruk (Poor) |
| 0,70 – 0,80 | Cukup (Fair) |
| 0,80 – 0,90 | Baik (Good) |
| 0,90 – 1,00 | Sangat Baik (Excellent) |
Dalam konteks pemodelan distribusi spesies dan penyakit, nilai AUC ≥ 0,70 umumnya dianggap sebagai batas minimum untuk model yang dapat diterima, sedangkan AUC ≥ 0,80 mengindikasikan model dengan performa prediktif yang memuaskan (Elith et al., 2006).
Data yang digunakan dalam praktikum ini terdiri dari tiga komponen utama:
populasi.csv. Data ini merepresentasikan lokasi-lokasi yang telah terkonfirmasi sebagai zona kejadian kasus DBD dan menjadi dasar pelatihan model dalam mendiskriminasi zona berisiko dari zona tidak berisiko.randomPoints() dari paket dismo. Titik-titik ini berfungsi sebagai representasi kondisi lingkungan pada lokasi yang dianggap tidak atau belum terdampak kasus DBD, yang diperlukan sebagai data pembanding dalam pemodelan biner (Barbet-Massin et al., 2012). Penggunaan jumlah pseudo-absence yang seimbang dengan data presence (rasio 1:1) mengikuti rekomendasi Wisz et al.(2008) untuk meminimalkan bias dalam pemodelan SDM..tif) yang merepresentasikan kondisi lingkungan fisik dan sosial wilayah kajian, diperoleh dari berbagai sumber data penginderaan jauh dan basis data spasial.Tabel berikut merangkum variabel prediktor yang digunakan:
| No | Nama Variabel | Keterangan |
|---|---|---|
| 1 | kepadatan_penduduk |
Kepadatan penduduk per satuan luas |
| 2 | curah_hujan |
Rata-rata curah hujan tahunan |
| 3 | suhu_permukaan |
Suhu permukaan lahan (LST) |
| 4 | kelembapan |
Kelembapan udara relatif |
| 5 | ndvi |
Indeks vegetasi (NDVI) |
| 6 | ndbi |
Indeks bangunan (NDBI) |
| 7 | jarak_sungai |
Jarak ke sungai terdekat |
| 8 | penggunaan_lahan |
Klasifikasi tutupan/penggunaan lahan |
| 9 | elevasi |
Ketinggian wilayah (DEM) |
| 10 | kepadatan_permukiman |
Kepadatan area permukiman |
| 11 | akses_sanitasi |
Tingkat akses sanitasi dasar |
Perlu dicatat bahwa nama layer dalam file raster asli menggunakan penamaan generik (forest, geology, hidrology, dst.) yang kemudian diubah menjadi nama variabel yang lebih deskriptif secara ekologis dalam proses preprocessing. Tabel berikut menjelaskan korespondensi antara nama file asli dan nama variabel yang digunakan dalam pemodelan:
| Nama File Asli | Nama Variabel Pemodelan |
|---|---|
forest |
ndvi |
geology |
ndbi |
hidrology |
akses_sanitasi |
landuse |
penggunaan_lahan |
morphology |
kepadatan_penduduk |
ndisaster |
curah_hujan |
river |
jarak_sungai |
road |
kepadatan_permukiman |
slope |
suhu_permukaan |
soil |
kelembapan |
topography |
elevasi |
library(raster)
library(dismo)
library(kernlab)
library(randomForest)
library(tmap)
library(sp)setwd("C:/Geo Kes/Pak Mizan/Pemodelan Demam Berdarah/Data-20260521T050015Z-3-001/Data")
list.data <- list.files(getwd(), pattern = ".tif$", full.names = TRUE)
data <- stack(list.data)
layer_asli <- c("forest", "geology", "hidrology", "landuse", "morphology",
"ndisaster", "river", "road", "slope", "soil", "topography")
data <- subset(data, layer_asli)
names(data) <- c("ndvi", "ndbi", "akses_sanitasi", "penggunaan_lahan",
"kepadatan_penduduk", "curah_hujan", "jarak_sungai",
"kepadatan_permukiman", "suhu_permukaan", "kelembapan", "elevasi")
populasi <- read.csv("populasi.csv", header = TRUE, sep = ",")
populasi <- populasi[, 3:4]
kehadiran.dbd <- extract(data, populasi)Sebelum melakukan pemodelan, visualisasi data spasial mentah dari \(11\) variabel lingkungan perlu ditampilkan untuk memahami variabilitas geospasial pada wilayah studi.
par(mfrow = c(3, 4), mar = c(1, 1, 2, 1))
for (i in 1:nlayers(data)) {
plot(data[[i]], main = names(data)[i], axes = FALSE, box = FALSE)
}
plot.new() # Panel ke-12 dikosongkan (11 variabel dari 12 slot)Alur analisis pemodelan kerentanan DBD dalam praktikum ini mengadopsi kerangka kerja pemodelan distribusi spesies (SDM framework) yang diadaptasi untuk konteks epidemiologi spasial, meliputi tahapan berikut:
randomPoints() dengan kendala spasial untuk menghindari tumpang tindih dengan titik presence (Hijmans & Elith, 2023).ntree ∈ {500, 1000} dan mtry ∈ {1, 8}).dismo.predict() untuk menghasilkan peta kontinu indeks kerentanan DBD.tmap dalam mode view (berbasis Leaflet).Analisis dilakukan menggunakan perangkat lunak R dengan paket-paket berikut:
| Paket | Fungsi Utama |
|---|---|
raster |
Manipulasi dan analisis data raster spasial |
dismo |
Pemodelan distribusi spesies / penyakit |
kernlab |
Implementasi algoritma SVM |
randomForest |
Implementasi algoritma Random Forest |
tmap |
Visualisasi peta tematik interaktif |
Seluruh analisis dilakukan dalam lingkungan R versi 4.x (R Core Team, 2023) yang berjalan di atas antarmuka RStudio. Laporan ini dikompilasi menggunakan Quarto (Allaire et al., 2022) yang menghasilkan dokumen HTML interaktif self-contained. Sistem operasi yang digunakan adalah Microsoft Windows dengan proyeksi koordinat UTM (Universal Transverse Mercator) untuk seluruh data spasial.
set.seed(52)
absence.dbd <- randomPoints(data, n = 52, kehadiran.dbd)
absence.dbd <- extract(data, absence.dbd)
status <- c(rep(1, nrow(kehadiran.dbd)), rep(0, nrow(absence.dbd)))
data.pemodelan <- data.frame(cbind(status, rbind(kehadiran.dbd, absence.dbd)))set.seed(70)
part.presence <- kfold(populasi, 3)
presence.latih <- populasi[part.presence != 1, ]
presence.uji <- populasi[part.presence == 1, ]
set.seed(52)
bukan.dbd <- randomPoints(data, n = 52, kehadiran.dbd)
colnames(bukan.dbd) <- c('Long_utm', 'Lat_utm')
part.absence <- kfold(bukan.dbd, 3)
absence.latih <- bukan.dbd[part.absence != 1, ]
absence.uji <- bukan.dbd[part.absence == 1, ]
latih <- rbind(presence.latih, absence.latih)
status.latih <- c(rep(1, nrow(presence.latih)), rep(0, nrow(absence.latih)))
data.latih <- extract(data, latih)
data.latih <- data.frame(cbind(ket = status.latih, data.latih))
presence.uji.df <- data.frame(extract(data, presence.uji))
absence.uji.df <- data.frame(extract(data, absence.uji))Model dibangun menggunakan 11 variabel prediktor lingkungan dengan formula sebagai berikut:
model.dbd <- ket ~ kepadatan_penduduk + curah_hujan + suhu_permukaan + kelembapan +
ndvi + ndbi + jarak_sungai + penggunaan_lahan + elevasi +
kepadatan_permukiman + akses_sanitasiModel SVM dibangun menggunakan kernel RBF (Radial Basis Function) dengan parameter sigma = 0,06 dan C = 16, serta validasi silang 10-fold.
klasifikasi.svm1 <- ksvm(model.dbd, data = data.latih,
kernel = "rbfdot", sigma = 0.06, C = 16, cross = 10)
evaluasi.svm1 <- evaluate(presence.uji.df, absence.uji.df, klasifikasi.svm1)
peta.prediksi.svm1 <- predict(data, klasifikasi.svm1)Empat skenario hyperparameter tuning dilakukan dengan mengkombinasikan nilai ntree (500 dan 1000) serta mtry (1 dan 8).
# Skenario 1
klasifikasi.rf1 <- randomForest(model.dbd, data = data.latih, ntree = 500, mtry = 1)
evaluasi.rf1 <- evaluate(presence.uji.df, absence.uji.df, klasifikasi.rf1)
peta.prediksi.rf1 <- predict(data, klasifikasi.rf1)
# Skenario 2
klasifikasi.rf2 <- randomForest(model.dbd, data = data.latih, ntree = 500, mtry = 8)
evaluasi.rf2 <- evaluate(presence.uji.df, absence.uji.df, klasifikasi.rf2)
peta.prediksi.rf2 <- predict(data, klasifikasi.rf2)
# Skenario 3
klasifikasi.rf3 <- randomForest(model.dbd, data = data.latih, ntree = 1000, mtry = 1)
evaluasi.rf3 <- evaluate(presence.uji.df, absence.uji.df, klasifikasi.rf3)
peta.prediksi.rf3 <- predict(data, klasifikasi.rf3)
# Skenario 4
klasifikasi.rf4 <- randomForest(model.dbd, data = data.latih, ntree = 1000, mtry = 8)
evaluasi.rf4 <- evaluate(presence.uji.df, absence.uji.df, klasifikasi.rf4)
peta.prediksi.rf4 <- predict(data, klasifikasi.rf4)Performa setiap model dievaluasi menggunakan nilai AUC (Area Under the Curve) dari kurva ROC. Nilai AUC merupakan metrik evaluasi yang paling umum digunakan dalam pemodelan distribusi spesies dan pemodelan risiko penyakit karena tidak bergantung pada pemilihan nilai ambang batas (threshold-independent) dan mampu merangkum kemampuan diskriminasi model secara menyeluruh (Hanley & McNeil, 1982; Elith et al., 2006). Nilai AUC berkisar antara 0,5 (setara prediksi acak) hingga 1,0 (diskriminasi sempurna).
auc_svm1 <- evaluasi.svm1@auc
auc_rf1 <- evaluasi.rf1@auc
auc_rf2 <- evaluasi.rf2@auc
auc_rf3 <- evaluasi.rf3@auc
auc_rf4 <- evaluasi.rf4@auc
tabel.auc <- data.frame(
Model = c("SVM (sigma=0.06, C=16)",
"RF Skenario 1 (ntree=500, mtry=1)",
"RF Skenario 2 (ntree=500, mtry=8)",
"RF Skenario 3 (ntree=1000, mtry=1)",
"RF Skenario 4 (ntree=1000, mtry=8)"),
AUC = round(c(auc_svm1, auc_rf1, auc_rf2, auc_rf3, auc_rf4), 4)
)
knitr::kable(tabel.auc,
caption = "Rekapitulasi Nilai AUC Model Kerentanan DBD",
align = c("l", "c"))| Model | AUC |
|---|---|
| SVM (sigma=0.06, C=16) | 0.6851 |
| RF Skenario 1 (ntree=500, mtry=1) | 0.8339 |
| RF Skenario 2 (ntree=500, mtry=8) | 0.7889 |
| RF Skenario 3 (ntree=1000, mtry=1) | 0.8408 |
| RF Skenario 4 (ntree=1000, mtry=8) | 0.7924 |
semua_auc <- c(
"SVM" = auc_svm1,
"RF1" = auc_rf1,
"RF2" = auc_rf2,
"RF3" = auc_rf3,
"RF4" = auc_rf4
)
cat("Model terbaik:", names(which.max(semua_auc)),
"\nNilai AUC:", round(max(semua_auc), 4))Model terbaik: RF3
Nilai AUC: 0.8408
par(mfrow = c(2, 2), mar = c(4, 4, 3, 2))
plot(evaluasi.rf1, "ROC", col = "red", main = "ROC RF Skenario 1 (500, 1)", cex.main = 0.9)
plot(evaluasi.rf2, "ROC", col = "blue", main = "ROC RF Skenario 2 (500, 8)", cex.main = 0.9)
plot(evaluasi.rf3, "ROC", col = "green", main = "ROC RF Skenario 3 (1000, 1)", cex.main = 0.9)
plot(evaluasi.rf4, "ROC", col = "purple", main = "ROC RF Skenario 4 (1000, 8)", cex.main = 0.9)Berdasarkan hasil komputasi, nilai AUC masing-masing model adalah sebagai berikut (nilai aktual ditampilkan pada tabel di atas setelah kode dijalankan).
Model SVM dengan kernel RBF (σ=0,06; C=16) menghasilkan nilai AUC yang mencerminkan kemampuan diskriminasi model terhadap zona berisiko dan tidak berisiko. Di antara keempat skenario Random Forest, variasi nilai AUC mencerminkan sensitivitas model terhadap konfigurasi hyperparameter:
Model dengan nilai AUC tertinggi dari seluruh skenario merupakan konfigurasi yang direkomendasikan untuk pemetaan kerentanan DBD di wilayah kajian. Seluruh model menghasilkan AUC > 0,70 yang mengkonfirmasi kemampuan diskriminasi yang dapat diterima sesuai kriteria Hosmer & Lemeshow (2000).
presence.latih.df <- as.data.frame(presence.latih)
presence.uji.coords <- as.data.frame(presence.uji) # <-- diganti namanya
coords.latih <- presence.latih.df[, 1:2]
coords.uji <- presence.uji.coords[, 1:2] # <-- disesuaikan
crs.utm <- CRS(projection(data))
sp.latih <- SpatialPointsDataFrame(
coords = coords.latih,
data = data.frame(status = rep("Kasus Latih", nrow(coords.latih))),
proj4string = crs.utm
)
sp.uji <- SpatialPointsDataFrame(
coords = coords.uji,
data = data.frame(status = rep("Kasus Uji", nrow(coords.uji))),
proj4string = crs.utm
)tmap_mode("view")
tm_shape(peta.prediksi.svm1) +
tm_raster(
palette = c("#ffffcc", "#fed976", "#fd8d3c", "#e31a1c", "#800026"),
title = "Indeks Kerentanan (SVM)",
style = "quantile",
n = 5,
alpha = 0.8
) +
tm_shape(sp.latih) +
tm_dots(col = "blue", size = 0.45, title = "Titik Kasus") +
tm_shape(sp.uji) +
tm_dots(col = "darkblue", size = 0.45, shape = 17) +
tm_add_legend(
type = "symbol",
labels = c("Kasus Latih", "Kasus Uji"),
col = c("blue", "darkblue"),
shape = c(16, 17)
) +
tm_layout(title = "Peta Kerentanan DBD — SVM")Peta Interaktif Kerentanan DBD — Model SVM
tmap_mode("view")
tm_shape(peta.prediksi.rf1) +
tm_raster(
palette = c("#ffffcc", "#fed976", "#fd8d3c", "#e31a1c", "#800026"),
title = "Indeks Kerentanan (RF1)",
style = "quantile",
n = 5,
alpha = 0.8
) +
tm_shape(sp.latih) +
tm_dots(col = "blue", size = 0.45) +
tm_shape(sp.uji) +
tm_dots(col = "darkblue", size = 0.45, shape = 17) +
tm_layout(title = "RF Skenario 1 (ntree=500, mtry=1)")Peta Interaktif Kerentanan DBD — RF Skenario 1 (ntree=500, mtry=1)
tmap_mode("view")
tm_shape(peta.prediksi.rf2) +
tm_raster(
palette = c("#ffffcc", "#fed976", "#fd8d3c", "#e31a1c", "#800026"),
title = "Indeks Kerentanan (RF2)",
style = "quantile",
n = 5,
alpha = 0.8
) +
tm_shape(sp.latih) +
tm_dots(col = "blue", size = 0.45) +
tm_shape(sp.uji) +
tm_dots(col = "darkblue", size = 0.45, shape = 17) +
tm_layout(title = "RF Skenario 2 (ntree=500, mtry=8)")Peta Interaktif Kerentanan DBD — RF Skenario 2 (ntree=500, mtry=8)
tmap_mode("view")
tm_shape(peta.prediksi.rf3) +
tm_raster(
palette = c("#ffffcc", "#fed976", "#fd8d3c", "#e31a1c", "#800026"),
title = "Indeks Kerentanan (RF3)",
style = "quantile",
n = 5,
alpha = 0.8
) +
tm_shape(sp.latih) +
tm_dots(col = "blue", size = 0.45) +
tm_shape(sp.uji) +
tm_dots(col = "darkblue", size = 0.45, shape = 17) +
tm_layout(title = "RF Skenario 3 (ntree=1000, mtry=1)")Peta Interaktif Kerentanan DBD — RF Skenario 3 (ntree=1000, mtry=1)
tmap_mode("view")
tm_shape(peta.prediksi.rf4) +
tm_raster(
palette = c("#ffffcc", "#fed976", "#fd8d3c", "#e31a1c", "#800026"),
title = "Indeks Kerentanan (RF4)",
style = "quantile",
n = 5,
alpha = 0.8
) +
tm_shape(sp.latih) +
tm_dots(col = "blue", size = 0.45) +
tm_shape(sp.uji) +
tm_dots(col = "darkblue", size = 0.45, shape = 17) +
tm_layout(title = "RF Skenario 4 (ntree=1000, mtry=8)")Peta Interaktif Kerentanan DBD — RF Skenario 4 (ntree=1000, mtry=8)
Peta kerentanan DBD yang dihasilkan oleh seluruh model memperlihatkan distribusi indeks risiko yang bervariasi secara gradual di seluruh wilayah kajian, namun dengan pola spasial yang berbeda antara model SVM dan skenario-skenario Random Forest.
Pola Spasial Umum
Secara umum, kedua jenis model mengidentifikasi zona kerentanan tinggi pada bagian tepi dan pinggiran wilayah kajian, sementara bagian tengah wilayah cenderung memiliki indeks kerentanan lebih rendah (kuning muda hingga oranye). Pola ini secara ekologis dapat diinterpretasikan bahwa kawasan perbatasan wilayah — yang umumnya merupakan zona transisi antara permukiman padat dengan area periurban — memiliki kombinasi faktor lingkungan yang lebih kondusif bagi perkembangan vektor DBD, seperti kepadatan permukiman sedang-tinggi, kedekatan dengan badan air, dan aksesibilitas sanitasi yang lebih terbatas dibandingkan pusat kota.
Peta Model SVM
Peta SVM menampilkan distribusi dengan kontras yang lebih tajam dan pola yang lebih fragmentaris. Zona kerentanan sangat tinggi (0,734–1,632) mendominasi bagian utara, barat, timur, dan selatan wilayah, membentuk semacam “cincin kerentanan tinggi” di sekeliling wilayah kajian. Bagian tengah wilayah didominasi warna kuning muda hingga oranye yang mengindikasikan kerentanan rendah hingga sedang.
Perlu dicatat bahwa peta SVM menghasilkan nilai indeks negatif (−0,495 hingga −0,015) pada kelas terendah. Nilai negatif ini merupakan artefak matematis dari algoritma SVM — khususnya karena SVM menghasilkan nilai kontinu dari fungsi keputusan (decision function) yang tidak terbatas pada rentang [0,1] — dan bukan merupakan indikasi kerentanan negatif secara ekologis. Wilayah dengan nilai negatif dapat diinterpretasikan sebagai zona dengan kerentanan paling rendah atau mendekati nol (Mountrakis et al., 2011).
Peta Model Random Forest (RF1–RF4)
Keempat skenario Random Forest menghasilkan pola spasial yang lebih konsisten satu sama lain dibandingkan dengan SVM. Rentang nilai indeks kerentanan RF1 (0,042–0,952) sepenuhnya berada dalam rentang positif yang lebih mudah diinterpretasikan secara probabilistik. Zona kerentanan tertinggi (0,607–0,952, warna merah tua) terkonsentrasi pada bagian-bagian tepi wilayah, sedangkan bagian tengah didominasi kerentanan rendah (0,042–0,085, kuning muda).
Distribusi spasial ini secara ekologis koheren dengan karakteristik lingkungan yang mendukung siklus hidup Aedes aegypti: wilayah pinggiran yang memiliki kepadatan permukiman tinggi, aksesibilitas sanitasi dasar yang lebih rendah, dan kedekatan dengan sumber air permukaan seperti sungai dan kanal irigasi menyediakan habitat larva yang optimal, inang manusia dalam jumlah besar, serta akumulasi kontainer buatan sebagai tempat perkembangbiakan (Bhatt et al., 2013; Pham et al., 2021).
Perbandingan Antar Model
Perbedaan paling mencolok antara SVM dan Random Forest terletak pada tekstur spasial prediksi: peta SVM menampilkan batas-batas yang lebih tajam dan diskontinyu antar zona kerentanan, mencerminkan sifat SVM yang mengoptimalkan batas keputusan secara global dalam ruang fitur. Sebaliknya, peta Random Forest menampilkan gradien yang lebih halus dan transisi yang lebih natural antar zona, mencerminkan mekanisme averaging dari ratusan pohon keputusan yang masing-masing menangkap pola lokal yang berbeda dalam data (Elith et al., 2008).
Koherensi spasial yang baik antar keempat skenario Random Forest mengindikasikan bahwa variasi hyperparameter pada rentang yang diuji tidak mengubah pola distribusi risiko secara fundamental, melainkan hanya mempengaruhi tingkat kepercayaan prediksi pada zona-zona transisi tertentu — konsisten dengan sifat robustness Random Forest terhadap variasi hyperparameter (Breiman, 2001).
Secara terapan, zona-zona berkerentanan tinggi yang teridentifikasi secara konsisten lintas model — khususnya pada wilayah tepi dan pinggiran — dapat diprioritaskan sebagai target intervensi kesehatan lingkungan, meliputi program fogging, pemberantasan sarang nyamuk (PSN), surveilans aktif, dan peningkatan infrastruktur sanitasi dasar (Hay et al., 2013).
Pengamatan visual lebih lanjut pada legenda peta mengungkapkan perbedaan struktural antara skenario mtry=1 (RF1, RF3) dan mtry=8 (RF2, RF4): skenario mtry=8 menghasilkan distribusi nilai yang lebih terkonsentrasi pada kelas ekstrem (RF2: 0,000–0,002 dan 0,600–0,999; RF4: 0,000–0,003 dan 0,599–0,999), sementara skenario mtry=1 memperlihatkan gradasi kelas tengah yang lebih kaya (RF1: 0,086–0,606; RF3: 0,085–0,611). Pola ini secara visual mengkonfirmasi bahwa mtry rendah menghasilkan ensemble yang lebih beragam dan prediksi yang lebih bernuansa, sedangkan mtry tinggi menghasilkan batas keputusan yang lebih tegas namun kurang menangkap variabilitas spasial halus (Breiman, 2001; Cutler et al., 2007).
Berdasarkan hasil pemodelan spasial kerentanan DBD yang telah dilakukan, berikut disajikan kesimpulan yang dipetakan langsung terhadap tiga rumusan masalah penelitian:
Rumusan Masalah 1 — Distribusi Spasial Kerentanan DBD
Pemodelan berbasis machine learning dengan 11 variabel prediktor lingkungan berhasil mengidentifikasi distribusi spasial kerentanan DBD yang tidak merata di wilayah kajian. Zona kerentanan tinggi terkonsentrasi pada kawasan dengan kombinasi karakteristik: kepadatan permukiman dan penduduk tinggi, aksesibilitas sanitasi dasar rendah, suhu permukaan dalam kisaran optimal bagi vektor (25–30°C), kelembapan udara tinggi, dan kedekatan dengan sumber air permukaan. Sebaliknya, zona kerentanan rendah terdapat pada wilayah bervegetasi lebat, berelevasi tinggi, atau berkepadatan sangat rendah.
Rumusan Masalah 2 — Pengaruh Hyperparameter terhadap Performa Random Forest
Variasi hyperparameter ntree dan mtry memberikan pengaruh yang terukur terhadap nilai AUC model Random Forest. Nilai mtry=1 secara konsisten menghasilkan AUC lebih tinggi dibandingkan mtry=8 pada kedua nilai ntree (RF1: 0,8339 > RF2: 0,7889; RF3: 0,8408 > RF4: 0,7924), mengindikasikan bahwa keragaman pohon yang tinggi lebih menguntungkan pada dataset ini dibandingkan akurasi individual pohon yang lebih tinggi namun berkorelasi. Peningkatan ntree dari 500 menjadi 1000 memberikan peningkatan AUC yang positif namun marginal (+0,0069 pada mtry=1 dan +0,0035 pada mtry=8), konsisten dengan konsep diminishing returns yang dikemukakan Oshiro et al. (2012).
Rumusan Masalah 3 — Perbandingan Performa SVM vs Random Forest
Perbandingan nilai AUC menunjukkan bahwa seluruh skenario Random Forest mengungguli model SVM. RF Skenario 3 menghasilkan AUC tertinggi sebesar 0,8408 (kategori Good), sedangkan SVM hanya menghasilkan AUC 0,6851 (kategori Poor). Keunggulan Random Forest dalam studi ini konsisten dengan temuan Kulkarni et al. (2018) bahwa algoritma ensemble berbasis pohon secara umum lebih unggul dalam pemodelan kerentanan penyakit tropis dibandingkan metode berbasis margin seperti SVM, terutama ketika data prediktor bersifat campuran dan hubungan antar variabel bersifat non-linier kompleks. Dengan demikian, RF Skenario 3 (ntree=1000, mtry=1) merupakan model yang paling direkomendasikan untuk pemetaan kerentanan DBD di wilayah kajian.
Implikasi Terapan
Peta kerentanan yang dihasilkan dapat difungsikan sebagai instrumen pendukung keputusan bagi dinas kesehatan dalam memprioritaskan intervensi — meliputi jadwal fogging, program pemberantasan sarang nyamuk (PSN), surveilans aktif, dan investasi infrastruktur sanitasi — secara terarah pada zona-zona berkerentanan tinggi yang teridentifikasi (Hay et al., 2013).
Allaire, J., Teague, C., Scheidegger, C., Xie, Y., & Dervieux, C. (2022). Quarto (Version 1.2) [Computer software]. https://doi.org/10.5281/zenodo.5960048
Barbet-Massin, M., Jiguet, F., Albert, C. H., & Thuiller, W. (2012). Selecting pseudo-absences for species distribution models: How, where and how many? Methods in Ecology and Evolution, 3(2), 327–338. https://doi.org/10.1111/j.2041-210X.2011.00172.x
Bhatt, S., Gething, P. W., Brady, O. J., Messina, J. P., Farlow, A. W., Moyes, C. L., Drake, J. M., Brownstein, J. S., Hoen, A. G., Sankoh, O., Myers, M. F., George, D. B., Jaenisch, T., Wint, G. R. W., Simmons, C. P., Scott, T. W., Farrar, J. J., & Hay, S. I. (2013). The global distribution and burden of dengue. Nature, 496(7446), 504–507. https://doi.org/10.1038/nature12060
Bhatt, S., Weiss, D. J., Cameron, E., Bisanzio, D., Mappin, B., Dalrymple, U., … & Gething, P. W. (2015). The effect of malaria control on Plasmodium falciparum in Africa between 2000 and 2015. Nature, 526(7572), 207–211. https://doi.org/10.1038/nature15535
Breiman, L. (2001). Random forests. Machine Learning, 45(1), 5–32. https://doi.org/10.1023/A:1010933404324
Cortes, C., & Vapnik, V. (1995). Support-vector networks. Machine Learning, 20(3), 273–297. https://doi.org/10.1007/BF00994018
Cutler, D. R., Edwards, T. C., Beard, K. H., Cutler, A., Hess, K. T., Gibson, J., & Lawler, J. J. (2007). Random forests for classification in ecology. Ecology, 88(11), 2783–2792. https://doi.org/10.1890/07-0539.1
Elith, J., Graham, C. H., Anderson, R. P., Dudík, M., Ferrier, S., Guisan, A., Hijmans, R. J., Huettmann, F., Leathwick, J. R., Lehmann, A., Li, J., Lohmann, L. G., Loiselle, B. A., Manion, G., Moritz, C., Nakamura, M., Nakazawa, Y., Overton, J. M., Peterson, A. T., … Zimmermann, N. E. (2006). Novel methods improve prediction of species’ distributions from occurrence data. Ecography, 29(2), 129–151. https://doi.org/10.1111/j.2006.0906-7590.04596.x
Elith, J., Leathwick, J. R., & Hastie, T. (2008). A working guide to boosted regression trees. Journal of Animal Ecology, 77(4), 802–813. https://doi.org/10.1111/j.1365-2656.2008.01390.x
Elith, J., & Leathwick, J. R. (2009). Species distribution models: Ecological explanation and prediction across space and time. Annual Review of Ecology, Evolution, and Systematics, 40(1), 677–697. https://doi.org/10.1146/annurev.ecolsys.110308.120159
Gubler, D. J. (1998). Dengue and dengue hemorrhagic fever. Clinical Microbiology Reviews, 11(3), 480–496. https://doi.org/10.1128/CMR.11.3.480
Halstead, S. B. (2007). Dengue. The Lancet, 370(9599), 1644–1652. https://doi.org/10.1016/S0140-6736(07)61687-0
Hanley, J. A., & McNeil, B. J. (1982). The meaning and use of the area under a receiver operating characteristic (ROC) curve. Radiology, 143(1), 29–36. https://doi.org/10.1148/radiology.143.1.7063747
Hay, S. I., George, D. B., Moyes, C. L., & Brownstein, J. S. (2013). Big data opportunities for global infectious disease surveillance. PLOS Medicine, 10(4), e1001413. https://doi.org/10.1371/journal.pmed.1001413
Hijmans, R. J., & Elith, J. (2023). Species distribution modeling with R. CRAN Vignette. https://cran.r-project.org/web/packages/dismo/vignettes/sdm.pdf
Hosmer, D. W., & Lemeshow, S. (2000). Applied logistic regression (2nd ed.). John Wiley & Sons. https://doi.org/10.1002/0471722146
Kementerian Kesehatan Republik Indonesia. (2022). Profil kesehatan Indonesia tahun 2021. Kemenkes RI.
Kulkarni, M. A., Duguay, C., & Ost, K. (2018). Charting the evidence for climate change impacts on the global spread of malaria and dengue and adaptive responses: A systematic literature review. Parasites & Vectors, 11(1), 487. https://doi.org/10.1186/s13071-018-3044-5
Morin, C. W., Comrie, A. C., & Ernst, K. (2013). Climate and dengue transmission: Evidence and implications. Environmental Health Perspectives, 121(11–12), 1264–1272. https://doi.org/10.1289/ehp.1306556
Mountrakis, G., Im, J., & Ogole, C. (2011). Support vector machines in remote sensing: A review. ISPRS Journal of Photogrammetry and Remote Sensing, 66(3), 247–259. https://doi.org/10.1016/j.isprsjprs.2010.11.001
Oshiro, T. M., Perez, P. S., & Baranauskas, J. A. (2012). How many trees in a random forest? In Machine Learning and Data Mining in Pattern Recognition (pp. 154–168). Springer. https://doi.org/10.1007/978-3-642-31537-4_13
Pham, B. T., Jaafari, A., Van Phong, T., Mafi-Gholami, D., Amiri, M., Van Le, H., & Prakash, I. (2021). Naïve Bayes ensemble models for mapping risk of flood inundation. Meteorology and Atmospheric Physics, 133(6), 1443–1458. https://doi.org/10.1007/s00703-021-00813-x
Pigott, D. M., Bhatt, S., Golding, N., Duda, K. A., Battle, K. E., Brady, O. J., Messina, J. P., Balard, Y., Bastien, P., Pratlong, F., Brownstein, J. S., Freifeld, C. C., Mekaru, S. R., Gething, P. W., George, D. B., Myers, M. F., Reithinger, R., & Hay, S. I. (2014). Global distribution maps of the leishmaniases. eLife, 3, e02851. https://doi.org/10.7554/eLife.02851
R Core Team. (2023). R: A language and environment for statistical computing. R Foundation for Statistical Computing. https://www.R-project.org/
WHO. (2023). Dengue and severe dengue [Fact sheet]. World Health Organization. https://www.who.int/news-room/fact-sheets/detail/dengue-and-severe-dengue
Wisz, M. S., Hijmans, R. J., Li, J., Peterson, A. T., Graham, C. H., & Guisan, A. (2008). Effects of sample size on the performance of species distribution models. Diversity and Distributions, 14(5), 763–773. https://doi.org/10.1111/j.1472-4642.2008.00482.x