• Tidak ada hasil yang ditemukan

METODE PENELITIAN

3.3. Tahapan Kerja Metode

Untuk lebih rinci dan jelas dalam mendeskripsikan tahapan proses dalam usulan penelitian, Maka berikut adalah tahapan demi tahapan metode usulan, yaitu:

3.3.1 Tahapan Preprocessing

Melakukan dua langkah data preprocessing. Langkah pertama adalah data cleaning dilakukan dengan cara menghapus duplikasi record sehingga jumlah data uji dari dataset Kualitas Udara yang semula sebanyak 1.096 record menjadi 1.080 record dan jumlah data observasi pada dataset Water Quality semula sebanyak 120 record menjadi 117 record. Langkah kedua adalah data normalization dengan cara melakukan standarisasi data agar interval atau rentang data menjadi lebih proporsional menggunakan teknik normalisasi Z-Score yang digunakan sebagai tahapan awal PCA dan teknik normalisasi Min-Max yang digunakan sebagai tahapan awal K-Means clustering.

Berikut adalah teknik standarisasi data menggunakan persamaan Z-Score Normalization (Han, et.al. 2012), yaitu:

=

βˆ’

𝝈 (3.2)

Dimana z: nilai standard score, x: data observasi, ΞΌ: mean per variabel dan Οƒ:

standar deviasi per atribut. Hasil dari Z-score adalah data dengan mean = 0 dan standar deviasi = 1. Sederhananya, proses Z-score adalah: setiap data observasi dari sebuah atribut dikurangi dengan mean atribut tersebut dan dibagi dengan standar deviasinya.

Berikut adalah teknik standarisasi data menggunakan persamaan Min-Max Normalization (Han, et.al. 2012), yaitu:

=

βˆ’ 𝒏

𝒂 βˆ’ 𝒏

Γ— 𝟎 𝟎

(3.3)

Dimana:

adalah nilai hasil normalisasi

adalah nilai yang akan dinormalisasi

adalah nilai minimum dari data per kolom adalah nilai maksimum dari data per kolom Nilai bobot minimum = 0.1

Nilai bobot maksimum = 1

Nilai 0.9 diperoleh dari 1 – 0.1 = 0.9

Untuk mengimplementasikan hasil dari tahapan preprocessing pada kedua dataset baik Water Quality maupun Kualitas Udara, maka digunakan bahasa pemrograman Python agar memudahkan proses perhitungan sebagai berikut:

import pandas as pd

3.3.2 Tahapan Penyelesaian PCA untuk memperoleh bobot

Tahapan selanjutnya adalah melakukan tahapan Principle Component Analysis (PCA). PCA digunakan untuk melihat korelasi antara setiap atribut pada data dan sebagai dasar dalam perhitungan jarak terdekat setiap data terhadap centroid cluster. Berikut adalah tahapan demi tahapan dari metode PCA, yaitu:

a. Membentuk matrik kovarian menggunakan persamaan 2.4.

Diberikan contoh nilai sebanyak 10 record dan memiliki 5 atribut. Adapun rincian data dapat dilihat pada tabel 3.5, yaitu:

Tabel 3.5 Contoh Nilai

Selanjutnya untuk memperoleh nilai kovarian dari atribut X1 dan atribut X2 seperti pada tabel 3.6: Lakukan hal yang sama sampai seluruh nilai kovarian dari pasangan atribut diperoleh. Selanjutnya masukkan hasil perhitungan dari setiap pasangan

atribut tersebut kedalam matrik kovarian. Adapun hasil pembentukan matrik kovarian dapat dilihat pada tabel 3.7:

Tabel 3.7 Matrik Kovarian (Atribut X1 sampai X5)

X1 X2 X3 X4 X5

Agar memudahkan perolehan Covariance Matrix, maka digunakan bahasa pemrograman Python seperti berikut:

mean_vec=np.mean(data_actual, axis=0)

cov_mat=(data_actual-mean_vec).T.dot((data_actual-mean_vec))/

(data_actual.shape[0]-1)

print('==== Covariance Matrix === \n%s'%cov_mat)

b. Menghitung nilai eigen menggunakan persamaan 2.5.

Agar memudahkan perolehan nilai eigen, maka digunakan bahasa pemrograman Python seperti berikut:

Tabel 3.8 Nilai Eigen (Atribut X1 sampai X5)

c. Menghitung nilai proporsi variasi data (Proportion Variance)

Proses selanjutnya dari tahapan PCA adalah menghitung nilai proporsi varians dataset menggunakan persamaan 2.6. Untuk memperoleh nilai proporsi, Maka terlebih dahulu menghitung nilai ragam peragam (Variance Covariance) menggunakan persamaan, yaitu:

𝒂𝒓 𝒂𝒏 𝒆 𝒐𝒗𝒂𝒓 𝒂𝒏 = 𝒐𝒗 𝒐𝒗 𝒐𝒗 𝒏 𝒏 (3.4) Nilai varians diperoleh dari diagonal matrik kovarian seperti pada tabel 3.5, Sehingga:

= = Berikutnya adalah cara menghitung nilai proporsi untuk setiap atribut dengan persamaan 2.6, yaitu:

Istilah PC atau Principal Component merupakan karakteristik yang mempengaruhi variance covariance dari data. Nilai proporsi untuk atribut 1 adalah sebesar 1.26%, artinya bahwa nilai eigen atribut X1 senilai 3.24 berpengaruh sebesar 1,26% terhadap variasi data. Sehingga dapat

dinyatakan bahawa atribut X1 memiliki kontribusi terhadap variasi data sebesar 1.26%. Hal yang sama juga berlaku untuk nilai proporsi berikutnya.

Untuk melihat proporsi varians keseluruhan dari data, Maka dilakukan perhitungan secara cumulative dari masing-masing nilai proporsi per PC.

Agar memudahkan perolehan nilai cumulative dari proporsi varians, Maka digunakan bahasa pemrograman Python, yaitu:

total=sum(eig_vals)

var_exp=[(i/total)*100 for i in sorted(eig_vals, reverse=True)]

cum_var_exp=np.cumsum(var_exp)

variance=pd.DataFrame([cum_var_exp],columns=['PC1','PC2','PC3', 'PC4','PC5'])

print('==Cumulative Variance(%) ==\n',variance)

d. Membentuk matrik eigenvector menggunakan persamaan 2.5.

Untuk melihat atribut mana yang termasuk kedalam sejumlah proporsi varians dataset maka dilakukanlah proses rotasi faktor menggunakan persamaan 2.5, Sehingga terbentuk sebuah matrik yang disebut eigenvector.

Proses rotasi faktor bertujuan untuk memilih faktor yang mampu mengoptimalkan korelasi antar atribut yang sedang diobservasi. Agar memudahkan pembentukan matrik Eigenvector maka digunakan bahasa pemrograman Python, yaitu:

print('========== Matrik Eigenvectors ===========')

vector=pd.DataFrame(abs(eig_vecs),columns=['PC1','PC2','PC3','PC4 ','PC5'], index=['PM10','SO2','CO','O3','NO2'])

print(vector)

Adapun matrik eigenvector yang terbentuk, Dapat dilihat sebagai berikut:

Tabel 3.9 Matrik Eigenvector (Atribut X1 sampai X5)

Memilih dan menentukan korelasi maksimum dari sejumlah PC sangatlah penting dan beberapa menggunakan cara β€˜brute force’. Pendekatan yang sebaiknya digunakan yaitu: melihat urutan nilai eigen terbesar hingga nilai eigen terkecil dan bernilai >=1.

Dari tabel 3.8, Terlihat hasil perolehan nilai eigen dari data sampel.

Nilai eigen atribut X1 senilai 3.24 memiliki pengaruh sebesar 1.26%

