.
PENDAHULUAN
197
198 Jurnal Ilmiah KURSOR Vol. 5, No. 3, Januari 2010, hlm.197-204
Deteksi outlier pada sekumpulan data adalah penggabungan klasterisasi subset data juga
salah satu bidang penelitian yang terus digunakan untuk menemukan outlier pada data
berkembang dalam topik data mining. numerik dengan konsep cluster uncertainty [5].
Penelitian ini sangat bermanfaat untuk Dari beberapa penelitian yang disebutkan di
mendeteksi adanya perilaku atau kejadian yang atas, dimungkinkan untuk melakukan beberapa
tidak normal seperti deteksi penipuan pendekatan yang dapat diusulkan dalam
penggunaan kartu kredit, deteksi intrusi penelitian ini. Di antaranya adalah pembagian
jaringan, penggelapan asuransi, diagnosa set data menjadi numerik dan kategorikal,
medis, segmentasi pelanggan, dan sebagainya. deteksi outlier pada subset data, dan
Bermacam-macam metode telah pemanfaatan klasterisasi untuk untuk deteksi
dikembangkan baik berdasarkan teknik ataupun outlier. Untuk dapat menerapkan ide tersebut
jenis data yang dijadikan obyek. Untuk set data digunakan definisi outlier yang paling tepat.
numerik, ada banyak teknik yang telah Outlier didefinisikan berbasis klaster, dimana
dikembangkan seperti statistic-based, distance- sebuah outlier didefinisikan sebagai sembarang
based, density-based, clustering-based, obyek yang tidak berada pada klaster yang
subspace-based, dan lain-lain. Sedangkan cukup besar [6]. Meskipun konsep ini
untuk set data kategorikal teknik yang dapat diusulkan untuk data kategorikal, tapi sangat
digunakan di antaranya adalah CBLOF, FPOF memungkinkan untuk diterapkan dengan data
dan LSA. Namun demikian kebanyakan metode numerik dengan menggunakan konsep jarak.
tersebut hanya fokus pada set data yang Penelitian ini dilakukan untuk
seragam, yaitu hanya terdiri dari salah satu tipe menggabungkan beberapa pendekatan di atas
atribut saja. Adanya tipe atribut yang berbeda dengan langkah-langkah sebagai berikut.
biasanya diatasi dengan melakukan Pertama, bagi set data menjadi dua bagian,
transformasi dari salah satu tipe data menjadi yaitu subset data numerik dan kategorikal [2].
tipe data yang lain, seperti diskritisasi atribut Selanjutnya dilakukan teknik klasterisasi dan
numerik. Namun demikian metode diskritisasi deteksi outlier pada masing-masing partisi
atribut numerik ini terdapat kekurangan seperti secara terpisah. Untuk meningkatkan hasil
yang disebutkan Tan dkk [1]. Kekurangannya, deteksi outlier pada keseluruhan data,
antara lain adalah sulitnya menetapkan jumlah dilakukan teknik persilangan. Hasil klasterisasi
interval yang tepat sehingga dapat sub data numerik digunakan untuk menentukan
menyebabkan banyak pola yang redundant atau derajat outlier berbasis klaster dengan atribut
sebaliknya banyak pola yang hilang. Ini akan sub data kategorikal. Dan sebaliknya hasil
sangat berpengaruh jika atribut numerik cukup klasterisasi sub data kategorikal digunakan
banyak dalam set data. untuk menentukan derajat outlier dengan
Sejauh ini tidak banyak penelitian yang menggunakan atribut numerik. Selanjutnya,
bekerja pada data campuran seperti ini. He dkk untuk menggabungkan hasil langkah-langkah
[2] telah melakukan klasterisasi pada data ini dapat digunakan multi-atribut decision
campuran dengan pendekatan divide and making (MADM) yaitu dengan menggunakan
conquer. Ia membagi set data menjadi dua fungsi atau operator agregat tertentu [7].
subset data, yaitu numerik dan kategorikal.
Masing-masing subset data diklasterisasi,
DETEKSI OUTLIER BERBASIS
kemudian hasilnya digabungkan. Data hasil
penggabungan keduanya kemudian diklaster KLASTER
lagi untuk mendapatkan hasil akhir. Hasil
Metode yang diajukan dalam penelitian ini
eksperimen menunjukkan bahwa metode ini
adalah pengembangan dari konsep outlier
cukup efektif untuk melakukan klasterisasi.
berbasis klaster yaitu dengan mendefinisikan
Jika klasterisasi dapat dilakukan dengan
konsep baru mengenai deteksi outlier berbasis
partisi data numerik dan kategorikal [2], maka
klaster [6] (Gambar 1).
tentunya cara ini juga memungkinkan untuk
deteksi outlier.
Mengingat penelitian lain juga menunjukkan
bahwa deteksi outlier pada subset data tertentu
dapat digunakan untuk mendeteksi outlier dari
keseluruhan set data [3,4] Selain itu,
Maryono dan Djunaidy, Deteksi Outlier Berbasis Klaster 199
Sebagai contoh jika diberikan 90% maka berdasarkan jarak saja akan menyebabkan
artinya lebih klaster besar memuat lebih dari masalah jika set data mempunyai kerapatan
90% dari total obyek data pada set data. yang berbeda-beda. Pada Gambar 2, dengan
Persamaan (2) menunjukkan fakta bahwa menggunakan jarak saja, obyek D tidak
klaster besar dan kecil harus memiliki dianggap sebagai outlier, padahal obyek
perbedaan yang signifikan. Jika diberikan = tersebut cenderung sebagai outlier lokal dari
5, artinya setiap klaster besar minimal 5 kali klaster terdekatnya. Sedangkan pendekatan
lebih besar dari klaster kecil. pada Gambar 3, akan mengidentifikasikan A,
C, dan D sebagai outlier sebagaimana
Definisi 3: Misalkan C = {C1, C2, , Ck} Algoritma LOF [9].
adalah himpunan klaster dengan urutan ukuran Namun demikian jika sebuah obyek berada
|C1| |C2| |Ck|. Didefinisikan LC dan SC dalam klaster yang kecil, maka untuk
sebagaimana Definisi 2. Untuk sembarang perhitungan dengan jarak relatif seperti di atas
record t, didefinisikan cluster-based local ia tidak akan terdeteksi sebagai outlier. Oleh
outlier factor sebagaimana Persamaan (3). karena itu, pada penelitian ini digunakan
| C | * max(sim (C j , t ) untuk t Ci , Ci SC dan C j LC (3) pendekatan sebagaimana pada CBLOF yang
CBLOF(t ) i
| Ci | *(sim(Ci , t )) untuk t Ci , Ci LC menganggap obyek-obyek dalam klaster yang
kecil sebagai kandidat outlier. Deteksi outlier
Fungsi sim(C,t) pada Persamaan (3) adalah menggunakan konsep mengenai klaster besar
fungsi kemiripan transaksi t terhadap kelas C dan klaster kecil juga, dimana derajat outlier
sebagaimana dalam algoritma Squeezer [8]. dihitung sebagai Numerical Cluster-based
Meskipun CBLOF diperuntukkan untuk data Local Outlier Factor (NCBLOF).
kategorikal dan dapat dikembangkan untuk Dalam CBLOF ada dua komponen
data numerik. Ini dilakukan dengan pembentukan derajat outlier, yaitu jumlah
mendefinisikan CBLOF dengan perhitungan anggota klaster besar terdekat dan
derajat outlier sebagaimana Persamaan (3). kemiripannya terhadap klaster terdekat
tersebut. Dua komponen ini digunakan juga
NCBLOF (Implementasi CBLOF pada Data untuk mendefinisikan NCBLOF sebagaimana
Numerik) Persamaan (4).
1
Salah satu pendekatan deteksi outlier berbasis | C j | relatif distance(t , C ) untuk t Ci , Ci SC dan C j LC,
j
klaster adalah dengan mengesampingkan
NCBLOF(t )
C j arg min(t , centroid(C j )) (4)
klaster-klaster kecil yang jauh dari klaster yang
1
lain. Pendekatan ini dapat digunakan dengan | Ci |
relatif distance(t , Ci ))
untuk t Ci , Ci LC
ditentukan lebih dahulu. Melainkan pada set data campuran. Misalkan diberikan
sekumpulan fungsi obyektif dioptimasi sebuah set data D yang terdiri dari n obyek
terhadap sekumpulan konstrain atau batasan. dengan atribut campuran numerik dan
Dalam MADM, alternatif dievaluasi dengan kategorikal. Langkah-langkah Algoritma
mengatasi sekumpulan kriteria atau atribut MixCBLOF adalah sebagai berikut:
yang saling konflik. Masalah penggabungan 1. Bagi set data campuran menjadi dua bagian,
outlier dalam permasalahan penelitian ini yaitu set data numerik, D1 dan set data
termasuk dalam kategori ini. Masing-masing kategorikal, D2.
sub data numerik dan kategorikal dianggap 2. Lakukan klasterisasi pada subset data
sebagai sebuat atribut dalam MADM. Teori numerik D1 sehingga diperoleh sejumlah
yang banyak digunakan dalam MADM adalah klaster C11, C12, ..., C1p dengan ukuran
multi-atribut value theory (MAVT), dimana berturut-turut:
perangkingan alternatif keputusan |C11| |C12| ... |C1p|
dibangkitkan. Dalam prakteknya, metode Tentukan klaster besar (LC) dan klaster
berbasis MAVT menggunakan operator kecil (SC) menggunakan Definisi 2.
agregasi yang dirasa cocok untuk mendapatkan 3. Terapkan deteksi outlier berbasis klaster
faktor outlier dari seluruh obyek. Operator menggunakan atribut numerik, NCBLOF,
tersebut di antaranya adalah operator product terhadap obyek-obyek dalam klaster pada
(kali), sum (tambah), dan operator S. langkah 2 sebagaimana Persamaan (4).
Berikut adalah macam-macam operator 4. Terapkan deteksi outlier berbasis klaster
agregat yang dapat digunakan dalam MAVT: menggunakan atribut kategorikal terhadap
1. Operator Perkalian obyek-obyek dalam klaster pada langkah 2
Operator perkalian juga dikenal sebagai dengan CBLOF pada Persamaan (3).
metode perkalian berbobot. Operator ini 5. Lakukan klasterisasi pada sub set data
menggunakan perkalian untuk kategorikal sehingga diperoleh sejumlah
menghubungkan rating dari atribut sebagai klaster C21, C22, ..., C2q dengan ukuran
berikut: berturut-turut:
( a1, a2, ..., am) = (a1w1, a2w2, ..., amwm) = |C21| |C22| ... |C2q|
a1w1 a2w2 ... amwm = ai wi Tentukan klaster besar (LC) dan klaster
2. Operator Penjumlahan kecil (SC) menggunakan Definisi 2.
Operator penjumlahan juga disebut dengan 6. Terapkan deteksi outlier berbasis klaster
metode penjumlahan berbobot. Operator ini menggunakan atribut kategorikal terhadap
menggunakan penambahan untuk obyek-obyek dalam klaster pada langkah 2
menghubungkan rating dari atribut sebagai dengan CBLOF pada Persamaan (3).
berikut: 7. Terapkan deteksi outlier berbasis klaster
( a1, a2, ..., am) = +(w1 a1, w2 a2, ..., wm am) menggunakan atribut numerik terhadap
= w1 a1+w2 a2, ... +wm am = wi ai obyek-obyek dalam klaster pada langkah 5
3. Operator S dengan NCBLOF pada Persamaan (4).
Operator S juga dikenal dengan operator 8. Susun derajat outlier pada langkah 3, 4, 6,
maksimum atau operator agregasi dasar. dan 7 dalam matrik keputusan A=[aij].
Operator ini memberikan nilai terbesar dari 9. Lakukan pembobotan secara default (bobot
sekumpulan nilai yang diberikan sebagai sama) atau dengan metode Entropy.
berikut: 10. Gabungkan bobot outlier tiap obyek t1, t2, ..,
tn pada langkah 9 dengan fungsi agregat
( a1, a2, ..., am) = S (w1 a1, w2 a2, ..., wm
untuk mendapatkan derajat outlier akhir OF
am) = max { wi ai}
dari sebuah obyek ti.
OF(ti ) = (a1i, a2i, a3i, a4i)
beberapa karakteristik khusus. Set data uji coba lebih mudah dalam melakukan analisa hasil,
terdiri dari atribut campuran numerik dan evaluasi dilakukan dengan melihat rata-rata
kategorikal serta memiliki beberapa kelas atau pencapaian coverage untuk top ratio antara
klaster dimana sebagian di antaranya adalah jumlah outlier eksak dengan jumlah
kelas dengan ukuran yang relatif lebih kecil keseluruhan data.
sehingga dapat dianggap sebagai sekumpulan Hasil uji coba algoritma MixCBLOF dapat
outlier. Data yang digunakan pada uji coba ini dilihat pada Tabel 1. Pencapaian coverage
adalah Set data Cleveland (Heart Disease), terbaik untuk top ratio antara jumlah outlier
Hypothyroid, Hepatitis, dan Annealing. Dalam eksak dengan jumlah keseluruhan data dicetak
algoritma MixCBLOF ini melibatkan dengan huruf tebal. Jika dilakukan rata-rata,
Algoritma Squeezer dan CBLOF untuk sub algoritma MixCBLOF mencapai coverage
data kategorikal, sedangkan untuk data 73.54%. Dari Tabel 1 dapat dilihat bahwa di
numerik digunakan Algoritma CLUTO [10] antara operator yang ada, operator perkalian
dan NCBLOF. menghasilkan kinerja yang lebih baik jika
Uji coba dijalankan sesuai dengan skenario dibandingkan dengan dua operator lainnya,
yang telah dirancang, yaitu: yaitu penjumlahan dan maksimum. Selain itu,
1. Menentukan parameter yang tepat utuk pembobotan sama menghasilkan kinerja yang
Algoritma MixCBLOF meliputi penentuan lebih baik jika dibandingkan pembobotan
, , operator agregat, dan pembobotan dengan pembobotan berdasaran entropy.
yang tepat untuk masing-masing set data Salah satu parameter yang juga penting,
2. Membandingkan MixCBLOF dibandingkan selain operator agregat dan pembobotan,
dengan algoritma lain, yaitu algoritma adalah dan yang mempengaruhi
CBLOF yang diterapkan pada set data yang dipenuhinya konsep klaster besar dan kecil.
sudah didiskritisasi. Pada Tabel 2 dapat dilihat hasil pencapaian
coverage untuk dua kasus, yaitu dipenuhinya
Evaluasi dilakukan dengan menggunakan
konsep klaster besar dan kecil atau tidak.
top ratio dan coverage. Top ratio adalah
Berdasarkan hasil Tabel 2, tidak ada perbedaan
perbandingan antara jumlah k outlier yang
yang signifikan terhadap dipenuhinya konsep
dihasilkan oleh algoritma (n top ratio) dengan
klaster besar dan kecil. Namun demikian
jumlah keseluruhan obyek dalam data.
konsep ini tetap dibutuhkan berdasarkan
Sedangkan coverage adalah rasio antara jumlah
definisi CBLOF yang dijelaskan di awal.
outlier eksak yang terdeteksi dengan jumlah
keseluruhan outlier eksak yang dicari. Agar
Tabel 1. Pencapaian Coverage untuk n = Jumlah Outlier Eksak pada Keseluruhan Set Data
Berdasarkan Operator dan Pembobotan.
Coverage
Set data (+) S
wi=1 entropy wi=1 entropy wi=1 entropy
Sub data Cleveland I 76.90% 53.80% 92.30% 76.90% 53.80% 23.10%
Sub data Cleveland II 77.00% 77.00% 89.00% 86.00% 66.00% 66.00%
Dataset Cleveland 73.00% 74.00% 76.00% 75.00% 69.00% 68.00%
Hypothyroid 72.10% 73.00% 47.50% 63.90% 9.00% 54.90%
Hepatitis 52.40% 33.30% 66.70% 47.60% 33.30% 19.00%
Annealing 35.30% 32.40% 47.10% 47.10% 26.50% 26.50%
Rata-rata 64.45% 57.25% 69.77% 66.08% 42.93% 42.92%
Untuk pengembangan lebih lanjut, dapat yang dapat digunakan adalah dengan
dilakukan dengan mencari sebuah metode yang mengoptimalkan hasil klasterisasi yang mampu
dapat secara otomatis menentukan parameter menghasilkan klaster-klaster besar dan kecil
treshold s dan k pada metode klasterisasi. Ide dengan ukuran yang jauh berbeda.
DAFTAR PUSTAKA
[1] Tan PN, Steinbach M, and Kumar V. of Noisy Data. Elvesier: Knowledge-
Introduction to Data Mining. Boston: Based System. 21: 612-616. 2008.
Pearson Addison Weisley. 2006. [6] He Z, Xu X and Deng S. Discovering
[2] He Z, Deng X, and Xu X. Clustering Cluster-based Local Outliers. Pattern
Mixed Numeric and Categorical Data: A Recognition Letter. 24: 1641-1650. 2003.
Cluster Ensemble Approach. eprint [7] Climaco J. Multicriteria analysis. New
arXiv:cs/0509011. 2005. URL: York: Springer-Verlag. 1997.
http://arxiv.org/ftp/cs/papers/0509/050901 [8] He Z, Xu X and Deng S. Squeezer: An
1.pdf, diakses tanggal 20 November 2009. Efficient Algorithm for Clustering
[3] Assent I, Krieger R, Muller E, and Seidl T. Categorical Data. Journal of Computer
Subspace Outlier Mining in Large Science and Technology. 17: 611-624.
Multimedia Databases. Dagstuhl Seminar 2002.
Proceedings 07181: Parallel Universes [9] Breunig M M. Kriegel. HP, Ng RT and
and Local Patterns. 2007. URL: Sander J. LOF: Identifying Density-based
http://citeseerx.ist.psu.edu/viewdoc/downl Local Outliers. Proceedings of the 2000
oad?doi=10.1.1.90.4039&rep=rep1&type= ACM SIGMOD International Conference
pdf, diakses tanggal 20 Nopember 2009. on Management of Data. 93-104. 2000.
[4] Aggarwal C and Yu P. An Effective and [10] Anonim. CLUTO 2.1.1. Software for
Efficient Algorithm for High-dimensional Clustering High-Dimensional Dataset.
Outlier Detection. VLDB Journal. 14: 211- URL: http://www.cs.umn.edu/~karpys,
221. 2005. diakses tanggal 20 November 2009.
[5] Hong Y, Kwong S, Chang Y and Ren Q.
Unsupervised Data Pruning for Clustering