You are on page 1of 14

DATA MINING - REVIEW JURNAL :

FAST OUTLIER DETECTION USING GRID-BASED ALOGARITHM


Oleh:
Jihwan Lee dan Nam-Wook Cho

KELOMPOK 5

Abthal Umar
Asfika Rizkyana
Daniel Julfrado B.
Jefrianto Fankari
Laksmi Titis A.D
Nabella Intan Karasta

KELAS 4SE5
DOSEN: Dr. Azka Ubaidillah

SEKOLAH TINGGI ILMU STATISTIK

JAKARTA

2018
PENDAHULUAN

Pendeteksian outlier merupakan salah satu tahap dalam data mining yang bertujuan untuk
mengetahui observasi yang menyimpang dari observasi-observasi lainnya. Saat ini terdapat
beberapa metode untuk mendeteksi outlier salah satunya Local Outlier Factor (LOF).
Algoritma LOF adalah algoritma yang berbasis kepadatan untuk mendeteksi outlier dari
kumpulan observasi di dataset dengan menetapkan derajat pencilannya yang disebut Local
Outlier Factor (LOF) untuk setiap observasi. Untuk metode LOF, suatu observasi dikatakan
outlier jika mempunyai kepadatan yang lebih rendah daripada observasi di sekitarnya.

Metode LOF dapat mendeteksi outlier meskipun suatu dataset mempunyai distribusi
normal. Hal ini sudah diterapkan di berbagai dataset seperti pendeteksian gangguan jaringan
dan proses monitoring. Namun karena kekompleksitasan dari algoritma LOF, saat
diaplikasikan untuk dataset yang berukuran besar dengan dimensi yang banyak memakan
waktu lama untuk proses penghitungannya. Hal ini tentunya menjadi masalah yang sangat
krusial jika diterapkan untuk sistem yang mengaplikasikan real-time.

Kompleksitas LOF ini dapat dilihat dari dua perspektif. Yang pertama adalah banyaknya
waktu penghitungan untuk proses LOF bertambah secara eksponensial dengan jumlah dimensi
dari dataset yang bisa disebut “Curse of Dimensionality” atau kutukan dimensi. Untuk data
yang mempunyai dimensi banyak (n) kompleksitas dari algoritma menjadi O (n2). Oleh karena
itu diperlukan usaha untuk mengurangi komplesitas algoritma dengan mengurangi dimensi
data. Singular Value Decomposition (SVD), Karhunen-Loeve (KL), Genetic Algorrithm, dan
FastMap merupakan beberapa metode yang sudah pernah diusulkan untuk mengurangi
besarnya dimensi di suatu data set.

Yang kedua berkaitan dengan penghitungan k-nearest neighbors. Algoritma LOF


menghitung jarak menggunakan jarak Euclidean untuk setiap observasi terhadap centroid
kemudian mengurutkan berdasarkan jaraknya. Hal ini menyebabkan proses penghitungan
memakan waktu lama.

Oleh karena itu jurnal ini mengembangkan metode untuk mengurangi waktu proses
penghitungan yang berkaitan dengan k-nearest neighbour. Algoritma ini membagi data
menjadi bagian-bagian wilayah yang kecil yang disebut “grid”. Untuk membuktikan
keefektifan waktu, maka beberapa eksperimen juga dilakukan. Data yang digunakan adalah
data traksaksi Korea Atomic Energy Research Institute (KAERI) yang diperoleh dari UCI
machine-learning repository.
METODOLOGI

Pada bagian ini akan dijelaskan bagaimana prosedur pendektesian outlier dengan
alogaritma grid-LOF. Sebelumnya dijelaskan bagaimana penghitungan LOF pada suatu
titik.Penghitungan LOF secara singkat adalah :

1. Menghitung k-distance dari setiap titik / data (p) utnuk dapat menentukan tetangga
dari p.
2. Menghitung jumlah tetangga terdekat (k-distance neighborhood dari setiap p)
dengan jarak yang tidak lebih besar dari k-distance p,
3. Menghitung reachbility distance dari objek p, dengan tujuan untuk memastikan
bahwa semua objek berada di lingkungan yang homogen.
4. Menghitung kepadatan lokal dari setiap objek.
∑ 𝑟𝑒𝑎𝑐ℎ−𝑑𝑖𝑠𝑡 (𝑝,𝑜)
LrdMinPts(p)=1/ |𝑁𝑚𝑖𝑛𝑃𝑡𝑠 (𝑝)|

LrdMinPts(p) : kepadatan local dari objek p


