Pendahuluan

Provinsi Jawa Barat merupakan provinsi dengan kemunculan kasus pertama di Indonesia dan juga memiliki kasus positif tertinggi kedua di Indonesia. Banyaknya kota/kabupaten di Jawa Barat dapat menyulitkan pemerintah serta satuan tugas pengananan COVID-19 di tingkat provinsi dalam menangani kasus aktif COVID-19.

Perkembangan kasus aktif perlu dianalisis untuk setiap kota/kabupaten karena setiap kabupaten/kota memiliki karakteristik yang berbeda sehingga kabupaten/kota tersebut dikelompokkan berdasarkan karakteristik yang sama untuk mengetahui karakteristik fluktuasi kasus aktif pada setiap kota/kabupaten. Hal tersebut dapat mempermudah pemerintah dalam menangani kasus aktif COVID-19 berdasarkan karakteristiknya masing-masing.

Berdasarkan uraian tersebut maka diperlukan sebuah metode yang dapat mengelompokan kabupaten/kota di Jawa Barat, pada kasus ini akan dilakukan pengelompokan dengan analisis klaster menggunakan metode K-Medoids Clustering serta perhitungan jarak antar deret waktunya menggunakan Dynamic Time Warping (DTW) karena data yang digunakan merupakan deret waktu.

> Maksud dan Tujuan

Penelitian ini bertujuan untuk membantu mempercepat penangaman COVID-19 di Jawa Barat. Oleh karena maksud dari penelitian ini adalah melakukan pengelompokan kabupaten/kota di Jawa Barat berdasarkan kasus aktif dengan menggunakan jarak yang cocol pada data detet waktu. Sehingga dengan hasil pengelompokan tersebut dapat menjadi pertimbangan kinerja pemerintah dalam penanganan COVID-19 yang lebih efektif dan efisien.

> Benefit

  • Hasil peng-klasteran dapat dijadikan sebagai rekomendasi untuk pemerintah dalam mengatasi penyebaran Covid-19.

> Batasan

  • Menggunakan data sekunder kasus aktif COVID-19 yang diperoleh dari situs pikobar.jabarprov.go.id/
  • Periode waktu dibatasi hingga analisis dilakukan yaitu dari tanggal 01 Januari 2022 hingga tanggal 30 September 2022.

Metode Penelitian

1. Data Penelitian

Data pada penelitian ini merupakan data Sekunder, yang berisikan informasi mengenai kasus aktif COVID-19 bulan 01 Januari 2022 hingga 30 September 2022 yang diperoleh dari situs pikobar.jabarprov.go.id/ yang diakses pada bulan Oktober 2022.

2. Analisis Klaster

Analisis klaster merupakan suatu teknik multivariat berupa pengelompokkan objek atau proses mempartisi menjadi kelompok-kelompok yang lebih kecil di mana setiap anggota kelompoknya memiliki kemiripan atau kedekatan. Jarak yang biasa digunakan untuk mengukur kemiripan antar objek dapat menggunakan jarak Euclidean. Definisi klaster yang baik adalah klaster yang memiliki homogenitas atau kesamaan yang tinggi antar anggotanya tetapi memiliki heterogenitas yang tinggi antar klaster yang satu dengan klaster yang lainnya. Terdapat dua metode dalam analisis klaster, yaitu hierarchial clustering dan non-hierarchial clustering.

Metode hierarki merupakan metode pengelompokkan data yang dimulai dengan mengelompokkan objek-objek yang memiliki kesamaan atau kemiripan paling dekat, kemudian dilanjutkan prosesnya ke objek lain yang memiliki kemiripan terdekat kedua, dan seterusnya. Hasil metode ini membentuk sebuah tingkatan atau hierarki seperti cabang yang berupa dendogram. Metode ini tidak dianjurkan untuk pengelompokkan jumlah observasi yang besar. Metode non-hierarki menjadi alternatif untuk pengaplikasian ke jumlah observasi yang besar. Metode ini sudah menentukkan banyak kelompok atau klaster terlebih dahulu sebelum dikelompokkan.

