ANALISA ALGORITMA SUPPORT VECTOR MACHINE
(SVM) DALAM MEMPREDIKSI NASABAH YANG
BERPELUANG KREDIT MACET
Nugraha Rahmansyah
Universitas Putra Indonesia “YPTK” Padang, Indonesia
[email protected]ABSTRACT
Credit is a form of capital solutions. But in the journey, credit is always a risk that unexpected. Risks identified with uncertainty. Support Vector Machine (SVM) is a technique of data mining to predict, both in terms of classification or regression. The concept of SVM can be described simply as an attempt to find the hyperplane that can separate the dataset according to the class. The basic principle of SVM is a linear classifier and further developed in order to work on the problem by the method of nonlinear kernel trick. SVM is able to predict the credit problem. Whether the client has opportunity or not the occurrence of problems in the mortgage payment.
Keywords: Support Vector Machine, Kernel Trick, Credit.
1. Pendahuluan
Prediksi dalam kamus besar bahasa Indonesia adalah hasil dari kegiatan memprediksi,
meramalkan atau memperkirakan. Prediksi bisa berdasarkan metode ilmiah ataupun subjek
berkala. Didalam data mining prediksi juga digunakan sebagai suatu model yang bisa
disebut dengan predictive modeling. Dimana predictive modelling digunakan untuk
membangun sebuah model untuk target variable sebagai fungsi explanatory variable.
Explanatory variable dalam hal ini merupakan semua atribut yang digunakan untuk
melakukan prediksi, sedangkan target variable merupakan atribut yang akan diprediksi
nilainya. Predictive modeling task dibagi menjadi dua tipe yaitu :Classification digunakan
untuk memprediksi nilai dari target variable yang discrete (diskret) dan regression
digunakan untuk memprediksi nilai dari target variable yang continu (berkelanjutan).
Dalam hal ini data mining memiliki akar yang panjang dari bidang ilmu seperti kecerdasan buatan
(artificial intelligent), machine learning, statistic dan database. Beberapa teknik data mining
yang sering disebut-sebut dalam literature antara lain : clustering, classification, association rule
mining, neural network, genetic algorithm dan lain-lain (ilmu komputer.com, 2003). Dalam
memprediksi suatu masalah, kita dapat menggunakan beberapa algoritma data mining. Salah
satunya adalah algoritma Support Vector Machine (SVM). SVM memiliki beberapa fungsi
penerapan dalam klasifikasi dan prediksi. Untuk kasus memprediksi kita dapat menggunakan
penerapan Support Vector Regresi (SVR) dengan fungsi kernel linear, polynomial kernel, Radial
Basis Function (RBF), sigmoid kernel, dan invers multikuadrik dan telah di buktikan dari beberapa
jurnal ataupun literature yang telah ada.
Oleh karena itu, pada penelitian ini menggunakan fungsi metode kernel trick polynomial
di mana c = 1 dan d = 2 dengan persamaan :
𝐾(𝑥 , 𝑥
𝑗) = (𝑥
𝑇. 𝑥
𝑗
+ 𝑐)
𝑑Di mana :
c = pendugaan nilai cost
d = ordo
2. Tinjauan Literatur
Support Vector Machine (SVM) adalah suatu teknik untuk melakukan prediksi, baik dalam kasus
klasifikasi maupun regresi, yang sangat popular belakangan ini (Santosa, 2007). SVM juga dapat
di artikan sebagai sistem pembelajaran yang menggunakan ruang hipotesis berupa fungsi-fungsi
linear dalam sebuah ruang fitur (feature space) berdimensi tinggi, dilatih dengan algoritma
pembelajaran yang didasarkan pada teori optimasi dengan mengimplementasikan learning bisa
yang berasal dari teori pembelajaran statistik (Sembiring, 2007)
Dalam SVM terdapat dua teknik pengerjaan, baik secara linear classification maupun
non-linear classification. Dalam tahapan ini dilakukan dengan cara teknik non-non-linear
classification karena pada umumnya masalah dalam domain dunia nyata jarang yang
bersifat linear separable (tidak terpisahkan secara linear), tetapi bersifat non-linear. Untuk
menyelesaikan problem non-linear, SVM dimodifikasi dengan memasukkan fungsi
kernel. Dalam non-linear SVM, pertama-tama data
𝑥 dipetakan oleh fungsi 𝜙(𝑥 ) ke ruang
vektor yang berdimensi lebih tinggi. Fungsi
𝜙 memetakan tiap data pada input space
tersebut ke ruang vektor baru yang berdimensi lebih tinggi (dimensi 3), sehingga kedua
kelas dapat dipisahkan secara linear oleh sebuah hyperplane. Notasi matematika tersebut
adalah sebagai berikut :
𝜙 = ℜ
𝑑⟶ ℜ
𝑑𝑑 < 𝑞
Selanjutnya proses pembelajaran pada SVM dalam menemukan titik-titik support vector,
hanya bergantung pada dot product dari data yang sudah ditransformasikan pada ruang
baru yang berdimensi lebih tinggi, yaitu 𝜙 𝑥
, 𝜙 𝑥
𝑖. Karena pada umumnya transformasi
𝑗𝜙 ini tidak diketahui, dan sangat sulit untuk dipahami secara mudah, maka perhitungan dot
product dapat digantikan dengan fungsi kernel yang mendefinisikan secara implicit
transformasi 𝜙. Hal ini disebut sebagai Kernel Trick, yang dirumuskan :
𝐾 𝑥
, 𝑥
𝑖= 𝜙 𝑥
𝑗. 𝜙 𝑥
𝑖=
𝑗𝛼
𝑖𝑦
𝑖𝐾 𝑥, 𝑥
𝑖+ 𝑏
𝑛𝑖=1,𝑋𝑖𝜖㐶𝑉
SV adalah persamaan di atas dimaksudkan dengan subset dari training set yang terpilih
sebagai support vector, dengan kata lain 𝑥
yang berkorespondensi pada 𝛼
𝑖 𝑖≥ 0.
3. Metodologi
Dalam menganalisa data, kita harus memikirkan tahapan atau langkah-langkah kerja.
Dalam hal ini, penulis memaparkan beberapa tahap dalam menganalisa data yang dapat
dilihat pada gambar 1 berikut ini :
Gambar 1: Kerangka Penelitian
.
4. Hasil dan Diskusi
4.1. Transormasi Data
Lakukan normalisasi data sehingga data tersebut bernilai antara 0 dan 1 yang dapat dilihat
pada tabel 1 dengan menggunakan persamaan :
𝑋
𝑛=
0.8 ∗ (𝑋 − 𝑎)
𝑏 − 𝑎
+ 0.1
Di mana :
𝑋
𝑛=
Nilai ke – n
A
=
Nilai angka terendah
B
=
Nilai angka tertinggi
0.8 dan 0.1
=
Ketetapan
Dengan menggunakan persamaan tersebut, maka kita dapat mencari nilai dari transformasi
data X1(Angsuran) dan X2(Pendapatan Bersih)
Tabel 1: Transformasi Data
X1 X2 0.1 0.2701 0.1012 0.1253 0.1035 0.1744 0.1042 0.1547 0.1042 0.1219
0.1044 0.1345 0.1117 0.2439 0.1125 0.1519 0.1135 0.2463 0.1142 0.2126 0.1147 0.1492 0.1174 0.1851 0.1197 0.1529 0.1403 0.5201 0.1418 0.2799 0.1523 0.9 0.1546 0.1911 0.1561 0.2988 0.16 0.3808 0.16 0.4119 0.1601 0.6074 0.1617 0.29 0.1624 0.2439 0.1716 0.3072 0.1716 0.3351 0.1895 0.5583 0.191 0.3817 0.1925 0.3614 0.2035 0.5251 0.2104 0.143 0.2118 0.484 0.2298 0.4031 0.2298 0.403 0.2319 0.5296 0.2354 0.6687 0.2871 0.6045
Berdasarkan data pada tabel 4.2 terlihat bahwa untuk nilai X1(1) 486.889 adalah 0.1 dan
X2(1) 14.683.333 adalah 0.2701
4.2. Matrik K
Untuk mencari nilai SVM terlebih dahulu kita harus mencari nilai matrik K dengan
persamaan :
𝐾 𝑥, 𝑥
𝑖= ϕ (𝑥
i)
𝑥
1K(1,1) = (𝑥
1∗ 𝑥
1+ 1)
2= ((0.1044 ∗ 0.1044) + (0.1345 ∗ 0.1345) + 1)
2= 1.0588
K(1,2) = (𝑥
1∗ 𝑥
2+ 1)
2= ((0.1044 ∗ 0.1147 ) + (0.1345 ∗ 0.1492) + 1)
2= 1.0652
K(1,3) = (𝑥1
∗ 𝑥3
+ 1)
2= ((0.1044 ∗ 0.1403) + (0.1345 ∗ 0.5201) + 1)
2= 1.1764
K(1,4) = (𝑥
1∗ 𝑥
4+ 1)
2= ((0.1044 ∗ 0.1561) + (0.1345 ∗ 0.2988) + 1)
2= 1.1162
K(1,5) = (𝑥
1∗ 𝑥
5+ 1)
2= ((0.1044 ∗ 0.1716) + (0.1345 ∗ 0.3072) + 1)
2= 1.1219
K(1,6) = (𝑥
1∗ 𝑥
6+ 1)
2= ((0.1044 ∗ 0.2104) + (0.1345 ∗ 0.143) + 1)
2= 1.0841
Setelah menghitung nilai matrik kernel K, maka didapatkan matrik K dengan ukuran N*N
𝐾 𝑥, 𝑥
𝑖= ϕ (𝑥
i) =
1.0588
1.0652 1.1764 1.1162 1.1219 1.0841
1.0652
1.0723 1.1962 1.1289 1.1353 1.0929
1.1764
1.1962 1.6646
1.386
1.4016 1.2186
1.1162
1.1289
1.386
1.2403 1.2513 1.1567
1.1219
1.1353 1.4016 1.2513 1.2629 1.1664
1.0841
1.0929 1.2186 1.1567 1.1664 1.1336
4.3.
Pendugaan Koefisien weight (w) dan bias (b)
Pendugaan koefisien weight dan bias dapat menggunakan persamaan berikut:
𝑤 =
𝑁𝑖=1𝛼
𝑖𝑦
𝑖𝐾(𝑥, 𝑥
𝑖)
= 0.3007
1.0588
1.0652
1.1764
1.1162
1.1219
1.0841
+ 0.3007
1.0652
1.0723
1.1962
1.1289
1.1353
1.0929
+ 0.3007
1.1764
1.1962
1.6646
1.386
1.4016
1.2186
+ 0.3007
1.1162
1.1289
1.386
1.2403
1.2513
1.1567
+
0.3007
1.1219
1.1353
1.4016
1.2513
2.2629
1.1664
− 0.3007
1.0841
1.0929
1.2186
1.1567
1.1664
1.1336
=
1.3394
1.3547
1.6858
1.4934
1.5057
1.3786
Setelah didapatkan nilai w , selanjutnya pilih salah satu Support Vector dari kelas “+1” dan
“-1” untuk menghitung nilai b dengan persamaan :
𝑏 = −
1 2(𝑤. 𝑥
++ 𝑤. 𝑥
−)
= −
1 2∗
1.3394
1.3547
1.6858
1.4934
1.5057
1.3786
1.0588
1.0652
1.1764
1.1162
1.1219
1.0841
+
1.3394
1.3547
1.6858
1.4934
1.5057
1.3786
1.0841
1.0929
1.2186
1.1567
1.1664
1.1336
= -9.8642
4.4. SVM
Setelah didapatkan nilai w (weight) dan b (bias), maka model SVM siap digunakan pada
data uji dengan persamaan :
b
x
x
y
sign
b
x
w
sign
x
f
N i T i i i
.
.
1Untuk perhitungan pada data uji selengkapnya dapat kita lihat pada tabel 2 berikut ini :
Tabel 2: Hasil Prediksi 𝒇(∅(𝒙))𝑿𝟏 𝑿𝟐 𝑲 𝒙, 𝒙𝒊 = 𝛟 (𝒙𝐢) W.Ø(X) 𝒇(∅(𝒙)) Sign 0.1 0.2701 1.0956 1.4674 0.5142 1 1.1063 1.4987 1.3329 2.247 1.2019 1.7949 1.2104 1.8225 1.1228 1.5479 0.1012 0.1253 1.0558 1.4141 -0.224 -1 1.0615 1.438 1.1651 1.9641 1.1092 1.6565 1.1149 1.6787 1.0799 1.4888 0.1035 0.1744 1.0698 1.4329 0.0304 1 1.0772 1.4593 1.2215 2.0592 1.1413 1.7044 1.1479 1.7284 1.0956 1.5104 0.1042 0.1547 1.0644 1.4257 -0.068 -1
1.0714 1.4514 1.1992 2.0216 1.1289 1.6859 1.1351 1.7091 1.0899 1.5025 0.1042 0.1219 1.0553 1.4135 -0.233 -1 1.0613 1.4377 1.1621 1.9591 1.1082 1.655 1.1137 1.6769 1.0801 1.489 0.1117 0.2439 1.091 1.4613 0.4114 1 1.1008 1.4913 1.3055 2.2008 1.1888 1.7754 1.1971 1.8025 1.1202 1.5443 0.1125 0.1519 1.0652 1.4267 -0.0587 -1 1.0725 1.4529 1.1986 2.0206 1.13 1.6875 1.1364 1.7111 1.0929 1.5067 0.1135 0.2463 1.0918 1.4624 0.4281 1 1.1019 1.4927 1.3087 2.2062 1.1909 1.7785 1.1995 1.8061 1.1217 1.5464 0.1142 0.2126 1.0826 1.45 0.2552 1 1.0916 1.4788 1.2692 2.1396 1.1692 1.7461 1.177 1.7722 1.1118 1.5327 0.1174 0.1851 1.0758 1.4409 0.1238 1 1.0839 1.4684 1.2383 2.0875 1.1526 1.7213 1.1599 1.7465 1.105 1.5234 0.1197 0.1529 1.0673 1.4295 -0.0338 -1 1.0743 1.4554 1.2019 2.0262
1.1329 1.6919 1.1396 1.7159 1.0964 1.5115 0.1418 0.2799 1.1075 1.4834 0.6857 1 1.1196 1.5167 1.3584 2.29 1.2226 1.8258 1.2328 1.8562 1.1445 1.5778 0.1523 0.9 1.2928 1.7316 4.3123 1 1.3266 1.7971 2.2186 3.7401 1.6711 2.4956 1.6968 2.5549 1.3472 1.8572 0.1546 0.1911 1.0853 1.4537 0.2586 1 1.0945 1.4827 1.2569 2.1189 1.169 1.7458 1.1777 1.7733 1.1232 1.5484 0.16 0.3808 1.1404 1.5275 1.2823 1 1.1561 1.5662 1.4896 2.5112 1.2969 1.9368 1.3099 1.9723 1.1842 1.6325 0.16 0.4119 1.1494 1.5395 1.4525 1 1.1662 1.5799 1.5292 2.5779 1.3181 1.9685 1.3317 2.0051 1.1938 1.6458 0.1601 0.6074 1.2065 1.616 2.562 1 1.2299 1.6661 1.7913 3.0198 1.4556 2.1738 1.474 2.2194 1.2557 1.7311 0.1617 0.29 1.1149 1.4933 0.7967 1 1.1274 1.5273 1.3771 2.3215 1.2363 1.8463 1.2472 1.8779
1.1567 1.5946 0.1624 0.2439 1.1021 1.4762 0.5565 1 1.113 1.5078 1.3218 2.2283 1.2063 1.8015 1.2162 1.8312 1.143 1.5757 0.1716 0.3351 1.13 1.5135 1.0676 1 1.1443 1.5502 1.4362 2.4211 1.2699 1.8965 1.2821 1.9305 1.1751 1.62 0.1895 0.5583 1.1988 1.6057 2.3684 1 1.221 1.6541 1.7345 2.924 1.4314 2.1377 1.4496 2.1827 1.2537 1.7284 0.191 0.3817 1.1475 1.537 1.3786 1 1.1638 1.5766 1.5014 2.5311 1.3085 1.9541 1.3227 1.9916 1.1986 1.6524 0.1925 0.3614 1.1421 1.5297 1.2716 1 1.1578 1.5685 1.4762 2.4886 1.295 1.934 1.3087 1.9705 1.1929 1.6445 0.2035 0.5251 1.192 1.5966 2.2202 1 1.2135 1.6439 1.6944 2.8564 1.413 2.1102 1.4309 2.1545 1.2497 1.7228 0.2118 0.484 1.182 1.5832 2.0118 1 1.2023 1.6288 1.642 2.7681 1.387 2.0713 1.4042 2.1143 1.2406 1.7103
0.2298 0.4031 1.1625 1.5571 1.612 1 1.1805 1.5992 1.5423 2.6 1.337 1.9967 1.353 2.0372 1.223 1.686 0.2298 0.403 1.1625 1.5571 1.6117 1 1.1805 1.5992 1.5421 2.5997 1.337 1.9967 1.353 2.0372 1.223 1.686 0.2319 0.5296 1.1999 1.6071 2.3335 1 1.2224 1.656 1.7106 2.8837 1.4266 2.1305 1.446 2.1772 1.2645 1.7432 0.2354 0.6687 1.2421 1.6637 3.1616 1 1.2697 1.7201 1.9066 3.2141 1.5289 2.2833 1.552 2.3368 1.3113 1.8078 0.2871 0.6045 1.235 1.6542 2.9447 1 1.2614 1.7088 1.8352 3.0938 1.5016 2.2425 1.5252 2.2965 1.3152 1.8131
5. Kesimpulan
Dari hasil penelitian ini dapat diambil kesimpulan bahwa :
1. Prediksi dapat dilakukan dengan menggunakan data teknis seperti plafon kredit,
angsuran, jangka waktu pinjaman, pengeluaran nasabah, penghasilan nasabah, tujuan
pinjaman, dan umur.
2. Tidak semua variabel yang dapat dimasukkan, karena beberapa variabel sulit
dikuantitaskan
3.
Tingkat keakuratan dalam memprediksi dengan menggunakan Support Vector
Machine dipengaruhi oleh pengetahuan dan pengalaman pakar dalam menentukan
variabel dan label data yang tepat.
Referensi
[1] Adhitia, Rama., dan Purwarianti, Ayu. (2009) “Penilaian Esai Jawaban Bahasa Indonesia
Menggunakan Metode SVM – LSA dengan Fitur Genetik” Vol. 5, 33-41.
[2] Adi Wiguno,. Darmawan Robby,. dan Gerieyuda, Kukuh. (2010) “Prediksi Saham Berbasis Data
Teknis Menggunakan Support Vector Machine” (Skripsi) Universitas Bina Nusantara, 29.
[3] Jeng Siang, Jong. (2005) “Jaringan Syaraf Tiruan dan Pemogramannya Menggunakan MATLAB” Andi, Yogyakarta.
[4] Karisma, Baktiar., Purwitasari, Diana., dan Yuniarti, Anny. “Implementasi Adaptive Support Vector
Machine untuk Membantu Identifikasi Kanker Payudara”. 01-09.
[5] Mahsus, Moh., Abdurahman Baizal, ZK., dan Shaufiah (2012) “Implementasi dan Analisa Granular
Support Vector Machine Dengan Data Cleaning (GSVM-DC) Untuk E-Mail Spam Filtering”.
Seminar Nasional Aplikasi teknologi Informasi 2012 (SNATI 2012), Yogyakarta.
[6] Muntasa, Arif., dan Kautshar Sophan, Mochamad. (2009) “Pengenalan Citra Wajah Menggunakan
Support Vector Machine Berbasis Segmentasi 2D-Discrete Cosine Transform”. Seminar Nasional
Electrical, informatics, and It’s Educations 2009, Madura.
[7] Prasetyo, Eko. (2012) “Data Mining Konsep dan Aplikasi menggunakan MATLAB”, Andi, Yogyakarta.
[8] Santosa, Budi. (2007) “Data Mining Teknik Pemanfaatan Data untuk Keperluan Bisnis”. Graha Ilmu, Yogyakarta
[9] Santosa, Budi., dan Widyarini, Tiananda. (2009) “Aplikasi Metode Cross Entropy Untuk Support
Vector Machines” Vol.10, No. 2, 107-115.
[10] Satriyo Nugroho, Anto., Budi Witarto, Arif., dan Handoko, Dwi (2003) “Support Vector Machine
Teori dan Aplikasinya dalam Bioinformatika”, IlmuKomputer.Com
[11] Sembiring, Krisantus. (2009) “Penerapan Teknik Support Vector Machine untuk Pendeteksi Intrusi
pada Jaringan” 01-28
[12] Supriyanto, Heru. (2012) “Implementasi Support Vector Machines Untuk Memprediksi Arah
Pergerakan Harga Harian Valuta Asing (EUR/USD,GBP/USD, Dan USD/JPY) Dengan Metode Kernel Trick menggunakan Fungsi Kernel Radial Basis Function” 25-28.
[13] Susilawati, Hesti., dkk. (2011) “Sistem Pendeteksi Kerusakan Mesin Sepeda Motor 4-Langkah