ReachdistMinPts(p,o) : Reachbility Distance dari objek p ke o
NMinpts (p) : Jumlah tetangga p dalam suatu minPts
5. Menghitung LOF untuk setiap objek data.
𝑙𝑟𝑑 𝑀𝑖𝑛𝑃𝑡𝑠 (𝑜)

𝑙𝑟𝑑𝑀𝑖𝑛𝑝𝑡𝑠 (𝑝)
LOFMinPts (p)= |𝑁𝑚𝑖𝑛𝑝𝑡𝑠 (𝑝)|

LOFMinPts (p) : derajat outlier dari objek p


LrdMinPts(p) : kepadatan local dari objek p
LrdMinPts(o) : kepadatan local dari objek o
NMinpts (p) : Jumlah tetangga p dalam suatu minPts

Setelah mengetahui penghitungan LOF, maka kita akan melanjutkan penghitungan


LOF pada alogaritma LOF grid. Anggap data set S ∈ Rd terdiri dari n titik data pada suatu
ruang nyata d dimensi. Anggap jumlah grid per dimensi sudah ditentukan sebanyak k. Maka
alogaritma untuk menghitung nilai LOF grid dari titik data adalah sebagai berikut :

1. Membagi ruang data masing-masing dalam S menjadi k-interval yang sama. Lalu hitung
total kd di dalam data set tersebut.
2. Mengaitkan setiap titik data xi ∈ S menjadi satu indeks grid, j={1,....,. kd}. Jika tidak
ada data yang termasuk dalam grid maka grid tidak diperhitungkan.
3. Untuk setiap j grid hitung centroid gridnya Cj.
4. Untuk setiap centroid di grid Cj, hitung nilai LOFnya LOF(Cj).
5. Menentukan nilai LOF grid untuk tiap titik data. Jika xi masuk dalam grid j maka
LOFG(xi) = LOF(Cj)

Untuk menggambarkan perbedaan antara algoritma LOF dengan alogaritma grid-LOF, dengan
dua dimensi dataset yang terdiri dari 530 titik data.

Sumber: Jurnal PLoS ONE (2016)

Gambar 1A. Menunjukan titik data normal di dalam elips dihasilkan dari tiga distribusi
normal bivariat dengan berbagai cara dan variasi. Sebaliknya, outlier yang berada di luar
elips dihasilkan dari distribusi yang seragam. Gambar 1B menunjukkan LOF dari setiap
titik data pada Gambar 1A. Adalah kurang dari satu, sedangkan nilai LOF dari outlier lebih
besar dari lima.

Sumber: Jurnal PLoS ONE (2016)

Gambar 2A dan 2B menggambarkan hasil alogaritma grid-LOF, masing-masing dimensi


dibagi menjadi sepuluh interval yang sama, menghasilkan 102 grid untuk ruang data.
Berbeda dengan algoritma brute force, algoritma grid-LOF hanya mempertimbangkan
centroid grid. Perhatikan bahwa grid tanpa titik data tidak dipertimbangkan untuk
perhitungan LOF. Gambar 2B menampilkan LOF dari setiap titik data yang diperoleh
dengan metode LOF grid.

EKSPERIMEN

Dalam jurnal ini, eksperimen dilakukan dengan menggunakan empat dataset untuk
membandingkan kinerja algoritma original LOF dan algoritma grid-LOF. Keempat dataset ini
diperoleh dari UCI machine-learning repository. Tabel 1 berisi tentang jumlah instansi dan
atribut dari dataset.
Tabel 1. Dataset Eksperimen

Sumber: Jurnal PLoS ONE (2016)

Meskipun efisiensi algoritma grid-LOF bisa lebih baik daripada algoritma brute force,
tetapi nilai grid-LOF yang diperoleh berpotensi menyebabkan kesalahan Tipe 1 dan 2.
Penggunaan metode ini dapat dibenarkan apabila kualitas algoritma grid-LOF terdapat pada
tingkat yang bisa diterima. Nilai recall dan presisi berbagai parameter untuk setiap dataset
digunakan untuk menguji kualitas nilai grid-LOF yang dihasilkan.

Seperti yang telah dibahas pada bagian sebelumnya, ukuran grid (ditentukan oleh jumlah
interval k) dapat mempengaruhi kinerja algoritma grid-LOF. Meningkatnya interval k sejalan
dengan mengecilnya ukuran grid, yang mengakibatkan lebih banyak waktu perhitungan dan
perkiraan error lebih kecil. Sehingga percobaan dilakukan dengan jumlah interval k yang
bervariasi. Percobaan dijalankan pada PC 1,60 GHz, 4,00 GB. Kode implementasi baik
algoritma brute force LOF dan grid-LOF ditulis dengan Python.