3. K-Medoids Clustering

K-medoids clustering atau sering disebut dengan metode PAM (Partitioning Around Medoid) merupakan salah satu metode pengelompokkan non-hierarki yang menggunakan suatu objek perwakilan sebagai pusat kelompok (medoid). Suatu medoid merupakan suatu objek di dalam klaster, dimana rata-rata jarak ketidakmiripan dengan objek lain pada klaster tersebut adalah paling kecil atau minimum. Teknik ini menghasilkan k klaster dari set data yang terdiri dari n objek, dengan jumlah klaster yang terbentuk ditentukan terlebih dahulu oleh peneliti. Metode k-medoids ini memiliki kelebihan, yaitu dapat menanggulangi permasalahan nilai outlier atau nilai yang sangat menyimpang dari distribusi data.

4. Jarak Dynamic Time Warping (DTW)

Data berfluktuasi dan bervariasi dari waktu ke waktu, sehingga metode pengklasteran tidak lagi dapat menggunakan jarak sederhana Euclidean untuk mengukur kedekatan antar objeknya. Jarak Euclidean ini cocok digunakan untuk fungsi data yang tidak berubah dari waktu ke waktu atau data statis. Sementara itu, dalam pembentukkan matriks kedekatan jarak antar objek pada data deret waktu juga dibutuhkan perhitungan jarak antar deret waktunya yang bersifat dinamis. Oleh karena itu, tindakan pengukuran alternatif yang dapat digunakan adalah Dynamic Time Warping (DTW).

Ukuran ini memungkinkan untuk melihat perbandingan antar waktu dengan berbagai panjang periode yang berbeda. DTW menggunakan teknik pemrogaman dinamis untuk menemukan semua jalur yang mungkin dan memilih salah satu jalur yang menghasilkan jarak minimum antara dua deret waktu, dimana jarak kumulatif setiap elemen matriks adalah nilai minimal dari tiga tetangga disekitarnya.

Matriks jarak memiliki ukuran m×n yang terbentuk dari dua data deret waktu, yaitu vektor A dengan m baris dan vektor B dengan n baris. Elemen-elemen dalam matriks jarak E adalah seluruh kemungkinan jarak antar kedua deret waktu yang kemudian akan dipilih nilai kumulatif minimum seperti pada persamaan 1.

\[ e_{ij}=d_{ij}+min⁡[e_{(i-1)(j-1)},e_{i-1},e_{i(j-1)}] \]

dimana: \(d_{ij}\) = \((a_i-b_j)^2\) \(e_{ij}\) : elemen (i, j)

5. Penentuan Banyak Klaster

Cara menentukan banyak klaster dalam metode klaster non-hierarki adalah dengan menggunakan nilai Psuedo F. Nilai Pseudo F tertinggi menunjukkan jumlah klaster yang digunakan, dimana keragaman dalam kelompok sehomogen mungkin sedangkan keragaman antar kelompok seheterogen mungkin.

Pseudo F=((R2/(k-1)))/(((1-R2)/(n-k)) )

6. Flow Analisis

Berikut adalah langkah-langkah pengelompokkan dengan k-medoids clustering dengan jarak Dynamic Time Warping. - Menentukkan pusat klaster atau medoid sebanyak k atau jumlah klaster. Pada penelitian ini, banyak klaster ditentukan berdasarkan nilai Pseudo-F yang optimum. - Menentukkan jarak DTW antara setiap objek dengan medoidnya. - Alokasikan objek ke klaster terdekat sesuai dengan jarak DTW terkecil. - Pilih acak salah satu objek pada masing-masing klaster sebagai kandidat medoid yang baru. - Hitung kembali jarak DTW antara setiap objek pada masing-masing klaster dengan medoid baru. - Menghitung simpangan (S) dengan menghitung total jarak baru – total jarak lama. Jika nilai S < 0 maka medoid sebelumnya diganti dengan medoid baru. - Ulangi langkah-langkah sebelumnya sampai didapatkan hasil akhir dari setiap klaster lengkap dengan anggotanya.