(perhitungan persentase sudah dijelaskan pada tahap menghitung nilai proporsi varians dataset). Sehingga dapat dinyatakan bahwa nilai kontribusi atribut X1 terhadap variasi data adalah sebesar 1.26%, disebut PC1. Nilai kontribusi atribut X2 terhadap variasi data adalah sebesar 3.08%, disebut PC2. Nilai kontribusi atribut X3 terhadap variasi data adalah sebesar 6.45%, disebut PC3. Nilai kontribusi atribut X4 terhadap variasi data adalah sebesar 11.31%, disebut PC4 dan Nilai kontribusi atribut X5 terhadap variasi data adalah sebesar 77.91%, disebut PC5. Jika dilakukan penjumlahan nilai kontribusi mulai dari PC1 hingga PC5, Maka diperoleh nilai persentase kontribusi sebesar 100%. Artinya bahwa kontribusi PC 1 hingga PC 5 memiliki proporsi variasi data yang sempurna. Oleh karena itu, nilai yang akan diambil sebagai bobot adalah nilai maksium PC1 sampai dengan PC 5.

Sehingga diperoleh nilai bobot atribut X1 sebesar 0.925 (PC2), nilai bobot atribut X2 sebesar 0.572 (PC1), nilai bobot atribut X3 sebesar 0.626 (PC4), nilai bobot atribut X4 sebesar 0.792 (PC3) dan nilai bobot atribut X5 sebesar 0.771 (PC5).

Agar memudahkan proses memilih sejumlah PC yang memiliki korelasi maksimum, Maka digunakan bahasa pemrograman Python, yaitu:

pc=vector(columns=['PC1','PC2','PC3','PC4','PC5']) w=pc.assign(Nilai_Bobot=pc.values.max(1))

print('=== Nilai Bobot Berdasarkan Hasil Seleksi PCA ==\n',w) weight=w['Nilai_Bobot']

3.3.3 Tahapan K-Means Clustering

Tahapan berikutnya adalah melakukan proses awal pengujian teknik clustering menggunakan algoritma K-Means konvensional. Adapun tahapan K-Means konvensional adalah sebagai berikut:

a. Memilih centroid awal secara acak (random) sebanyak jumlah cluster (K).

Agar memudahkan pemilihan centroid awal secara acak, Maka digunakan bahasa pemrograman Python, yaitu:

m=data.shape[0]

print('\n---->>>>>>> Proses Clustering dengan jumlah K =',K,'....') Centroids=np.array([]).reshape(5,0)

Tabel 3.10 Nilai Centroid Awal

X1 X2 X3 X4 X5

C1 77 91 83 90 84

C2 70 70 70 71 70

b. Menghitung selisih jarak setiap data ke titik centroid awal menggunakan persamaan 2.1. Agar memudahkan perhitungan jarak, Maka digunakan bahasa pemrograman Python, yaitu:

num_iter=50

tempDist=np.sum((data-Centroids[:,k])**2,axis=1) EuclidianDistance=np.c_[EuclidianDistance,tempDist]

C=np.argmin(EuclidianDistance,axis=1)+1 cluster=pd.DataFrame(C)

Berikut adalah nilai jarak setiap data ke titik centroid awal berdasarkan jumlah cluster K=2, yaitu:

Tabel 3.11 Nilai Jarak Data ke Centroid (K-Means Konvensional)

Data Jarak

c. Menentukan centroid baru berdasarkan rata-rata data yang memiliki jarak terdekat ke titik centroid awal. Agar memudahkan perhitungan, digunakan bahasa pemrograman Python, yaitu:

Berikut adalah centroid baru yang diperoleh berdasarkan rata-rata data yang memiliki jarak terdekat ke titik centroid awal, yaitu:

Tabel 3.12 Nilai Centroid Baru (K-Means Konvensional)

X1 X2 X3 X4 X5

C1 80 88 82 86 84

C2 70 72 74 74 74

d. Kembali ke poin b sampai tidak ada data yang berpindah cluster atau sampai batas maksimal iterasi yang ditentukan. Adapun nilai centroid akhir yang diperoleh dapat dilihat pada tabel berikut:

Tabel 3.13 Nilai Centroid Akhir (K-Means Konvensional)