Peningkatan Efisiensi Waktu Pencarian


Gambar 3. Perbandingan Waktu Perhitungan LOF (detik)
Sumber: Jurnal PLoS ONE (2016)

Gambar 3 menunjukkan perbandingan waktu perhitungan dengan algoritma original


LOF dan grid-LOF pada keempat dataset. Untuk setiap dataset, sumbu x mewakili skenario
percobaan yang berbeda berkenaan dengan interval nilai k (k = 5, 10, 20, dan 30) yang
didefinisikan untuk setiap dimensi. Sumbu y mewakili perhitungan waktu (detik) dari setiap
skenario eksperimen. Dalam percobaan tersebut, jumlah tetangga terdekat (MinPts) ditetapkan
sepuluh. Di mana MinPts adalah jumlah tetangga terdekat yang digunakan untuk
mendefinisikan local neighborhood suatu obyek. Seperti ditunjukkan, pada keempat dataset
algoritma grid-LOF lebih unggul dari algoritma brute force dalam hitungan waktu. Akan tetapi,
efisiensi waktu akan terus berkurang seiring bertambahnya jumlah grid. Hal ini dapat dilihat
pada gambar 3, yang mengindikasikan bertambahnya waktu perhitungan pada pertambahan
jumlah grid.

Gambar 4. Waktu Komputasi Algoritma LOF untuk Keempat Dataset


Sumber: Jurnal PLoS ONE (2016)

Gambar 4 mengilustrasikan efisiensi waktu komputasi dari algoritma grid-LOF terhadap


algoritma original LOF. Sumbu x mewakili nomor interval (k) yang didefinisikan untuk setiap
dimensi. Sumbu y mewakili presentasi keunggulan efisiensi (efficiency gain) dari algoritma
grid-LOF terhadap algoritma brute force. Efek keuntungan efisiensi lebih signifikan dengan
ukuran grid yang lebih besar. Keuntungan efisiensi secara bertahap menurun saat nilai interval
k meningkat. Nilai interval yang lebih besar berarti bahwa ruang pencarian dibagi menjadi
beberapa grid kecil, yang menghasilkan sedikit keuntungan efisiensi dan sedikit kesalahan
aproksimasi.

Gambar 4 juga menggambarkan keuntungan efisiensi waktu dari empat dataset. Tiga
dataset termasuk Uang Kertas Otentikasi (BA), Wilt, dan Pembangkit Listrik Siklus Gabungan
(CCPP) memiliki keuntungan efisiensi waktu yang signifikan, sedangkan Parkinson
Telemonitoring (PT) mendapat keuntungan efisiensi waktu yang moderat dibandingkan dataset
lainnya. Kinerja moderat dari data Parkinson Telemonitoring (PT) diakibatkan oleh jumlah
atribut data yang besar (19). Hal ini dikarenakan grid-LOF mengindikasikan perhitungan yang
lebih kompleks pada tetangga k-terdekat, bukan karena “Curse of Dimensionality”. Oleh
karena itu, algoritma grid-LOF dapat menunjukan peningkatan kinerja untuk data berdimensi
rendah-sedang dengan jumlah data point yang banyak.

Efektivitas: Kemerosotan Kualitas dari Grid-LOF


Gambar 5. Perbedaan antara Brute Forced LOF dan Grid-LOF
Sumber: Jurnal PLoS ONE (2016)
Gambar 5 menggambarkan perbedaan brute force LOF dan grid-LOF untuk setiap
dataset. Pada sumbu horizontal, titik data diurutkan berdasarkan original LOF dengan urutan
menurun. Kurva merah mewakili original LOF, sedangkan kurva biru mewakili grid-LOF.
Seperti yang ditunjukkan pada gambar, LOF dari algoritma grid-LOF berbeda dari nilai
original LOF tidak hanya dalam skala absolut tetapi juga dalam urutan nilai LOF.

Dalam jurnal ini, penurunan kualitas algoritma grid-LOF dan algoritma original LOF
dibandingkan dalam hal presisi dan recall. Titik data dengan nilai LOF yang lebih besar dari
ambang batas yang telah ditentukan sebelumnya (ditandai dengan garis putus-putus horizontal
pada Gambar 5) dianggap sebagai outlier sesungguhnya. Kemudian, titik data dengan nilai
grid-LOF yang melebihi persentil ke-90 dipilih sebagai outlier potensial.

Gambar 6. Presisi dari Algoritma Grid-LOF