Analyst

Data Wrangling dan Eksplorasi Data

1. Import Library

#Library DTW
library(dtw)
library(clusterSim)
library(cluster)
library(fpc)
library(tidyverse)
library(factoextra)
library(dendextend)
library(kmed)
library(sf) # Read data map
library(plotly) # Interactive Plotting
library(lubridate)

2. Read Data

Data pada penelitian ini merupakan data Sekunder, yang berisikan informasi mengenai kasus aktif COVID-19 bulan 01 Januari 2022 hingga 30 September 2022 yang diperoleh dari situs pikobar.jabarprov.go.id/ yang diakses pada bulan Oktober 2022.

dataku <- read.csv("data_input/covid2022_per1000penduduk.csv", header=T, sep=",") #input
attach(dataku)

head(dataku)
dataku <- dataku %>% 
  mutate(tanggal = as.Date(tanggal))

str(dataku)
## 'data.frame':    273 obs. of  28 variables:
##  $ tanggal         : Date, format: "2022-01-01" "2022-01-02" ...
##  $ Bandung         : num  0.00633 0.00633 0.0055 0.00578 0.0044 ...
##  $ Bandung.Barat   : num  0.00281 0.00168 0.00112 0.00112 0.00112 ...
##  $ Bekasi          : num  0.00629 0.00728 0.00695 0.00662 0.00827 ...
##  $ Bogor           : num  0.00563 0.00469 0.00469 0.00469 0.00451 ...
##  $ Ciamis          : num  0 0 0 0 0 0 0 0 0 0 ...
##  $ Cianjur         : num  0.00041 0.00041 0.00041 0.00041 0 ...
##  $ Cirebon         : num  0.01564 0.00677 0.00592 0.00381 0.00423 ...
##  $ Garut           : num  0.00228 0.00228 0.00228 0.00304 0.00342 ...
##  $ Indramayu       : num  0.00106 0.00106 0.00106 0.00159 0.00212 ...
##  $ Karawang        : num  0.00208 0.00208 0.00249 0.00374 0.00415 ...
##  $ Kuningan        : num  0.00167 0.00167 0.00167 0.00167 0.00167 ...
##  $ Majalengka      : num  0.00529 0.00529 0.00453 0.00453 0.00453 ...
##  $ Pangandaran     : num  0 0 0 0 0 0 0 0 0 0 ...
##  $ Purwakarta      : num  0 0 0 0 0.000999 ...
##  $ Subang          : num  0.000626 0.000626 0.000626 0.000626 0.000626 ...
##  $ Sukabumi        : num  0.00185 0.00185 0.00185 0.00185 0.00185 ...
##  $ Sumedang        : num  0.00515 0.00429 0.00515 0.00515 0.00429 ...
##  $ Tasikmalaya     : num  0.00214 0.00214 0.00214 0.0075 0.0075 ...
##  $ Kota.Bandung    : num  0.0229 0.0237 0.0237 0.021 0.0214 ...
##  $ Kota.Banjar     : num  0 0 0 0 0 0 0 0 0 0 ...
##  $ Kota.Bekasi     : num  0.0077 0.00648 0.00527 0.00608 0.00486 ...
##  $ Kota.Bogor      : num  0.0403 0.0412 0.0421 0.0421 0.0403 ...
##  $ Kota.Cimahi     : num  0.371 0.371 0.373 0.373 0.373 ...
##  $ Kota.Cirebon    : num  0.0727 0.0757 0.0757 0.0757 0.0757 ...
##  $ Kota.Depok      : num  0.00951 0.00951 0.01004 0.01162 0.01215 ...
##  $ Kota.Sukabumi   : num  0.00283 0.00283 0.00283 0.00283 0.00283 ...
##  $ Kota.Tasikmalaya: num  0.00683 0.00683 0.0082 0.0082 0.0041 ...

Definisi Variabel:

  • tanggal: keterangan waktu dari 01 Januari 2022 hingga 30 September 2022.
  • kolom selain tanggal merupakan kasus aktif COVID-19 per1000 penduduk di masing-masing kabupaten/kota (nama kolom merupakan nama kabupaten/kota)

Kasus aktif sendiri dihitung dengan perhitungan sebagai berikut : \[ aktif = positif − sembuh − meninggal \]

summary(dataku)
##     tanggal              Bandung         Bandung.Barat          Bekasi        
##  Min.   :2022-01-01   Min.   :0.004404   Min.   :0.001123   Min.   :0.002316  
##  1st Qu.:2022-03-10   1st Qu.:0.024495   1st Qu.:0.015724   1st Qu.:0.014225  
##  Median :2022-05-17   Median :0.090548   Median :0.062333   Median :0.087337  
##  Mean   :2022-05-17   Mean   :0.368814   Mean   :0.254171   Mean   :0.484538  
##  3rd Qu.:2022-07-24   3rd Qu.:0.272469   3rd Qu.:0.142074   3rd Qu.:0.262341  
##  Max.   :2022-09-30   Max.   :3.326878   Max.   :2.284409   Max.   :5.269971  
##      Bogor              Ciamis             Cianjur             Cirebon         
##  Min.   :0.001502   Min.   :0.0000000   Min.   :-0.001641   Min.   :0.0004228  
##  1st Qu.:0.015581   1st Qu.:0.0007916   1st Qu.: 0.001231   1st Qu.:0.0038054  
##  Median :0.072459   Median :0.0055415   Median : 0.006973   Median :0.0169130  
##  Mean   :0.503835   Mean   :0.1348806   Mean   : 0.040396   Mean   :0.1105802  
##  3rd Qu.:0.219255   3rd Qu.:0.3150733   3rd Qu.: 0.022971   3rd Qu.:0.0372085  
##  Max.   :3.911299   Max.   :0.6261885   Max.   : 0.468038   Max.   :1.1560019  
##      Garut            Indramayu           Karawang           Kuningan       
##  Min.   :0.001522   Min.   :0.000000   Min.   :0.002077   Min.   :0.000000  
##  1st Qu.:0.004184   1st Qu.:0.003713   1st Qu.:0.014957   1st Qu.:0.005005  
##  Median :0.017119   Median :0.019096   Median :0.044456   Median :0.024191  
##  Mean   :0.126500   Mean   :0.201812   Mean   :0.380041   Mean   :0.116299  
##  3rd Qu.:0.035378   3rd Qu.:0.281672   3rd Qu.:0.111347   3rd Qu.:0.041708  
##  Max.   :1.169388   Max.   :1.479971   Max.   :3.246506   Max.   :1.139460  
##    Majalengka         Pangandaran         Purwakarta           Subang        
##  Min.   :0.0007554   Min.   :0.000000   Min.   :0.000000   Min.   :0.000000  
##  1st Qu.:0.0037769   1st Qu.:0.002312   1st Qu.:0.002996   1st Qu.:0.005012  
##  Median :0.0067983   Median :0.004623   Median :0.010985   Median :0.035710  
##  Mean   :0.0843248   Mean   :0.071668   Mean   :0.108115   Mean   :0.174788  
##  3rd Qu.:0.0287041   3rd Qu.:0.027739   3rd Qu.:0.024967   3rd Qu.:0.124673  
##  Max.   :0.7734992   Max.   :0.649562   Max.   :1.247331   Max.   :1.462868  
##     Sukabumi            Sumedang          Tasikmalaya         Kota.Bandung     
##  Min.   :0.0003691   Min.   :0.0008583   Min.   :0.0005359   Min.   : 0.01345  
##  1st Qu.:0.0047989   1st Qu.:0.0111583   1st Qu.:0.0032156   1st Qu.: 0.07674  
##  Median :0.0188264   Median :0.0420584   Median :0.0101828   Median : 0.36790  
##  Mean   :0.0863244   Mean   :0.2394722   Mean   :0.1873554   Mean   : 1.13720  
##  3rd Qu.:0.0332230   3rd Qu.:0.1098668   3rd Qu.:0.0214374   3rd Qu.: 0.78881  
##  Max.   :0.7648675   Max.   :1.9887610   Max.   :1.2669503   Max.   :10.00532  
##   Kota.Banjar        Kota.Bekasi          Kota.Bogor        Kota.Cimahi      
##  Min.   :0.000000   Min.   : 0.004861   Min.   : 0.01008   Min.   : 0.01962  
##  1st Qu.:0.004861   1st Qu.: 0.080212   1st Qu.: 0.07788   1st Qu.: 0.11413  
##  Median :0.009721   Median : 0.362576   Median : 0.46729   Median : 0.54214  
##  Mean   :0.324936   Mean   : 1.683229   Mean   : 1.58407   Mean   : 3.44248  
##  3rd Qu.:0.082632   3rd Qu.: 1.020074   3rd Qu.: 1.00513   3rd Qu.: 3.19931  
##  Max.   :3.096261   Max.   :14.641589   Max.   :10.99967   Max.   :16.39958  
##   Kota.Cirebon       Kota.Depok        Kota.Sukabumi      Kota.Tasikmalaya  
##  Min.   :0.00000   Min.   : 0.009507   Min.   :0.000000   Min.   :0.001367  
##  1st Qu.:0.03783   1st Qu.: 0.179579   1st Qu.:0.008483   1st Qu.:0.041006  
##  Median :0.15422   Median : 1.250184   Median :0.045245   Median :0.106615  
##  Mean   :1.48212   Mean   : 3.368084   Mean   :0.450595   Mean   :0.566064  
##  3rd Qu.:2.08632   3rd Qu.: 3.724672   3rd Qu.:0.118768   3rd Qu.:0.537174  
##  Max.   :7.63821   Max.   :24.239947   Max.   :5.225786   Max.   :5.010894

