Library:
> # install.packages("knitr")
> # install.packages("rmarkdown")
> # install.packages("prettydoc")
> # install.packages("equatiomatic")\[KMO = \frac {\sum_{i=1}^{n} \sum_{j≠1} r_{ij}^2} {\sum_{i=1}^{n} \sum_{j≠1}^{n} + \ sum_{i=1}^{n} \sum_{j≠1}^{n} a_{ij}^2}\] Keterangan: \(a_{ij} : - \frac {v_{ij}} {\sqrt{v_{ii}v{jj}}}\)
n : banyaknya variabel
\(r_{ij}\) : korelasi antar variabel \(x_{i}\) dan \(x_{j}\)
\(a_{ij}\) : korelasi parsial antara \(x_{i}\) dan \(x_{j}\) \(v_{ij}\) : invers matriks korelasi antara \(x_{i}\) dan \(x_{j}\)
Jika nilai uji KMO menunjukkan sebesar 0.5 sampai 1, maka sampel dikatakan telah representatif atau mewakili populasi.
independent menunjukkan nilai lebih dari 0.8 maka dikataka telah terjadi masalah multikolinearitas. Sebaliknya abila koefisien korelasi menunjukkan nilai kurang dari 0.8 maka model tidak mengalami masalah multikolinearitas atau telah memenuhi asumsi non-multikolinearitas.
Diketahui \(x^{'} = \left[x_{1}, x_{2}, \dots, x_{p} \right]\) dan \(x^{'} = \left[y_{1}, y_{2}, \dots, y_{p} \right]\) maka rumus jarak sebagai berikut: \[d(x,y) = \sqrt {(x_{1} - y_{1})^2 + (x_{2} - y_{2})^2 + \dots + (x_{p} - y_{p})^2}\] \[d(x,y) = \sqrt {(x_{1} - y_{1})^{'} (x - y)}\] Keterangan:
\(d(x,y)\) : jarak Euclidean antara objek ke \(x\) dan objek ke \(y\)
\(x\) : nilai data dari objek ke \(x\)
\(y\) : nilai data dari objek ke \(y\)
\[Z = \frac {X_{i} - \overline{X}} {\sigma}\] Keterangan :
\(x_{i}\) : data ke-1
\(\overline{x}\) : rata-rata data
\(\sigma\) : simpangan baku
\[r_{coph} = \frac {\sum_{i<j}(d_{ij}-\overline{d})(d_{cij}-\overline{d}_{c})} {\sqrt{ [\sum_{i<j}(d_{ij}-\overline{d})^2][\sum_{i<j}(d_{cij}-\overline{d}_{c})^2]}}\] Keterangan :
\(r_{coph}\) : koefisien korelasi cophenetic
\(d_{ij}\) : jarak Squared Euclidean antara objek i dan j
\(\overline{d}\) : rata-rata jarak Squared Euclidean antara objek i dan j
\[d_{(ij)k} = average(d_{ik},d_{jk})\] Keterangan :
\(d_{(ij)k}\) : jarak antar kelompok \((i,j)\) dan \(k\)
\(d_{ik}\) : jarak rata-rata antara kelompok \(i\) dengan \(k\)
\(d_{jk}\) : jarak rata-rata antara kelompok \(j\) dengan \(k\)
Indeks Connectivity
Rumus perhitungan indeks connectivity didefinisikan sebagai berikut: \[Conn(C) = \sum_{i=1}^{N} \sum_{j=1}^{L} X_{i,nni(j)}\] Keterangan :
\(Conn(C)\) : indeks Connectivity
\(nni(j)\) : pengamatan tetangga terdekat \(i\) ke \(j\) dan \(L\)
\(N\) : banyak pengamatan
\(L\) : banyak cluster
Semakin kecil nilai indeks Connectivity maka diindikasikan banyak cluster yang terbentuk lebih baik atau optimal (Halim & Widodo, 2017).
Indeks Silhoutte
Indeks Silhoutte dapat dihitung dengan rumus sebagai berikut: \[S(i) = \frac {b(i) - a(i)} {max\{a(i),b(i)\}}\] Keterangan :
\(S(i)\) : indeks Silhoutte
\(a(i)\) : rata-rata kemiripan antara objek ke \(i\) dengan objek lain di dalam clusternya
\(b(i)\) : nilai minimum dari rata-rata kemiripan antara objek ke \(i\) dengan objek lain di luar \(cluster\)
Indeks ini mengukur derajat kepercayaan dalam proses clustering pada pengamatan tertentu dengan cluster yang dikatakan terbentuk baik bila nilai indeks mendekati 1 dan sebaliknya jika nilai indeks mendekati -1.
Indeks Dunn
Indeks dunn adalah rasio jarak terkecil antara observasi pada cluster yang berbeda dengan jarak terbesar pada masing cluster data. Rumus perhitungan indeks dunn didefinisikan sebagai berikut: \[C = \frac {d_{min}} {d_{max}}\] Keterangan :
\(d_{min}\) : jarak terkecil antara obsevasi pada cluster yang berbeda
\(d_{max}\) : jarak terbesar pada masing-masing cluster
> # Library
> library(psych)
> library(GPArotation)
> library(clValid)
> library(ggplot2)
> library(cluster)
> library(factoextra)
> library(tidyverse)
> library(car)Sebelum melakukan analisis perlu mengaktifkan packages yang dibutuhkan terlebih dahulu untuk support proses analisis.
> data <- read.csv("D:/Komstat/data1.csv", header = TRUE)
> data
PROVINSI PRES.PEND.MISKIN JML.CERAI JML.KOTA IPM
1 ACEH 15.43 4171 5 71.99
2 SUMATERA UTARA 9.14 12809 8 71.77
3 SUMATERA BARAT 6.56 5291 7 72.38
4 RIAU 7.04 6252 2 72.71
5 JAMBI 7.97 3883 2 71.29
6 SUMATERA SELATAN 12.98 6402 4 70.01
7 BENGKULU 15.30 3104 1 71.40
8 LAMPUNG 12.76 11227 2 69.69
9 KEP. BANGKA BELITUNG 4.89 2001 1 71.47
10 KEP. RIAU 6.13 0 2 75.59
11 DKI JAKARTA 4.69 12098 5 80.77
12 JAWA BARAT 8.43 37503 9 72.09
13 JAWA TENGAH 11.84 65755 6 71.87
14 DI YOGYAKARTA 12.80 5288 1 79.97
15 JAWA TIMUR 11.46 61870 9 71.71
16 BANTEN 6.63 10401 4 72.45
17 BALI 4.45 0 1 75.50
18 NUSA TENGGARA BARAT 14.23 4855 2 68.25
19 NUSA TENGGARA TIMUR 21.21 451 1 65.19
20 KALIMANTAN BARAT 7.24 4249 2 67.66
21 KALIMANTAN TENGAH 5.26 1595 1 71.05
22 KALIMANTAN SELATAN 4.83 3410 2 70.91
23 KALIMANTAN TIMUR 6.64 7012 3 76.24
24 KALIMANTAN UTARA 7.41 0 1 70.63
25 SULAWESI UTARA 7.78 1298 4 72.93
26 SULAWESI TENGAH 13.06 1610 1 69.55
27 SULAWESI SELATAN 8.99 12697 3 71.93
28 SULAWESI TENGGARA 11.69 2768 2 71.45
29 GORONTALO 15.59 1452 1 68.68
30 SULAWESI BARAT 11.50 0 0 66.11
31 MALUKU 17.99 225 2 69.49
32 MALUKU UTARA 6.97 476 2 68.49
33 PAPUA BARAT 21.70 0 1 65.09
34 PAPUA 26.80 1524 1 60.44Memanggil data dalam bentuk csv menggunakan function “read.csv” yang disimpan dalam data. Dalam function terdapat argumen yang menunjukkan letak data tersimpan serta argumen head = TRUE menunjukkan kolom paling atas pada data berarti variael.
> statdesk <- summary(data)
> statdesk
PROVINSI PRES.PEND.MISKIN JML.CERAI JML.KOTA
Length:34 Min. : 4.450 Min. : 0 Min. :0.000
Class :character 1st Qu.: 6.723 1st Qu.: 1336 1st Qu.:1.000
Mode :character Median : 9.065 Median : 3646 Median :2.000
Mean :10.806 Mean : 8579 Mean :2.882
3rd Qu.:13.040 3rd Qu.: 6860 3rd Qu.:4.000
Max. :26.800 Max. :65755 Max. :9.000
IPM
Min. :60.44
1st Qu.:69.50
Median :71.42
Mean :71.08
3rd Qu.:72.31
Max. :80.77 Menghitung statistika deskriptif dengan perintah “summary” yang disimpan dalam statdesk. Hasil dari perintah tersebut menunjukkan rangkuman ukuran pemusatan dan persebaran data pada masing-masing variabel.
> library(psych)
> library(GPArotation)
> kmo <- KMO(data[,2:5])
> kmo
Kaiser-Meyer-Olkin factor adequacy
Call: KMO(r = data[, 2:5])
Overall MSA = 0.54
MSA for each item =
PRES.PEND.MISKIN JML.CERAI JML.KOTA IPM
0.53 0.51 0.54 0.56 Memanggil packages psych dan GPArotation dengan fungsi library() untuk keperluan uji asumsi KMO. Melakukan uji sampel representatif menggunakan fungsi KMO() dengan argumen didalamnya adalah data[,2:5] yang disimpan dalam kmo. argumen dalam data [,2:5] menunjukkan data yang dianalisis pada kolom kedua sampai kelima.
> korelasi <- cor(data[,2:5], method = 'pearson')
> korelasi
PRES.PEND.MISKIN JML.CERAI JML.KOTA IPM
PRES.PEND.MISKIN 1.0000000 -0.0539253 -0.2084530 -0.6490656
JML.CERAI -0.0539253 1.0000000 0.7105089 0.1549704
JML.KOTA -0.2084530 0.7105089 1.0000000 0.2878291
IPM -0.6490656 0.1549704 0.2878291 1.0000000Melakukan uji asumsi non-multikolinearitas menggunakan korelasi antar variabel dengan fungsi cor() dengan argumen didalamnya data dan metode yang digunakan adalah pearson yang disimpan dalam korelasi.
> datastand <- scale(data[,2:5])
> datastand
PRES.PEND.MISKIN JML.CERAI JML.KOTA IPM
[1,] 0.8543170 -0.2819365 0.86997045 0.232994717
[2,] -0.3077019 0.2705848 2.10242859 0.176611654
[3,] -0.7843329 -0.2102968 1.69160921 0.332946511
[4,] -0.6956573 -0.1488274 -0.36248769 0.417521105
[5,] -0.5238485 -0.3003582 -0.36248769 0.053594061
[6,] 0.4017023 -0.1392328 0.45915107 -0.274452851
[7,] 0.8303007 -0.3501861 -0.77330707 0.081785593
[8,] 0.3610594 0.1693937 -0.36248769 -0.356464580
[9,] -1.0928498 -0.4207385 -0.77330707 0.099725658
[10,] -0.8637714 -0.5487305 -0.36248769 1.155626659
[11,] -1.1297979 0.2251064 0.86997045 2.483191509
[12,] -0.4388678 1.8501125 2.51324797 0.258623382
[13,] 0.1910979 3.6572243 1.28078983 0.202240319
[14,] 0.3684490 -0.2104887 -0.77330707 2.278162189
[15,] 0.1208965 3.4087241 2.51324797 0.161234455
[16,] -0.7714010 0.1165594 0.45915107 0.350886576
[17,] -1.1741357 -0.5487305 -0.77330707 1.132560860
[18,] 0.6326282 -0.2381851 -0.36248769 -0.725517357
[19,] 1.9221181 -0.5198827 -0.77330707 -1.509754507
[20,] -0.6587092 -0.2769473 -0.36248769 -0.876726480
[21,] -1.0244958 -0.4467079 -0.77330707 -0.007914735
[22,] -1.1039342 -0.3306131 -0.36248769 -0.043794866
[23,] -0.7695536 -0.1002147 0.04833169 1.322212982
[24,] -0.6273033 -0.5487305 -0.77330707 -0.115555128
[25,] -0.5589492 -0.4657052 0.45915107 0.473904168
[26,] 0.4164816 -0.4457484 -0.77330707 -0.392344711
[27,] -0.3354130 0.2634208 0.04833169 0.217617518
[28,] 0.1633868 -0.3716780 -0.36248769 0.094599925
[29,] 0.8838755 -0.4558547 -0.77330707 -0.615314097
[30,] 0.1282861 -0.5487305 -1.18412645 -1.273970789
[31,] 1.3272531 -0.5343386 -0.36248769 -0.407721910
[32,] -0.7085892 -0.5182836 -0.36248769 -0.664008560
[33,] 2.0126411 -0.5487305 -0.77330707 -1.535383172
[34,] 2.9548185 -0.4512493 -0.77330707 -2.727116098
attr(,"scaled:center")
PRES.PEND.MISKIN JML.CERAI JML.KOTA IPM
10.805588 8578.735294 2.882353 71.080882
attr(,"scaled:scale")
PRES.PEND.MISKIN JML.CERAI JML.KOTA IPM
5.412993 15633.786614 2.434160 3.901881 Melakukan standarisasi ke dalam bentuk Zscore dengan fungsi scale() dengan argumen data didalamnya yang disimpan dalam datastand.
> jarak <- dist(datastand, method = "euclidean")
> jarak
1 2 3 4 5 6 7
2 1.78261039
3 1.83722241 0.80724056
4 1.99327407 2.54170526 2.05866675
5 1.85763751 2.54236913 2.09124724 0.43002645
6 0.80715550 1.89077364 1.81648468 1.53564595 1.29046919
7 1.65180507 3.15582858 2.96065950 1.62806148 1.41625217 1.36896194
8 1.52099223 2.61102735 2.48005846 1.34794980 1.08253259 0.88245017 0.92248924
9 2.55516069 3.06107042 2.50393144 0.70814123 0.71355069 1.99296114 1.92452782
10 2.32232843 2.83103751 2.23985815 0.85614522 1.17970853 2.11880383 2.05698984
11 3.04256308 2.74174650 2.36802995 2.47270131 2.83992685 3.20181371 3.55528614
12 2.98646578 1.63939346 2.24616272 3.51522485 3.59772686 3.02779411 4.15750148
13 4.01578959 3.52049368 4.01186261 4.24488766 4.34696034 3.91915390 4.54991672
14 2.66912785 3.65718224 3.34493383 2.18331908 2.43346404 2.83566215 2.24875355
15 4.10662778 3.19384154 3.82378445 4.65386622 4.73861046 4.13231014 5.04384937
16 1.72755002 1.72321602 1.27525571 0.86930872 0.99928754 1.35375421 2.09157074
17 2.77405472 3.25663623 2.64228670 1.03388513 1.34814842 2.47983760 2.27185251
18 1.57757998 2.83420473 2.71075933 1.75466923 1.39582176 0.97039567 0.93387862
19 2.63331607 4.08786285 4.10999753 3.29751335 2.94002978 2.34552380 1.93748861
20 2.24492925 2.75832033 2.38806332 1.30109827 0.94033600 1.47690950 1.81934943
21 2.51306293 3.05486624 2.51108882 0.73934816 0.66679967 1.92836135 1.85947102
22 2.33081163 2.66829837 2.11609764 0.64229941 0.58898169 1.74122407 1.98146182
23 2.12872385 2.42538981 1.92128750 0.99752885 1.37061845 2.02274002 2.19903840
24 2.25570957 3.02136386 2.53301434 0.78583561 0.51939938 1.66455473 1.48424142
25 1.50263178 1.84227901 1.28641103 0.89295574 0.93825505 1.26074338 1.90159671
26 1.81932531 3.10340810 2.84591855 1.46617538 1.12826988 1.27554765 0.63653591
27 1.54537982 2.05470552 1.77189142 0.71306279 0.74096620 1.05658635 1.55850649
28 1.42251334 2.59171070 2.28042534 0.94440320 0.69214191 0.96026834 0.78369176
29 1.85771637 3.29310993 3.13340522 1.95568680 1.61928278 1.40281142 0.70709553
30 2.66243478 3.71039034 3.43503268 2.09165972 1.71011317 1.98540724 1.59345294
31 1.48890774 3.12061494 3.05478351 2.21851565 1.92201367 1.30598768 0.83021925
32 2.19592887 2.75054150 2.30517385 1.14296612 0.77238212 1.48434183 1.76675417
33 2.69080194 4.15404031 4.18378639 3.38783270 3.03135108 2.42316124 2.01310293
34 3.98790555 5.27888005 5.42946653 4.84509534 4.47493174 3.76168405 3.52331074
8 9 10 11 12 13 14
2
3
4
5
6
7
8
9 1.68493024
10 2.07420648 1.16299543
11 3.43632932 2.96643745 1.98770599
12 3.48035747 4.05106767 3.87420461 3.28132503
13 3.89953352 4.74427293 4.73414318 4.34691967 2.27698088
14 2.69339860 2.63157460 1.74975229 2.27527689 4.44722597 4.84968278
15 4.36907398 5.19068306 5.08819111 4.44876431 1.65894259 1.25988697 5.33318013
16 1.56865990 1.40501003 1.33185576 2.20357158 2.70990986 3.76296404 2.57673492
17 2.29314098 1.04390513 0.51539366 2.26392435 4.22614216 4.96374145 1.95099397
18 0.61324550 1.96478970 2.42370641 3.89044347 3.84024469 4.35089175 3.04325830
19 2.10020395 3.41910626 3.87750458 5.33977334 5.01195934 5.25308428 4.10584039
20 1.22874760 1.15385671 2.06067364 3.64444570 3.75920055 4.47933132 3.34388483
21 1.60922455 0.13012740 1.24853598 3.06078327 4.06089038 4.75220018 2.68742298
22 1.57923255 0.44454037 1.24252380 2.86602622 3.68228058 4.51008318 2.78255268
23 2.08271585 1.54169433 0.63762603 1.50285434 3.33469108 4.22072166 1.70180475
24 1.31124863 0.52864103 1.35668451 3.21016657 4.09040455 4.76236753 2.61453872
25 1.61690101 1.39500339 1.11339370 2.23810120 3.10533269 4.27901974 2.38736319
26 0.74265156 1.58771532 2.05295903 3.71619375 4.15063892 4.63228112 2.68127980
27 0.99612132 1.31558852 1.40974678 2.53780046 2.93356222 3.64887731 2.37506769
28 0.73163668 1.32262476 1.48733965 3.04184176 3.68725146 4.35255898 2.23712968
29 0.94870854 2.10236959 2.52346967 4.10118113 4.31652007 4.72070643 2.94924973
30 1.44457385 1.88768889 2.74994764 4.52958955 4.70058868 5.09401734 3.59979263
31 1.19640997 2.50919884 2.69162668 4.06081150 4.18553006 4.68321077 2.89947066
32 1.30829331 0.95353752 1.82649414 3.48623964 3.84748687 4.65779471 3.17488429
33 2.19135712 3.51198468 3.96030995 5.41507616 5.07781913 5.31476478 4.16664173
34 3.59187215 4.93716359 5.46219693 6.85486799 6.04396042 6.10885834 5.63915631
15 16 17 18 19 20 21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 3.98620434
17 5.39290960 1.65371509
18 4.75583855 1.98264402 2.64235905
19 5.68084490 3.55542434 4.07055899 1.58932010
20 4.85171898 1.53286368 2.13202691 1.30073783 2.69984895
21 5.19676189 1.42443617 1.15476635 1.86367044 3.30808262 1.04222112
22 4.87798582 1.06836572 1.26692098 1.86786978 3.39273137 0.94598120 0.43571597
23 4.53092000 1.07668100 1.03726142 2.51934945 4.01451717 2.24669273 1.62153723
24 5.20569937 1.48320454 1.36265154 1.49154020 2.90588604 0.90719723 0.42397751
25 4.44864795 0.63190277 1.52909428 1.89349527 3.40770968 1.59526643 1.40292444
26 5.10413778 1.94899998 2.20590245 0.60792964 1.87644398 1.26012986 1.49137620
27 4.02245476 0.63102062 1.69565830 1.49899572 3.06086844 1.32773472 1.30578436
28 4.75053064 1.36124106 1.75112809 0.95425371 2.42029463 1.27604498 1.26331957
29 5.18860076 2.34948825 2.70168519 0.53983571 1.37188593 1.62747793 2.00272276
30 5.60284685 2.56760005 2.76703265 1.15182063 1.85554091 1.23536270 1.76379849
31 5.05930888 2.46548058 2.96620917 0.81927081 1.31807502 2.05676006 2.42219328
32 5.00602810 1.45329741 1.90107728 1.37153290 2.79368615 0.32554589 0.83913748
33 5.73760399 3.64286530 4.15613661 1.68093106 0.09840439 2.79509920 3.40114223
34 6.48648762 5.01997734 5.65286405 3.10050553 1.59785792 4.08419860 4.81964925
22 23 24 25 26 27 28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 1.48311964
24 0.66983158 1.72153099
25 1.12176694 1.03263638 1.37039440
26 1.61715180 2.26734896 1.08476016 1.79477121
27 1.08655889 1.24130576 1.23728894 0.90335406 1.45444511
28 1.27551643 1.61860329 0.93245704 1.16171100 0.68951505 0.91436193
29 2.11245824 2.69989056 1.59437958 2.18796474 0.51795228 1.83654215 1.09496123
30 1.93761844 3.04407717 1.44278021 2.49692080 1.01965633 2.14904521 1.60644193
31 2.46670205 2.78325517 2.01857175 2.23938043 1.00317600 1.99015092 1.27803382
32 0.75906716 2.07179797 0.69073015 1.41247734 1.23029239 1.30244361 1.16504172
33 3.48629102 4.09667178 2.99753529 3.48943528 1.96592659 3.14976972 2.50533555
34 4.88436410 5.57371774 4.43411209 4.91042328 3.44881752 4.54784821 3.99114976
29 30 31 32 33
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 1.08726374
31 0.64390257 1.69210119
32 1.64650686 1.32228266 2.05197333
33 1.45920003 1.94625348 1.38215637 2.88688194
34 2.95779208 3.20611791 2.86430357 4.22495385 1.52231020Menghitung jarak euclidean dengan fungsi dist() dengan argumen didalamnya datastand yang merupakan data hasil dtandarisasi dan metode euclidean yang disimpan dalam jarak.
> #Single Linkage
> hiers <- hclust(dist(data[,2:5]), method = "single")
> #korelasi cophenetic
> d1 <- dist(data[,2:5])
> hc <- hclust(d1, "single")
> d2 <- cophenetic(hc)
> cors <- cor(d1,d2)
> cors
[1] 0.9489614
>
> #Average Linkage
> hierave <- hclust(dist(data[,2:5]), method = "ave")
> #korelasi cophenetic
> d1 <- dist(data[,2:5])
> hc <- hclust(d1, "ave")
> d2 <- cophenetic(hc)
> corave <- cor(d1,d2)
> corave
[1] 0.9537186
>
> #Complete Linkage
> hiercomp <- hclust(dist(data[,2:5]), method = "complete")
> #korelasi cophenetic
> d1 <- dist(data[,2:5])
> hc <- hclust(d1, "complete")
> d2 <- cophenetic(hc)
> corcomp <- cor(d1,d2)
> corcomp
[1] 0.9531327
>
> #Centorid Linkage
> hiercen <- hclust(dist(data[,2:5]), method = "centroid")
> #korelasi cophenetic
> d1 <- dist(data[,2:5])
> hc <- hclust(d1, "centroid")
> d2 <- cophenetic(hc)
> corcen <- cor(d1,d2)
> corcen
[1] 0.953551
>
> #Ward
> hierward <- hclust(dist(data[,2:5]), method = "ward.D")
> #korelasi cophenetic
> d1 <- dist(data[,2:5])
> hc <- hclust(d1,"ward.D")
> d2 <- cophenetic(hc)
> corward <- cor(d1,d2)
> corward
[1] 0.9442942Menganalisis dengan metode hierarki clustering dengan fungsi hclust() dengan argumen data pada fungsi dist dan argumen single/average/complete/centroid/ward.D pada parameter method. Menghitung jarak antar observasi dengan fungsi dist() dengan argumen data yang disimpan dalam d1, menjalankan fungsi hclust() dengan argumen d1 dan single/average/complete/centroid/ward.D yang disimpan dalam hc, menjalankan fungsi cophenetic() dengan argumen hc yang disimpan dalam d2, lalu menghitung korelasi cophenetic dengan fungsi cor() dengan argumen d1 dan d2 yang disimpan dalam cors/corave/corcomp/corcen/corward.
> library(clValid)
> library(ggplot2)
> inval <- clValid(datastand, 2:5, clMethods = "hierarchical", validation = "internal", metric = "euclidean", method = "average")
> summary(inval)
Clustering Methods:
hierarchical
Cluster sizes:
2 3 4 5
Validation Measures:
2 3 4 5
hierarchical Connectivity 4.6079 9.9060 14.6952 20.1119
Dunn 0.2420 0.2804 0.2815 0.4189
Silhouette 0.5160 0.4300 0.3823 0.3736
Optimal Scores:
Score Method Clusters
Connectivity 4.6079 hierarchical 2
Dunn 0.4189 hierarchical 5
Silhouette 0.5160 hierarchical 2
> optimalScores(inval)
Score Method Clusters
Connectivity 4.6079365 hierarchical 2
Dunn 0.4189302 hierarchical 5
Silhouette 0.5159877 hierarchical 2
> plot(inval)Memanggil packages clValid dan ggplot2 dengan fungsi library(). Melakukan validasi cluster dengan fungsi clvalid() dengan argumen data standarisasi, argumen hierarchical pada parameter clMethods, argumen internal pada parameter validation, argumen euclidean pada parameter metric, argumen average pada parameter method yang disimpan dalam inval. Menampilkan rangkuman ukuran persebaran dan pemusatan data validasi dengan fungsi summary(), menghitung optimal scores dengan fungsi optimalScores(), menampilkan plot dengan fungsi plot().
> library(cluster)
> library(factoextra)
> library(tidyverse)
> library(car)
> hirave <- hclust(dist(scale(data[,2:5])), method = "average")
> hirave
Call:
hclust(d = dist(scale(data[, 2:5])), method = "average")
Cluster method : average
Distance : euclidean
Number of objects: 34
> plot(hirave, labels(data$PROVINSI), hang = 1, col = "blue", main = "Cluster Dendogram", sub = " ", xlab = "PROVINSI", ylab = "Jarak")> anggotaave <- data.frame(id = data$PROVINSI, cutree(hirave, k = 2))
> anggotaave
id cutree.hirave..k...2.
1 ACEH 1
2 SUMATERA UTARA 1
3 SUMATERA BARAT 1
4 RIAU 1
5 JAMBI 1
6 SUMATERA SELATAN 1
7 BENGKULU 1
8 LAMPUNG 1
9 KEP. BANGKA BELITUNG 1
10 KEP. RIAU 1
11 DKI JAKARTA 1
12 JAWA BARAT 1
13 JAWA TENGAH 2
14 DI YOGYAKARTA 1
15 JAWA TIMUR 2
16 BANTEN 1
17 BALI 1
18 NUSA TENGGARA BARAT 1
19 NUSA TENGGARA TIMUR 1
20 KALIMANTAN BARAT 1
21 KALIMANTAN TENGAH 1
22 KALIMANTAN SELATAN 1
23 KALIMANTAN TIMUR 1
24 KALIMANTAN UTARA 1
25 SULAWESI UTARA 1
26 SULAWESI TENGAH 1
27 SULAWESI SELATAN 1
28 SULAWESI TENGGARA 1
29 GORONTALO 1
30 SULAWESI BARAT 1
31 MALUKU 1
32 MALUKU UTARA 1
33 PAPUA BARAT 1
34 PAPUA 1
> clus_hier <- eclust(datastand, FUNcluster = "hclust", k = 2, hc_method = "average", graph = TRUE)
> fviz_dend(clus_hier, rect = TRUE, show_labels = datastand, cex = 0.5)> idclus = clus_hier$cluster
> idclus
[1] 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
> aggregate(data,list(idclus),mean)
Group.1 PROVINSI PRES.PEND.MISKIN JML.CERAI JML.KOTA IPM
1 1 NA 10.75281 5126.625 2.59375 71.03656
2 2 NA 11.65000 63812.500 7.50000 71.79000Memanggil packages cluster, factoextra, tidyverse dan car dengan fungsi library(). Melakukan hierarical clustering dengan fungsi hclust() dan argumen data standarisasi pada fungsi dist(), argumen average pada paramter method yang disimpan dalam hirave. Menampilkan plot dari hirave dengan fungsi plot() dengan argumen didalamnya mengenai labels, warna dan yang lain. Menampilkan anggota pengelompokan dengan fungsi data.frame() yang disimpan dalam anggotaave. Menerapkan metode k-means dengan fungsi eclust() yang disimpan dalam clus_hier. Menampilkan visualisasi dendogram dengan fungsi fviz_dend(). Menampilkan data rata-rata menggunakan fungsi aggregate().
| Miskin | Cerai | Kota | IPM | |
|---|---|---|---|---|
| Min | 4.450 | 0 | 0.000 | 60.44 |
| Rata-Rata | 10.806 | 8579 | 2.882 | 71.08 |
| Maks | 26.800 | 65755 | 9.000 | 80.77 |
Kaiser Mayer Olkin (KMO) yang dilakukan untuk menguji apakah sampel telah representatif atau mewakili populasi. Berikut disajikan tabel uji KMO.
| Miskin | Cerai | Kota | IPM | |
|---|---|---|---|---|
| Uji KMO | 0.53 | 0.51 | 0.54 | 0.56 |
| Miskin | Cerai | Kota | IPM | |
|---|---|---|---|---|
| Miskin | 1.0000000 | -0.0539253 | -0.2084530 | -0.6490656 |
| Cerai | 1.0000000 | 0.7105089 | 0.1549704 | |
| Kota | 1.0000000 | 0.2878291 | ||
| IPM | 1.0000000 |
antar variabel kurang dari 0.8, sehingga dapat disimpulkan bahwa tidak terjadi multikolinearitas antar variabel.
metode terbaik yang akan digunakan dalam analisis cluster. Metode dengan nilai korelasi mendekati 1 yang akan dipilih sebagai metode terbaik dalam penelitian ini. Berikut hasil koefisien korelasi cophenetic:
| Metode | Nilai Korelasi |
|---|---|
| Single Linkage | 0.9489614 |
| Average Linkage | 0.9537186 |
| Complete Linkage | 0.9531327 |
| Centroid Linkage | 0.953551 |
| Ward’s Method | 0.9442942 |
dari semua objek pengamatan dari satu cluster terhadap semua objek pengamatan cluster lain. Ukuran jarak yang digunakan pada analisis ini ialah jarak Euclidean, hasil perhitungan terdapat pada subab 2.3.4.
| Pada analisis ini menetapkan stopping rule sebanyak 2 hingga 5 cluster. Stopping rule adalah jumlah cluster yang dijadikan pertimbangan sebelum menentukan jumlah cluster optimal yang sesungguhnya. Dalam memilih dan menentukan jumlah cluster optimal pada analisis ini mengggunakan 3 aturan indeks validitas cluster, yaitu Indeks Connectivity, Indeks Dunn dan Indeks Silhoutte. Hasil penentuan jumlah cluster optimal metode Average Linkage berdasarkan indeks validitas cluster disajikan pada tabel berikut:
| Indeks | Nilai | Jumlah Cluster |
|---|---|---|
| Connectivity | 4.6079 | 2 |
| Dunn | 0.4189 | 5 |
| Silhoutte | 0.5160 | 2 |
| Variabel | Cluster 1 | Cluster 2 |
|---|---|---|
| X1 | 10.75281 | 11.65000 |
| X2 | 5126.625 | 63812.500 |
| X3 | 2.59375 | 7.50000 |
| X4 | 71.03656 | 71.79000 |
Setiani, Handayani, S., Warsiti. (2017). Studi Fenomenologi: Faktor-Faktor yang Mempengaruhi Terjadinya Kekerasan Seksual pada Anak Perempuan di Kabupaten Wonosobo. Jurnal PPKM II (2017) 122-128.
Nugrahmi, M., Febria, C. (2020). Faktor yang Berhubungan dengan Kekerasan Seksual pada Remaja Putri di Kota Bukittinggi. Maternal and Neonatal Health Journal: Ocean Learning Center.
Kemenkes, RI. (2015). Profil Kesehatan Indonesia 2015. Jakarta: Kementerian Kesehatan RI.
Anthony, L. 2015. Preventing and Protecting: Send Sexual Violence to Children with Evidence.
Erlinda. (2016). Kekerasan Seksual Terhadap Anak: Dampak dan Penanganannya. Jakarta: Kementerian Sosial RI.
BPS. (2020). Statistik Kriminal 2020. Jakarta: Badan Pusat Statistik RI.
Wuryani, S, E. (2008). Pendidikan Sex untuk Keluarga . Jakarta: PT. Index.
Cahyoningtyas, R. (2019). Metode Ward dan Average Linkage Clustering untuk Segmentasi Objek Wisata di Malang Raya. Malang: Universitas Brawijaya.
Pusditaksari, dkk. (2021). Pengelompokkan Provinsi di Indonesia dengan Ekonomi Terdampak Covid-19 Menggunakan Analisis Cluster. Malang: Indonesian Journal of Statistics and Its Aplication Vol 5 No 1.
Afira, N. & Wijayanto, A. (2021). Analisis Cluster Kemiskinan Provinsi di Indonesia Tahun 2019 dengan Metode Partitioning dan Hierarki. Jakarta: Jurnal Sistem Komputer Vol 10 No 2.
Hardle, W. & Simar, L. (2003). Applied Multivariate Statisticial Analysis. Berlin: Springe-Verlag.
Widodo, dkk. (2018). Analisis Cluster Penderita Disabilitas Mental di Provinsi Daerah Istimewa Yogyakarta Tahun 2016. Yogyakarta: Universitas Islam Indonesia.
Soraya, Y. (2011). Perbandingan Kinerja Metode Single Linkage, Metode Complete Linkage dan Metode K-Means dalam Analisis Cluster. Semarang: Universitas Negeri Semarang.
Sirojuddin, A. (2016). Analisis Cluster pada Kabupaten/Kota di Provinsi Jawa Timur Berdasarkan Indikator Indeks Pembangunan Manusia. Malang: UIN Maulana Malik Ibrahim Malang.
Mattjik, A. A. & Sumartejaya. (2002). Perancangan Percobaan. Jilid 1 Edisi ke-2. Bogor: IPB Press.
Supranto & Johanes. (2004). Analisis Multivariat Arti & Interpretasi. Jakarta: PT. Rineka Cipta.
Gujarati, D. N. 1995. Ekonometrika Dasar. Jakarta: Erlangga.
Johnson, N. & Wichern, D. (2002). Applied Multivariate Statistical Analysis. Prentice-Hall.
Englewood Cliffs, N. J. Silva, A. R. & Dias C. T. (2013). A Chopenetic Correlation Coefficient for Tocher’s Method. Pesq Agropee. Brasilia.
Hair, J. F., dkk. (2006). Multivariate Data Analysis Sixth Edition. New Jersey: Pearson Education Inc.
Halim, N. N., & Widodo, E. (2017). Clustering Dampak Gempa Bumi di Indonesia Menggunakan Kohonen Self Organizing Maps (SOM). Prosiding SI MaNIs (Seminar Nasional Integrasi Matematika Dan Nilai-Nilai Islami), 1(1): 188–194.
BPS. (2021). Statistik Indonesia 2021. Jakarta: Badan Pusat Statistik RI.
BPS. (2020). Profil Kemiskinan di Indoneisa September 2020. Jakarta: Badan Pusat Statistik RI.
Jamaludin, A. N. (2015). Sosiologi Perkotaan Memahami Masyarakat Kota dan Problematikanya. Bandung: CV Pustaka Setia.