X1 X2 X3 X4 X5

C1 79.75 87.50 84.50 85.25 82.00

C2 75.50 71.50 71.50 74.50 74.33

Berikut adalah hasil clustering yang telah diperoleh menggunakan metode K-Means Konvensional, yaitu:

Tabel 3.14 Hasil Clustering (K-Means Konvensional) Data Kelompok Cluster

Setelah tahapan clustering algoritma K-Means konvensional selesai, Maka dilanjutkan dengan pengujian clustering menggunakan metode Attribute Weight berdasarkan PCA. Tahapan yang dilalui sama dengan algoritma K-Means

konvensional yang berbeda terletak pada perhitungan jaraknya. Adapun tahapan clustering menggunakan metode Attribute Weight berdasarkan PCA adalah sebagai berikut:

a. Memilih centroid awal secara acak (random) sebanyak jumlah cluster (K).

Adapun nilai pusat cluster awal dapat diperoleh dari tabel 3.10.

b. Menghitung selisih jarak setiap data ke titik centroid awal menggunakan persamaan (Duneja & Puyalnithi, 2017), yaitu:

( ) = β€– β€–2

= βˆšβˆ‘

𝒑 | βˆ’ | (3.5)

Berikut adalah nilai jarak setiap data ke titik centroid awal menggunakan nilai bobot atribut yang diperoleh menggunakan PCA, yaitu:

Tabel 3.15 Nilai Jarak Data ke Centroid (Attribute Weight)

Data Jarak

c. Menentukan centroid baru berdasarkan rata-rata data yang memiliki jarak terdekat ke titik centroid awal.

Berikut adalah centroid baru yang diperoleh berdasarkan rata-rata data yang memiliki jarak terdekat ke titik centroid awal, yaitu:

Tabel 3.16 Nilai Centroid Baru (Attribute Weight)

X1 X2 X3 X4 X5

C1 83 89 84 84 81

C2 75 70 70 74 72

d. Kembali ke poin b sampai tidak ada data yang berpindah cluster atau sampai batas maksimal iterasi yang ditentukan. Adapun nilai centroid akhir yang diperoleh dapat dilihat pada tabel berikut:

Tabel 3.17 Nilai Centroid Akhir (Attribute Weight)

X1 X2 X3 X4 X5

C1 78 85 84.5 85 80.5

C2 77 73 72.5 73.5 73.33

Berikut adalah hasil akhir clustering yang telah diperoleh menggunakan metode Attribute Weight saat nilai K=2, yaitu:

Tabel 3.18 Perolehan Cluster Setiap Data (Attribute Weight) Data Kelompok Cluster

Terdapat banyak parameter untuk mengukur kinerja teknik clustering, salah satunya dapat dilakukan menggunakan persamaan Sum of Square Error (SSE).

Persamaan SSE digunakan untuk membantu kinerja teknik clustering dalam menentukan kebaikan keanggotaan cluster dengan cara mengukur perbedaan

nilai jarak antara data yang diperoleh dengan pusat cluster (centroid cluster) sehingga diharapkan dapat membantu menentukan kemiripan data terhadap centroid cluster. Agar memudahkan proses perhitungan, maka digunakan Bahasa pemrograman Python sebagai berikut:

sse=0

for k in range(K):

sse+=np.sum((Output[k+1]-Centroids[:,k])**2)

Berikut adalah hasil pengukuran kinerja teknik clustering menggunakan metode Attribute Weight pada saat nilai K=2 berdasarkan data observasi pada tabel 3.3, yaitu:

Tabel 3.19 Nilai SSE untuk PCA+K-Means Cluster Error

Cluster 1 14.10 Cluster 2 14.50

SSE 28.60

Berdasarkan tabel 3.19, telah diperoleh total selisih jarak menggunakan metode Attribute Weight terhadap data observasi pada tabel 3.3. Nilai total selisih jarak yang dihasilkan dari jumlah cluster K=2 menggunakan metode Attribute Weight adalah sebesar 28.60 poin.

Dokumen terkait