Insight : * Dari seluruh kabupaten/kota di Jawa Barat hampir seluruhnya memiliki median masih diangka 0 kecuali Kota Depok di angka 1, yang artinya perkembangan COVID-19 di Indonesia sudah sangat menurun dan membaik. * Kota Bandung, Kota Bekasi, Kota Bogor, Kota Cimahi, dan Kota Depok masih sempat mengalami kenaikan kasus aktif COVID-19 sebanyak 10 atau diatas 10 per 1000 penduduk. * Kasus di Kota cenderung lebih banyak dibandingkan kasus di Kabupaten.

Analisis Klaster Data Deret Waktu

Analisis klaster merupakan teknik dalam menemukan kelompok dalam kumpulan data dengan tujuan data yang berada pada satu kelompok mempunyai kemiripan yang dekat, dan memiliki perbedaan yang jelas dengan kelompok yang lain (Kauffman dan Rousseuw, 1990). Pengelompokan dilakukan atas dasar jarak kesamaan (similarities) atau ketidaksamaan (dissimilarities). Pengelompokan dapat menyediakan sarana informal untuk menilai dimensi, mengidentifikasi outlier, dan menyarankan hipotesis yang menarik mengenai hubungan (Johnson dan Wichern, 2007). Salah satu jarak yang sering digunakan dalam metode non-hirarki clustering yaitu jarak Euclidean. Meskipun jarak Euclidean populer dan sederhana, jarak tersebut tidak cocok untuk data rangkaian waktu karena jaraknya antara dua urutan dihitung dalam satu ke satu cara. Akibatnya, jarak Euclidean tidak berkelompok dengan baik karena pergeseran waktu di antara data sekuensial pada kelas yang sama (Niennattrakul dan Ratanamahatana, 2007). Jarak yang dapat digunakan untuk mengukur kedekatan dua deret waktu diantaranya yaitu jarak Dynamic Time Warping.

1. Dynamic Time Warping (DTW)

Pertama kali diperkenalkan pada tahun 60-an dan dieksplorasi secara ekstensif pada tahun 70-an dengan aplikasi untuk pengenalan ucapan, saat ini digunakan dengan banyak kegunaan seperti pengelompokan data deret waktu (Pavel, 2008). Algoritma Dynamic Time Warping (DTW) adalah teknik pemrograman dinamis untuk menemukan semua jalur yang mungkin, dan memilih salah satu yang menghasilkan jarak minimum antara dua deret waktu menggunakan matriks jarak, masing-masing elemen dalam matriks adalah jarak kumulatif nilai minimal dari tiga tetangga sekitarnya (Niennattrakul dan Ratanamahatana, 2007). Pada data deret waktu, dynamic time warping dapat membandingkan satu periode di suatu objek dengan beberapa periode di objek lainnya. Pada data perkembangan kasus aktif COVID-19 di Jawa Barat, terdapat data deret waktu yang terbagi sebanyak 27 Kota/Kabupaten yang akan ditentukan jarak minimum deret waktu antar kota/kabupaten. Algoritma dynamic time warping dapat digunakan untuk menentukan jarak dari dua deret waktu yang akan memudahkan dalam pengerjaannya serta efisien dalam segi waktu.

date <- dataku[,1]
data <- dataku[,2:28]
transpose_data <- data.frame(t(data))
colnames(transpose_data) <- date

dtw <- dist(transpose_data,method="DTW")
dtw <-as.matrix(dtw)

2. Penentuan Banyak Klaster

#pseudo F
a<-fastkmed(dtw,2)
b<-fastkmed(dtw,3)
c<-fastkmed(dtw,4)
d<-fastkmed(dtw,5)
index.G1(dtw,a$cluster)
## [1] 49.90696
index.G1(dtw,b$cluster)
## [1] 28.73752
index.G1(dtw,c$cluster)
## [1] 19.47624
index.G1(dtw,d$cluster)
## [1] 14.04531

2. K-Medoid Clustering

K-Medoids clustering atau Partitioning Around Medoids (PAM) adalah algoritma clustering yang mirip dengan K-Means. Algoritma yang digunakan dalam program PAM didasarkan pada pencarian objek perwakilan k di antara objek kumpulan data. Seperti yang dibangkitkan oleh nama mereka, benda-benda ini harus mewakili berbagai aspek struktur data. Pada analisis klaster objek perwakilan tersebut sering disebut tipe centroid. Pada algoritma K-Medoids, objek perwakilan disebut juga medoid dari kelompok (Kaufman dan Rousseeuw, 1987). K-Medoids memiliki kelebihan untuk mengatasi kelemahan pada pada algoritma K-Means yang sensitive terhadap noise dan outlier, yaitu dapat mengatasi objek dengan nilai yang sangat besar yang memungkinkan menyimpang pada dari distribusi data. Menurut Kauffman (1990), metode ini dapat dipilih karena lebih robust dari kebanyakan metode non hirarki clustering berdasarkan nilai minimum SSE-nya. Ketidaksamaan maksimal yang digunakan dalam metode k-center bahkan kurang kuat jika dibandingkan dengan K-Medoids. Maka metode K-Medoids akan digunakan pada penelitian ini dikarenakan kelebihannya dalam pengelompokan data.

hasil <- fastkmed(dtw,3)
hasil
## $cluster
##          Bandung    Bandung.Barat           Bekasi            Bogor 
##                2                1                2                2 
##           Ciamis          Cianjur          Cirebon            Garut 
##                1                1                1                1 
##        Indramayu         Karawang         Kuningan       Majalengka 
##                1                2                1                1 
##      Pangandaran       Purwakarta           Subang         Sukabumi 
##                1                1                1                1 
##         Sumedang      Tasikmalaya     Kota.Bandung      Kota.Banjar 
##                1                1                3                2 
##      Kota.Bekasi       Kota.Bogor      Kota.Cimahi     Kota.Cirebon 
##                3                3                3                2 
##       Kota.Depok    Kota.Sukabumi Kota.Tasikmalaya 
##                3                2                2 
## 
## $medoid
## [1] 14 26 21
## 
## $minimum_distance
## [1] 919.0187

Dari hasil diatas didapatkan bahwa jumlah kabupaten/kota di tiap klaster masing-masing adalah 14, 8, dan 5.

