Clustering adalah proses membagi informasi dalam sesuatu himpunan ke dalam sebagian kelompok yang kesamaan informasinya dalam sesuatu kelompok yang kesamaan informasinya dalam sesuatu kelompok lebih besar daripada kesamaan informasi tersebut dengan informasi dalam kelompok lain. Pada analisis ini, akan diterapkan metode K-Means clustering untuk mengelompokkan data Kesehatan Global tahun 2015 berdasarkan variabel-variabel terkait. Tujuannya adalah untuk mengidentifikasi dan membagi negara-negara menjadi k cluster berdasarkan atribut kesehatan yang diberikan.
library(cluster)
library(factoextra)
## Loading required package: ggplot2
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
library(readxl)
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
library(readr)
library(markdown)
library(knitr)
Pada proses ini, dilakukan pemuatan data, yaitu pengambilan data yang akan digunakan dari Github. Selain itu, dilakukan cleaning data, yaitu pemilihan variabel-variabel dari data yang akan digunakan untuk analisis. Berikut merupakan variabel-variabel yang akan digunakan dalam analisis clustering:
data1 = read.csv("https://raw.githubusercontent.com/AdiGunturW/adiguntur/main/data_case_method-dataset.csv")
data2 = data1 %>%
filter(Year == 2015) %>%
select(Country,
Infant_deaths,
Under_five_deaths,
Adult_mortality,
Incidents_HIV,
Thinness_ten_nineteen_years,
Thinness_five_nine_years
)
head(data2, 10)
## Country Infant_deaths Under_five_deaths Adult_mortality
## 1 Turkiye 11.1 13.0 105.8240
## 2 Spain 2.7 3.3 57.9025
## 3 Russian Federation 6.6 8.2 223.0000
## 4 Cameroon 57.0 88.0 340.1265
## 5 Gambia The 39.7 59.8 261.7065
## 6 Algeria 21.6 25.2 95.8155
## 7 Oman 9.6 11.2 89.1875
## 8 Madagascar 41.3 59.0 218.4575
## 9 Norway 2.2 2.7 53.8970
## 10 Vietnam 17.4 21.8 124.5470
## Incidents_HIV Thinness_ten_nineteen_years Thinness_five_nine_years
## 1 0.08 4.9 4.8
## 2 0.09 0.6 0.5
## 3 0.08 2.3 2.3
## 4 1.12 5.6 5.5
## 5 0.96 7.3 7.2
## 6 0.05 6.0 5.8
## 7 0.05 7.1 6.9
## 8 0.24 7.1 7.1
## 9 0.04 0.8 0.7
## 10 0.12 14.2 14.5
Proses ini merupakan proses mengubah variabel Country menjadi nama baris (rownames). Hal ini bertujuan agar data dapat dianalisis karena hanya kolom dengan variabel numerik saja yang dapat dianalisis.
# Menyimpan rownames asli
original_rownames = rownames(data2)
# Mengubah kolom "Country" menjadi rownames
Country = data2$Country
rownames(data2) = data2$Country
# Menghapus kolom "Country"
data2 = data2[, -1]
Pada tahap ini dilakukan analisis ringkasan lima angka untuk memberikan gambaran statistik tentang data Kesehatan Global tahun 2015 yang digunakan dalam analisis ini.
summary(data2)
## Infant_deaths Under_five_deaths Adult_mortality Incidents_HIV
## Min. : 1.80 Min. : 2.30 Min. : 49.38 Min. : 0.0100
## 1st Qu.: 6.65 1st Qu.: 7.85 1st Qu.: 90.79 1st Qu.: 0.0800
## Median :15.20 Median : 17.50 Median :146.52 Median : 0.1400
## Mean :23.56 Mean : 31.68 Mean :163.67 Mean : 0.6098
## 3rd Qu.:36.55 3rd Qu.: 49.95 3rd Qu.:215.65 3rd Qu.: 0.3700
## Max. :95.10 Max. :140.20 Max. :513.48 Max. :14.3000
## Thinness_ten_nineteen_years Thinness_five_nine_years
## Min. : 0.10 Min. : 0.100
## 1st Qu.: 1.50 1st Qu.: 1.500
## Median : 3.50 Median : 3.400
## Mean : 4.55 Mean : 4.594
## 3rd Qu.: 6.50 3rd Qu.: 6.450
## Max. :26.70 Max. :27.300
Pada tahap ini dilakukan standarisasi data. Langkah ini penting dalam clustering menggunakan metode K-means karena metode ini menggunakan jarak Euclidean untuk mengukur kesamaan antara titik data. Dengan melakukan standarisasi data, variabel-variabel akan memiliki rentang yang serupa dan berkontribusi secara seimbang dalam perhitungan jarak, menghasilkan hasil clustering yang lebih akurat.
data = scale(data2)
head(data)
## Infant_deaths Under_five_deaths Adult_mortality
## Turkiye -0.57980940 -0.5798303 -0.6430316
## Spain -0.97073421 -0.8809126 -1.1757622
## Russian Federation -0.78923341 -0.7288195 0.6595829
## Cameroon 1.55631545 1.7481263 1.9616472
## Gambia The 0.75119650 0.8728147 1.0898728
## Algeria -0.09115339 -0.2011493 -0.7542935
## Incidents_HIV Thinness_ten_nineteen_years
## Turkiye -0.3267567 0.08510204
## Spain -0.3205888 -0.95960358
## Russian Federation -0.3267567 -0.54658042
## Cameroon 0.3146967 0.25517040
## Gambia The 0.2160115 0.66819355
## Algeria -0.3452601 0.35235232
## Thinness_five_nine_years
## Turkiye 0.04913431
## Spain -0.97576220
## Russian Federation -0.54673575
## Cameroon 0.21597793
## Gambia The 0.62116958
## Algeria 0.28748234
Proses validasi ini memastikan bahwa standarisasi telah dilakukan dengan benar dan memberikan hasil yang memadai, sehingga memastikan kualitas clustering yang lebih akurat dan dapat diandalkan.
summary(data)
## Infant_deaths Under_five_deaths Adult_mortality Incidents_HIV
## Min. :-1.0126 Min. :-0.9120 Min. :-1.2705 Min. :-0.3699
## 1st Qu.:-0.7869 1st Qu.:-0.7397 1st Qu.:-0.8102 1st Qu.:-0.3268
## Median :-0.3890 Median :-0.4402 Median :-0.1906 Median :-0.2898
## Mean : 0.0000 Mean : 0.0000 Mean : 0.0000 Mean : 0.0000
## 3rd Qu.: 0.6046 3rd Qu.: 0.5671 3rd Qu.: 0.5779 3rd Qu.:-0.1479
## Max. : 3.3294 Max. : 3.3684 Max. : 3.8887 Max. : 8.4439
## Thinness_ten_nineteen_years Thinness_five_nine_years
## Min. :-1.0811 Min. :-1.0711
## 1st Qu.:-0.7409 1st Qu.:-0.7374
## Median :-0.2550 Median :-0.2846
## Mean : 0.0000 Mean : 0.0000
## 3rd Qu.: 0.4738 3rd Qu.: 0.4424
## Max. : 5.3815 Max. : 5.4120
Pada tahap ini, digunakan metode Silhouette dalam pemilihan jumlah cluster yang optimal. Metode Silhouette (silhouette analysis) dalam K-means clustering digunakan untuk mengevaluasi kualitas dan kecocokan kluster yang dihasilkan oleh algoritma K-means. Metode ini mengukur sejauh mana setiap titik data cocok dalam cluster tempatnya ditempatkan. Berikut ini adalah plot grafik metode Silhouette.
fviz_nbclust(data, kmeans, method = "silhouette")
Plot di atas menunjukkan adanya titik-titik vertikal pada k = 3. Dari hasil tersebut dapat disimpulkan bahwa jumlah cluster yang optimal untuk clustering data Kesehatan Global Tahun 2015 dengan menggunakan metode Silhouette adalah 3 cluster.
Berikut adalah profil setiap cluster yang terbentuk berdasarkan variabel infant_deaths, under_five_deaths, adult_mortality, incidents_HIV, thinness_ten_nineteen_years, dan thinness_five_nine_years.
Tingkat kesehatan tinggi:
Tingkat kesehatan menengah:
Tingkat kesehatan rendah:
k = 3
set.seed(123)
kmeans_result = kmeans(data, centers = k)
kmeans_result
## K-means clustering with 3 clusters of sizes 122, 11, 46
##
## Cluster means:
## Infant_deaths Under_five_deaths Adult_mortality Incidents_HIV
## 1 -0.5539461 -0.5535994 -0.50294492 -0.2686679
## 2 0.4190796 0.2858874 -0.02273854 -0.3121782
## 3 1.3689467 1.3998775 1.33933487 0.7872053
## Thinness_ten_nineteen_years Thinness_five_nine_years
## 1 -0.4603514 -0.4597973
## 2 2.9011690 2.8941430
## 3 0.5271741 0.5273848
##
## Clustering vector:
## Turkiye Spain
## 1 1
## Russian Federation Cameroon
## 1 3
## Gambia The Algeria
## 3 1
## Oman Madagascar
## 1 3
## Norway Vietnam
## 1 2
## Eswatini Botswana
## 3 3
## Latvia Nepal
## 1 2
## Congo Dem. Rep. Belarus
## 3 1
## Angola Ukraine
## 3 1
## Costa Rica Israel
## 1 1
## New Zealand Chad
## 1 3
## Solomon Islands Iraq
## 1 1
## Guinea-Bissau Honduras
## 3 1
## Guinea Sweden
## 3 1
## Indonesia Dominican Republic
## 1 1
## Mexico Czechia
## 1 1
## Benin St. Vincent and the Grenadines
## 3 1
## Kiribati Brazil
## 1 1
## Guyana China
## 1 1
## Eritrea Kuwait
## 3 1
## Canada Grenada
## 1 1
## Albania Lesotho
## 1 3
## Saudi Arabia India
## 1 2
## Lithuania Turkmenistan
## 1 1
## Antigua and Barbuda Malawi
## 1 3
## Myanmar Seychelles
## 2 1
## Netherlands Burundi
## 1 3
## Mozambique Bulgaria
## 3 1
## Sierra Leone Syrian Arab Republic
## 3 1
## El Salvador Panama
## 1 1
## Jordan Tanzania
## 1 3
## Gabon Azerbaijan
## 3 1
## Nigeria Thailand
## 3 1
## Mongolia Portugal
## 1 1
## Maldives Comoros
## 2 3
## Trinidad and Tobago United Arab Emirates
## 1 1
## Uganda Sao Tome and Principe
## 3 1
## Pakistan Ghana
## 2 3
## Finland Afghanistan
## 1 2
## Belize Lebanon
## 1 1
## Slovenia Jamaica
## 1 1
## Belgium Equatorial Guinea
## 1 3
## Barbados Japan
## 1 1
## North Macedonia Morocco
## 1 1
## Slovak Republic Senegal
## 1 3
## St. Lucia Colombia
## 1 1
## Tajikistan Austria
## 1 1
## Moldova Congo Rep.
## 1 3
## Namibia Zimbabwe
## 3 3
## Malta Kenya
## 1 3
## Montenegro Greece
## 1 1
## Bolivia Ireland
## 1 1
## Croatia Kyrgyz Republic
## 1 1
## Switzerland Guatemala
## 1 1
## Qatar Mauritania
## 1 3
## Yemen Rep. Zambia
## 2 3
## Kazakhstan Serbia
## 1 1
## Paraguay Micronesia Fed. Sts.
## 1 1
## Bosnia and Herzegovina Brunei Darussalam
## 1 1
## United Kingdom Niger
## 1 3
## Armenia Bangladesh
## 1 2
## Somalia Uzbekistan
## 3 1
## Uruguay Chile
## 1 1
## Germany Liberia
## 1 3
## Denmark Rwanda
## 1 3
## Mauritius Papua New Guinea
## 1 1
## Singapore Iran Islamic Rep.
## 1 1
## Poland Italy
## 1 1
## Cuba Peru
## 1 1
## Vanuatu Cambodia
## 1 1
## Hungary Central African Republic
## 1 3
## Australia Egypt Arab Rep.
## 1 1
## Georgia Bahamas The
## 1 1
## Suriname Luxembourg
## 1 1
## Libya United States
## 1 1
## Argentina Bhutan
## 1 2
## Cyprus Cabo Verde
## 1 1
## Lao PDR Iceland
## 3 1
## Togo Estonia
## 3 1
## Philippines Romania
## 1 1
## Haiti Cote d'Ivoire
## 3 3
## Burkina Faso Ecuador
## 3 1
## Timor-Leste Fiji
## 3 1
## Mali Samoa
## 3 1
## Sri Lanka Ethiopia
## 2 3
## France Malaysia
## 1 1
## Tonga South Africa
## 1 3
## Tunisia Venezuela RB
## 1 1
## Djibouti Nicaragua
## 3 1
## Bahrain
## 1
##
## Within cluster sum of squares by cluster:
## [1] 129.60057 33.17701 237.50411
## (between_SS / total_SS = 62.5 %)
##
## Available components:
##
## [1] "cluster" "centers" "totss" "withinss" "tot.withinss"
## [6] "betweenss" "size" "iter" "ifault"
Dari clustering yang sudah dilakukan dengan bantuan software Rstudio menggunakan metode K-means dengan k = 3 pada data, didapatkan output dengan tulisan “K-means clustering with 3 clusters of sizes 122, 11, 46.” yang artinya, cluster pertama terdiri dari 122 negara dengan tingkat kesehatan tinggi, cluster dua terdiri dari 11 negara dengan tingkat kesehatan menengah, dan cluster ketiga terdiri dari 46 negara dengan tingkat kesehatan rendah.
fviz_cluster(kmeans_result, data = data)
Hasil cluster plot di atas menunjukkan bahwa cluster pertama ditandai dengan warna merah, cluster kedua ditandai dengan warna hijau, dan cluster ketiga ditandai dengan warna biru. Titik-titik pada gambar mewakili negara-negara yang merupakan anggota dari masing-masing klaster. Dari plot klaster tersebut, dapat dilihat bahwa cluster pertama memiliki jumlah titik yang lebih banyak dibandingkan dengan cluster kedua dan ketiga yang masing-masing ditandai dengan warna hijau dan biru. Klaster pertama ini terdiri dari negara-negara dengan tingkat kesehatan tinggi, sementara klaster kedua terdiri dari negara-negara dengan tingkat kesehatan menengah, dan klaster ketiga terdiri dari negara-negara dengan tingkat kesehatan rendah.
Tahap ini merupakan tahap akhir dari clustering menggunakan metode K-Means. Pada tahap ini, dilakukan penggabungan data mentah dan hasil analisis yang telah dilakukan pada tahap sebelumnya menjadi satu tabel. Berikut merupakan hasil akhir clustering menggunakan metode K-means dengan jumlah cluster sebanyak 3.
Cluster = kmeans_result$cluster
hasil = data.frame(Country ,Cluster)
rownames(hasil) = NULL
hasil = hasil[order(hasil$Cluster),]
hasil
## Country Cluster
## 1 Turkiye 1
## 2 Spain 1
## 3 Russian Federation 1
## 6 Algeria 1
## 7 Oman 1
## 9 Norway 1
## 13 Latvia 1
## 16 Belarus 1
## 18 Ukraine 1
## 19 Costa Rica 1
## 20 Israel 1
## 21 New Zealand 1
## 23 Solomon Islands 1
## 24 Iraq 1
## 26 Honduras 1
## 28 Sweden 1
## 29 Indonesia 1
## 30 Dominican Republic 1
## 31 Mexico 1
## 32 Czechia 1
## 34 St. Vincent and the Grenadines 1
## 35 Kiribati 1
## 36 Brazil 1
## 37 Guyana 1
## 38 China 1
## 40 Kuwait 1
## 41 Canada 1
## 42 Grenada 1
## 43 Albania 1
## 45 Saudi Arabia 1
## 47 Lithuania 1
## 48 Turkmenistan 1
## 49 Antigua and Barbuda 1
## 52 Seychelles 1
## 53 Netherlands 1
## 56 Bulgaria 1
## 58 Syrian Arab Republic 1
## 59 El Salvador 1
## 60 Panama 1
## 61 Jordan 1
## 64 Azerbaijan 1
## 66 Thailand 1
## 67 Mongolia 1
## 68 Portugal 1
## 71 Trinidad and Tobago 1
## 72 United Arab Emirates 1
## 74 Sao Tome and Principe 1
## 77 Finland 1
## 79 Belize 1
## 80 Lebanon 1
## 81 Slovenia 1
## 82 Jamaica 1
## 83 Belgium 1
## 85 Barbados 1
## 86 Japan 1
## 87 North Macedonia 1
## 88 Morocco 1
## 89 Slovak Republic 1
## 91 St. Lucia 1
## 92 Colombia 1
## 93 Tajikistan 1
## 94 Austria 1
## 95 Moldova 1
## 99 Malta 1
## 101 Montenegro 1
## 102 Greece 1
## 103 Bolivia 1
## 104 Ireland 1
## 105 Croatia 1
## 106 Kyrgyz Republic 1
## 107 Switzerland 1
## 108 Guatemala 1
## 109 Qatar 1
## 113 Kazakhstan 1
## 114 Serbia 1
## 115 Paraguay 1
## 116 Micronesia Fed. Sts. 1
## 117 Bosnia and Herzegovina 1
## 118 Brunei Darussalam 1
## 119 United Kingdom 1
## 121 Armenia 1
## 124 Uzbekistan 1
## 125 Uruguay 1
## 126 Chile 1
## 127 Germany 1
## 129 Denmark 1
## 131 Mauritius 1
## 132 Papua New Guinea 1
## 133 Singapore 1
## 134 Iran Islamic Rep. 1
## 135 Poland 1
## 136 Italy 1
## 137 Cuba 1
## 138 Peru 1
## 139 Vanuatu 1
## 140 Cambodia 1
## 141 Hungary 1
## 143 Australia 1
## 144 Egypt Arab Rep. 1
## 145 Georgia 1
## 146 Bahamas The 1
## 147 Suriname 1
## 148 Luxembourg 1
## 149 Libya 1
## 150 United States 1
## 151 Argentina 1
## 153 Cyprus 1
## 154 Cabo Verde 1
## 156 Iceland 1
## 158 Estonia 1
## 159 Philippines 1
## 160 Romania 1
## 164 Ecuador 1
## 166 Fiji 1
## 168 Samoa 1
## 171 France 1
## 172 Malaysia 1
## 173 Tonga 1
## 175 Tunisia 1
## 176 Venezuela RB 1
## 178 Nicaragua 1
## 179 Bahrain 1
## 10 Vietnam 2
## 14 Nepal 2
## 46 India 2
## 51 Myanmar 2
## 69 Maldives 2
## 75 Pakistan 2
## 78 Afghanistan 2
## 111 Yemen Rep. 2
## 122 Bangladesh 2
## 152 Bhutan 2
## 169 Sri Lanka 2
## 4 Cameroon 3
## 5 Gambia The 3
## 8 Madagascar 3
## 11 Eswatini 3
## 12 Botswana 3
## 15 Congo Dem. Rep. 3
## 17 Angola 3
## 22 Chad 3
## 25 Guinea-Bissau 3
## 27 Guinea 3
## 33 Benin 3
## 39 Eritrea 3
## 44 Lesotho 3
## 50 Malawi 3
## 54 Burundi 3
## 55 Mozambique 3
## 57 Sierra Leone 3
## 62 Tanzania 3
## 63 Gabon 3
## 65 Nigeria 3
## 70 Comoros 3
## 73 Uganda 3
## 76 Ghana 3
## 84 Equatorial Guinea 3
## 90 Senegal 3
## 96 Congo Rep. 3
## 97 Namibia 3
## 98 Zimbabwe 3
## 100 Kenya 3
## 110 Mauritania 3
## 112 Zambia 3
## 120 Niger 3
## 123 Somalia 3
## 128 Liberia 3
## 130 Rwanda 3
## 142 Central African Republic 3
## 155 Lao PDR 3
## 157 Togo 3
## 161 Haiti 3
## 162 Cote d'Ivoire 3
## 163 Burkina Faso 3
## 165 Timor-Leste 3
## 167 Mali 3
## 170 Ethiopia 3
## 174 South Africa 3
## 177 Djibouti 3
Dari hasil di atas, dapat diambil kesimpulan bahwa :
Cluster 1 (Negara dengan tingkat kesehatan tinggi)
hasil1 = hasil %>%
filter(Cluster == 1) %>%
select(Country
)
hasil1 = paste(hasil1$Country, collapse = ", ")
cat(hasil1)
## Turkiye, Spain, Russian Federation, Algeria, Oman, Norway, Latvia, Belarus, Ukraine, Costa Rica, Israel, New Zealand, Solomon Islands, Iraq, Honduras, Sweden, Indonesia, Dominican Republic, Mexico, Czechia, St. Vincent and the Grenadines, Kiribati, Brazil, Guyana, China, Kuwait, Canada, Grenada, Albania, Saudi Arabia, Lithuania, Turkmenistan, Antigua and Barbuda, Seychelles, Netherlands, Bulgaria, Syrian Arab Republic, El Salvador, Panama, Jordan, Azerbaijan, Thailand, Mongolia, Portugal, Trinidad and Tobago, United Arab Emirates, Sao Tome and Principe, Finland, Belize, Lebanon, Slovenia, Jamaica, Belgium, Barbados, Japan, North Macedonia, Morocco, Slovak Republic, St. Lucia, Colombia, Tajikistan, Austria, Moldova, Malta, Montenegro, Greece, Bolivia, Ireland, Croatia, Kyrgyz Republic, Switzerland, Guatemala, Qatar, Kazakhstan, Serbia, Paraguay, Micronesia Fed. Sts., Bosnia and Herzegovina, Brunei Darussalam, United Kingdom, Armenia, Uzbekistan, Uruguay, Chile, Germany, Denmark, Mauritius, Papua New Guinea, Singapore, Iran Islamic Rep., Poland, Italy, Cuba, Peru, Vanuatu, Cambodia, Hungary, Australia, Egypt Arab Rep., Georgia, Bahamas The, Suriname, Luxembourg, Libya, United States, Argentina, Cyprus, Cabo Verde, Iceland, Estonia, Philippines, Romania, Ecuador, Fiji, Samoa, France, Malaysia, Tonga, Tunisia, Venezuela RB, Nicaragua, Bahrain
Cluster 2 (Negara dengan tingkat kesehatan menengah)
hasil2 = hasil %>%
filter(Cluster == 2) %>%
select(Country
)
hasil2 = paste(hasil2$Country, collapse = ", ")
cat(hasil2)
## Vietnam, Nepal, India, Myanmar, Maldives, Pakistan, Afghanistan, Yemen Rep., Bangladesh, Bhutan, Sri Lanka
Cluster 3 (Negara dengan tingkat kesehatan rendah)
hasil3 = hasil %>%
filter(Cluster == 3) %>%
select(Country
)
hasil3 = paste(hasil3$Country, collapse = ", ")
cat(hasil3)
## Cameroon, Gambia The, Madagascar, Eswatini, Botswana, Congo Dem. Rep., Angola, Chad, Guinea-Bissau, Guinea, Benin, Eritrea, Lesotho, Malawi, Burundi, Mozambique, Sierra Leone, Tanzania, Gabon, Nigeria, Comoros, Uganda, Ghana, Equatorial Guinea, Senegal, Congo Rep., Namibia, Zimbabwe, Kenya, Mauritania, Zambia, Niger, Somalia, Liberia, Rwanda, Central African Republic, Lao PDR, Togo, Haiti, Cote d'Ivoire, Burkina Faso, Timor-Leste, Mali, Ethiopia, South Africa, Djibouti
Berdasarkan analisis clustering menggunakan metode K-Means dengan variabel infant_deaths, under_five_deaths, adult_mortality, incidents_HIV, thinness_ten_nineteen_years, dan thinness_five_nine_years yang dilakukan sebelumnya, beberapa insight yang dapat diambil adalah sebagai berikut:
Berdasarkan hasil analisis di atas, kesimpulan yang dapat diambil adalah sebagai berikut:
Dengan demikian, kesimpulan dari analisis clustering ini memberikan wawasan penting tentang ketimpangan kesehatan global dan memberikan landasan untuk tindakan lanjutan dalam meningkatkan kondisi kesehatan di negara-negara yang membutuhkan.
Berdasarkan kesimpulan di atas, saran yang dapat diberikan dapat mencakup: