Transcript
TESIS
RANCANG BANGUN SISTEM PREDIKSI NILAI TUKAR VALUTA ASING MENGGUNAKAN JARINGAN SYARAF TIRUAN
DESIGN AND DEVELOPMENT OF FOREIGN EXCHANGE RATE PREDICTION SYSTEM USING ARTIFICIAL NEURAL NETWORK
Diajukan untuk memenuhi salah satu syarat memperoleh derajat Master of Computer Science Ilmu Komputer
HASAN MUROD
09/291952/PPA/02996
PROGRAM STUDI S2 ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS GADJAH
MADA YOGYAKARTA2015
PRAKATA
Puji syukur kami panjatkan ke hadirat Tuhan Yang Maha Esa, yang telah
melimpahkan rahmat dan karunia-Nya kepada kita semua, yang telah
mengajarkan kepada Adam nama-nama, yang telah memerintahkan kepada
Muhammad (shalawat dan salam padanya) untuk membaca, dan yang telah
menganugerahkan alam semesta sebagai ayat-ayat yang harus dibaca.
Terima kasih penulis ucapkan untuk Prof. Drs. Subanar, Ph.D., yang telah
membuat penelitian tugas akhir ini menjadi mudah dengan segala bentuk
dukungan dan bimbingannya. Untuk para penguji tesis dan pra-tesis, Prof. Dra.
Sri Hartati, M.Sc, Ph.D, Dr.-Ing. MHD. Reza M.I. Pulungan, S.Si., M.Sc., Drs.
Agus Harjoko, M.Sc, Ph.D, dan Drs. Retantyo Wardoyo, M.Sc, Ph.D, yang telah
memberikan kritik dan juga saran yang membangun, seluruh pengurus dan
pengelola program studi yang telah membantu kelancaran semua urusan, hanya
ucapan terima kasih yang bisa penulis sampaikan, semoga segala kebaikan
mendapat balasan dari Tuhan melalui segenap alam. Tidak lupa untuk istriku
tercinta, Upik Rasi Siti Rahayu, S.TP, yang selalu mendukung dan memberi
semangat demi selesainya penelitian ini, juga kepada semua teman-teman yang
telah berbagi ide dan motivasi, penulis menyampaikan terimakasih yang setulus-
tulusnya, karena tanpa dukungan itu tentulah perjuangan akan terasa berat.
Akhir kata, tiada gading yang tak retak, meski tidak terbebas dari segala
bentuk kekurangan, penulis berharap semoga penelitian ini bermanfaat untuk
kebaikan umat manusia, dan menjadi pendorong bagi penulis dan para pembaca
untuk terus berkarya mengembangkan penelitian-penelitian kelanjutannya.
Yogyakarta, 9 April 2015
Penulis
DAFTAR ISI
PRAKATA ivDAFTAR ISI vDAFTAR GAMBAR ixDAFTAR TABEL xiINTISARI xiiABSTRACT xiii
BAB I. PENDAHULUAN 1 1.1 Latar Belakang 1 1.2 Rumusan Masalah 3 1.3 Batasan Masalah 4 1.4 Tujuan Penelitian 5 1.5 Manfaat Penelitian 5 1.6 Keaslian Penelitian 5 1.7 Metodologi Penelitian 6 1.8 Sistematika Penulisan 9
BAB II. TINJAUAN PUSTAKA 11
BAB III. LANDASAN TEORI 19 3.1 Perdagangan Valuta Asing 19 3.1.1 Nilai tukar valas dan faktor fundamental yang
mempengaruhinya19
3.1.2 Analisa fundamental dalam prediksi nilai tukar valas 20 3.1.3 Analisa teknikal dalam prediksi nilai tukar valas 20 3.1.4 Perdagangan valuta asing dan pengukuran unjuk kerjanya 22 3.2 Jaringan Syaraf Tiruan 24 3.2.1 Neuron tunggal dan fungsi aktifasi 25 3.2.2 Multi-layer feed forward neural network 26 3.2.3 Konsep pembelajaran/pelatihan pada jaringan syaraf tiruan 28 3.2.4 Algoritma pelatihan rambat balik 29
Laju pembelajaran dan momentum 32 3.2.5 Metode pelatihan resilient back-propagation 33 3.2.4 Minimum lokal 35 3.2.5 Overfitting 36 3.2.6 Pengukuran unjuk kerja jaringan syaraf tiruan 38
Mean square error (MSE) 38Normalized mean square error (NMSE) 38Correct sign statistics (CS) 40Correct directional change statistics (CD) 40
3.3 Algoritma Genetik 41 3.3.1 Algoritma genetik kontinyu 43 3.3.2 Pengkodean kromosom kontinyu 43 3.3.3 Pindah-silang (crossover) 44 3.3.4 Mutasi 46 3.3.5 Seleksi 47 3.3.6 Prosedur evolusi 47
BAB IV. ANALISA DAN PERANCANGAN SISTEM 49 4.1 Sistem dan Komponen-Komponen Penyusunya 49 4.2 Data, Pemroses Awal, Pemroses Akhir, dan Pembangkit Sinyal Dagang
50
4.2.1 Pengumpulan data 50Pembagian (partisi) data 51
4.2.2 Pemrosesan awal, pemrosesan akhir, dan pembangkitan sinyal dagang
52
Pemrosesan awal masukan dan target keluaran jaringan syaraf tiruan
52
Pemrosesan akhir 53Pembangkitan sinyal dagang 54
4.3 Jaringan Syaraf Tiruan, Pelatihan Rambat Balik Standard, dan Pelatihan Resilient
54
4.3.1 Jaringan syaraf tiruan 54Jumlah neuron tiap lapisan 55Fungsi aktivasi 56Simpul bias 57
4.3.2 Pelatihan rambat balik standard 57 4.3.3 Pelatihan resilient back-propagation dengan implementasi finite difference
61
4.4 Pelatihan Hibrida Gradient-Descent Algoritma Genetik 63 4.4.1 Prosedur pelatihan hibrida 63 4.4.2 Analisa perubahan galat pada pelatihan hibrida 64 4.4.3 Pemotongan iterasi pelatihan gradient-descent, tingkat
hibrida, moda pelatihan gradient-descent murni, dan moda pelatihan algortma genetik murni
66
Tingkat hibrida 66Moda pelatihan gradient-descent murni dan moda pelatihan algoritma genetik murni
66
Fungsi fitness 66 4.5 Simulator Perdagangan 67 4.5.1 Penggunaan modal sebagai jaminan 67 4.5.2 Jenis-jenis transaksi dan mekanismenya 68
Transaksi membuka posisi beli 68Transaksi membuka posisi jual 68
Transaksi menutup posisi 69Manajemen modal 69
4.5.3 Penggunaan sinyal dagang 70 4.6 Rancangan Pengujian 70 4.6.1 Pemilihan laju pembelajaran dan momentum 70 4.6.2 Pengujian unjuk kerja pelatihan rambat balik 70 4.6.3 Pengujian unjuk kerja pelatihan resilient 70 4.6.4 Pengujian unjuk kerja pelatihan algoritma genetik 71 4.6.5 Pengujian unjuk kerja pelatihan hibrida rambat balik dan
algoritma genetik71
4.6.6 Pengujian unjuk kerja pelatihan hibrida resilient dan algoritma genetik
71
4.6.7 Pengujian unjuk kerja simulasi perdagangan jangka panjangdengan pelatihan ulang
72
BAB V. IMPLEMENTASI 73 5.1 Perangkat Pengembangan dan Kode Program 73 5.2 Data Cache, Pemrosesan Awal, Pemrosesan Akhir, dan Pembangkitan Sinyal Dagang
74
5.2.1 Data ache 76 5.2.2 Pemrosesan awal 78 5.2.3 Pemrosesan akhir dan pembangkitan sinyal perdagangan 78 5.3 Jaringan Syaraf Tiruan dan Pelatihan Gradient-Descent 81 5.3.1 Bobot-bobot dan simpul-simpul 82 5.3.2 Fungsi prediksi 82 5.3.3 Implementasi pelatihan rambat balik standard dan resilient 84 5.3.4 Proses pelatihan dan pengukuran unjuk kerja pelatihan 89
Iterasi pelatihan 90Pengukuran mean square error (MSE) 91Pengukuran correct sign statistics (CS) dan skor Sortino (SS)
91
5.3.6 Fungsi fitness 93 5.4 Algoritma Genetik 93 5.4.1 Pembentukan populasi baru 93 5.4.2 Seleksi 94 5.4.3 Proses reproduksi 96 5.4.4 Proses regenerasi 98 5.4.4 Proses evolusi 99 5.5 Simulasi Perdagangan 102 5.6 Pengukuran Unjuk Kerja Return dan Risk-Adjusted Return Rasio Sortino
104
BAB VI. HASIL PENELITIAN DAN PEMBAHASAN 106 6.1 Laju Pembelajaran dan Momentum 106
6.2 Unjuk Kerja Pelatihan Rambat Balik 106 6.3 Unjuk Kerja Pelatihan Resilient 107 6.4 Unjuk Kerja Pelatihan Algoritma Genetik 108 6.5 Unjuk Kerja Pelatihan Hibrida Rambat Balik-Algoritma Genetik 108 6.6 Unjuk Kerja Pelatihan Hibrida Resilient-Algoritma Genetik 108 6.7 Perbandingan Unjuk Rerata Pelatihan Algoritma Genetik, Rambat Balik, Resilient, Hibrida Rambat Balik-Algoritma Genetik, dan Hibrida Resilient-Algoritma Genetik
109
6.8 Simulasi Perdagangan Jangka Panjang 110 6.9 Perbandingan dengan Penelitian Lain 112
BAB VII. KESIMPULAN DAN SARAN 113 7.1 Kesimpulan 113 7.2 Saran Penelitian 113
DAFTAR PUSTAKA 114
DAFTAR GAMBAR
Gambar 3.1 Drawdown dan recovery time 23Gambar 3.2 Perkembangan ekuitas dengan berbagai nilai Sortino ratio 23Gambar 3.3 Perbandingan sel syaraf tunggal dengan unit tunggal jaringan syaraf buatan
24
Gamabr 3.4 Model sel syaraf tunggal (neuron) sebagai elemen dasar komputasi jaringan syaraf tiruan
25
Gambar 3.5 Multi-layer feed-forward neural network dengan satu layer tersembunyi
27
Gambar 3.6 Multi-layer feed-forward neural network dengan dua layer tersembunyi (simpul-simpul bias tidak ditunjukkan)
27
Gambar 3.7 Sebuah neuron lapisan tersembunyi A dan hubungannya dengan neuron-neuron lapisan keluaran B dan C
30
Gambar 3.8 Galat sebagai fungsi dari bobot 35Gambar 3.9 Penghentian dini (early-stopping) pada jaringan syaraf tiruan 37Gambar 3.10 Struktur DNA, gen, dan kromosom di dalam sel 41Gambar 3.11 Contoh model kromosom yang memuat 2 variabel dengan
pengkodean biner42
Gambar 3.12 Representasi visual kromosom di dalam komputer per bit (A) dan per variabel (B)
44
Gambar 4.1 Diagram blok sistem dengan komponen-komponen sub- sistem penyusunnya
49
Gambar 4.2 Arsitektur jaringan syaraf tiruan 55Gambar 4.3 Struktur jaringan syaraf tiruan dengan bobot-bobot yang telah diinisialisasi serta diberi masukan dan target keluaran
58
Gambar 4.4 Perubaha bobot pelatihan hibrida gradient-descent algoritma genetik
65
Gambar 5.1 Deklarasi kelas FXPrep (berkas mat/mat.h, baris 56-83) 74Gambar 5.2 Deklarasi struktur TFDATA dan PREPDATA (mfann/mfann.h, baris 127-144)
75
Gambar 5.3 Deklarasi struktur dan fungsi-fungsi pemrosesan dalam dynamic link library (berkas fprep_multidiffma4.h)
77
Gambar 5.4 Implementasi fungsi-fungsi dynamic link library(fprep_multidiffma4.cpp, baris 37-73)
79
Gambar 5.5 Deklarasi kelas TForexANN seksi public (berkas mfann/mfann.h, baris 146-199)
80
Gambar 5.6 Deklarasi kelas TForexANN seksi private (berkas mfann/mfann.h, baris 201-247)
81
Gambar 5.7 Fungsi predict() dalam berkas mfann/main.cpp baris 819-865 83Gambar 5.8 Definisi fungsi BackPropagate bagian ke-1, berkas
mfann/main.cpp, baris 868-89684
Gambar 5.9 Definisi fungsi BackPropagate bagian ke-2, berkas mfann/main.cpp, baris 897-948
86
Gambar 5.10 Definisi fungsi BackPropagate bagian ke-3, berkas mfann/main.cpp, baris 950-993
87
Gambar 5.11 Definisi fungsi BackPropagate bagian ke-4, berkas mfann/main.cpp, baris 995-1019
88
Gambar 5.12 Implementasi penghitungan turunan parsial dengan finite difference dalam berkas mfann/main.cpp baris 1050-1070
89
Gambar 5.13 Iterasi pelatihan 90Gambar 5.14 Pengukuran mean square error (MSE), correct sign statistic
(CS), dan skor Sortino (SS) di dalam fungsi RunTrainThread dalam berkas mfann/main.cpp
92
Gambar 5.15 Implementasi fungsi fitness (mfann/main.cpp, baris 497-503) 93Gambar 5.16 Deklarasi kelas TPopulation (mfann/mfann.h, baris 249-287) 94Gambar 5.17 Definisi fungsi Create, mfann/main.cpp (baris 3-38) 95Gambar 5.18 Implementasi metode seleksi (mfann/main.cpp, baris
279-297)96
Gambar 5.19 Definisi fungsi Reproduce (mfann/main.cpp, baris 304-372) 97Gambar 5.20 Definisi fungsi ProduceNewGeneration, berkas mfann/main.cpp baris 194-215
98
Gambar 5.21 Implementasi fungsi evolutionloop bagian-1 (berkas mat/main.cpp, baris 2719-2785)
100
Gambar 5.22 Implementasi fungsi evolutionloop bagian-2 (berkas mat/main.cpp, baris 2768-2812)
101
Gambar 5.23 Implementasi state trading_run (berkas mat/main.cpp, baris 2580-2656)
103
Gambar 5.24 Implementasi fungsi GetSortino, berkas mat/main.cpp, baris 2209-2261
105
Gambar 6.1 Perkembangan ekuitas simulasi perdagangan dengan pelatihan ulang mode retstart pada model 5-6-1/RGA
101
Gambar 6.2 Hasil simulasi perdagangan EUR/USD dalam penelitian Hedman (2012)
102
DAFTAR TABEL
Tabel 2.1 Perbandingan beberapa penelitian sejenis 17Tabel 6.1 Tabel 6.1 Nilai MSE untuk berbagai variasi laju pembelajaran
(LR) dan momentum106
Tabel 6.2 Unjuk kerja pelatihan rambatbalik 107Tabel 6.3 Unjuk kerja pelatihan resilient 107Tabel 6.4 Unjuk kerja pelatihan algoritma genetik 108Tabel 6.5 Unjuk kerja pelatihan hibrida rambatbalik-algoritma genetik 109Tabel 6.6 Unjuk kerja pelatihan hibrida resilient-algoritma genetik 109Tabel 6.7 Perbandingan rerata MSE (AMSE), rerata CS (ACS), dan rerata
return (AR) untuk periode data latih dan 6 bulan setelahnya110
Tabel 6.8 Perbandingan rerata MSE (AMSE), rerata CS (ACS), dan rerata return (AR) untuk periode 1 dan 2 tahun
110
Tabel 6.9 Hasil simulasi perdagangan jangka panjang dengan pelatihan ulang
111
INTISARI
RANCANG BANGUN SISTEM PREDIKSI NILAI TUKAR VALUTA
ASING MENGGUNAKAN JARINGAN SYARAF TIRUAN
oleh
HASAN MUROD
09/291952/PPA/02996
Potensi keuntungan dari volume perdagangan yang besar pada pasar valuta asing mendorong pengembangan sistem prediksi untuk memprediksi pergerakan nilai tukar berbagai mata uang yang diperdagangkan. Jaringan syaraf tiruan merupakan salah satu model yang banyak diteliti dalam bidang ini karena kemampuannya dalam mempelajari pola data time-series dengan menggunakan sampel data historis tanpa perlu mengetahui faktor-faktor yang menyebabkan pergerakannya.
Masalah utama pada sistem seperti ini adalah sulitnya memperoleh unjuk kerja yang konsisten dalam menghasilkan keuntungan untuk jangka panjang. Untuk mengatasi hal ini, sistem prediksi berbasis jaringan syaraf tiruan dengan pelatihan hibrida gradient descent dan algoritma genetik telah dibangun. Metode hibrida memungkinkan digunakannya skor Sortino dalam fungsi fitness sebagai usaha untuk meningkatkan unjuk kerja jangka panjangnya.
Dengan pelatihan hibrida gradient descent-algoritma genetik, hasil eksperimen menunjukkan bahwa sistem yang dibangun berhasil menampilkan unjuk kerja yang baik pada simulasi perdagangan Euro-U.S. Dollar jangka panjang (sekitar 5 tahun). Dengan pengukuran unjuk kerja risk-adjusted-return untuk periode yang cukup panjang, investor atau manajer investasi akan mendapatkan keyakinan yang lebih tinggi dalam mempertimbangkan suatu sistem sebagai pilihan investasi.
ABSTRACT
DESIGN AND DEVELOPMENT OF FOREIGN EXCHANGE RATE
PREDICTION SYSTEM USING ARTIFICIAL NEURAL NETWORK
by
HASAN MUROD
09/291952/PPA/02996
Potential profit coming from high trading volume in foreign-exchange market motivates the development of prediction system to predict the movement of the traded currencies's rate. Artificial neural network is one of the model which is largely researched in this field because its ability to predict time-series pattern by learning only from the historical sample data without prior knowledge about the cause or the rule of the moves.
The main problem of such system is the difficulty of obtaining consistent performance in making profit for the long term. To overcome this isue, a prediction system based on artificial neural network with hybrid training of gradient descent-genetic algorithm was built. The method of hybrid training enable the use of Sortino score in the fitness function as an effort to enhance the long term performance.
With hybrid training of gradient descent-genetic algorithm, experiment result shows that the developed system performs well in a long term Euro-U.S. Dolar trading simulation (about 5-year period). With long term risk-adjusted-return performance measurement, an investor or investment manager would have a higher confidence in considering the system as an investment choice.
1BAB I PENDAHULUAN
1.1 Latar BelakangPotensi keuntungan dari volume perdagangan yang besar pada pasar valuta
asing merupakan faktor yang mendorong berkembangnya usaha untuk
memprediksi pergerakan nilai tukar berbagai mata uang yang diperdagangkan.
Sebagai ilustrasi, volume perdagangan U.S. Dollar pada April 2013 mencapai 5,3
trilyun Dollar per hari (Rime dan Schrimpf, 2013). Salah satu model yang banyak
diteliti sebagai basis dari sistem prediksi perubahan nilai tukar valuta asing adalah
jaringan syaraf tiruan (JST). Model ini banyak digunakan karena kemampuannya
dalam mempelajari pola data time-series dengan hanya berdasarkan pada
informasi dari sampel data historis tanpa perlu mengetahui faktor-faktor
fundamental yang menyebabkan pergerakannya.
Metode penelitian pada perancangan sistem prediksi berbasis jaringan
syaraf tiruan biasanya menggunakan sejumlah sampel data historis terbaru yang
dibagi menjadi tiga bagian, yaitu himpunan data pelatihan, validasi, dan pengujian
(Kaastra dan Boyd, 1996). Metode seperti ini banyak digunakan oleh banyak
peneliti seperti misalnya Ouyang dan Yin (2014), Evans dkk. (2013), Fathian dan
Kia (2012), Lahmiri (2011), Philip dkk. (2011), Yu dkk. (2005), serta
Kamruzzaman dan Sarker (2004). Pembagian data menjadi himpunan data
pelatihan, validasi, dan pengujian dilakukan dengan membagi data historis dengan
proporsi sekitar 70%, 20%, dan 10% (Yao dan Tan, 2001). Dengan metode ini,
percobaan dilakukan pada sistem dengan beberapa variasi konfigurasi parameter,
kemudian unjuk kerjanya dibandingkan untuk memilih konfigurasi yang
menghasilkan unjuk kerja terbaik pada himpunan data uji (out-of training
sample). Sebagai contoh, jika sampel data historis tersedia dari tahun 2001-2010
(periode 10 tahun), maka himpunan data uji diambil dari 10% segmen terakhir,
yaitu sampel dari tahun 2010. Dengan partisi data seperti itu, sebuah sistem
2kemudian diujicoba dengan beberapa konfigurasi, misal konfigurasi A, B, dan C.
Sistem tersebut kemudian dilatih dengan data dari tahun 2001-2007, divalidasi
dengan data tahun 2008-2009, dan diuji unjuk kerjanya dengan data 2010. Jika
kemudian terpilih konfigurasi B sebagai konfigurasi terbaiknya, maka kemudian
disimpulkan bahwa sistem yang diteliti berhasil memberikan unjuk kerja sesuai
dengan unjuk kerja sistem dengan konfigurasi terbaiknya (konfigurasi B).
Metode seperti mempunyai masalah, misalnya ketika sistem akan digunakan
secara nyata (real-time) pada tahun 2011, maka konfigurasi terbaiknya (apakah itu
A, B, atau C) tidak diketahui karena pengujian dengan data periode tahun 2011
untuk memperbandingkannya tidak dapat dilakukan karena datanya tidak tersedia
(karena belum terjadi). Jika untuk penggunaannya secara nyata (real-time) pada
tahun 2011 digunakan konfigurasi B yang ditentukan dengan pengujian
menggunakan data historis tahun 2010, maka metode tersebut mengasumsikan
bahwa unjuk kerja selama satu tahun tertentu (2010) memiliki kemiripan dengan
tahun berikutnya (2011), yang pada kenyataanya tidak selalu demikian.
Dari sudut pandang manajemen investasi, memproyeksikan unjuk kerja 1
tahun ke depan berdasarkan unjuk kerja 1 tahun sebelumnya boleh saja dilakukan,
tetapi sebagai dasar pengambilan keputusan apakah suatu investasi akan dipilih
sebagai opsi untuk diversifikasi atau tidak akan lebih meyakinkan jika proyeksi
tersebut dilakukan berdasarkan tren perkembangan ekuitas dalam jangka waktu
yang lebih panjang (lebih dari 3 tahun). Kaastra dan Boyd (1996) menyarankan
agar simulasi perdagangan dilakukan untuk mengukur parameter risk-adjusted
return sebagai dasar untuk memilih jaringan terbaik, bukan berdasarkan galat
terkecil dari pelatihan jaringan syaraf tiruan.
Karena jaringan tidak dipilih secara langsung berdasarkan galat terkecil
pada pelatihan, maka ada satu pertanyaan yang muncul, yaitu adakah suatu
metode pelatihan yang secara khusus dirancang untuk meningkatkan unjuk kerja
risk-adjusted-return? Untuk menjawab pertanyaan ini penulis mencoba
membangun sebuah metode pelatihan yang menggabungkan metode pelatihan
3gradient-descent dan algoritma genetik (hibrida gradient-descent algoritma
genetik). Pelatihan gradient-descent dilakukan pada sejumlah jaringan syaraf
tiruan. Sejumlah jaringan tersebut kemudian dilihat dari sudut pandang algoritma
genetik sebagai sebuah populasi, sehingga kemudian pelatihannya dilanjutkan
dengan regenerasi melalui seleksi, pindah-silang, dan mutasi. Generasi baru yang
dihasilkan kemudian dilatih kembali dengan metode gradient-descent, dan
dihitung nilai fitness-nya. Proses regenerasi yang diikuti dengan pelatihan
gradient-descent ini dilakukan secara berulang-ulang dari satu generasi ke
generasi selanjutnya hingga nilai fitness antar generasinya tidak lagi menunjukkan
peningkatan yang signifikan. Sebagai upaya untuk meningkatkan unjuk kerja risk-
adjusted return, maka nilai fitness yang digunakan pada proses seleksi
dirumuskan menggunakan skor Sortino sebagai salah satu unsurnya. Skor Sortino
diperkenalkan dalam penelitian ini sebagai modifikasi dari rasio Sortino, yaitu
parameter risk-adjusted return yang hanya menggunakan deviasi negatif
(penurunan ekuitas) sebagai pengukur resiko. Dengan metode pelatihan hibrida
pada sistem prediksi ini, keuntungan (return) dari perdagangan yang dilakukan
berdasarkan hasil prediksinya diharapkan akan meningkat tidak hanya pada
sampel data latih tetapi juga pada penggunaanya secara real-time atau
simulasinya menggunakan sampel data uji di luar sampel data latih.
1.2 Rumusan MasalahSesuai dengan latar belakang permasalahan yang telah dipaparkan,
masalah dalam penelitian ini dapat dirumuskan sebagai pertanyaan-pertanyaan
berikut:
Bagimana metode pelatihan hibrida gradient-descent algoritma genetik
dirancang dan diimplementasikan pada jaringan syaraf tiruan untuk
aplikasi prediksi nilai tukar valuta asing?
Apakah metode pelatihan hibrida tersebut dapat menaikkan tingkat
keberhasilan prediksi perubahan nilai tukar valuta asing, jika dibandingkan
4dengan metode pelatihan gradient-descent murni atau algoritma genetik
murni?
Apakah metode pelatihan hibrida tersebut dapat meningkatkan keuntungan
(return) pada simulasi perdagangan valuta asing, jika dibandingkan dengan
metode pelatihan gradient-descent murni atau algoritma genetik murni?
1.3 Batasan MasalahDengan judul Rancang Bangun Sistem Prediksi Nilai Tukar Valuta Asing
menggunakan Jaringan Syaraf Tiruan, batasan masalah yang diteliti adalah:
1. Variabel yang diprediksi dibatasi pada perubahan nilai tukar satu hari ke
depan pada mata uang Euro-U.S. Dollar.
2. Topologi jaringan syaraf tiruan syaraf tiruan dibatasi pada multi-layer
perceptron dengan 3 lapisan, yaitu 1 lapisan masukan, 1 lapisan
tersembunyi, dan 1 lapisan keluaran.
3. Algoritma pelatihan jaringan syaraf tiruan dibatasi pada metode yang
diteliti secara khusus dalam penelitian ini, yaitu gabungan atau hibrida
antara gradient-descent dan algoritma genetik.
4. Algoritma gradient-descent yang diujicoba sebaga sebagai elemen hibrida
dibatasi pada algoritma standard back-propagation dan resilient.
5. Pengukuran tingkat keberhasilan prediksi dibatasi pada pengukuran
parameter correct sign statistic, yaitu prosentase hasil prediksi yang arah
perubahannya benar, tanpa memperhatikan besarnya kenaikan atau
penurunannya.
6. Untuk uji coba sistem sebagai pengambil keputusan dalam perdagangan,
simulasi perdagangan harian dilakukan untuk periode yang dibatasi pada 6
bulan, 1 tahun, dan 2 tahun untuk sistem tanpa pelatihan ulang, dan 4,8
tahun untuk sistem dengan pelatihan ulang setiap 16 minggu sekali.
51.4 Tujuan PenelitianPenelitian dengan judul Rancang Bangun Sistem Prediksi Nilai Tukar
Valuta Asing Menggunakan Jaringan Syaraf Tiruan ini bertujuan untuk:
1. Merancang dan membangun sistem prediksi nilai tukar valuta asing
menggunakan jaringan syaraf tiruan yang dilatih dengan metode pelatihan
hibrida gradient-descent algoritma genetik
2. Membandingkan parameter-parameter unjuk kerja mean square error,
correct sign statistic, dan return (keuntungan pada simulasi perdagangan)
antara metode pelatihan hibrida gradient-descent algoritma genetik,
gradient-descent murni, dan algoritma genetik murni.
3. Mengujicoba sistem dengan melakukan simulasi perdagangan harian
dengan pelatihan ulang secara periodik untuk mendapatkan gambaran
potensi keuntungan dan resikonya dalam penggunaan jangka panjang.
1.5 Manfaat PenelitianPenelitian ini bermanfaat baik dilihat dari segi pengembangan sistem
maupun dari segi penerapannya, yaitu:
1. Dari segi pengembangan sistem, penelitian ini memberikan alternatif
metode pelatihan jaringan syaraf tiruan yang mungkin bisa diterapkan
pada kasus lain (selain aplikasi sistem prediksi nilai tukar valuta asing).
2. Dari segi aplikasi, penelitian ini menghasilkan suatu sistem yang unjuk
kerjanya lebih meyakinkan (dari sudut pandang manajemen investasi)
karena diukur dengan ukuran risk-adjusted-return dalam simulasi
perdagangan harian dalam periode yang cukup panjang.
1.6 Keaslian PenelitianSejauh yang diketahui penulis dari studi pustaka yang telah dilakukan,
algoritma pelatihan yang menggabungkan algoritma pelatihan gradient-descent
dan algoritma genetik dalam langkah-langkah bergantian yang terintegrasi di
6dalam proses evolusi belum pernah diteliti dalam penelitian-penelitian yang telah
dipublikasi. Istilah hibrida gradient-descent algoritma genetik telah
diperkenalkan oleh Castro dkk. (1998), tetapi dalam penelitian tersebut kedua
metode (gradient-descent dan algoritma genetik) dilakukan secara terpisah, yaitu
dilakukan pelatihan dengan algoritma genetik terlebih dahulu hingga konvergen
kemudian dilanjutkan dengan gradient-descent hingga konvergen, tidak dilakukan
secara terintegrasi seperti dalam penelitian ini. Penelitian ini menjadi lebih unik
lagi karena unsur algoritma genetik dalam hibridanya menggunakan fungsi fitness
yang mengandung elemen skor Sortino, yang secara khusus diperkenalkan di
dalam penelitian ini sebagai parameter pengukur risk-adjusted-return yang
dirumuskan dengan memodifikasi rasio Sortino.
1.7 Metodologi PenelitianUntuk mencapai tujuan penelitian seperti yang telah diuraikaan, penulis
menggunakan metode studi pustaka, merancang sistem, mengimplementasikan
rancanga sistem, dan melakukan pengujian untuk mengetahui unjuk kerjanya.
Berikut uraian langkah-langkahnya:
1. Studi pustaka digunakan untuk mengkaji teori-teori yang berkaitan dengan
jaringan syaraf tiruan dan algoritma genetik sebagai dasar untuk
melakukan perancangan dan mengimplementasikan sistemnya, kemudian
mengkaji penelitian-penelitian sejenis untuk mendapatkan ide yang dapat
dikembangkan dalam penelitian ini, sekaligus untuk memastikan bahwa
solusi yang diteliti merupakan hal baru yang belum pernah diteliti
sebelumnya.
2. Perancangan sistem prediksi dilakukan dengan menentukan variabel
masukan dan keluaran, pemrosesan awal, pembagian (partisi) data,
arsitekstur jaringan syaraf tiruan, dan metode pelatihan, yang diuraikan
sebagai berikut:
a) Nilai tukar harian pada harga penutupan pasar hari ini, 1 hari
7sebelumnya, 2 hari sebelumnya, 3 hari sebelumnya, dan seterusnya
sampai 32 hari sebelumnya digunakan sebagai variabel masukan,
kemudian perubahan nilai tukar pada penutupan 1 hari ke depan
digunakan sebagai variabel yang akan diprediksi.
b) Pemrosesan awal dilakukan dengan menghitung terlebih dahulu
perubahan nilai tukar tiap hari. Rerata perubahan 2 hari terakhir (p1),
rerata perubahan 4 hari terakhir (p2), rerata perubahan 8 hari terakhir
(p3), rerata perubahan 16 hari terakhir (p4), dan rerata perubahan 32
hari terakhir (p5) kemudian dihitung untuk mendapatkan indikator atau
fitur yang akan digunakan sebagai masukan jaringan syaraf tiruan
bersama-sama dengan perubahan nilai tukar hari terakhir (p0).
c) Partisi data dilakukan dengan membagi data historis menjadi
himpunan data latih dan data uji. Himpunan data latih diambil dari data
nilai tukar penutupan harian periode 1 Januari 2008 sampai dengan 31
Desember 2009 (2 tahun), dan himpunan data uji dari periode 1 Januari
2010 sampai dengan 31 Oktober 2014 (4,8 tahun).
d) Arsitektur jaringan syaraf tiruan dirancang sesuai batasan yang
ditetapkan yaitu dengan topologi multi-layer perceptron dengan 3
lapisan (1 lapisan masukan, 1 lapisan tersembunyi, dan 1 lapisan
keluaran). Fungsi sigmoid digunakan sebagai fungsi aktivasi pada
semua neuron lapisan tersembunyi dan fungsi linear digunakan sebagai
fungsi aktivasi pada lapisan keluaran. Jumlah neuron pada lapisan
keluaran adalah 1 buah sesuai dengan rancangan jumlah variabel
keluaran sistem prediksi. Jumlah neuron pada lapisan tersembunyi
divariasikan dari 3-6 neuron, sementara jumlah neuron masukan
divariasikan dari 4-6 untuk mengujicoba manakah jaringan yang lebih
efektif, apakah yang menggunakan 6, 5, atau 4 variabel masukan saja.
Untuk 6 masukan digunakan variabel-variabel mulai dari perubahan
nilai tukar hari ini (p0) hingga rerata perubahan 32 hari terakhir (p5),
8sementara untuk 5 dan 4 masukan masing-masing hanya sampai pada
variabel rerata perubahan 16 dan 8 hari terakhir (p4 dan p3).
e) Pelatihan jaringan syaraf tiruan dirancang menggunakan metode yang
secara khusus diperkenalkan dalam penelitian ini, yaitu metode hibrida
gradient-descent algoritma genetik. Metode pelatihan gradient-
descent murni (rambat balik standard dan resilient) dan algoritma
genetik murni juga digunakan sebagai pembanding terhadap metode
hibrida yang dirancang berdasarkan gabungan keduanya.
3. Rancangan sistem diimplementasikan dengan menulis kode-kode program
menggunakan bahasa C++ dengan pengembang perangkat lunak
Ultimate++, yang menyediakan perancangan antarmuka pengguna secara
visual dan menyediakan pustaka kode untuk bermacam-macam fungsi.
4. Pengujian sistem dilakukan dengan mengujicoba proses pelatihan,
kemudian menjalankan simulasi perdagangan harian, baik tanpa pelatihan
ulang maupun dengan pelatihan ulang.
a) Metode pelatihan gradient-descent, algoritma genetik, dan hibrida
gradient-descent algoritma genetik diujicobakan pada semua variasi
struktur jaringan syaraf tiruan yang telah ditentukan. Data pelatihan
yang digunakan diambil dari data historis periode 1 Januari 2008 31
Desember 2009.
b) Setelah jaringan syaraf tiruan dilatih, sistem diujicoba dengan simulasi
perdagangan harian tanpa pelatihan ulang selama 2 tahun (1 Januari
2010 31 Desember 2011). Simulasi perdagangan dilakukan dengan
melihat apakah hasil prediksi jaringan syaraf tiruan untuk satu hari
kedepan bernilai positif atau negatif. Jika nilainya positif maka aksi
beli akan dilakukan, sedangkan jika nilainya negatif maka aksi jual
yang akan dilakukan. Keuntungan perdagangannya akan diukur untuk
periode 6 bulan pertama, 1 tahun pertama, dan 2 tahun seluruhnya.
9c) Beberapa struktur jaringan syaraf tiruan dengan keuntungan
perdagangan terbesar pada simulasi tanpa pelatihan ulang dalam
periode 2 tahun akan dipilih untuk diujicoba dengan simulasi
perdagangan harian untuk masa yang lebih panjang (1 Januari 2010
30 Oktober 2014) dengan pelatihan ulang setiap 16 minggu sekali.
1.8 Sistematika PenulisanLaporan penelitian ini disusun dalam 7 bab, yaitu pendahuluan, tinjauan
pustaka, landasan teori, analisa dan perancangan sistem, implementasi, hasil dan
pembahasan, serta kesimpulan dan saran, dengan sistematika sebagai berikut:
BAB I PENDAHULUAN
Berisi latar belakang, rumusan masalah, batasan masalah, tujuan
penelitian, manfaat penelitian, keaslian penelitian, metodologi
penelitian, dan sistematika penulisan.
BAB II TINJAUAN PUSTAKA
Berisi rangkuman studi pustaka yang dilakukan dalam menelaah
penelitian-penelitian tentang perancangan sistem prediksi nilai tukar
valuta asing menggunakan jaringan syaraf tiruan yang telah dilakukan
oleh orang lain, yang menjadi ide dari permasalahan dan solusi yang
akan diujicoba dalam penelitian ini.
BAB III LANDASAN TEORI
Berisi uraian teori-teori dasar yang bersifat pokok tentang perdagangan
dan prediksi nilai tukar valuta asing, jaringan syaraf tiruan, dan
algoritma genetik, yang menjadi landasan utama dalam menguraikan
permasalahan dan mencari solusinya.
BAB IV ANALISA DAN PERANCANGAN SISTEM
Berisi rincian analisa bagian-bagian sistem yang perlu dirancang untuk
membangun sistem prediksi menggunakan jaringan syaraf tiruan dan
mengujicoba unjuk kerjanya.
10
BAB V IMPLEMENTASI
Berisi uraian kode-kode program yang digunakan untuk
mengimplementasikan sistem sesuai dengan rancangannya.
BAB VI HASIL DAN PEMBAHASAN
Berisi pembahasan hasil pengujian sistem dan analisanya, berdasarkan
uji coba menggunakan data nilai tukar Euro U.S. Dollar.
BAB VII KESIMPULAN DAN SARAN
Berisi kesimpulan hasil penelitian dan saran untuk penelitian
selanjutnya, sesuai dengan hasil pengujian dan analisanya dalam
hubungannya dengan tujuan penelitian.
11
BAB II TINJAUAN PUSTAKA
Metode untuk merancang sistem prediksi pada aplikasi finansial
menggunakan jaringan syaraf tiruan telah diuraikan oleh Kaastra dan Boyd
(1996). Dalam makalah tersebut diuraikan secara sistematis prosedur atau
langkah-langkah yang harus dilakukan dalam perancangan sistem, yang meliputi
penentuan variabel masukan dan keluaran, pengumpulan data, pemrosesan awal,
pembagian atau partisi data, perancangan jaringan syaraf tiruan, dan pelatihan.
Pembagian atau partisi data dilakukan dengan cara membagi data historis yang
tersedia menjadi 3 bagian, yaitu himpunan data latih, himpunan data uji, dan
himpunan data validasi. Dalam panduan peramalan finansial dengan jaringan
syaraf tiruan yang ditulis oleh Yao dan Tan (2001), pembagian data menjadi
himpunan data latih, validasi, dan data uji disarankan menggunakan proporsi
70%, 20% dan 10% dari total data historis yang tersedia. Bagian data yang
terkahir, yaitu himpunan data uji dengan proporsi 10% merupakan himpunan data
yang sama sekali tidak digunakan dalam proses pelatihan (out of training sample),
sehingga hasil prediksi pada himpunan data ini dapat dianggap sebagai simulasi
penggunaannya secara nyata (real time). Metode partisi/pembagian data yang
hanya menggunakan sebagian kecil sampel diluar data latih (10%-30% dari total
data historis yang tersedia) untuk pengujian sistem seperti ini banyak digunakan
dalam penelitian-penelitian prediksi finansial, seperti dalam mayoritas penelitian-
penelitian yang disurvey oleh Yu dkk. (2007), juga dalam penelitian-penelitian
setelahnya seperti dalam penelitian oleh Lahmiri (2011), Philip dkk. (2011),
Fathian dan Kia (2012), Evans dkk. (2013), serta Ouyang dan Yin (2014).
Lahmiri (2011) melakukan studi perbandingan atas beberapa algoritma
pelatihan back-propagation dalam prediksi finansial. Data yang digunakan adalah
nilai tukar harian indeks S&P500 dari Oktober 2003 sampai dengan Januari 2008,
dengan 80% data digunakan untuk pelatihan dan 20% untuk pengujian. Dari
12
sepuluh macam algoritma pelatihan yang diperbandingkan, penelitian ini
menemukan bahwa metode quasi newton (Broyden-Fletcher-Goldfarb-Shanno),
Levenberg-Marquadt, dan standard back-propagation merupakan tiga metode
terbaik pada pengukuran mean square error, dengan waktu pelatihan tercepat
didapatkan pada metode Levenberg-Marquadt.
Philip dkk. (2011) meneliti sistem prediksi nilai tukar mata uang Nigeria
(NAIRA) terhadap beberapa mata uang asing (USD, JPY, GBP, EUR)
menggunakan jaringan syaraf tiruan. Dalam penelitian ini digunakan multi-layer
feed forward network, dengan pelatihan back-propagation (dengan learning rate,
tanpa momentum). Data historis nilai tukar harian antara tahun 2003-2005
sejumlah 800 titik dibagi menjadi data latih (500 titik), validasi (200 titik) dan
pengujian (100 titik). Unjuk kerja sistem prediksi diukur dalam akurasi dan galat
(mean square error) dan dibandingkan dengan HMM (hidden markov model),
hasilnya menunjukkan bahwa model jaringan syaraf tiruan pada berbagai mata
uang secara konsisten menunjukkan unjuk kerja yang jauh lebih baik.
Fathian dan Kia (2012) menambahkan faktor eksternal berupa harga emas
dalam tiap mata uang yang dipertukarkan (5 hari terakhir). Terhadap sistem yang
hanya menggunakan nilai tukar lima hari terakhir sebagai masukan jaringan syaraf
tiruan, penambahan faktor eksternal ini berhasil meningkatkan akurasi ketepatan
arah (naik atau turun) sekitar 1,2% sampai 2,3% dari ketepatan sebelumnya yang
berkisar antara 60%-62%. Dalam penelitian ini digunakan data nilai tukar GBP-
USD, USD-JPY, dan EUR-USD, dari tahun 2001-2010 dengan pembagian 7:2:1
untuk himpunan data latih, validasi, dan pengujian.
Evans dkk (2013) menggunakan algoritma genetik untuk menentukan
jumlah neuron pada dua lapisan tersembunyi, dengan neuron lapisan masukan
sejumlah 20 titik. Data yang digunakan adalah nilai tukar GBP-USD, EUR-USD,
dan EUR-GBP dari 1 Oktober 2010 hingga 28 Februari 2012. Tiap sampel berupa
himpunan 20 titik data masukan dan 1 titik target keluaran. Himpunan masukan
didapat dari 20 titik nilai tukar dari suatu hari antara jam 22:00 12:36 (interval
13
40 menit), dan satu titik target keluaran didapat dari nilai tukar 6 jam berikutnya
(dari titik masukan terakhir) yaitu nilai pada jam 18:36. Sejumlah 300 sampel
pertama digunakan untuk pelatihan dan pengujian dengan data latih (in-sample
testing), kemudian 40 sampel sisanya untuk out-of-sample testing. Hasil pengujian
menunjukkan keberhasilan sistem dalam memperoleh keuntungan tahunan 23,3%.
Pengukuran risk-adjusted-return juga dilakukan dalam penelitian ini, yaitu
menggunakan parameter rasio Sharpe dan berada pada kisaran 0,54-0,7.
Sayangnya, data pengujian (out of sample) yang hanya berjumlah 40 sampel data
harian (sekitar 2 bulan masa aktif perdagangan) menjadikan pengukurannya
kurang meyakinkan jika dilihat dari sudut pandang manajemen investasi.
Ouyang dan Yin (2014) meneliti model neural gas mixture autoregressive
(NGMAR) neural network untuk prediksi nilai tukar harian GBP terhadap USD,
EUR, dan JPY. Data yang digunakan adalah data dari tahun 2001 2012, dengan
total 3000 titik data, 2700 titik digunakan untuk pelatihan dan 300 titik untuk
pengujian. Sepuluh titik data digunakan sebagai masukan JST. Jika dibandingkan
dengan metode self-organizing mixture auto regressive (SOMAR), multi-lyer
perceptron (MLP), maupun recurrent neural network (RNN), metode NGMAR
memberikan performa terbaik dengan normalized root mean square (NRMSE)
sebesar 0,0752 dan correct-predicted percentage (CPP) 57,58% pada nilai tukar
dengan USD, NRMSE 0,0387 CPP 54,95% pada EUR, NRMSE 0,0375 CPP
54,55% pada JPY.
Dari uraian penelitian-penelitian sejenis yang telah dipaparkan, pengujian
menggunakan sampel di luar data latih banyak dilakukan pada periode yang relatif
pendek, yang berkisar antara 10-30% dari total periode historis yang tersedia.
Pengujian dengan sejumlah kecil data (periode kurang dari 3 tahun) di luar sampel
pelatihan tanpa melalui simulasi penggunaannya dalam jangka panjang seperti ini
cukup bermanfaat untuk membandingkan dan mengembangkan metode pelatihan
jaringan syaraf tiruan, tetapi belum cukup untuk digunakan sebagai dasar
pertimbangan bagi investor dalam mengambil keputusan apakah sistem yang
14
dibangun bisa menjadi satu pilihan diversifikasi investasi atau tidak. Meskipun
sedikit, beberapa peneliti lain seperti Yao dan Tan (2000), dan juga Hedman
(2012) melakukan pengujian sistem simulasi perdagangan harian dalam jangka
panjang untuk memberikan hasil pengukuran unjuk kerja yang lebih meyakinkan
atas potensi kegunaannya dalam perdagangan nyata.
Yao dan Tan (2000) menerapkan metode partisi data dalam simulasi
jendela waktu berjalan, dengan membagi data historis dari Januari 1984 sampai
dengan November 1995 menjadi 12 segmen yang tumpang tindih. Segmen
pertama diambil dari periode 6,5 tahun pertama (338 titik nilai tukar mingguan).
Dari segmen tersebut, data dari periode 6 tahun pertama (312 titik) digunakan
sebagai himpunan data pelatihan (260 titik) dan validasi (52 titik), kemudian data
setengah tahun terakhir (26 titik) digunakan sebagai himpunan data pengujian.
Segmen kedua merupakan periode 6,5 tahun yang didapat dari jendela waktu
segmen pertama yang digeser sejauh 0,5 tahun; sehingga himpunan data latih dan
validasi segmen kedua akan tumpang tindih dengan segmen pertama, tetapi
himpunan data ujinya (setengah tahun terakhirnya) tidak. Segmen ke-3 dan
seterusnya hingga segmen ke-12 masing-masing didapat dengan penggeseran
jendela waktu sejauh 0.5 tahun dari segmen sebelumnya. Hasil simulasi dalam
penelitian ini menunjukkan perolehan tahunan rata-rata sebesar 28,62%.
Meskipun menunjukkan rerata nilai perolehan tahunan yang cukup baik, namun
sayangnya nilai ini diperoleh dengan memilih unjuk kerja terbaik dari beberapa
konfigurasi yang diujicobakan pada masing-masing segmen periode simulasi.
Sistem yang dicoba menggunakan 6 neuron pada lapisan masukan, 2-4 neuron
pada lapisan tersembunyi, dan 1 neuron pada lapisan keluaran. Dari 12 segmen
periode yang diujicoba, 7 segmen menunjukkan hasil terbaiknya pada sistem
dengan 2 neuron pada lapisan tersembunyi, 4 segmen menunjukkan hasil
terbaiknya pada sistem dengan 3 neuron pada lapisan tersembunyi, dan 2 segmen
menunjukkan hasil terbaiknya pada sistem dengan 4 neuron pada lapisan
tersembunyi. Pemilihan hasil terbaik pada percobaan dengan data historis seperti
15
ini memang dapat dilakukan untuk menghasilkan unjuk kerja yang sangat baik
pada keseluruhan periode waktu, akan tetapi metode seperti ini tidak dapat
diterapkan pada keadaan sesungguhnya dalam perdagangan secara real-time. Hal
ini dikarenakan keputusan untuk memilih konfigurasi mana yang akan digunakan
dalam perdagangan pada setengah tahun ke depan harus dilakukan saat itu juga
(secara real time), tidak dapat diputuskan berdasarkan hasil terbaik dengan
menjalankan semua sistem dengan semua variasi konfigurasi untuk menjalankan
perdagangan saat itu.
Hedman (2012) melakukan simulasi perdagangan dan pengukuran risk-
adjusted-return untuk mengevaluasi unjuk kerja sistem prediksi menggunakan
jaringan syaraf tiruan dalam simulasi perdagangan valuta asing. Dalam penelitian
tersebut, sistem dengan arsitektur feed-forwad neural network (FFNN) dan
probabilistic neural network (PNN) dibangun, diujicoba, dan dibandingkan
hasilnya. Pengujian dilakukan baik menggunakan sampel data harian untuk
prediksi satu hari ke depan maupun menggunakan sampel data mingguan untuk
prediksi satu minggu ke depan. Masukan jaringan menggunakan 5 titik log-return
dari nilai tukar mata uang yang diperdagangkan, 5 titik selisih log-return dari
indeks saham gabungan negara atau wilayah yang mempengaruhinya, 5 titik
selisih perubahan tingkat suku bunga, dan 5 titik log-return dari harga minyak.
Untuk perdagangan harian, jumlah sampel nilai tukar harian yang digunakan
sebagai himpunan data latih (dengan porsi 70%) dan validasi (dengan porsi 30%)
adalah 200 titik untuk PNN dan 250 titik untuk FFNN. Simulasi pada sistem
FFNN dilakukan dengan melakukan pelatihan dan validasi dengan 250 titik data
(x1..x250), kemudian digunakan untuk melakukan prediksi titik data berikutnya
(x251). Hasil prediksi kemudian digunakan untuk mengambil keputusan transaksi
dagang. Selanjutnya jaringan dilatih ulang dengan data x2...x251, kemudian
digunakan untuk melakukan prediksi titik ke-252 (x252) dan hasilnya digunakan
untuk mengambil keputusan transaksi perdagangan, begitu seterusnya hingga data
hari terakhir simulasi digunakan. Jumlah hari perdagangan sebanyak 2897 dan
16
2947 hari masing-masing digunakan dalam simulasi perdagangan pada model
FFNN (25 Desember 2000 1 Februari 2012) dan PNN (16 Oktober 2000 1
Februari 2012). Untuk periode sampling 1 mingguan, data yang digunakan adalah
nilai tukar mingguan (yang diambil nilainya pada hari Rabu) dan jumlah hari
perdagangannya sejumlah 500 (3 Juli 2002 1 Februari 2012), dengan jendela
waktu untuk himpunan data pelatihan dan validasi sebanyak 125 titik sampel.
Pengukuran unjuk kerja risk-adjusted-return dilakukan dengan menghitung
parameter information ratio, yang merupakan perbandingan antara perolehan
(return) yang disetahunkan dengan volatilitas yang disetahunkan. Dari
keseluruhan pasangan mata uang yang dicoba, yaitu 45 pasang mata uang negara-
negara G10, secara rata-rata menunjukkan keuntungan tahunan yang sangat kecil,
yaitu 0,68%; 0,37%; -1,01%; dan 0,2% masing-masing pada model prediksi
harian FFNN, prediksi mingguan FFNN, prediksi harian PNN, dan prediksi
mingguan PNN. Perdagangan pada EUR-USD mengalami kerugian pada semua
model keculai prediksi harian FFNN, yang menghasilkan keuntungan tahunan
0,36%, dengan information ratio sebesar 0,0339. Unjuk kerja yang cukup baik
hanya dicapai pada perdagangan mingguan CHF-JPY, dengan keuntungan tahunan
sebesar 10,54% dan information ratio sebesar 0,9235.
Perbandingan beberapa penelitian sejenis ditampilkan dalam Tabel 2.1,
menampilkan berberapa penelitian tentang sistem prediksi nilai tukar valuta asing
menggunakan jaringan syaraf tiruan. Terlihat dalam tabel, hanya 2 dari 7
penelitian yang menggunakan parameter risk-adjusted return dalam mengukur
unjuk kerjanya. Meski kurang mendapat perhatian dalam penelitian-penelitian
sejenis yang telah dipaparkan, Kaastra dan Boyd (1996) telah menyampaikan
pentingnya pengukuran unjuk kerja sistem menggunakan parameter risk-adjusted-
return melalui simulasi perdagangan sebagai dasar bagi pemilihan konfigurasi
sistem yang paling optimal, bukan berdasarkan galat terkecil pada proses
pelatihan. Ide untuk menggunakan pengukuran risk-adjusted-return menimbulkan
17
Tabel 2.1 Perbandingan beberapa penelitian sejenis
Peneliti Metode Pengukuran Risk-adjusted-return
Periode pengujian di luar sampel
Ouyang dan Yin (2014)
Membangun dan mengujicoba metode neural gas mixture of autoregressive (NGMAR) untuk prediksi nilai tukar GBP dengan beberapa mata uang lain
Tidak 1,15 tahun
Evans dkk. (2013)
Menggunakan algoritma genetik untuk menentukan jumlah neuron 2 lapisan tersembunyi dalam jaringan multi-layer perceptron.
Ya 0,15 tahun
Fathian dan Kia (2012)
Menambahkan harga emas 5 hari terakhir dalam kedua nilai mata uang yang dipertukarkan sebagai masukan jaringan multi-layer perceptron bersama-sama dengan nilai tukarnya dalam 5 hari terakhir.
Tidak 1 tahun
Hedman (2012)
Membandingkan unjuk kerja feed-forwad neural network dan probabilistic neural network
Ya 11 tahun
Philip dkk. (2011)
Membandingkan model jaringan syaraf tiruan dengan pelatihan back-propagation tanpa momentum dan model hidden markov untuk memprediksi nilai tukar mata uang Nigeria (NAIRA) dengan beberapa mata uang lain.
Tidak 0,4 tahun
Lahmiri (2011)
Membandingkan bermacam-macam algoritma pelatihan back-propagation untuk memprediksi pergerakan harian index S&P500
Tidak 1 tahun
Yao dan Tan (2000)
Mengujicoba jaringan syaraf tiruan dengan indikator moving average beberapa periode untuk prediksi nilai tukar mata uang satu minggu ke depan
Tidak 6 tahun
suatu pertanyaan menarik, yaitu jika pengukuran unjuk kerja risk-adjusted-return
pada penggunaan sistem dalam simulasi perdagangan di luar sampel data latih
digunakan sebagai dasar pemilihan model atau konfigurasi yang paling optimal,
maka apakah kemudian unjuk kerja tersebut bisa ditingkatkan dengan melakukan
optimasi parameter risk-adjusted-return di dalam proses pelatihannya? Untuk
menjawab pertanyaan inilah, penulis mencoba membuat sebuah sistem prediksi
18
menggunakan jaringan syaraf tiruan yang dilatih dengan metode hibrida, yaitu
pelatihan yang menggabungkan metode gradient-descent dan algoritma genetik
secara terintegrasi, yang memungkinkan optimasi parameter risk-adjusted-return
dilakukan dalam proses pembelajarannya. Dengan metode ini, unjuk kerja sistem
yang diukur dengan menghitung keuntungan pada simulasi perdagangan
diharapkan akan meningkat tidak hanya pada simulasi menggunakan himpunan
sampel data latih tetapi juga pada simulasi menggunakan himpunan data di luar
himpunan sampel data latihnya.
19
BAB III LANDASAN TEORI
3.1 Perdagangan Valuta AsingPerdagangan valuta asing (valas) terjadi karena adanya perdagangan antar
negara yang menggunakan mata uang yang berbeda. Karena volume perdagangan
dunia yang begitu besar, maka dengan sendirinya transaksi perdagangan valuta
asing juga sangat besar. Pada April 2013, perdagangan pasar valuta asing
mencapai 5,3 trilyun dollar (United States Dollar) per hari, meningkat 35%
dibanding volume perdagangan pada 2010 (Rime dan Schrimpf, 2013). Pasar
valuta asing bisa dipandang sebagai pasar dua tingkat (two-tier market), yang
mana tingkatan pertama adalah tingkatan grosir (antar bank), dan tingkatan
lainnya adalah tingkatan pengecer. Peserta dalam pasar valuta asing bisa
dikategorikan dalam lima kelompok: bank internasional, nasabah bank, dealer
non-bank, broker valas, dan bank sentral (Eun dan Resnick, 2012).
3.1.1 Nilai tukar valas dan faktor fundamental yang mempengaruhinyaSebagai sesuatu yang diperdagangkan di pasar bebas, nilai tukar valas
tidak terlepas dari hukum penawaran-permintaan. Meskipun nilai tukar ditentukan
oleh total dari penawaran dan permintaan, pengetahuan ini saja tidak cukup untuk
membantu manajer finansial untuk memahami dan memprediksi perubahan nilai
tukar. Faktor-faktor fundamental, seperti inflasi, suku bunga, keseimbangan
ekspor-impor, dan kebijakan pemerintah merupakan faktor yang penting dalam
menjelaskan fluktuasi nilai tukar valas baik jangka pendek maupun jangka
panjang (Block dan Hirth, 2008). Naiknya laju inflasi, turunnya suku bunga, dan
peningkatan impor dibanding ekspor merupakan faktor yang bisa menyebabkan
turunnya nilai tukar mata uang. Kebijakan pemerintah juga bisa secara langsung
maupun tidak langsung mempengaruhi nilai tukar. Kebijakan secara langsung
20
misalnya intervensi bank sentral dalam pasar valas, dan kebijakan tidak langsung
contohnya adalah pembiayaan anggaran belanja negara yang terlalu besar
sehingga bisa meningkatkan laju inflasi.
3.1.2 Analisa fundamental dalam prediksi nilai tukar valasAnalisa fundamental dalam prediksi nilai tukar valas adalah metode
prediksi menggunakan model yang disusun berdasarkan teori-teori makro
ekonomi pembentukan harga pasar. Sebagai contoh, sebuah model dari nilai tukar
mungkin berupa fungsi dengan parameter-parameter laju inflasi, perbandingan
ekspor impor, pertumbuhan domestik bruto, suku bunga, dan sebagainya.
Pendekatan fundamental dalam prediksi nilai tukar valas memiliki tiga kesulitan
utama (Eun dan Resnick, 2012). Kesulitan yang pertama adalah bahwa parameter
yang digunakan dalam model harus diprediksi terlebih dahulu, seperti misalnya
untuk memprediksi nilai tukar Euro dan Dollar tiga bulan ke depan dengan model
fundamental yang melibatkan laju inflasi maka laju inflasi untuk tiga bulan ke
depan untuk Euro dan Dollar harus diprediksi terlebih dahulu. Kesulitan yang ke
dua, adalah bahwa parameter-parameter model yang berupa konstanta, yang
didapatkan dengan optimasi atau pencocokan dengan data historis bisa saja
ternyata berubah menurut waktu karena adanya perubahan kebijakan pemerintah
dan atau perubahan struktur ekonomi yang mendasarinya. Kesulitan yang ke tiga
adalah bahwa model yang disusun bisa saja salah, meskipun dalam pengujian bisa
mencocoki sebagian besar data historis.
3.1.3 Analisa teknikal dalam prediksi nilai tukar valasAnalisa teknikal dalam prediksi nilai tukar valas adalah metode prediksi
nilai tukar dengan hanya berdasarkan data historis nilai tukar itu sendiri. Neely
dan Weller (2011), merangkum dan menjelaskan kembali apa yang telah
dipaparkan oleh Murphy (1986) dan Pring (1991), bahwa ada tiga prinsip yang
mendasari analisa teknikal yaitu bahwa aksi pasar mengalahkan segalanya, harga
bergerak dalam tren, dan sejarah mengulang dirinya sendiri. Prinsip-prinsip
21
tersebut dapat diuraikan sebagai berikut:
1. Aksi pasar (yang berupa berubahnya harga dan volume transaksi) adalah
fakta yang mengalahkan segalanya. Ini berarti bahwa semua faktor
penyebab perubahan harga sudah tercermin dalam perubahan harga itu
sendiri. Dengan kata lain, data historis dari harga nilai tukar telah
mengandung semua informasi, sehingga tidak perlu memprediksi atau
meneliti fundamentalnya.
2. Harga bergerak dalam tren. Ini merupakan prinsip dasar yang merupakan
pengingkaran terhadap pernyataan bahwa harga bergerak secara acak.
Dengan prinsip ini maka kita bisa mengatakan bahwa tren harga sedang
naik atau turun, meskipun sepertinya terlihat acak. Tanpa prinsip ini maka
tidak ada landasan logis bagi pedagang untuk mendapatkan keuntungan
secara konsisten.
3. Sejarah akan mengulang dirinya sendiri. Fenomena ini terjadi karena para
pedagang atau pemain pasar mempunyai kecenderungan bereaksi dengan
cara yang sama jika dihadapkan pada situasi yang mirip. Prinsip inilah
yang menjelaskan mengapa pola tertentu bisa terjadi secara periodik dalam
data historis harga-harga komoditas, nilai tukar valas, atau harga saham.
Dengan prinsip-prinsip tersebut, para pedagang yang menggunakan analisa
teknikal secara murni berusaha memprediksi arah tren maupun perubahannya
untuk masa yang akan datang hanya berdasarkan data harga-harga saat ini dan
masa lalu. Sebagai contoh, beberapa pedagang menggunakan dua rerata bergerak
yang masing-masing menggunakan perioda yang panjangnya berbeda. Jika rerata
bergerak 5 hari terakhir adalah MA5 dan rerata bergerak 10 hari terakhir adalah
MA10, maka tren dikatakan sedang naik jika MA5 lebih besar dari MA10, sedang
turun jika MA5 lebih kecil dari MA10, akan berbalik naik MA5 saat ini lebih
besar tetapi sebelumnya lebih kecil dari MA10, dan akan berbalik turun jika saat
22
ini lebih kecil tetapi hari sebelumnya lebih besar dari MA10. Dalam contoh ini,
parameter rerata bergerak adalah "indikator" yang digunakan dalam analisa
teknikal dalam prediksi tren harga. Para analis teknikal menggunakan banyak
sekali indikator-indikator teknikal, yaitu parameter-parameter tertentu yang
digunakan untuk membantu mengidektifikasi tren dari pergerakan harga, seperti
misalnya average direction index (ADX), average true range (ATR), deviasi
standard, dsb.
3.1.4 Perdagangan valuta asing dan pengukuran unjuk kerjanyaAnalisa teknikal menghasilkan prediksi pergerakan harga yang dapat
digunakan untuk menyusun strategi pembelian atau penjualan mata uang secara
otomatis. Unjuk kerja dari sistem perdagangan seperti ini biasanya dinilai
sebagaimana sebuah aset atau investasi. Return adalah perolehan atau keuntungan
dari suatu perdagangan. Dalam satu periode perdagangan, ekuitas (modal
ditambah keuntungan atau dikurangi kerugian) dapat mengalami kenaikan atau
penurunan, dan return dapat dihitung sebagai berikut:
Return=E tE0
E0100% , (3.1)
dengan Et adalah nilai ekuitas pada akhir periode dan E0 adalah ekuitas pada awal
periode. Bersama-sama dengan return, parameter maximum drawdown juga
merupakan parameter yang selalu digunakan untuk mengukur unjuk kerja suatu
perdagangan. Maximum drawdawn adalah penurunan ekuitas terbesar yang
dialami dalam suatu periode tertentu. Dalam gambar 3.1 ditunjukkan penurunan
ekuitas yang pertama terjadi pada drawdown DD1, yang berhasil pulih dengan
waktu pemulihan (recovery time) t1, dan yang kedua terjadi pada DD2, yang
berhasil pulih dengan waktu t2. Karena DD2 lebih besar dari DD1 maka maximum
drawdown dari asset tersebut adalah DD2. Sama seperti perhitungan return,
maximum drawdown juga dikonversi ke dalam prosentase. Drawdown dapat
dipandang sebagai ukuran resiko atau potensi kerugian dari suatu asset,
perdagangan, atau investasi.
23
Gambar 3.1 Drawdown dan recovery time
Pengukuran return dan maximum drawdown secara bersama-sama memberikan
informasi yang berimbang antara keuntungan dan resikonya.
Gambar 3.2 Perkembangan ekuitas dengan berbagai nilai Sortino ratio
Pengukuran risk-adjusted-return yang memberikan gambaran secara lebih merata
dilakukan dengan menggunakan Sortino ratio, yang dirumuskan sebagai
SR= Rtn
, (3.2)
dengan R adalah keuntungan rata-rata yang didapat, t adalah target keuntungan
rata-rata minimal yang seharusnya bisa diterima tanpa resiko (seperti tingkat suku
24
bunga deposito atau acuan lainnya), dan n adalah deviasi negatif dari return
ekuitas bulanan. Gambar 3.2 menunjukkan beberapa contoh perkembangan
ekuitas dan nilai Sortino ratio-nya.
3.2 Jaringan Syaraf TiruanJaringan syaraf tiruan adalah sebuah model komputasi yang fungsi,
struktur, dan cara kerjanya dibangun dengan menirukan model jaringan sel-sel
syaraf otak makhluk hidup. Wallace (2008) menggambarkan perbandingan antara
sel syaraf tunggal biologis dengan unit tunggal syaraf tiruan untuk menonjolkan
kemiripannya seperti dalam Gambar 3.3 Cell body digambarkan sebagai inti dari
pemroses yang berfungsi menghasilkan sinyal keluaran ketika jumlahan dari
sinyal masukan mencapai taraf tertentu, yaitu ketika sel syaraf dikatakan dalam
keadaan teraktivasi. Sinyal listrik keluaran dari sel syaraf ini disalurkan melalui
axon. Dendrite berfungsi sebagai peraba listrik (electrical probe) dan bertindak
sebagai gerbang masukan yang menerima rangsangan listrik dari sel syaraf yang
lain. Jaringan syaraf biologis terdiri dari banyak sel yang saling terhubung.
Keluaran dari satu sel syaraf (axon) terhubung ke sel syaraf yang lain melalui
antarmuka yang disebut synapse yang menempel pada dendrite sel syaraf yang
lain. Synapse mempunyai karakteristik berupa pengaturan kuat lemahnya sinyal
yang diteruskan dari sumber masukan ke dalam sel syaraf yang menjalankan
fungsi keputusan apakah akan dihasilkan sinyal keluaran atau tidak.
Gambar 3.3 Perbandingan sel syaraf tunggal dengan unit tunggal jaringan syaraf buatan (Wallace, 2008)
25
Dalam jaringan syaraf tiruan, synapse dimodelkan sebagai elemen pengali
dengan bobot tertentu. Bobot atau faktor pengali ini yang nantinya akan diatur
nilainya melalui proses pelatihan sehingga jaringan syaraf tiruan bisa
menghasilkan fungsi seperti yang diinginkan. Bagaimana unit-unit tunggal syaraf
tiruan saling terhubung untuk menghasilkan sistem jaringan dengan konfigurasi
tertentu telah dieksplorasi oleh banyak peneliti dan menghasilkan bermacam-
macam struktur jaringan syaraf tiruan, seperti misalnya multi-layer feed forwad
neural network dan recurrent neural network.
3.2.1 Neuron tunggal dan fungsi aktivasiModel sel syaraf (neuron) tunggal sebagai elemen penyusun jaringan
syaraf tiruan ditampilkan dalam bentuk diagram blok dalam Gambar 3.4, yang
menggambarkan unit neuron tunggal sebagai sistem pemrosesan.
Gambar 3.4 Model sel syaraf tunggal (neuron) sebagai elemen dasar komputasi jaringan syaraf tiruan
Dengan masukan-masukan u1..un , bias B, bobot-bobot w1..wn, dan fungsi aktivasi
f(), maka keluaran (aktivasi) dari sel syaraf z dapat dituliskan dalam formula
sebagai berikut:
26
z= f (i=i
n
w i ui+B) (3.3)
Fungsi aktivasi f() adalah fungsi yang mengubah nilai tertentu menjadi nilai yang
lain dengan karakteristik transfer yang dapat dipilih sesuai dengan kebutuhan.
Beberapa fungsi aktivasi yang lazim digunakan adalah:
Threshold f (x )= 1 x01 x
27
banyak neuron dengan struktur tertentu guna menghasilkan fungsi komputasi
untuk aplikasi tertentu. Salah satu struktur yang populer untuk jaringan syaraf
tiruan adalah multi-layer feed-forward neural network, yang dilukiskan dalam
Gambar 3.5 dan Gambar 3.6.
Gambar 3.5 Multi-layer feed-forward neural network dengan satu lapisan tersembunyi
Gambar 3.6 Multi-layer feed-forwad neural network dengan dua lapisan tersembunyi (simpul-simpul bias tidak ditunjukkan)
28
Multi-layer feed-forward neural network merupakan jaringan dengan
banyak lapisan, yang terdiri dari lapisan masukan, lapisan tersembunyi, dan
lapisan keluaran. Lapisan masukan hanya mempunyai satu masukan, tidak
memiliki bobot, dan juga tidak memiliki fungsi aktivasi selain fungsi identitas.
Lapisan ini hanya merupakan simpul-simpul yang berfungsi menerima data dan
meneruskannya ke neuron pada lapisan tersembunyi. Lapisan tersembunyi
merupakan lapisan neuron yang tidak terhubung secara langsung baik ke masukan
maupun keluaran. Lapisan tersembunyi bisa terdiri dari satu lapis (Gambar 3.5)
atau lebih (Gambar 3.6). Terakhir, lapisan keluaran merupakan lapisan neuron
yang keluarannya menjadi keluaran dari jaringan. Jumlah neuron tiap lapisan juga
bisa divariasikan sesuai dengan kebutuhan komputasi. Pada Gambar 3.5, simpul
bias digambarkan sama seperti neuron yang lain tetapi dia tidak memiliki
masukan, dan keluarannya dibuat konstan sebesar 1. Dengan memperlakukan bias
sama seperti neuron yang lain, maka kemudian bobotnya pun bisa ditentukan
dengan cara yang sama seperti bobot-bobot yang lain. Meskipun tidak
diperlihatkan dalam Gambar 3.6, simpul-simpul bias pada jaringan syaraf tiruan
dengan jumlah lapisan yang lebih banyak juga diimplementasikan dengan cara
yang sama.
3.2.3 Konsep pembelajaran atau pelatihan pada jaringan syaraf tiruanKonsep belajar atau berlatih merupakan konsep yang dikenal oleh
makhluk hidup, yaitu bagaimana makhluk hidup mencoba bereaksi terhadap
masukan dari lingkungan dengan mengeluarkan respon tertentu, secara terus
menerus berusaha memperbaiki responnya untuk mencaapai tujuan tertentu.
Proses belajar seperti ini tampak seperti misalnya pada anak ayam yang baru
menetas, bagaimana dia belajar berdiri, jatuh-bangun berkali-kali, hingga sampai
akhirnya bisa berdiri dan bahkan berjalan.
Jika kita analisa struktur multi-layer feed-forward neural network sebagai
elemen-elemen tunggal yang saling berhubungan, maka formula dari hubungan
29
masukan-masukan dan keluarannya juga bisa dengan mudah kita turunkan
formulanya. Sebagai contoh, jika kita tuliskan formula keluaran pada sistem yang
dilukiskan pada Gambar 3.5, maka kita akan mendapati sebuah fungsi dengan 3
parameter masukan dan mengandung 13 konstanta yang merupakan nilai-nilai
semua bobot. Sejauh ini bisa dikatakan bahwa kita memiliki sebuah "komputer"
atau "mesin" dengan 3 buah masukan dan 1 keluaran, dan fungsi atau mekanisme
kerjanya bisa kita program dengan mengatur atau memprogram 13 konstanta di
dalamnya. Jika dikehendaki agar mesin tersebut menjalankan fungsi tertentu,
misalnya menampilkan nilai volume sebuah balok pada keluarannya jika
masukan-masukannya diumpani nilai-nilai panjang dari ketiga sisinya, maka yang
disebut sebagai proses belajar bagi mesin tersebut adalah proses atau prosedur
yang harus dijalani untuk menyesuaikan nilai bobot-bobot di dalamnya
berdasarkan contoh-contoh data yang ada sehingga mesin tersebut bisa
menghasilkan fungsi atau tanggapan yang diharapkan. Sebagaimana makhluk
hidup yang belajar dari pengalaman (informasi/data) masa lalu, maka
pembelajaran atau pelatihan pada jaringan syaraf tiruan juga merupakan metode
yang memanfaatkan data-data di dalam prosesnya hingga sistem bisa menemukan
sendiri rumusannya (nilai-nilai yang sesuai untuk semua bobotnya). Kemampuan
untuk menemukan sendiri model atau rumusan sebuah fungsi yang sangat
kompleks (sesuai kompleksitas struktur jaringan dan fungsi aktivasinya) hanya
berdasarkan data-data atau pengalaman masa lalu inilah yang membuat sistem
jaringan syaraf tiruan menjadi menarik, terutama untuk memodelkan hubungan
antar variabel yang model analitiknya belum diketahui secara pasti.
3.2.4 Algoritma pelatihan rambat balikPertanyaan yang harus dijawab oleh sebuah algoritma pelatihan jaringan
syaraf tiruan adalah, jika kita memiliki sejumlah sampel data berupa sejumlah
vektor masukan x1,x2,...,xn dan sejumlah target keluaran t1,t2,..tn, maka
bagaimanakah cara mengatur nilai-nilai bobot pada jaringan syaraf tiruan agar
jaringan tersebut memberikan respon berupa keluaran t1 ketika diberi masukan
30
vektor x1, memberikan respon keluaran t2 ketika diberi masukan t2, dan
memberikan respon keluaran tn ketika diberi masukan tn?
Prinsip dasar dari algoritma pelatihan jaringan syaraf tiruan adalah
mengubah nilai bobot-bobot sedikit demi sedikit untuk memperkecil galat.
Metode yang menggunakan informasi perubahan galat relatif terhadap bobot
untuk mengubah bobot tersebut sedikit demi sedikit disebut metode gradient-
descent, atau disebut juga dengan steepest-descent. Pada awalnya akan terdapat
galat keluaran yang besar ketika sampel data diaplikasikan pada masukan jaringan
karena bobot-bobotnya diberi nilai awal secara acak, tetapi kemudian informasi
nilai galat ini digunakan untuk sebagai dasar untuk mengubah bobot-bobotnya
dengan rumusan tertentu untuk memperkecil galatnya. Percobaan mengubah nilai
bobot-bobotnya ini dilakukan berulang-ulang sampai diperoleh galat yang
minimal.
Untuk tiap sampel data, langkah pertama adalah mengaplikasikan nilai
masukan pada jaringan dan menghitung responnya (nilai aktivasi) pada setiap
neuron di dalamnya. Pada lapisan keluaran, galat bisa dihitung langsung dari
selisih antara aktivasi neuron keluarannya dengan target yang diinginkan. Untuk
lapisan tersembunyi, galat pada tiap neuronnya dihitung dengan merambatkan
balik galat neuron lapisan setelahnya.
Gambar 3.7 Sebuah neuron lapisan tersembunyi A dan hubungannya dengan neuron-neuron lapisan keluaran B dan C
31
Untuk menunjukkan bagaimana algoritma pelatihan rambat balik bekerja,
pada gambar 3.7 ditunjukkan hubungan sebuah neuron (A) yang ada pada lapisan
tersembunyi dengan neuron-neuron (B dan C) yang berada pada lapisan keluaran.
Neuron A terhubung dengan B melalui bobot WAB dan terhubung dengan C
melalui bobot WAC, dan algoritma pembelajarannya akan berjalan seperti berikut:
1. Data masukan diterapkan dan nilai aktivasi semua neuronnya dihitung, ini
akan menghasilkan nilai keluaran yang bisa jadi sangat jauh dari target
yang diharapkan karena pada awalnya bobot-bobot ditentukan secara acak.
2. Galat pada neuron lapisan keluaran dihitung sebagai berikut:
E = Target aktivasi.
Pada contoh neuron B, maka
EB = Target AktivasiB.
3. Bobot pada semua hubungan yang menuju neuron lapisan keluaran diubah.
Untuk neuron B, dengan W+AB adalah bobot yang baru dan WAB adalah
bobot awal, maka
W+AB=WAB + EB * AktivasiA .
Perlu diperhatikan bahwa faktor aktivasi yang mempengaruhi perubahan
bobot WAB adalah aktivasi dari neuron A (bukan neuron B).
4. Galat pada semua neuron lapisan tersembunyi dihitung. Untuk lapisan
tersembunyi, karena tidak terhubung secara langsung dengan target
keluaran, maka galatnya dirambatkan dari galat semua neuron yang
terhubung dengannya pada lapisan setelahnya. Untuk neuron A, galatnya
adalah
EA =0,5(AktivasiA+1)(1-AktivasiA)(EBWAB+ECWAC).
Faktor 0,5(AktivasiA+1)(1-AktivasiA) adalah turunan dari fungsi transfer
(fungsi aktivasi) sigmoid dua kutub pada titik di mana suatu neuron
32
mengeluarkan nilai aktivasinya.
5. Setelah mendapatkan galat pada neuron lapisan tersembunyi, maka
kemudian bobot-bobotnya bisa diperbarui dengan cara yang sama seperti
pada langkah 3.
Dengan mengulangi metode perambatan galat seperti pada langkah 4 maka
proses pelatihan atau pembaruan bobot dapat dilakukan untuk jaringan dengan
berapapun jumlah lapisan tersembunyi.
Laju pembelajaran dan momentumDengan melihat bahwa perubahan bobot besarnya tergantung dari besarnya
galat, maka bisa disimpulkan bahwa pergerakan nilai bobot menuju nilai akhir
mempunyai kecepatan yang sebanding dengan galatnya. Semakin mendekati nilai
yang dituju maka pergerakannya semakin lambat. Jika pergerakan terlalu lambat
maka pelatihan akan membutuhkan waktu yang lama, tetapi jika pergerakan
terlalu cepat maka ada kemungkinan titik galat minimum yang dituju justru
terlewati sehingga arah pencarian akan berbalik. Jika berbaliknya ini tidak
menghasilkan galat yang lebih kecil maka bisa jadi pencarian hanya akan bolak-
balik atau berosilasi di sekitar titik optimalnya dan selalu menghasilkan galat
tertentu yang hanya berubah menjadi positif atau negatif jika pelatihan diteruskan.
Untuk mengoptimasi antara kecepatan dan ketepatan (galat yang kecil) dalam
pembelajran, maka ditambahkan faktor "laju pembelajaran" yang merupakan
faktor pengali pada perubahan bobot. Untuk neuron A dengan aktivasi OA yang
terhubung melalui bobot WAB ke neuron B dengan galat EB, tanpa faktor "laju
pembelajaran" pembaruan bobotnya adalah
W = EBOA (3.7)
W+AB = WAB + W (3.8)
dengan W adalah perubahan bobot, W+AB adalah bobot yang baru, dan WAB
adalah bobot sebelumnya. Jika ditambahkan faktor laju pembelajaran L maka
pembaruan bobotnya menjadi
33
W = LEBOA (3.9)
W+AB = WAB + W (3.10)
Dengan mengatur laju pembelajarannya, kini antara kecepatan dan akurasi
pembelajarannya bisa dioptimasi. Masalah yang kemudian muncul adalah ketika
laju pembelajarannya diperkecil agar bisa dicapai galat yang lebih kecil ternyata
perubahan bobotnya menjadi sangat lambat bahkan ketika galatnya masih besar.
Untuk memperbaiki kecepatan pelatihan pada kondisi seperti ini kemudian
ditambahkan lagi faktor momentum, yang akan memperbesar lebih lanjut
perubahan suatu bobot dengan faktor yang sebanding dengan perubahan bobot
tersebut pada pelatihan sebelumnya. Jika faktor perubahan bobot pada iterasi
sebelumnya adalah W-, maka pembaruan bobot dengan momentum M dan laju
pembelajaran L pada satu iterasi bisa dituliskan sebagai
W=LEBOA +MW- (3.11)
W+ =W+ W
W- = W
3.2.5 Metode pelatihan resilient back-propagationAlgoritma resilient back-propagation tidak menggunakan informasi
besaran gradien tetapi hanya arahnya saja. Algoritma ini diperkenalkan pertama
kali oleh Riedmiller dan Braun (1993), yang kemudian dikembangkan lagi oleh
Igel dan Husken (2000). Pada prinsipnya, algoritma ini memperbarui bobot
dengan menambah atau mengurangi sebesar ukuran langkah (step-size). Arah
gradien hanya digunakan untuk menentukan apakah bobot harus ditambah atau
dikurangi. Besarnya ukuran langkah disesuaikan secara dinamis dengan melihat
apakah arah gradien masih sama atau telah berbalik setelah pembaruan bobot. Jika
arahnya sama maka ukuran langkah diperbesar dengan faktor penguat yang
nilainya lebih dari 1, jika berbeda maka ukuran langkah diperkecil dengan faktor
pelemah yang nilainya kurang dari 1 dan bobot dikembalikan ke nilai sebelumnya
sebelum mengalami pembalikan gradien. Proses pengembalian nilai bobot ke nilai
34
sebelumnya ini disebut weight-backtracking. Igel dan Husken (2000)
memperbaiki proses weight-backtraking dengan melihat terlebih dahulu besarnya
galat, sehingga pengembalian nilai bobot hanya dilakukan jika arah gradien
berubah dan besarnya galat lebih besar dari iterasi sebelumnya.
Jika wi,j adalah bobot dari neuron j ke neuron i, dan E adalah galat yang
mempunyai turunan terhadap bobot, dan superscript (t) menyatakan urutan iterasi,
maka algoritma resilient dilakukan mengikuti posedur berikut:
Untuk setiap wi,j lakukan {
jika ( Ew i,j
(t1)
Ew i,j
(t)
)>0 maka
{ i,j(t )=min(i,j
(t1). + ,max)
w i,j(t)=sign( E
w i,j
(t)
)i,j(t )
w i,j(t+1)=w i,j
(t )+w i,j(t )
} jika tidak maka {
jika ( Ew i,j
(t1)
Ew i,j
(t)
)E (t1)maka w i,j
(t+1 )=w i,j(t )(t1) (3.12)
Ew i,j
(t )
=0
}jika tidak maka{
jika ( Ew i,j
( t1)
Ew i,j
(t)
)=0 maka
{
w i,j(t)=sign( E
w i,j
(t)
) i,j(t )
w i,j(t+1)=w i,j
(t )+w i,j(t )
}}
}
35
}
dengan min adalah ukuran langkah minimum, max adalah ukuran langkah
maksimum, - adalah faktor pelemah langkah (nilainya kurang dari 1, dan +
adalah faktor penguat langkah (nilainya lebih dari 1).
3.2.6 Minimum LokalPada pelatihan jaringan syaraf tiruan dengan sejumlah sampel data latih,
galat keluaran untuk semua sampel masing-masing dikuadratkan, dijumlahkan,
dan kemudian diambil nilai reratanya sebagai rerata galat kuadrat (mean square
error). Galat ini mempunyai nilai tertentu untuk kombinasi nilai-nilai bobot
tertentu, sehingga sehingga galat ini bisa dipandang sebagai fungsi bobot E(W)
seperti dilukiskan pada Gambar 3.8. Gambar tersebut melukiskan profil
permukaan galat pada jaringan dengan bobot tunggal, sehingga galat untuk semua
variasi bobotnya bisa digambarkan sebagai garis dalam koordinat W,E(W). Jika
jaringan memiliki dua bobot W1 dan W2, maka profil permukaan galat bisa
digambarkan sebagai bidang dalam koordinat ruang W1,W2,E(W1,W2), begitu
juga dengan jumlah bobot berapapun, galat bisa dinyatakan sebagai "permukaan"
dalam ruang berdimensi sesuai dengan jumlah bobot.
Gambar 3.8 Galat sebagai fungsi dari bobot
36
Salah satu masalah pada pelatihan dengan metode gradient descent ini
adalah bahwa solusi yang didapat belum tentu merupakan solusi terbaik. Pada
sistem dengan profil permukaan galat yang memiliki banyak lembah, titik pada
dasar lembah disebut minimum lokal (local minima), sementara titik terendah di
antara semua dasar lembah disebut minimum global (global minima). Pada contoh
Gambar 3.8, jika bobot awal diinisialisasi dengan nilai Wa, maka proses pelatihan
akan menggeser bobot sedikit-demi sedikit menuju bobot akhir Wb (terjebak
dalam minimum lokal), sementara jika bobot diinisialisasi dengan nilai Wc maka
akan didapat bobot akhir Wd (mencapai minimum global). Semakin kompleks
pola data yang harus dipelajari dan semakin kompleks jaringan syaraf tiruannya
(semakin banyak jumlah lapisan atau neuronnya) maka jumlah lembah-lembah
minimum lokal kemungkinan akan semakin besar. Sebagai usaha untuk mencapai
minimum global, jaringan syaraf tiruan biasanya dilatih menggunakan beberapa
kali percobaan dengan inisialisasi bobot yang berbeda-beda secara acak, namun
sayangnya tidak ada jaminan bahwa minimum global akan tercapai.
3.2.7 OverfittingOverfitting adalah fenomena gagalnya JST dalam melakukan generalisasi,
yaitu keadaan dimana JST lebih bersifat mengingat titik-titik individual daripada
mempelajari pola-pola umum. Fenomena overfitting teramati ketika jaringan bisa
menunjukkan galat yang cukup kecil pada sample data yang dilatihkan, tetapi
mempunyai galat yang jauh lebih besar jika diujicobakan pada sampel data yang
tidak dilatihkan (out of training sample). Data yang tidak dilatihkan bisa saja
berupa sampel yang seharusnya dapat diinterpolasi maupun diekstrapolasi oleh
jaringan. Overfitting ini bisa terjadi karena jumlah bobot yang terlalu banyak
(yang berhubungan eraat dengan banyaknya neuron dan lapisan tersembunyi), dan
juga jumlah data latih yang terlalu sedikit (Kaastra dan Boyd, 1996). Semakin
banyak jumlah bobot-bobot dalam bandingannya dengan jumlah himpunan data
latih, maka potensi terjadinya overfitting akan semakin besar. Solusi dengan
mengurangi kompleksitas jaringan sepertinya merupakan solusi yang mudah dan
37
sederhana, akan tetapi Yu dan Wilamowski (2011) melaporkan bahwa melatih
struktur feed forward multilayer perceptron yang sederhana ternyata lebih sulit
daripada struktur yang memuat lebih banyak neuron, dan algoritma pelatihan
tertentu bahkan mengalami kegagalan ketika jumlah neuron diturunkan dari
jumlah tertentu sementara algoritma pelatihan yang lain tidak.
Salah satu solusi mengatasi masalah overfitting ini adalah dengan
menghentikan training secara dini (early-stop training), pada tingkat dimana JST
cukup baik melakukan generalisasi, tidak sampai tingkat dimana JST mengingat
titik-titik individual. Cara ini menuntut pembagian data latih menjadi setidaknya
dua kelompok, yaitu himpunan data latih dan himpunan data uji. Data latih berisi
sampel-sampel yang dilatihkan dengan algoritma pelatihan, sementara himpunan
data uji digunakan untuk hanya untuk pengujian saja. Jika jaringan syaraf tiruan
mampu memberikan respon dengan benar pada sampel-sampel data yang tidak
dilatihkan berarti jaringan syaraf tiruan dianggap mampu melakukan generalisasi.
Pelatihan dilakukan dengan menggunakan himpunan data latih dan dihentikan
sementara secara berkala tiap satu atau beberapa epoch untuk melakukan
pengujian galat pada himpunan data uji. Proses pelatihan seperti ini diilustrasikan
dalam Gambar 3.9
Gambar 3.9 Penghentian dini (early-stopping) pada pelatihan jaringan syaraf tiruan
38
Dengan metode ini pelatihan akan dihentikan secara dini jika pengujian pada data
uji menunjukan kenaikan galat, meskipun pada data latih masih menunjukkan
penurunan. Kenaikan galat pada data uji dianggap sebagai menurunnya
kemampuan generalisasi dari JST.
3.2.8 Pengukuran unjuk kerja jaringan syaraf tiruanUntuk mengukur unjuk kerja suatu jaringan syaraf tiruan, beberapa
parameter pengukuran yang sering digunakan diantaranya adalah: mean square
error (MSE), normalized mean square error (NMSE), correct sign statistic (CS),
dan correct directional statistic (CD).
Mean square error (MSE) MSE (mean square error) adalah rerata dari jumlahan galat kuadrat. Untuk
jaringan syaraf tiruan dengan satu neuron keluaran dengan himpunan sampel
masukan x1,x2,x3,...,xn; target y1,y2,y3,...,y; dan tanggapan keluaran o1,o2,o3,...,on;
maka mean square error yang dihasilkan adalah
MSE=1ni=1
n
(oi y i)2 (3.13)
Tidak seperti rerata galat absolut atau rerata akar jumlahan kuadrat galat
yang secara langsung bisa menggambarkan besaran galatnya secara rata-rata,
rerata galat kuadrat ini lebih ditujukan untuk memilih atau mengurutkan unjuk
kerja beberapa jaringan secara lebih baik dengan memberikan pinalti yang
semakin besar untuk galat yang makin besar karena nilainya dikuadratkan.
Dibandingkan dengan parameter unjuk kerja yang secara langsung menunjukkan
besaran rerata galatnya, pengukuran MSE akan menilai sistem sebagai "jauh lebih
buruk" jika ada satu atau beberapa sampel yang menghasilkan galat yang besar
meskipun kebanyakan sampel lainnya sangat kecil galatnya.
Normalized mean square error (NMSE) NMSE (normalized mean square error) adalah parameter galat yang
39
dinormalkan agar nilainya menjadi menjadi relatif terhadap variansi target yang
diprediksi atau dihitung nilainya oleh jaringan syaraf tiruan. Dengan normalisasi
ini, maka berbagai sistem prediksi atau pengukur bisa diperbandingkan unjuk
kerjanya, bahkan untuk sistem-sistem dengan aplikasi data yang berbeda. Untuk
jaringan syaraf tiruan dengan satu neuron keluaran dengan himpunan target
pelatihan y1,y2,y3,...,yn dan tanggapan keluaran o1,o2,o3,...,on; maka mean square
error yang dihasilkan adalah
NMSE=1ni=1
n (o i y i)2
( y i y )2 (3.14)
dengan y adalah rerata target (y1+y2+y3+...+yn)/n sehingga dapat dituliskan pula
sebagai
NMSE= 12
1ni=1
n
(oi y i)2=MSE
2(3.15)
dengan 2 adalah variansi dari target. Jika kita membandingkan pengukuran unjuk
kerja dari sistem-sistem prediksi dengan data yang sama persis maka parameter
MSE sudah cukup untuk membedakan sistem mana yang lebih baik. Di sisi lain,
jika diinginkan gambaran unjuk kerja secara umum dari suatu sistem, maka
menyatakan besarnya galat secara absolut tanpa memberikan informasi deviasi
atau variansi dari rentang tanggapan yang mungkin terjadi merupakan hal yang
sia-sia karena parameter tersebut tidak dapat menggambarkan resolusi atau
akurasinya. Sebagai contoh, jika suatu termometer dikatakan memiliki galat rata-
rata sebesar 1 derajat celsius, kita belum bisa membayangkan seteliti termometer
tersebut jika belum mengetahui rentang pengukuran yang diharapkan. Jika
termometer tersebut digunakan untuk mengukur suhu tungku peleburan logam
yang rentang pengukurannya 25oC sampai dengan 2000oC maka bisa dikatakan
bahwa resolusi dan presisinya cukup baik, tetapi jika termometer tersebut
seharusnya digunakan untuk mengukur suhu badan yang kebolehjadiannya paling
sering berada diantara 35oC-40oC maka bisa dikatakan bahwa resolusi dan
presisinya buruk.
40
Correct sign statistic (CS) CS (correct sign statistic) merupakan ukuran yang sering digunakan dalam
sistem prediksi, terutama pada prediksi variabel yang nilainya dirancang untuk
menunjukkan nilai positif atau negatif dengan titik nol sebagai batas pembeda dari
dua kelas nilai yang perlu diklasifikasi. Sebagai contoh, pada sistem prediksi nilai
tukar valuta asing, sistem seringkali diprioritaskan untuk dapat memprediksi arah
perubahannya (apakah naik ataukah turun) dengan lebih tepat, tanpa
mempermasalahkan ketepatan prediksi seberapa besar kenaikan atau
penurunannya. Untuk menghitung CS, nilai target maupun nilai keluaran sistem
prediksi diberi tanda. Jika nilainya sama dengan atau lebih besar dari 0 maka
diberi tanda positif, jika tidak maka diberi tanda negatif. CS merupakan
prosentase hasil prediksi yang menujukka
top related