final  <-  data.frame(transpose_data[,-(1:273)], hasil$cluster)
final_df <- cbind(kab_kot = rownames(final), final)
rownames(final_df) <- 1:nrow(final_df)

final_df

Insight :

  • Klaster 1 berjumlah 14, yaitu: Bandung Barat, Ciamis, Cianjur, Cirebon, Garut, Indramayu, Kuningan, Majalengka, Pangandaran, Purwakarta, Subang, Sukabumi, Sumedang, dan Tasikmalaya.

  • Klaster 2 berjumlah 8, yaitu: Bandung, Bekasi, Bogor, Karawang, Kota Banjar, Kota Cirebon, Kota Sukabumi, dan Kota Tasikmalaya.

  • Klaster 3 berjumlah 5, yaitu: Kota Bandung, Kota Bekasi, Kota Bogor, Kota Cimahi, dan Kota Depok.

library(TSstudio)
## Warning: package 'TSstudio' was built under R version 4.2.2
cluster_1 <- dataku %>% 
  select(tanggal, Bandung.Barat, Ciamis, Cianjur, Cirebon, Garut, Indramayu, Kuningan, Majalengka, Pangandaran, Purwakarta, Subang, Sukabumi, Sumedang, Tasikmalaya)

cluster_2 <- dataku %>% 
  select(tanggal, Bandung, Bekasi, Bogor, Karawang, Kota.Banjar, Kota.Cirebon, Kota.Sukabumi, Kota.Tasikmalaya)

cluster_3 <- dataku %>% 
  select(tanggal, Kota.Bandung, Kota.Bekasi, Kota.Bogor, Kota.Cimahi, Kota.Depok)
ts_plot(cluster_1)

Insight:

  • Dari hasil plot yang ada dapat diketahui bahwa kabupaten/kota yang ada di kalster 1 memiliki lonjakan kasus covid-19 di bulan February-May dan bulan Agustus-September, dengan lonjakan kasus tertinggi di bulan Maret dengan jumlah kasus tertingginya 2-3 orang per1000 penduduk dalam 1 hari. (Kasus Aktif Tertinggi <= 3 orang)
ts_plot(cluster_2)

Insight:

  • Dari hasil plot yang ada dapat diketahui bahwa kabupaten/kota yang ada di kalster 2 memiliki lonjakan kasus covid-19 di bulan February-May dan bulan Agustus-September, dengan lonjakan kasus tertinggi di bulan Maret dengan jumlah kasus tertingginya 7-8 orang per1000 penduduk dalam 1 hari. (Kasus Aktif Tertinggi berada di antara 3 hingga 8 orang)
ts_plot(cluster_3)

Insight:

  • Dari hasil plot yang ada dapat diketahui bahwa kabupaten/kota yang ada di klaster 3 memiliki lonjakan kasus covid-19 di bulan February-May dan bulan Agustus-September, dengan lonjakan kasus tertinggi di bulan Maret dengan jumlah kasus tertingginya 24-25 orang per1000 penduduk dalam 1 hari. (Kasus Aktif Tertinggi => 10 orang)

Peta Penglasteran di Jawa Barat

jabar <- st_read("data_input/JABAR.shp")
## Reading layer `JABAR' from data source 
##   `E:\S44 Anugrah H\0. Job\Algoritma Data Science School\Project\Project 3 ver3\data_input\JABAR.shp' 
##   using driver `ESRI Shapefile'
## Simple feature collection with 27 features and 17 fields
## Geometry type: MULTIPOLYGON
## Dimension:     XY
## Bounding box:  xmin: 106.3705 ymin: -7.823398 xmax: 108.8338 ymax: -5.91377
## CRS:           NA
jabar
final_df <- final_df %>% 
  select(Wilayah = kab_kot, cluster = hasil.cluster) %>% 
  mutate(Wilayah = str_replace(Wilayah, "\\.", " "))

final_df
jabar$KABKOT <- str_to_title(jabar$KABKOT)

coordinat <- jabar %>% 
   select(Wilayah = KABKOT, x, y)