Sumber: Jurnal PLoS ONE (2016)
Gambar 7. Recall dari Algoritma Grid-LOF

Sumber: Jurnal PLoS ONE (2016)

Gambar 6 dan Gambar 7 menunjukkan presisi dan recall sehubungan dengan jumlah
interval yang berbeda untuk setiap dataset. Seperti yang dindikasikan, kualitas solusi yang
dihasilkan akan buruk jika menggunakan grid sedikit. Ketika jumlah interval adalah lima,
recall tidak akan melebihi 0.5 sampai 10 persen dari nilai grid-LOF, ini mengisyaratkan bahwa
hampir setengah dari outlier sesungguhnya tidak dapat diprediksi ketika nilai grid-LOF berada
di atas 10 persen. Solusi dari masalah kualitas tersebut, kualitas akan meningkat dengan cepat
saat jumlah interval meningkat lebih dari sepuluh. Pada semua kasus pada penelitian ini, lebih
dari 70 persen outlier sesungguhnya diidentifikasi ke dalam pencarian data 10 persen data. Jika
jumlah interval meningkat menjadi 30, hampir tidak ada kemerosotan kualitas pada metode
LOF grid.

Namun, seperti yang ditunjukkan pada Gambar 4, ada sedikit keuntungan efisiensi
ketika k=30. Dengan mempertimbangkan trade-off antara efisiensi dan efektivitas, strategi
yang menerima penurunan kualitas yang kecil dengan imbalan perhitungan yang lebih cepat
akan lebih berguna dalam situasi yang membutuhkan pendeteksian outlier secara real-time.

Parkinson Telemonitoring (PT), memiliki jumlah atribut terbanyak (19), menunjukkan


kinerja yang wajar dibandingkan dataset lainnya. Hal ini dikarenakan jumlah gridnya lebih
besar dari pada dataset lainnya, walaupun masing-masing dimensi dibagi dengan interval yang
sama. Di antara dataset dengan ukuran atribut serupa (Banknote, Wilt, PT), CCPP mengungguli
yang lain.

STUDI KASUS
Setelah menemukan usulan algoritma pada bagian sebelumnya (Eksperimen), dilakukan
lagi percobaan terhadap algoritma yang telah dibangun tersebut dengan menggunakan dataset
asli dengan volume lebih besar. Pada jurnal ini, data yang digunakan berasal dari KAERI
(Korea Atomic Energy Research Institue), yang terdiri atas 297.019 records (baris) dan 33
fields (kolom).

Sebelum dilakukan analisis, dilakukan preprocessing pada data yang ada agar algoritma
grid-LOF yang telah dibangun dapat digunakan. Dari 33 kolom yang ada, dilakukan reduksi
hingga menghasilkan 7 kolom saja yang akan dianalisis. Daftar kolom yang akan dianalisis
dapat dilihat pada Tabel 2 di bawah. Kemudian, data yang berupa kategorik atau teks
dikonversi menjadi data numerik karena penghitungan LOF didasarkan pada bilangan riil.
Setiap kolom juga dilakukan standarisasi sehingga memiliki rata-rata sebesar 0 (nol) dan
varians unit. Selain itu, observasi berulang dibuang dari dataset. Pada akhirnya, dataset yang
akan digunakan terdiri atas 17.140 observasi dan 7 kolom. Sama dengan percobaan yang
dilakukan sebelumnya, jumlah tetangga terdekatnya ditetapkan berjumlah 10 (sepuluh).

Tabel 2. Deskripsi Dataset yang Digunakan

Sumber: Jurnal PLoS ONE (2016)

Tahapan pertama dalam analisis adalah membandingkan kecepatan penghitungan yang


dibutuhkan oleh kedua algoritma, yaitu original LOF dan grid-LOF algoritma. Hasil
perhitungannya dapat dilihat pada Tabel 3 di bawah ini

Tabel 3. Perbandingan Waktu Penghitungan LOF (detik)

Sumber: Jurnal PLoS ONE (2016)

Dapat kita lihat dari tabel di atas, bahwa waktu yang dibutuhkan oleh algoritma grid-
LOF jauh lebih singkat dibandingkan algoritma original LOF (bruteforce), dengan rentang
efisiensi yang diperoleh berkisar 42,64 kali (k=10) sampai dengan 11,25 kali (k=100) lebih
efisien. Hal ini juga menunjukkan bahwa setiap pengurangan ukuran grid akan menurunkan
efisiensi. Ini mungkin disebabkan karena dataset yang digunakan memiliki struktur yang padat
di mana kebanyakan observasi dapat menjadi bagian dari beberapa grid.

