Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer Vol. 2, No. 3, Januari 2018, hlm. 1008-1016
e-ISSN: 2548-964X http://j-ptiik.ub.ac.id
Prediksi Tren Kurs Dollar Dari Berita Finansial Amerika Serikat Berbahasa Indonesia Menggunakan Support Vector Machine Ade Kurniawan1, Putra Pandu Adikara2, Yuita Arum Sari3 Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya Email:
[email protected],
[email protected],
[email protected] Abstrak Dolar Amerika Serikat (USD) merupakan mata uang yang paling sering digunakan dalam transaksi internasional dengan sirkulasi harian terbesar dibandingkan mata uang negara lain. Rilis data finansial Amerika Serikat tidak hanya berdampak terhadap perekonomian negara itu sendiri tetapi juga akan memberikan dampak terhadap perekonomian negara-negara lain. Fokus utama dari penelitian ini adalah prediksi tren kurs USD dengan cara klasifikasi berita finansial Amerika Serikat berbahasa Indonesia menggunakan algoritme Support Vector Machine (SVM). Kernel yang digunakan pada penelitian ini adalah polynomial degree d, dengan rasio data terbaik 80% untuk data training dan 20% untuk data testing. Output yang dihasilkan dibagi menjadi 2 kelas yakni berdampak melemahkan (down) atau yang berdampak menguatkan (up) kurs USD terhadap mata uang rival. Adapun pengujian terbaik diperoleh dengan kombinasi parameter DF threshold bawah = 15%, DF threshold atas = 85%, λ=0.1, CLR=0.01, C=1, epsilon=0.00001, dan iterasi maksimal =100. Dari hasil pengujian dihasilkan akurasi rata-rata sebesar 76.66%, nilai sensitivitas 80% dan spesifisitas 73.33%. Kata kunci: Forex, Klasifikasi, Support Vector Machine
Abstract United States Dollar (USD) is the most used currency for international transaction, its daily circulation is bigger than the other currency in the world. America's financial data not only give an impact in America itself but also directly effecting the other country. The main focus of this research is to predict USD's trend from America's Financial News in Bahasa Indonesia Using Support Vector Machine Algorithm. Kernel that used in this research is polynomial degree d, the best data ratio is 80% for training data and 20% for testing data. The output generated into 2 class to weaken USD price (Down) and on the other hand to strengthen USD price (Up) to rival's currency. The best parameter combination that give best average accuracy are using under DF threshold = 15%, upper DF threshold = 85%, λ=0.1, CLR=0.01, C=1, epsilon=0.00001, maximum iteration=100 and generated average accuracy=76.66%, sensitivity=80% and specificity=73.33%. Keywords: Forex, Classification, Support Vector Machine
untuk dapat mengetahui pergerakan pasar, yakni dinamakan dengan analisis teknikal dan analisis fundamental (Nassirtoussi, et al., 2015) Alasan utama kenapa memilih mata uang USD dikarenakan mata uang USD merupakan mata uang yang paling sering digunakan dalam transaksi internasional dengan sirkulasi harian terbesar daripada mata uang negara lain dan secara langsung rilis data finansial Amerika Serikat juga akan berdampak terhadap negara lain. Indikator berita fundamental memiliki pengaruh kuat terhadap arah pergerakan pasar forex (Ehrmann & Fratzscher, 2005). Berdasarkan penelitian yang pernah
1. PENDAHULUAN Pasar Foreign Exchange (Forex) atau di Indonesia lebih dikenal dengan istilah valuta asing merupakan sebuah transaksi yang di dalamnya terdapat kegiatan jual beli (barter) mata uang suatu negara dengan mata uang negara lain (Berlianta, 2006). Perdagangan seperti ini dapat terjadi dikarenakan adanya pergerakan naik turun harga antar pasangan mata uang yang diperjualbelikan. Kemampuan untuk memrediksi kurs forex sangatlah penting untuk menentukan keputusan dalam melakukan sebuah transaksi trading. Terdapat dua jenis analisis Fakultas Ilmu Komputer Universitas Brawijaya
1008
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
dilakukan oleh Kumar et al., pada tahun 2012 menggunakan algoritme SVM untuk prediksi harga stock. Data masukan berasal dari berita finansial suatu perusahaan yang diperoleh dari internet. Seleksi fitur yang digunakan yakni pendekatan term dictionary dengan cara membuat kamus terlebih dahulu term apa saja yang akan digunakan untuk proses selanjutnya. Dari penelitian tersebut diperoleh hasil akurasi terbaik sebesar 83%. Fokus utama dari penelitian ini adalah prediksi tren kurs USD dengan cara klasifikasi berita finansial Amerika Serikat berbahasa Indonesia menggunakan algoritme Support Vector Machine (SVM). 2. LANDASAN KEPUSTAKAAN 2.1 Text Mining Text mining memiliki arti penemuan atau penambangan informasi baru berkualitas dan tersembunyi yang tidak diketahui sebelumnya dengan cara mengekstrak informasi dari berbagai sumber yang berbeda secara otomatis yang dilakukan oleh komputer (Joachims, 1998). Informasi berkualitas tersebut didapatkan melalui proses pengenalan pola dan kecenderungan melalui sarana pembelajaran pola statistik. Dasar text mining yakni melibatkan tahap text pre-processing, pattern discovery, dan akhirnya dilanjutkan dengan interpretasi dan evaluasi output. Proses text mining yang sering dilakukan yakni meliputi klasifikasi teks, klastering teks, ekstraksi entitas, analisis sentimen, penyederhanaan dokumen, dan lain-lain. 2.2 Text Preprocessing Karena data yang digunakan berupa data tekstual yang tidak terstruktur oleh karena itu dilakukanlah tahap text preprocessing guna mengubah data yang tidak terstruktur tersebut menjadi data yang lebih terstruktur dan dapat diolah lebih lanjut untuk proses klasifikasi. Adapun yang akan dilakukan pada tahap ini yakni tokenizing, filtering, stemming, feature selection, dan term weighting. A. Tokenizing Tokenizing atau tokenisasi merupakan proses pemisahan string input berdasarkan setiap kata penyusun di dalam sebuah dokumen. Secara sederhana proses ini bertujuan untuk memisahkan tiap kata yang ada menjadi token. Fakultas Ilmu Komputer, Universitas Brawijaya
1009
Pada proses tokenizing ini juga dilakukan penghilangan angka, tanda baca, serta karakter lain yang bukan huruf dikarenakan setiap karakter tersebut dianggap sebagai delimiter atau pemisah kata yang tidak memberikan pengaruh signifikan dalam text mining. B. Filtering Filtering adalah tahap di mana hasil dari proses tokenizing tersebut disaring kembali untuk memilih membuang kata-kata yang tidak penting dan mempertahankan kata-kata penting untuk mewakili dokumen. Terdapat dua acara dalam melakukan filtering, yang pertama yakni menggunakan pendekatan stopword removal dengan cara membuang kata tidak penting dan yang kedua yakni pendekatan wordlist dengan cara melihat kecocokan token dengan kumpulan kata penting yang ada pada database. C. Stemming Setelah melewati tahap filtering, selanjutnya dilakukan stemming yakni proses untuk merubah bentuk suatu kata menjadi bentuk dasar. dengan dilakukan proses ini maka setiap kata berimbuhan pada token akan diubah menjadi kata dasar untuk memudahkan proses selanjutnya. Pada penelitian ini metode stemming yang digunakan adalah stemming porter. D. Feature Selection Feature selection atau seleksi fitur dilakukan untuk memilih subset fitur yang relevan guna membentuk model data yang baik. Data yang dipilih adalah data yang benar-benar berguna untuk dilakukan analisis. Pada penelitian ini seleksi fitur dilakukan dengan melihat pemilihan kata yang benar-benar merepresentasikan keterkaitan antar dokumen dengan menggunakan metode Document Frequency (DF) Thresholding. Dengan ini setiap fitur yang memiliki jumlah kemunculan di dalam dokumen kurang dari batas bawah DF Thresholding atau kurang dari batas atas DF Thresholding akan dihilangkan. E. Term Weighting Term Frequency Inverse Document Frequency (TF-IDF) adalah sebuah metode yang digunakan untuk memberikan bobot terhadap kemunculan term dalam sebuah dokumen teks.
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
Term tersebut dapat berbentuk kata, frasa atau unit dari hasil indexing lainnya dalam suatu dokumen yang bisa dipakai untuk mencari tahu konteks dari dokumen tersebut dikarenakan setiap term mempunyai level kepentingan yang berbeda maka setiap term ditandai dengan bobot atau term weight (Liliana, et al., 2011). Persamaan untuk mendapatkan nilai TF-IDF adalah sebagai berikut: TF = 1 + log10 (tf) IDF = log (N/df)
(1)
w = TF x IDF Keterangan: w= Bobot term t terhadap dokumen d tf= Jumlah kemunculan term dalam suatu dokumen d df= Jumlah dokumen yang mengandung term t. N= Jumlah semua dokumen dalam data training. 2.3 Support Vector Machine Support Vector Machine (SVM) merupakan sebuah metode yang bekerja menggunakan nonlinear mapping yang berguna untuk transformasi data training awal ke dalam dimensi baru yang lebih tinggi. Dengan melakukan nonlinear mapping, data training akan dipetakan dan diantara kumpulan data tersebut akan dipisahkan oleh hyperplane atau garis pemisah. Tujuan utama metode SVM ini adalah untuk menemukan hyperplane terbaik pada dimensi baru yang dapat memisahkan kelas tersebut secara optimal (Christianini & Taylor, 2000).
1010
kedua. Persamaan diperoleh : xi.w+b ≥ +1, untuk yi=+1 xi.w+b ≤ -1, untuk yi=-1
(2)
Dengan menggabungkan kedua persamaan diatas, maka dihasilkan: 𝑦𝑖 (𝑥𝑖 . 𝒘) + 𝑏 ≥ 1 (3) Hyperplane yang optimal dapat ditemukan dengan cara merumuskan ke dalam quadratic problem yang diselesaikan dengan analisis numerik. Metode sequential training SVM dikembangkan pada tahun 1999, adapun rincian metode ini adalah sebagai berikut (Vijayakumar & Wu, 1999): 1. Pada penelitian ini kernel yang digunakan adalah polynomial degree dengan nilai d=2, adapun persamaan yang digunakan untuk menghitung nilai kernel polynomial degree d adalah sebagai berikut: 𝑑
K(𝑥𝑖 , 𝑥𝑗 ) = (𝑥𝑖 𝑥𝑗 ) , 𝛾 > 0 2.
(4)
Kemudian lakukan perhitungan matriks hessian (Dij) menggunakan persamaan berikut: Dij = yiyj (K(xixj)) + λ2 (5) Dengan rincian, notasi λ adalah variabel lambda, notasi y adalah kelas dari data ke-i dan data ke-j, K(xixj) adalah fungsi kernel yang digunakan, dan notasi x adalah nilai dari data ke-i dan data ke-j.
3.
Kemudian hitung nilai learning rate.yang dinotasikan dengan simbol 𝛾. Nilai 𝛾 dapat dihitung dengan cara membagi nilai Constanta Learning Rate (CLR) dengan nilai maksimal dari matriks hessian (Dij). Adapun persamaan untuk menghitung nilai 𝛾 adalah sebagai berikut: 𝐶𝐿𝑅 𝛾= (6) 𝑚𝑎𝑥(𝐷𝑖𝑗)
4. Gambar 1 Ilustrasi Sederhana SVM
Dalam Gambar 1 terdapat dua kelas yang dipisahkan oleh dua bidang pembatas secara linier. Kelas pertama yakni +1 dan kelas kedua -1. Data pada kelas pertama disimbolkan dengan lingkaran berwarna hitam, sedangkan data pada kelas kedua disimbolkan dengan lingkaran berwarna putih. H1 adalah bidang pembatas pertama membatasi kelas pertama. H2 adalah bidang pembatas kedua membatasi kelas Fakultas Ilmu Komputer, Universitas Brawijaya
Setelah nilai 𝛾 diperoleh, maka dilanjut dengan mencari nilai αi, menggunakan persamaan 2.18, 2.19 dan 2.20. Ei = ∑𝑛𝑗=1 αiDij (7) δαi = min ( max (𝛾(1-Ei), -αi), C-αi) (8) αi = αi + δαi
(9)
Ulangi langkah ke-4 ini selama nilai max(δαi) lebih besar dari nilai ε (epsilon) dan masih belum mencapai jumlah iterasi maksimal.
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
5.
Mendapatkan nilai support vector dapat diketahui dengan menggunakan persamaan. SV = (αi > Threshold) (10)
Setelah diperoleh nilai αi optimal, maka dapat dilanjutkan untuk mencari nilai bobot w dan bias menggunakan persamaan berikut: w =∑𝑛𝑖=1 αi yixi (11) 1 2
b= - (w.x+ + w.x-)
(12)
Keterangan: αi = alpha (nilai bobot untuk setiap titik data) δαi= delta alpha Ei= variabel slack (eror) 𝛾= learning rate 𝐶𝐿𝑅= konstanta learning rate 𝐶=kompleksitas (untuk meminimalkan eror) λ= konstanta lambda Dij= matriks Hessian 3. METODOLOGI 3.1 Desain Penelitian Desain dari penelitian dibagi menjadi beberapa tahap seperti yang ditunjukkan pada Gambar 2.
1011
3.2 Pengumpulan Data Data atau dokumen yang diperlukan yakni berita ekonomi Amerika Serikat berbahasa Indonesia yang diperoleh melalui website foreximf.com dengan filter USD pada kurun waktu tertentu. Tidak semua berita ekonomi Amerika Serikat yang akan digunakan, namun terfokus pada beberapa berita ekonomi yang termasuk dalam kategori high impact atau memiliki pengaruh besar dalam pergerakan mata uang, adapun berita yang digunakan berhubungan dengan kategori berikut ini: 1. Non-farm Payrolls 2. Suku Bunga 3. Penjualan Ritel 4. ISM Manufacturing 5. Inflasi (CPI dan PPI) 6. Unemployment Rate 7. Building Permits 8. Crude oil inventories 9. US Treasury 10. Neraca Perdagangan 4. PENGUJIAN DAN ANALISIS Pengujian yang dilakukan pada penelitian ini adalah pengujian pengaruh jumlah data training yang digunakan nilai lambda, constanta learning rate, complexity, epsilon, dan iterasi maksimal. 4.1 Pengujian Pengaruh Jumlah Data Training
Gambar 2 Desain Penelitian
Pertama data yang berupa teks masuk menuju tahap text preprocessing terlebih dahulu untuk merubah data teks yang tidak terstruktur menjadi data yang lebih terstruktur. Di dalam text proprocessing terdapat beberapa proses yang harus dilaksanakan antara lain tokenizing, filtering, stemming, seleksi fitur dan term weighting. Hasil dari term weighting nantinya akan digunakan untuk tahap klasifikasi, dalam tahap klasifikasi dibagi menjadi 2 proses besar yakni training SVM dan testing SVM yang pada akhirnya akan menghasilkan output berupa prediksi tren kurs USD.
Fakultas Ilmu Komputer, Universitas Brawijaya
Dari total 150 data yang digunakan dalam objek penelitian, dilakukan beberapa kali percobaan menggunakan rasio data training dan data testing. Setiap percobaan terdapat tiga skenario menggunakan data yang berbeda. Adapun nilai parameter lain yang digunakan untuk pengujian ini antara lain DF threshold bawah = 15%, DF threshold atas = 85%, λ=0.1, CLR = 0.01, C=1, epsilon=0.00001, dan iterasi maksimal =100. Hasil dari pengujian jumlah data training ditunjukkan pada Tabel 1. Tabel 1 Hasil Pengujian Rasio Data Training dan Data Testing Skenario
Rasio
Rerata
1
2
3
80% : 20%
0.8
0.766
0.733
0.7663
70% : 30%
0.555
0.533
0.488
0.5253
60% : 40%
0.633
0.616
0.583
0.6107
50% : 50%
0.426
0.413
0.426
0.4217
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
1012
40% : 60%
0.588
0.566
0.555
0.5697
15% : 80%
0.766
0.8
0.733
0.766333
30% : 70%
0.59
0.561
0.542
0.5643
15% : 70%
0.766
0.733
0.7
0.733
20% : 80 %
0.583
0.566
0.541
0.5633
20% : 70%
0.5
0.466
0.5
0.488667
20% : 60%
0.5
0.533
0.433
0.488667
25% : 60%
0.566
0.4
0.366
0.444
Gambar 3 Hasil Pengujian Rasio Data Training dan Data Testing Gambar 4 Hasil Pengujian DF Thresholding
Gambar 3 memperlihatkan jika proses training menggunakan rasio 80% : 20% untuk data training dan data testing menghasilkan ratarata akurasi lebih baik yakni sebesar 76.66% dengan akurasi terbaik sebesar 80% dan yang terburuk 73.33%. Dengan pengujian ini dapat dilihat penggunaan jumlah data training yang semakin banyak akan semakin meningkatkan kualitas dari klasifikasi yang dilakukan dan menjadikan program menjadi semakin cerdas serta dapat mengenali lebih banyak pola data, begitupun sebaliknya apabila data training yang digunakan terlampau sedikit maka kualitas yang dihasilkan pun juga akan menurun. Rasio 80% : 20% akan digunakan sebagai dasar untuk pengujian parameter lain. 4.2 Pengujian Pengaruh DF Thresholding Pengujian ini bertujuan untuk mencari tahu pengaruh DF thresholding terhadap tingkat akurasi hasil klasifikasi. Adapun nilai parameter lain yang digunakan untuk pengujian ini antara lain λ=0.1, CLR = 0.01, C=1, epsilon=0.00001, dan iterasi maksimal =100. Hasil dari pengujian nilai parameter lambda ditunjukkan pada Tabel 2. Tabel 2 Hasil Pengujian DF Thresholding Threshold bawah : atas
Skenario 1
2
rerata 3
0% : 100%
0.4
0.466
0.5
0.455333
5% : 100%
0.5
0.533
0.566
0.533
5% : 90%
0.533
0.6
0.566
0.566333
10% : 90%
0.666
0.7
0.6
0.655333
10% : 80%
0.733
0.7
0.633
0.688667
Fakultas Ilmu Komputer, Universitas Brawijaya
Gambar 4 menunjukkan penggunakan DF threshold untuk seleksi fitur dengan threshold bawah 15% dari jumlah data training dan threshold atas 85% dari jumlah data training menghasilkan nilai akurasi rata-rata tertinggi dibandingkan dengan pengujian threshold lain yang telah dilakukan. Hal ini membuktikan bahwa penggunaan dimensi data terlalu besar atau bahkan dimensi data yang terlalu kecil tidak baik untuk proses klasifikasi, sehingga dapat menurunkan kualitas data yang akan diolah. 4.3 Pengujian Pengaruh Nilai Lambda Pengujian ini bertujuan untuk mencari tahu pengaruh nilai lambda terhadap tingkat akurasi hasil klasifikasi yang akan dilakukan. Adapun nilai parameter lain yang digunakan untuk pengujian ini antara lain DF threshold atas = 85%, DF threshold bawah = 15%, CLR = 0.01, C=1, epsilon=0.00001, dan iterasi maksimal =100. Hasil dari pengujian nilai parameter lambda ditunjukkan pada Tabel 3. Tabel 3 Hasil Pengujian Nilai Lambda Skenario
Lambda
rerata
1
2
3
0.001
0.766
0.8
0.733
0.7663
0.01
0.766
0.8
0.733
0.7663
0.1
0.766
0.8
0.733
0.7663
1
0.766
0.8
0.733
0.7663
2
0.666
0.766
0.7
0.7107
5
0.6
0.633
0.566
0.5997
10
0.6
0.633
0.566
0.5997
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 50
0.6
0.633
0.566
0.5997
100
0.6
0.633
0.566
0.5997
200
0.6
0.633
0.566
0.5997
Gambar 5 Hasil Pengujian Nilai Lambda
Grafik pada Gambar 5 menunjukkan dimana paramater lambda dengan nilai 0.001, 0.01 0.1, dan 1 menghasilkan akurasi yang lebih baik dibandingkan dengan parameter lambda dengan nilai besar. Dimana semakin tinggi nilai lambda maka akan cenderung menurunkan nilai akurasi yang dihasilkan dikarenakan nilai lambda sangat berpengaruh ketika perhitungan matriks Hessian (Dij) yang secara langsung juga akan berpengaruh terhadap nilai support vector yang dihasilkan. Sebagai contoh pengaruh lambda yakni pada perhitungan matriks Hessian pada Persamaan 5, dapat dilihat jika nilai lambda semakin besar maka nilai dari matriks Hessian pun juga ikut semakin besar yang akan mengakibatkan hasil dari perhitungan learning rate pada Persamaan 6 menjadi semakin kecil sehingga dengan jumlah iterasi yang sama tidak akan memberikan hasil yang optimal. Hal itupun juga terjadi apabila nilai lambda yang terlampau kecil yang akan mengakibatkan nilai learning rate menjadi semakin besar yang akan mengakibatkan proses iterasi berhenti tidak pada waktunya. 4.4 Pengujian Pengaruh Nilai Constanta Learning Rate Pengujian ini bertujuan untuk mencari tahu pengaruh nilai constanta learning rate terhadap tingkat akurasi hasil klasifikasi yang akan dilakukan. Adapun nilai parameter lain yang digunakan untuk pengujian ini antara lain DF threshold bawah = 15%, DF threshold atas = 15%, λ=0.1, C=1, epsilon=0.00001, dan iterasi maksimal =100. Hasil dari pengujian nilai parameter constanta learning rate ditunjukkan pada Tabel 4. Fakultas Ilmu Komputer, Universitas Brawijaya
1013
Tabel 4 Hasil Pengujian Nilai Constanta Learning Rate Skenario
CLR
rerata
1
2
3
0.0001
0.6
0.633
0.566
0.5997
0.0005
0.6
0.633
0.566
0.5997
0.001
0.6
0.633
0.566
0.5997
0.005
0.666
0.7
0.633
0.6663
0.01
0.766
0.8
0.733
0.7663
0.05
0.566
0.6
0.533
0.5663
0.1
0.566
0.6
0.533
0.5663
0.2
0.5
0.533
0.466
0.4997
0.5
0.5
0.533
0.466
0.4997
0.9
0.5
0.533
0.466
0.4997
Gambar 6 Hasil Pengujian CLR
Pada Gambar 6 dapat diketahui jika parameter CLR dengan nilai 0.01 memperoleh rata-rata akurasi tertinggi dengan 76.66%. Dari hasil pengujian tersebut dapat diperhatikan nilai parameter CLR akan memberikan kualitas klasifikasi buruk apabila nilai yang digunakan terlalu besar begitupun jika nilai yang digunakan terlalu kecil. Parameter CLR memberikan dampak secara langsung terhadap laju nilai learning rate seperti yang ditunjukkan pada Persamaan 6. Proses pembelajaran akan berlangsung terlalu cepat dan kurang teliti apabila nilai learning rate terlalu besar, sebaliknya apabila nilai learning rate terlalu kecil maka proses pembelajaran akan berlangsung terlalu lama. 4.5 Pengujian Pengaruh Nilai Complexity Pengujian ini bertujuan untuk mencari tahu pengaruh nilai complexity terhadap tingkat akurasi hasil klasifikasi yang akan dilakukan. Adapun nilai parameter lain yang digunakan untuk pengujian ini antara lain DF threshold bawah = 15%, DF threshold atas = 85%, λ=0.1,
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
CLR=0.01, epsilon=0.00001, dan iterasi maksimal =100. Hasil dari pengujian nilai parameter complexity ditunjukkan pada Tabel 5. Tabel 5 Hasil Pengujian Nilai Complexity Skenario
C
rerata
1014 Tabel 6 Hasil Pengujian Nilai Epsilon Skenario
Epsilon
rerata
1
2
3
0.000001
0.766
0.8
0.733
0.7663
0.00001
0.766
0.8
0.733
0.7663
0.00002
0.766
0.8
0.733
0.7663
0.00005
0.766
0.8
0.733
0.7663
1
2
3
0.0001
0.6
0.633
0.566
0.5997
0.0001
0.6
0.633
0.566
0.5997
0.001
0.6
0.633
0.566
0.5997
0.0002
0.6
0.633
0.566
0.5997
0.005
0.6
0.633
0.566
0.5997
0.0005
0.6
0.633
0.566
0.5997
0.01
0.6
0.633
0.566
0.5997
0.001
0.6
0.633
0.566
0.5997
0.05
0.766
0.8
0.733
0.7663
0.01
0.533
0.566
0.5
0.533
0.1
0.766
0.8
0.733
0.7663
0.1
0.533
0.566
0.5
0.533
0.5
0.766
0.8
0.733
0.7663
1
0.766
0.8
0.733
0.7663
5
0.766
0.8
0.733
0.7663
10
0.766
0.8
0.733
0.7663
Gambar 8 Hasil Pengujian Nilai Epsilon
Gambar 7 Pengujian Nilai Complexity
Grafik pada Gambar 7 menunjukkan kompleksitas dengan nilai besar seperti 0.05, 0.1, 0.5, 1, 5, dan 10 memberikan hasil akurasi 76.66% lebih baik dibandingkan kompleksitas dengan nilai yang lebih kecil. Nilai parameter C berdampak langsung pada saat perhitungan nilai delta alpha seperti yang ditunjukkan pada Persamaan 8. 4.6 Pengujian Pengaruh Nilai Epsilon Pengujian ini bertujuan untuk mencari tahu pengaruh nilai epsilon terhadap tingkat akurasi hasil klasifikasi yang akan dilakukan. Adapun nilai parameter lain yang digunakan untuk pengujian ini antara lain DF threshold bawah = 15%, DF threshold atas = 85%, λ=0.1, CLR=0.01, C=1, dan iterasi maksimal =100. Hasil dari pengujian nilai parameter epsilon ditunjukkan pada Tabel 6.
Fakultas Ilmu Komputer, Universitas Brawijaya
Grafik pada Gambar 8 dapat diketahui jika epsilon dengan nilai kecil menghasilkan nilai akurasi 76.66% lebih tinggi dibandingkan dengan epsilon dengan nilai yang lebih besar. Parameter epsilon ini erat hubungannya dengan parameter iterasi maksimal untuk kondisi berhenti saat mencari nilai alpha. Apabila nilai epsilon kecil maka program dapat berjalan hingga batas iterasi maksimal yang ditentukan, sebaliknya apabila nilai iterasi besar program akan berhenti sebelum menyentuh batas iterasi maksimal. 4.7 Pengujian Pengaruh Nilai Iterasi Maksimal Pengujian ini bertujuan untuk mencari tahu pengaruh nilai iterasi maksimal terhadap tingkat akurasi hasil klasifikasi yang akan dilakukan. Adapun nilai parameter lain yang digunakan untuk pengujian ini antara lain DF threshold bawah = 15%, DF threshold atas = 85%, λ=0.1, CLR=0.01, Complexity=1, dan epsilon=0.00001. Hasil dari pengujian nilai parameter iterasi maksimal ditunjukkan pada Tabel 7.
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
Tabel 7 Hasil Pengujian Nilai Iterasi Maksimal Skenario
Iterasi
1015
ditunjukkan pada Tabel 8. True Positive Sensitivity =
True Positive+False Positive
Rerata
1
2
3
1
0.6
0.633
0.566
0.5997
2
0.633
0.666
0.6
0.633
5
0.633
0.666
0.6
0.633
10
0.666
0.7
0.633
0.6663
20
0.666
0.7
0.633
0.6663
50
0.666
0.7
0.633
0.6663
100
0.766
0.8
0.733
0.7663
200
0.766
0.8
0.733
0.7663
500
0.766
0.8
0.733
0.7663
1000
0.766
0.8
0.733
0.7663
Specificity =
Gambar 9 Hasil Pengujian Nilai Iterasi Maksimal
Grafik pada Gambar 9 memperlihatkan jika pengujian dengan batas iterasi maksimal besar menghasilkan akurasi klasifikasi 76.66% lebih baik dibandingkan pengujian dengan batas iterasi maksimal yang lebih kecil. Parameter batas iterasi maksimal ini erat hubungannya dengan parameter epsilon yang digunakan untuk kondisi berhenti saat mencari nilai alpha.
4.8 Evaluasi Dari hasil pengujian menggunakan rasio 80% untuk data training dan 20% untuk data testing dari total 150 data yang digunakan sebagai objek penelitian menghasilkan nilai akurasi-rata terbaik 76.66% yang diperoleh dengan kombinasi parameter yakni DF threshold bawah = 15%, DF threshold atas = 85%, λ=0.1, CLR=0.01, C=1, epsilon=0.00001, dan iterasi maksimal =100. Selain itu untuk evaluasi dilakukan perhitungan lainnya yakni sensitivity dan specificity dengan menggunakan Persamaan 14, dan Persamaan 15. Adapun hasil perhitungan sensitivity, specificity, dan akurasi seperti yang Fakultas Ilmu Komputer, Universitas Brawijaya
Akurasi =
True Negative TrueNegative+False Negative
True Positive+True Negative Semua Populasi
(13) (14) (15)
Tabel 8 Sensitivity, Specificity, dan Akurasi Hasil Klasifikasi
Hasil Sebenarnya Down Up
Down Up
12 3
Sensitivity Specificity Akurasi
12/(12+3)= 80% 11/(11+4)=73.33% 12+11/30=76.66%
4 11
Berdasarkan studi kasus pada penelitian ini sensitivity adalah data yang murni kelas Down dari seluruh data yang berhasil diklasifikasi kedalam kelas Down. Sebaliknya specificity adalah data yang murni bukan kelas Down dari seluruh data yang berhasil diklasifikasi bukan kelas Down. Sedangkan akurasi adalah data yang berhasil diklasifikasi dengan benar dari seluruh jumlah populasi yang ada. Jadi hasil klasifikasi akan semakin baik apabila nilai sensitivity, specificity, dan akurasi bernilai tinggi. 5. KESIMPULAN Implementasi prediksi tren kurs dollar dari berita finansial Amerika Serikat berbahasa Indonesia menggunakan Support Vector Machine dilakukan melalui beberapa langkah yang pertama dengan melakukan tahap preprocessing yakni mengubah data yang berupa teks yang tidak terstruktur menjadi data numerik yang lebih terstruktur dan siap untuk diklasifikasi. Kedua yakni tahap training SVM yang bertujuan untuk mencari bidang pemisah optimal (hyperplane) dan yang terakhir dilanjutkan dengan tahap testing SVM dimana data test diklasifikasi berdasarkan hyperplane yang merupakan hasil dari training yang sebelumnya telah dilakukan. Kualitas dokumen untuk proses training sangat berpengaruh terhadap akurasi klasifikasi yang dihasilkan, kualitas dokumen yang bagus berbanding lurus dengan nilai akurasi yang tentunya akan bagus juga. Dari beberapa percobaan terhadap jumlah data yang digunakan untuk proses training, diperoleh rata-rata akurasi
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
terbaik ketika menggunakan rasio 80% untuk data training dan 20% untuk data testing. Akurasi terbaik dalam pengujian ini didapatkan dengan menggunakan nilai parameter DF threshold bawah= 15%, DF threshold atas=85%, λ=0.1, CLR=0.01, C=1, epsilon=0.00001, dan iterasi maksimal =100 yang menghasilkan nilai akurasi sebesar 76.66%, nilai sensitivity sebesar 80%, dan nilai specificity sebesar 73.33%. 6. DAFTAR PUSTAKA Berlianta, H. C., 2006. Mengenal Valuta Asing. Yogyakarta: Gajah Mada University Press. Christianini, N. & Taylor, J. S., 2000. An Introduction to Support Vector Machines. Cambridge: Cambridge University Press. Ehrmann, M. & Fratzscher, M., 2005. Exchange rates and fundamentals: new evidence from real-time data. Journal of International Money and Finance, 24(2), pp. 317-314. Joachims, T., 1998. Text Categorizaton with Support Vector Machine: Learning with Many Relevant Features. Proceedings of the 10th European Confrence on Machine Learning, pp. 137-142. Kumar, R. B., Kumar, B. S. & Sai, R. S., 2012. Financial News Classification using SVM. International Journal of Scientific and Research Publication, Volume 2. Liliana, D. Y., Hardianto, A. & Ridok, M., 2011. Indonesian News Classification using Support Vector Machine. International Journal of COmputer, Electrical, Automation, Control and Information Engineering, 5(9). Nassirtoussi, A. K., Aghabozorgi, S., Wah, T. Y. & Ngo, D. C. L., 2015. Text Mining of news-headlines for FOREX market prediction. Expert Systems with Application: An International Journal, 42(1), pp. 306-324. Vijayakumar, S. & Wu, S., 1999. Sequential Support Vector Classifiers and Regression. International Confrence on Soft Computing, pp. 610-619.
Fakultas Ilmu Komputer, Universitas Brawijaya
1016