data_join <- coordinat %>% 
  left_join(y = final_df, key = "Wilayah")
## Joining, by = "Wilayah"

Pemetaan Provinsi berdasarkan hasil clustering

map_jabar <- ggplot(data = data_join, aes(text = paste0('Wilayah: ', Wilayah))) +
  geom_sf(aes(fill=cluster)) +
  scale_fill_gradient2(low = "green", high = "red", mid = "yellow", midpoint = 2) +
  geom_text(data = data_join, aes(x,y, label = Wilayah), size = 3, fontface = "bold", col = "navy") +
  theme_void() +
  labs(title = "Pemetaan Kasus Covid-19 Kabupaten Kota di Jawa Barat", 
       subtitle = "Menggunakan K-Medoid Cluster dengan Data Time Wrapping", 
       caption = "Update: Kasus Covid-19 bulan September") +
  theme(plot.title = element_text(hjust = 0.5), plot.subtitle = element_text(hjust = 0.5))

map_jabar

Insight :

Berdasarkan hasil persebaran diatas dapat diketahui bahwa :

  • Untuk tiap klaster dapat dikatakan anggota-nya menyebar, atau efek pengaruh wilayah terdekat tidak begitu berdampak.

  • Daerah perkotaan cenderung memiliki resiko lebih tinggi daripada daerah kabupaten, ditandai dengan jumlah kasusnya yang lebih banyak.

Kesimpulan

Dari hasil analisis dan pembahasan yang telah diuraikan sebelumnya, maka diperoleh kesimpulan sebagai berikut :

  1. Berdasarkan nilai Pseudo-F diperoleh jumlah klaster optimal untuk kasus ini adalah sebanyak 2, namun dikarenakan ingin mendapatkan data lebih detail akan dipilih k = 3, karena nilai Pseudo-F nya merupakan tertinggi kedua.

  2. Berdasarkan jumlah k tersebut, maka peng-klasteran dibuat kedalam 3 klaster. Hasil peng-klasteran menunjukan bahwa terdapat 14 kabupaten/kota pada klaster satu, 8 kabupaten/kota pada klaster dua, dan 5 kabupaten/kota pada klaster tiga. Rincian dari ke lima klaster adalah pada berikut :

  • Klaster 1, yaitu Bandung Barat, Ciamis, Cianjur, Cirebon, Garut, Indramayu, Kuningan, Majalengka, Pangandaran, Purwakarta, Subang, Sukabumi, Sumedang, dan Tasikmalaya, memiliki lonjakan kasus covid-19 di bulan February-May dan bulan Agustus-September, dengan lonjakan kasus tertinggi di bulan Maret dengan jumlah kasus tertingginya 2-3 orang per1000 penduduk dalam 1 hari. (Kasus Aktif Tertinggi <= 3 orang)

  • Klaster 2, yaitu Bandung, Bekasi, Bogor, Karawang, Kota Banjar, Kota Cirebon, Kota Sukabumi, dan Kota Tasikmalaya, memiliki lonjakan kasus covid-19 di bulan February-May dan bulan Agustus-September, dengan lonjakan kasus tertinggi di bulan Maret dengan jumlah kasus tertingginya 7-8 orang per1000 penduduk dalam 1 hari. (Kasus Aktif Tertinggi berada di antara 3 hingga 8 orang)

  • Klaster 3, yaitu Kota Bandung, Kota Bekasi, Kota Bogor, Kota Cimahi, dan Kota Depok, memiliki lonjakan kasus covid-19 di bulan February-May dan bulan Agustus-September, dengan lonjakan kasus tertinggi di bulan Maret dengan jumlah kasus tertingginya 24-25 orang per1000 penduduk dalam 1 hari. (Kasus Aktif Tertinggi => 10 orang)

  • Kasus Covid-19 cenderung lebih banyak terjadi di daerak perkotaan, hal ini mungkin disebabkan oleh kecilnya luas wilayah kota jika dibandingkan luas kabupaten sedangkan jumlah penduduk dikota bisa jadi lebih banyak dibandingkan jumlah penduduk dikabupaten.