Selain pengukuran kecepatan penghitungan, dilakukan pula pengukuran kualitas dari


hasil algoritma grid-LOF tersebut. Observasi yang memiliki nilai original LOF lebih besar dari
nilai LOF persentil ke-99 dari data dianggap sebagai outlier sesungguhnya. Kemudian,
observasi yang memiliki nilai grid-LOF lebih besar dari persentil ke-90 dianggap sebagi outlier
potensial. Gambar 1 di bawah menunjukkan perbandingan kualitas antara hasil metode grid-
LOF dan metode original LOF.

Gambar 1. Presisi dan Recall dari metode grid-LOF

Sumber: Jurnal PLoS ONE (2016)

Dapat kita lihat dari tabel di atas, kualitas hasil dari metode grid-LOF meningkat sejalan
dengan penurunan ukuran grid (peningkatan jumlah grid), di mana saat k=100, metode ini
berhasil mengidentifikasi 80% dari true outlier pada 2% data teratas. Tingkat presisi meningkat
hingga 90% sampai persentil ke-90 dari set data. Dari hasil ini, dapat disimpulkan bahwa
algoritma grid-LOF tidak hanya mampu meningkatkan efisiensi waktu yang dibutuhkan untuk
proses pendeteksian outlier, namun juga mempertahankan kualitas dari hasil analisis dari
metode LOF.
KESIMPULAN

Untuk mengurangi waktu penghitungan dari algoritma LOF, maka dibentuk bagian-
bagian wilayah yang kecil atau disebut “grid”. Beberapa eksperimen telah dilakukan dengan
berbagai parameter. Berdasarkan beberapa eksperimen yang telah dilakukan dapat disimpulkan
bahwa grid-LOF efisien mengurangi waktu dari proses algoritma LOF.

Keunggulan dari grid-LOF ini karena algoritma yang diterapkan melakukan


penghitungan yang lebih efisien dalam menghitung jarak observasi ke centroid dari grid bukan
dari centroid dataset. Oleh karena itu untuk dataset yang besar, grid-LOF dapat menjadi
pendekatan atau alternatif dari original LOF.

Selain itu grid-LOF juga efisien diterapkan untuk dataset real-time. Pada original LOF,
apabila ada observasi baru ditambahkan maka nilai LOF setiap point harus dihitung ulang dan
diupdate setiap waktu sehingga hal ini dapat menurunkan perfomance dari algoritma tersebut.
Namun berbeda dengan grid-LOF, pengitungan nilai LOF untuk observasi baru hanya dihitung
di lokasi grid observasi baru tersebut.

Grid-LOF juga mempunya kekurangan yaitu hanya mampu menangani dataset yang
mempunyai jumlah dimensi moderat. Oleh karena itu untuk penelitian selanjutnya dapat
dilakukan metode reduksi dimensi seperti kombinasi SVD dan grid-LOF.
KEKURANGAN-KELEBIHAN

Kekurangan
1. Letak gambar tidak sesuai dengan posisi bagian penjelasannya. Misalkan gambar yang
seharusnya menggambarkan penjelasan di eksperimen namun letaknya berada di studi kasus
sehingga menyebabkan kebingungan
2. Ketika dijelaskan persentil 90 merupakan data yang berpotensi outlier, tidak dijelaskan letak
persentil pada gambar.
3. Terdapat beberapa grafik yang keterangan sumbunya tidak ada.
4. Literatur review tidak ada. Walaupun di introduction ada namun hanya sekilas dan tidak
rinci.
5. Tidak dijelaskan secara rinci atau menulis rumus dari LOF.
6. Tidak dijelaskan bagaimana menentukan batas dari LOF untuk data dinyatakan sebagai
outlier.
7. Terdapat penjelasan atau interpretasi yang tidak sesuai dengan gambar. Misalkan pada
gambar 4 dikatakan efficiency gain 1388,329 namun di gambar nilainya jelas di bawah 1000

Kelebihan
1. Peneliti mampu menemukan metode baru untuk mengatasi waktu penghitungan LOF yang
lama.
2. Terdapat beberapa eksperimen yang dilakukan terhadap dataset sehingga memang dapat
dibuktikan bahwa grid-LOF lebih efisien dalam waktu penghitungan daripada original LOF.
3. Dalam setiap eksperimen, dilakukan beberapa percobaan untuk k (grid) yang berbeda-beda.
4. Untuk membandingkan kecepatan atau presisi dari kedua metode divisualisasikan dengan
grafik sehingga kelihatan perbandingannya.

You might also like