Segmentasi Tingkat Kesejahteraan Kabupaten di Sulawesi Berdasarkan Indikator Sosial Ekonomi
Pemerintah ingin mengelompokkan kabupaten berdasarkan kondisi kesejahteraan untuk menentukan kebijakan yang tepat sasaran. Variabel yang digunakan:
Kemiskinan (%)
Pengangguran (%)
IPM
Pengeluaran per kapita (juta rupiah)
data <- read.csv("D:/Youtube/Clustering/K-means.csv")
head(data)
## X daerah kemiskinan pengangguran ipm pengeluaran
## 1 1 Kepulauan Selayar 18 7 65 7
## 2 2 Bulukumba 16 6 67 8
## 3 3 Bantaeng 14 5 69 9
## 4 4 Jeneponto 20 8 63 6
## 5 5 Takalar 17 6 66 7
## 6 6 Gowa 12 5 72 10
data_scaled <- scale(data[,3:6])
wss <- numeric(10)
for(i in 1:10){
km <- kmeans(data_scaled, centers = i, nstart = 25)
wss[i] <- km$tot.withinss
}
plot(1:10, wss, type="b", pch=19,
xlab="Jumlah Cluster",
ylab="Total Within Sum of Squares")
Berdasarkan metode elbow pada grafik tersebut, jumlah klaster optimal yang disarankan adalah 3, karena setelah titik tersebut penurunan nilai Total Within Sum of Squares mulai melandai secara signifikan.
library(cluster)
sil <- silhouette(km$cluster, dist(data_scaled))
head(sil)
## cluster neighbor sil_width
## [1,] 1 10 0.6935360
## [2,] 5 10 0.5198587
## [3,] 6 2 0.3980073
## [4,] 9 1 0.0000000
## [5,] 10 5 0.6685811
## [6,] 4 6 0.5576499
Berdasarkan data silhouette width yang disajikan, observasi pertama memiliki struktur klaster paling kuat dengan nilai 0.6935360
set.seed(123)
kmeans_result <- kmeans(data_scaled, centers = 3, nstart = 25)
kmeans_result
## K-means clustering with 3 clusters of sizes 10, 3, 11
##
## Cluster means:
## kemiskinan pengangguran ipm pengeluaran
## 1 0.8979224 0.9661478 -0.8666543 -0.8448851
## 2 -1.8225157 -1.4814266 2.0256121 2.0158047
## 3 -0.3192433 -0.4742907 0.2354279 0.2183124
##
## Clustering vector:
## [1] 1 1 3 1 1 3 1 3 3 3 1 3 3 3 3 3 1 1 1 1 3 2 2 2
##
## Within cluster sum of squares by cluster:
## [1] 6.263595 1.657911 6.254443
## (between_SS / total_SS = 84.6 %)
##
## Available components:
##
## [1] "cluster" "centers" "totss" "withinss" "tot.withinss"
## [6] "betweenss" "size" "iter" "ifault"
data$cluster <- kmeans_result$cluster
data
## X daerah kemiskinan pengangguran ipm pengeluaran cluster
## 1 1 Kepulauan Selayar 18 7 65 7 1
## 2 2 Bulukumba 16 6 67 8 1
## 3 3 Bantaeng 14 5 69 9 3
## 4 4 Jeneponto 20 8 63 6 1
## 5 5 Takalar 17 6 66 7 1
## 6 6 Gowa 12 5 72 10 3
## 7 7 Sinjai 15 6 68 8 1
## 8 8 Maros 11 4 73 11 3
## 9 9 Pangkep 13 5 71 10 3
## 10 10 Barru 14 5 70 9 3
## 11 11 Bone 16 6 68 8 1
## 12 12 Soppeng 13 5 71 9 3
## 13 13 Wajo 14 5 70 9 3
## 14 14 Sidenreng Rappang 12 4 72 10 3
## 15 15 Pinrang 11 4 73 11 3
## 16 16 Enrekang 15 5 69 8 3
## 17 17 Luwu 17 6 67 7 1
## 18 18 Tana Toraja 19 7 64 6 1
## 19 19 Toraja Utara 18 7 65 7 1
## 20 20 Luwu Utara 16 6 66 8 1
## 21 21 Luwu Timur 10 4 74 11 3
## 22 22 Makassar 5 3 82 15 2
## 23 23 Parepare 7 3 80 14 2
## 24 24 Palopo 9 4 78 13 2
pca <- prcomp(data_scaled, center = TRUE, scale. = TRUE)
pca_data <- as.data.frame(pca$x)
# tambahkan cluster & label daerah
pca_data$cluster <- factor(data$cluster)
pca_data$daerah <- data$daerah
library(ggplot2)
ggplot(pca_data, aes(x = PC1, y = PC2, color = cluster)) +
geom_point(size = 4) +
geom_text(aes(label = daerah), vjust = -1, size = 3) +
labs(
title = "Visualisasi Clustering K-Means Berbasis PCA",
x = "Principal Component 1",
y = "Principal Component 2",
color = "Cluster"
) +
theme_minimal()
aggregate(data[,3:6], by = list(cluster = data$cluster), mean)
## cluster kemiskinan pengangguran ipm pengeluaran
## 1 1 17.20000 6.500000 65.90000 7.200000
## 2 2 7.00000 3.333333 80.00000 14.000000
## 3 3 12.63636 4.636364 71.27273 9.727273
Klaster 1 (Menengah): Wilayah dengan tingkat kemiskinan (17,2%) dan pengangguran (6,5%) yang relatif moderat, didukung oleh indeks pembangunan manusia (65,9) dan rata-rata pengeluaran (7,2) di tingkat menengah.
Klaster 2 (Unggul): Wilayah dengan performa ekonomi terbaik yang ditandai dengan tingkat kemiskinan terendah (7,0%), angka pengangguran paling minim (3,3%), serta kualitas hidup (IPM 80,0) dan daya beli (pengeluaran 14,0) yang paling tinggi.
Klaster 3 (Tertinggal): Wilayah yang menghadapi tantangan ekonomi cukup besar dengan tingkat kemiskinan (12,6%) dan pengangguran (4,6%) yang lebih tinggi dibanding klaster 2, serta memiliki capaian IPM (71,2) dan tingkat pengeluaran (9,7) di bawah rata-rata klaster unggul.