perpustakaan.uns.ac.id
digilib.uns.ac.id
NEURAL NETWORK ENSEMBLES UNTUK PERAMALAN NILAI TUKAR DOLLAR TERHADAP RUPIAH
oleh NARISWARI SETYA DEWI NIM. M0108022
SKRIPSI ditulis dan diajukan untuk memenuhi sebagian persyaratan memperoleh gelar Sarjana Sains Matematika
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SEBELAS MARET SURAKARTA 2012
commit to user i
perpustakaan.uns.ac.id
digilib.uns.ac.id
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id
ABSTRAK Nariswari Setya Dewi, 2012. NEURAL NETWORK ENSEMBLES UNTUK PERAMALAN NILAI TUKAR DOLLAR TERHADAP RUPIAH. Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Sebelas Maret. Pada beberapa dekade terakhir, Neural Network (NN ) diperkenalkan sebagai salah satu metode peramalan time series untuk nilai tukar mata uang karena kemampuannya dalam memorisasi dan generalisasi data sebelumnya. Penelitian ini mengkaji ulang Neural Network Ensembles(NNE ) yang merupakan penggabungan beberapa Neural Network(NN) dengan tujuan memperoleh peramalan yang lebih baik. Metode yang digunakan dalam penelitian ini adalah studi literatur dan kemudian diterapkan pada data riil, yaitu data nilai tukar Dollar terhadap Rupiah periode 5 Januari 2009 sampai dengan 31 Mei 2012. Guna mempermudah penyelesaian contoh kasus, peneliti menyusun program partisi sistematis untuk data pelatihan. Berdasarkan hasil pembahasan diperoleh kesimpulan bahwa prosedur pembentukan NNE adalah membentuk NN tunggal untuk peramalan time series yang terdiri dari (i) pembagian data menjadi data pelatihan dan data pengujian, (ii) partisi data pelatihan menjadi subsampel dengan partisi sistematis, (iii) transformasi data, dan (iv) pelatihan masing-masing subsampel dengan algoritma pembelajaran backpropagation. Selanjutnya penggabungan hasil pelatihan dari masing-masing subsampel dengan metode simple average dan backpropagation. Arsitektur jaringan terbaik ditentukan berdasarkan MSE terkecil dari pengujian. Penerapan NNE pada data nilai tukar Dollar terhadap Rupiah menghasilkan nilai MSE yang cukup kecil. Oleh karena itu, NNE dapat digunakan untuk peramalan nilai tukar mata uang. Kata kunci : NNE, partisi sistematis, simple average, backpropagation
commit to user iii
perpustakaan.uns.ac.id
digilib.uns.ac.id
ABSTRACT Nariswari Setya Dewi, 2012. NEURAL NETWORK ENSEMBLES FOR EXCHANGE RATE FORECASTING OF DOLLAR TO RUPIAH . Faculty of Mathematics and Natural Sciences, Sebelas Maret University. In recent decades, Neural Network (NN) is introduced as a method for currency exchange rates time series forecasting due to its ability to memorization and to generalize of the previous data. This research reviewed the Neural Network Ensembles (NNE ) which is a merger of some Neural Network (NN) in order to obtain a better forecasting. The method used in this research was the study of literature and then would be applied to real data, i.e data exchange rate of the Dollar against Rupiah period January 5, 2009 until May 31, 2012. In order to solve the example case easier, researchers compiled partitioning sistematic program to training data. Based on the study it could be concluded that the procedure of NNE construction is to construct single NN for time series forecasting i.e (i) the division of the data into training data and testing data, (ii) partition the training data into sub-samples with systematic partition, (iii) the transformation of data, and (iv) training each sub sample with backpropagation learning algorithm. Then the result of each sub-sample training is combined using the simple average method and backpropagation method. Best architecture is determined based on the minimum MSE of the testing. Application NNE in the exchange rate of the Dollar against the Rupiah data give small MSE. Therefore, NNE can be used for exchange rates forecasting . Keywords : NNE, partition sistematic, simple average, backpropagation
commit to user iv
perpustakaan.uns.ac.id
digilib.uns.ac.id
MOTO
Maka sesungguhnya bersama kesulitan ada kemudahan, sesungguhnya bersama kesulitan ada kemudahan (Al-Insyirah : 5-6)
Man Jadda Wa Jadda
commit to user v
perpustakaan.uns.ac.id
digilib.uns.ac.id
PERSEMBAHAN
Karya ini kupersembahkan untuk Ibu dan Bapakku tercinta, Kakak Arditya Prayudi dan adik Andita Wahyu Prasetya.
commit to user vi
perpustakaan.uns.ac.id
digilib.uns.ac.id
KATA PENGANTAR
Puji syukur penulis panjatkan kepada Allah SWT, yang telah melimpahkan rahmat dan karunia-Nya, sehingga penulis dapat menyelesaikan skripsi ini. Selain itu, penulis juga mengucapkan terimakasih kepada 1. Ibu Winita Sulandari, M.Si. sebagai Dosen Pembimbing I atas kesediaan, motivasi, dan kesabaran yang diberikan dalam membimbing penulis dan Bapak Supriyadi Wibowo, M.Si. sebagai Dosen Pembimbing II atas kesediaan dan memotivasi penulis dalam penyusunan skripsi ini, 2. Raditya Teguh Anugraha, Kartini, Nanda, Iif, Lia, dan teman-teman matematika FMIPA UNS angkatan 2008 atas kebersamaan dan semangat yang diberikan, 3. Semua pihak yang telah membantu dalam penyusunan skripsi ini. Semoga skripsi ini dapat bermanfaat bagi pembaca. Surakarta, Oktober 2012 Penulis
commit to user vii
perpustakaan.uns.ac.id
digilib.uns.ac.id
Daftar Isi
I
HALAMAN JUDUL . . . . . . . . . . . . . . . . . . . . . . . . . . . .
i
HALAMAN PENGESAHAN . . . . . . . . . . . . . . . . . . . . . . .
ii
ABSTRAK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
iii
ABSTRACT
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
iv
MOTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
v
PERSEMBAHAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
vi
KATA PENGANTAR . . . . . . . . . . . . . . . . . . . . . . . . . . .
vii
DAFTAR ISI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ix
DAFTAR TABEL . . . . . . . . . . . . . . . . . . . . . . . . . . . .
x
DAFTAR GAMBAR . . . . . . . . . . . . . . . . . . . . . . . . . . .
xi
DAFTAR NOTASI . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xii
PENDAHULUAN
1
1.1
Latar Belakang Masalah . . . . . . . . . . . . . . . . . . . . . . .
1
1.2
Perumusan Masalah
. . . . . . . . . . . . . . . . . . . . . . . . .
3
1.3
Batasan Masalah . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.4
Tujuan Penelitian . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.5
Manfaat Penelitian . . . . . . . . . . . . . . . . . . . . . . . . . .
3
II LANDASAN TEORI 2.1
4
Tinjauan Pustaka . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
2.1.1
Neural Network . . . . . . . . . . . . . . . . . . . . . . . .
5
2.1.2
Backpropagation
.commit . . . .to. user . . . . . . . . . . . . . . . . .
6
Arsitektur Backpropagation . . . . . . . . . . . .
8
2.1.2.1
viii
perpustakaan.uns.ac.id
2.1.2.2
Fungsi Aktivasi Backpropagation . . . . . . . . .
8
2.1.2.3
Algoritma Levenberg-Marquadt(LM) . . . . . . .
10
Prosedur Neural Network untuk Peramalan Time Series .
11
Kerangka Pemikiran . . . . . . . . . . . . . . . . . . . . . . . . .
13
2.1.3 2.2
digilib.uns.ac.id
III METODE PENELITIAN
14
IV PEMBAHASAN
16
4.1
Neural Network Ensembles . . . . . . . . . . . . . . . . . . . . . .
16
4.2
Penerapan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
V PENUTUP
27
5.1
Kesimpulan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
5.2
Saran . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
DAFTAR PUSTAKA
29
LAMPIRAN
31
commit to user
ix
perpustakaan.uns.ac.id
digilib.uns.ac.id
Daftar Tabel
2.1
Keanalogan NN terhadap jaringan syaraf biologis[7] . . . . . . . .
6
4.1
Ilustrasi dari sampling data sistematik dengan vektor input 3 lag .
17
commit to user
x
perpustakaan.uns.ac.id
digilib.uns.ac.id
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id
DAFTAR NOTASI
Σ
:
sigma
yti
:
variabel input ke-i pada waktu ke-t(i = 1, 2, . . . , n)
vij
:
bobot yang menghubungkan neuron input ke-i (i = 1, 2, . . . , n) ke neuron ke-j (j = 1, 2, . . . , p) pada lapisan tersembunyi
v0j
:
bias antara lapisan input ke neuron ke-j (j = 1, 2, . . . , p) pada lapisan tersembunyi
ψjh
:
fungsi aktivasi di neuron ke-j (j = 1, 2, . . . , p) pada lapisan tersembunyi
wj
:
bobot yang menghubungkan neuron lapisan tersembunyi ke-j (j = 1, 2, . . . , p) ke neuron pada lapisan output
w0
:
bias antara lapisan tersembunyi ke neuron pada lapisan output
ψo
:
fungsi aktivasi di neuron pada lapisan output
z netj
:
nilai-nilai setelah penjumlahan input dan bobot-bobot pada lapisan tersembunyi pada input ke-j
zj
:
output pada lapisan tersembunyi yang diproses pada neuron ke−j
y net
:
penjumlahan output pada lapisan tersembunyi zj dan bobot lapisan tersembunyi ke lapisan output wj
yˆt
:
output pada waktu ke-t
E
:
jumlah kuadrat sesatan
H
:
matriks Hessian
η
:
parameter Marquardt
I
:
matriks identitas
J
:
matriks Jacobian yang terdiri dari turunan pertama eror jaringan terhadap masing-masing komponen bobot dan bias
commit to user
xii
perpustakaan.uns.ac.id
digilib.uns.ac.id
Bab I PENDAHULUAN 1.1
Latar Belakang Masalah
Uang merupakan alat pembayaran umum yang diterima secara luas dan berfungsi sebagai alat ukur [9]. Setiap negara memiliki mata uang yang digunakan untuk menunjukkan harga barang dan jasa. Dalam perdagangan antar negara, setiap negara yang terlibat menggunakan mata uang yang berbeda. Hal ini, tentu saja menimbulkan masalah karena nilai mata uang suatu negara tidak dapat ditukar dengan mata uang negara lain dengan nominal yang sama. Menurut Krugman dan Maurice [5], nilai dari harga sebuah mata uang dari suatu negara yang diukur atau dinyatakan dalam mata uang lainnya disebut nilai tukar mata uang. Nilai tukar mata uang suatu negara merupakan salah satu indikator penting dalam suatu perekonomian. Menurut Dewi [1] nilai tukar mempunyai implikasi yang luas, baik dalam konteks ekonomi domestik maupun internasional, karena hampir semua negara di dunia melakukan transaksi internasional. Kemungkinan penurunan nilai tukar (depresiasi) atau kenaikan (apresiasi) dari setiap mata uang terhadap mata uang lainnya dapat terjadi setiap saat. Beberapa faktor penting, seperti pertumbuhan ekonomi, pengembangan perdagangan, suku bunga dan tingkat inflasi, berdampak signifikan terhadap fluktuasi nilai tukar [9]. Fluktuasi-fluktuasi tajam pada nilai tukar mata uang merupakan sumber resiko nilai tukar mata uang yang serius bagi investor, perusahaan dan kalangan perbankan dalam transaksi internasional. Oleh karena itu, untuk mengurangi resiko tersebut diperlukan peramalan. Peramalan nilai tukar mata uang merupakan tahapan awal yang penting sebelum dilakukan proses jual beli nilai tukar mata uang yang nantinya menjadi acuan perekonomian dunia. Pada beberapa dekade terakhir,commit NeuraltoNetwork user (NN ) diperkenalkan seba1
perpustakaan.uns.ac.id
digilib.uns.ac.id
gai salah satu metode peramalan time series untuk nilai tukar mata uang karena kemampuannya dalam memorisasi dan generalisasi dari data masa lalu [8]. Fausett [2] menyatakan bahwa NN adalah sistem pemprosesan informasi yang memiliki karakteristik mirip dengan jaringan syaraf biologi yang saling berhubungan antar neuron-neuron dimana tiap hubungan tersebut mempunyai bobot-bobot koneksi. Metode dari NN yang dapat diaplikasikan dengan baik dalam bidang peramalan adalah backpropagation. Metode pelatihan backpropagation pertama kali dirumuskan Werbos (1974) dan dipopulerkan oleh Rumelhart dan McClelland [2]. Backpropagation dapat melakukan perbaikan bobot hingga diperoleh nilai output yang hampir sama dengan target. Kelebihan peramalan menggunakan NN adalah dapat mempelajari perilaku data tanpa asumsi-asumsi tertentu. Moraga et al. [6] menyebutkan bahwa algoritma pembelajaran NN dapat menyelesaikan permasalahan model time series nonlinear. Akan tetapi, kesalahan dalam pengambilan sampel pada NN dapat menyebabkan kondisi overfitting, yaitu kondisi dimana jaringan hanya mampu menghasilkan output yang baik untuk data pelatihan saja, tapi tidak untuk data pengujian. Kondisi overfitting pada NN dapat diatasi dengan menggabungkan beberapa NN menjadi Neural Network Ensembles (NNE) [3]. Penelitian sebelumnya tentang NNE telah dilakukan oleh Zhang dan Berardi [15] dan Yu et al. [13]. Zhang dan Berardi [15] mempartisi data pelatihan dengan partisi sistematis menjadi beberapa subsampel. Masing-masing subsampel dilatih kemudian digabungkannya dengan metode simple average. Sedangkan Yu et al. [13] melakukan penggabungan dengan metode backpropagation. Dalam hal ini peneliti mengkaji ulang dan menjabarkan prosedur pembentukan NNE metode simple average dan backpropagation. Penerapan dilakukan pada nilai tukar Dollar terhadap Rupiah periode 5 Januari 2009 sampai 31 Mei 2012 serta menyusun algoritma dan program partisi data secara sistematis.
commit to user 2
perpustakaan.uns.ac.id
digilib.uns.ac.id
1.2
Perumusan Masalah
Berdasarkan latar belakang, dapat disusun perumusan masalah yaitu bagaimana prosedur pembentukan NNE dan penerapannya dalam peramalan nilai tukar mata uang.
1.3
Batasan Masalah
Batasan masalah pada penelitian ini diberikan untuk membatasi ruang lingkup pembahasan masalah yaitu jumlah neuron pada lapisan input adalah i = 2, . . . , 5, dan jumlah neuron pada lapisan tersembunyi adalah j = 1, . . . , 5.
1.4
Tujuan Penelitian
Tujuan penelitian ini adalah untuk menjelaskan dan menjabarkan prosedur pembentukan NNE dan penerapannya dalam peramalan nilai tukar mata uang.
1.5
Manfaat Penelitian
Manfaat dari penelitian ini adalah prosedur NNE dapat digunakan untuk peramalan data time series dan dapat memperkaya ilmu pengetahuan terkait NNE sebagai pengembangan dari NN.
commit to user 3
perpustakaan.uns.ac.id
digilib.uns.ac.id
Bab II LANDASAN TEORI Bab ini terdiri dari tinjauan pustaka dan kerangka pemikiran. Tinjauan pustaka berisi penelitian-penelitian yang pernah dilakukan dan digunakan sebagai dasar dilaksanakannya kajian ini, serta teori-teori penunjang berisi definisidefinisi yang digunakan dalam pembahasan. Kerangka pemikiran berisi alur pemikiran dalam penelitian ini.
2.1
Tinjauan Pustaka
Neural Network (NN ) adalah sistem pemrosesan informasi yang memiliki karakteristik mirip dengan jaringan syaraf biologi [2]. Jaringan tersebut saling berhubungan antar node atau simpul dimana tiap-tiap hubungan mempunyai bobot koneksi yang dilatih untuk mencapai respon yang diinginkan. Fungsi jaringan tersebut menggambarkan ketergantungan nilai data saat ini terhadap nilai data sebelumnya. Dengan demikian, NN merupakan metode yang dapat diaplikasikan untuk peramalan time series. Beberapa penelitian seperti Zhang et al. [14], Moraga et al. [6], Resmana [8] dan Iwan [4] telah menggunakan NN sebagai metode peramalan time series. Menurut Hansen dan Salamon [3] penggabungan beberapa Neural Network (NN ) dapat mengatasi kondisi overfitting yang kadang terjadi pada NN karena kesalahan pengambilan sampel. Penelitian sebelumnya tentang NNE untuk peramalan time series telah dilakukan oleh Zhang dan Berardi [15] dan Yu et al. [13]. Pada penelitian ini, ditekankan terkait prosedur NNE lebih detail dan penerapannya untuk peramalan nilai tukar Dollar terhadap Rupiah. Berikut ini diberikan definisi dan teori yang mendukung pencapaian penelitian.
commit to user 4
perpustakaan.uns.ac.id
digilib.uns.ac.id
2.1.1
Neural Network
Neural Network (NN ) diperkenalkan pertama kali pada tahun 1943 oleh neurophysiologist Waren McCulloch dan logician Walter Pits. McCulloch dan Pitts menyimpulkan bahwa kombinasi beberapa neuron sederhana menjadi sebuah sistem jaringan akan meningkatkan kemampuan komputasinya. Bobot dalam jaringan yang diusulkan oleh McCulloch dan Pitts diatur untuk melakukan fungsi logika sederhana. Menurut Fausett [2], NN dibentuk sebagai perluasan dari jaringan syaraf biologi. Struktur jaringan pada Gambar 2.1 adalah bentuk standart dasar satuan neuron jaringan otak manusia yang telah disederhanakan. Fungsi dendrit adalah menyampaikan sinyal dari neuron ke neuron yang terhubung dengannya. Sebagai output setiap neuron memiliki akson, sedangkan bagian penerima sinyal disebut sinapsis. Dendrit Akson
Soma
Celah Sinapsis Akson dari neuron lain
Celah Sinapsis Dendrit dari neuron lain
Gambar 2.1. Struktur dasar NN [2] Seperti manusia, NN belajar dari suatu contoh karena mempunyai karakteristik yang adaptif, yaitu dapat belajar dari data-data sebelumnya dan mengenal pola data yang selalu berubah. Hal yang ingin dicapai dengan melatih NN adalah keseimbangan antara kemampuan memorisasi dan generalisasi. Yang dimaksud kemampuan memorisasi adalah kemampuan NN untuk mengambil kembali secara sempurna sebuah pola yang telah dipelajari. Kemampuan generalisasi adalah kemampuan NN untuk menghasilkan respons yang bisa diterima terhadap polapola input yang serupa (namun tidak identik) dengan pola-pola yang sebelumnya telah dipelajari. Hal ini sangat bermanfaat jika dimasukkan data baru yang be-
userdapat memberikan tanggapan lum pernah dipelajari, maka NN itucommit masih to tetap 5
perpustakaan.uns.ac.id
digilib.uns.ac.id
Tabel 2.1. Keanalogan NN terhadap jaringan syaraf biologis [7] Neural network
Jaringan syaraf biologi
neuron
soma
input
dendrit
output
akson
bobot
sinapsis
yang baik, memberikan output yang paling mendekati [7]. Tabel 2.1. menunjukkan keanalogan NN terhadap jaringan syaraf biologis.
bobot Input dari neuronneuron
Fungsi aktivasi output
bobot output ke neuronneuron
Gambar 2.2. Struktur neuron pada NN [7] Struktur neuron NN diperlihatkan pada Gambar 2.2. Satu sel syaraf terdiri dari tiga bagian, yaitu fungsi penjumlah, fungsi aktivasi, dan output. Input akan dikirim ke neuron dengan bobot tertentu. Input ini akan diproses oleh suatu fungsi yang akan menjumlahkan nilai-nilai bobot yang ada. Hasil penjumlahan kemudian akan dibandingkan dengan suatu nilai ambang (threshold ) tertentu melalui fungsi aktivasi setiap neuron. Selanjutnya neuron tersebut akan mengirimkan output melalui bobot-bobot output ke semua neuron yang berhubungan dengannya.
2.1.2
Backpropagation
Backpropagation merupakan model NN dengan banyak lapisan. Backpropagation melatih jaringan untuk mendapatkan keseimbangan antara kemampuan jaringan mengenali pola yang digunakan selama pelatihan serta kemampuan jaringan dalam memberikan respon yang benar terhadap pola input yang serupa commit to user 6
perpustakaan.uns.ac.id
digilib.uns.ac.id
(namun tidak identik) dengan pola yang dipakai selama pelatihan. Secara umum, Suhartono [11] menyatakan bahwa persamaan NN untuk peramalan time series dengan algoritma pelatihan backpropagation dengan satu lapisan tersembunyi untuk perhitungan peramalan yˆt (output) menggunakan input observasi masa lalu yt−1 , yt−2 , ..., yt−i ditulis dalam bentuk yˆt = ψ
o
w0 +
p X
wj ψjh (v0j
j=1
+
n X
vij yti )
i=1
dengan yti
:
variabel input pada waktu ke-t(i = 1, 2, . . . , n),
vij
:
bobot yang menghubungkan neuron input ke-i (i = 1, 2, . . . , n) ke neuron ke-j (j = 1, 2, . . . , p) pada lapisan tersembunyi,
v0j
:
bias antara lapisan input ke neuron ke-j (j = 1, 2, . . . , p) pada lapisan tersembunyi,
ψjh
:
fungsi aktivasi di neuron ke-j (j = 1, 2, . . . , p) pada lapisan tersembunyi,
wj
:
bobot yang menghubungkan neuron lapisan tersembunyi ke-j (j = 1, 2, . . . , p) ke neuron pada lapisan output,
w0
:
bias antara lapisan tersembunyi ke neuron pada lapisan output,
ψo
:
fungsi aktivasi di neuron ke-k pada lapisan output.
Beberapa notasi yang digunakan untuk memperjelas penjabaran proses algoritma backpropagation. Nilai-nilai penjumlahan dari hasil perkalian input dan bobot-bobot yang menuju neuron ke-j (j = 1, 2, . . . , p) pada lapisan tersembunyi dinyatakan dengan z netj dengan z netj = v0j +
n X
yti vij .
i=1
Output dari neuron ke-j (j = 1, 2, . . . , p) pada lapisan tersembunyi dinotasikan dengan zj = ψjo (z netj ). commit to user 7
perpustakaan.uns.ac.id
digilib.uns.ac.id
Penjumlahan dari hasil perkalian output dari neuron ke-j (j = 1, 2, . . . , p) lapisan tersembunyi zj (j = 1, 2, . . . , p) dan bobot lapisan tersembunyi ke lapisan output wj dinotasikan dengan y net = w0 +
p X
zj wj .
j=1
Oleh karena itu, output pada waktu ke-t adalah yˆt dapat ditulis sebagai berikut. yˆt = ψ o (y net) = ψ o (x1 , x2 , . . . , xn ). Bobot-bobot yang digunakan pada backpropagation diestimasi dari data dengan meminimumkan jumlah kuadrat sesatan pada data pelatihan m 1X (yt − yˆt )2 . E= 2 t=1 Backpropagation merupakan algoritma untuk mendapatkan bobot-bobot pada setiap lapisan yang dinotasikan dengan vij dan wj dengan cara meminimumkan nilai dari kuadrat sesatan. 2.1.2.1
Arsitektur Backpropagation
Di dalam jaringan backpropagation, setiap neuron yang berada di lapisan input terhubung dengan setiap neuron yang ada di lapisan tersembunyi. Hal serupa berlaku pula pada lapisan tersembunyi. Setiap neuron yang ada di lapisan tersembunyi terhubung dengan setiap neuron yang ada di lapisan output. Gambar 2.3. menunjukkan arsitektur backpropagation dengan n buah input (ditambah satu bias), satu lapisan tersembunyi yang terdiri dari p neuron (ditambah satu bias), serta satu neuron output. vij merupakan bobot garis dari neuron input ke neuron lapisan tersembunyi zj (vj0 merupakan bobot garis yang menghubungkan bias di neuron input ke neuron lapisan tersembunyi zj ). wkj merupakan bobot dari neuron lapisan tersembunyi zj ke neuron output yˆ (w0 merupakan bobot dari bias di lapisan tersembunyi ke neuron output zk ). 2.1.2.2
Fungsi Aktivasi Backpropagation
Pada setiap lapisan NN terdapat fungsi aktivasi. Fungsi ini adalah fungsi
commit to user yang digunakan untuk membawa input menuju output yang diinginkan. Fungsi 8
perpustakaan.uns.ac.id
digilib.uns.ac.id
vij yt1
z1
yti
z2
wj
zj
ytn
w0 zp
vj0
Gambar 2.3. Arsitektur backpropagation aktivasi inilah yang akan menentukan besarnya bobot. Dalam backpropagation, fungsi aktivasi yang dipakai harus memenuhi beberapa syarat yaitu kontinu, terdiferensial dengan mudah dan merupakan fungsi yang tidak turun. Fungsi aktivasi yang memenuhi ketiga syarat tersebut sehingga sering digunakan dalam backpropagation dan digunakan pada penelitian ini adalah fungsi linier (purelin), sigmoid biner (logsig). 1. Fungsi linear (purelin). Fungsi linear atau purelin memiliki nilai input yang sama dengan nilai output. Fungsi diperlihatkan pada Gambar 2.4. Ψx 2
1
x
-2
-1
1
2
-1
-2
Gambar 2.4. Fungsi linear (purelin) Algoritma dari fungsi ini adalah
commit ψx =tox.user 9
perpustakaan.uns.ac.id
digilib.uns.ac.id
2. Fungsi sigmoid biner (logsig). Fungsi sigmoid biner atau logsig adalah fungsi aktivasi yang membawa input ke output dengan perhitungan log-sigmoid. Nilai output memiliki range 0 sampai 1. Fungsi sigmoid biner diperlihatkan pada Gambar 2.5. Ψx 1.0
0.8
0.6
0.4
0.2
x
-4
-2
2
4
Gambar 2.5. Fungsi sigmoid biner (logsig) Algoritma dari fungsi ini adalah ψx = 2.1.2.3
1 . (1 + ex )
Algoritma Levenberg-Marquadt(LM)
Algoritma Levenberg-Marquadt(LM) merupakan pengembangan algoritma pelatihan backpropagation standar. Pada algoritma Levenberg-Marquadt(LM), proses update bobot dan bias menggunakan pendekatan matriks Hessian. Langkah dasar algoritma Levenberg-Marquardt adalah penentuan matriks Hessian untuk mencari bobot-bobot dan bias koneksi yang digunakan. matriks Hessian merupakan turunan kedua dari fungsi kinerja terhadap masing-masing komponen bobot dan bias. Untuk memudahkan proses komputasi, matriks Hessian diubah dengan pendekatan secara iteratif pada masing-masing epoch selama algoritma pelatihan berjalan. Proses perubahannya dilakukan dengan menggunakan fungsi gradien. Jika fungsi kinerja yang digunakan berbentuk jumlah kuadrat eror, maka matriks Hessian dapat diestimasi dengan persamaan berikut.
H = J T J + ηI dengan
commit to user 10
perpustakaan.uns.ac.id
digilib.uns.ac.id
η
:
parameter Levenberg-Marquardt,
I
:
matriks identitas,
J
:
matriks Jacobian yang terdiri dari turunan pertama eror jaringan terhadap masing-masing komponen bobot dan bias.
Matriks Jacobian dapat dikomputasikan melalui teknik backpropagation standar. matriks Jacobian tersusun dari turunan pertama fungsi eror terhadap masingmasing komponen bobot dan bias koneksi jaringan. Nilai parameter LevenbergMarquardt (η) dapat berubah pada setiap epoch. Jika setelah berjalan satu epoch nilai fungsi eror menjadi lebih kecil, nilai η akan dibagi oleh faktor τ . Faktor τ merupakan pengendali laju eror. Bobot dan bias baru yang diperoleh akan dipertahankan dan pelatihan dapat dilanjutkan ke epoch berikutnya. Sebaliknya, jika setelah berjalan satu epoch nilai fungsi eror menjadi lebih besar maka nilai η akan dikalikan dengan faktor τ . Nilai perubahan bobot dan bias dihitung kembali sehingga menghasilkan nilai yang baru.
2.1.3
Prosedur Neural Network untuk Peramalan Time Series
Neural Network(NN) dapat diaplikasikan dengan baik untuk peramalan (forecasting). Langkah-langkah membangun struktur jaringan untuk peramalan dinyatakan sebagai. 1. Pembagian data Aspek pembagian data harus ditekankan agar jaringan mendapat data pelatihan yang secukupnya dan data pengujian dapat menguji prestasi pelatihan yang dilakukan. Jumlah data yang kurang untuk proses pelatihan akan menyebabkan jaringan tidak dapat mempelajari sebaran data dengan baik. Sebaliknya, data yang terlalu banyak untuk proses pelatihan akan melambatkan proses pemusatan (konvergensi). Data pelatihan yang berlebihan akan menyebabkan jaringan cenderung untuk menghafal data yang commit to user 11
perpustakaan.uns.ac.id
digilib.uns.ac.id
dimasukkan. 2. Transformasi data Sebelum dilakukan pelatihan pada jaringan yang akan digunakan untuk peramalan terlebih dahulu dilakukan transformasi data. Sebab utama data ditransformasikan adalah agar kestabilan sebaran data dicapai. Selain itu berguna untuk menyesuaikan nilai data dengan range fungsi aktivasi yang digunakan dalam jaringan [10]. Berikut adalah rumus transformasi datanya yi′
h y −y i i min = (a − b) +b ymaks − ymin
dengan ymin
: nilai minimum dari seluruh data,
ymaks
: nilai maksimal dari seluruh data,
a
: nilai tertinggi interval,
b
: nilai terendah interval.
3. Perancangan struktur jaringan yang optimum Struktur jaringan ditentukan berdasarkan jumlah neuron input, jumlah lapisan tersembunyi, jumlah neuron lapisan tersembunyi dan jumlah neuron lapisan output yang akan digunakan dalam jaringan. Belum ada aturan yang pasti untuk menentukan jumlah lapisan tersembunyi dan jumlah neuron input dalam setiap lapisan. Dalam beberapa penelitian, untuk menentukan jumlah lapisan tersembunyi dan jumlah neuron input dalam setiap lapisan dengan trial dan error (mencoba-coba), yaitu menguji beberapa jaringan yang berbeda-beda dan memilih jaringan tersebut yang memiliki nilai eror terkecil. 4. Memilih dan menggunakan struktur jaringan yang optimum Jaringan yang dibangun akan dinilai keakuratan ramalannya. Aturan penilaian yang digunakan yaitu Mean Square Error (MSE). Nilai MSE digunakan karena mengenal secara pasti signifikasi hubungan di antara data commit to user 12
perpustakaan.uns.ac.id
digilib.uns.ac.id
ramalan dengan data aktual melalui persentase dari data aktual serta indikator positif atau negatif pada eror diabaikan n
m
1X 2 1X MSE = ei = (yt − ybt )2 n i=1 n t=1 Berdasarkan nilai MSE yang terendah dari proses pelatihan diperoleh jaringan yang optimum. Keakuratan ramalan jaringan dilihat dari nilai MSE dari proses pengujian.
2.2
Kerangka Pemikiran
Nilai tukar mata uang suatu negara merupakan salah satu indikator penting dalam suatu perekonomian. Data nilai tukar mata uang merupakan jenis data time series yang dapat dimodelkan dengan menggunakan NN. Moraga et al. [6] menyebutkan bahwa algoritma pembelajaran NN dapat menyelesaikan permasalahan model time series nonlinear. Akan tetapi, kesalahan dalam pengambilan sampel pada NN dapat menyebabkan kondisi overfitting, yaitu kondisi dimana jaringan hanya mampu menghasilkan output yang baik untuk data pelatihan saja, tapi tidak untuk data pengujian. Menurut Hansen dan Salamon [3] penggabungan beberapa NN menjadi Neural Network Ensemble (NNE) merupakan cara yang efektif untuk mengatasi masalah overfitting. Hal ini menjadi alasan model NNE dapat digunakan untuk meramalkan nilai tukar mata uang. Penelitian sebelumnya tentang NNE untuk peramalan nilai tukar mata uang telah dilakukan oleh Zhang dan Berardi [15] dan Yu et al [13]. Dalam hal ini penulis akan mengkaji ulang dan menjabarkan lebih detail mengenai prosedur pembentukan NNE serta menerapkannya dalam peramalan nilai tukar mata uang Rupiah terhadap Dolar tanggal 5 Januari 2009 sampai 31 Mei 2012.
commit to user 13
perpustakaan.uns.ac.id
digilib.uns.ac.id
Bab III METODE PENELITIAN Metode yang digunakan dalam penelitian ini adalah studi literatur yaitu dengan mempelajari referensi yang berupa buku dan jurnal yang bersesuaian dengan tujuan penelitian. Dalam penelitian ini algoritma pembelajaran yang digunakan adalah algoritma backpropagation tipe Levenberg-Marquardt(LM). Jumlah neuron pada lapisan input adalah i = 2, . . . , 5, dan jumlah neuron pada lapisan tersembunyi adalah j = 1, . . . , 5. Adapun langkah operasional yang diperlukan dalam penelitian adalah 1. mengkaji ulang beberapa jurnal terkait NN dan NNE, 2. membuat algoritma dan program partisi data sistematis, 3. penerapan prosedur NNE pada data nilai tukar Dollar terhadap Rupiah periode 5 Januari 2009 sampai 31 Mei 2012, (a) pembentukan NN tunggal yang terdiri dari i. pembagian data menjadi data pelatihan dan data pengujian, ii. partisi data pelatihan menjadi subsampel dengan partisi sistematis, iii. transformasi data dengan interval [0.1,0.9], iv. pelatihan masing-masing subsampel dengan algoritma pembelajaran backpropagation tipe Levenberg-Marquardt(LM). (b) pembentukan NNE yang terdiri dari i. penggabungan hasil pelatihan dari masing-masing subsampel dengan metode simple average dan metode backpropagation,
commit to user ii. menguji hasil pelatihan dengan data pengujian, 14
perpustakaan.uns.ac.id
digilib.uns.ac.id
iii. memilih dan menggunakan struktur jaringan berdasarkan nilai Mean Square Error (MSE), iv. melakukan peramalan dengan menggunakan struktur jaringan terbaik. 4. membuat kesimpulan.
commit to user 15
perpustakaan.uns.ac.id
digilib.uns.ac.id
Bab IV PEMBAHASAN 4.1
Neural Network Ensembles
Paradigma pembelajaran Neural Network Ensembles(NNE ) pertama kali dikenalkan oleh Hansen dan Salamon(1990) dimana NNE merupakan penggabungan dari beberapa NN. Proses pembentukan NNE adalah dengan membagi data pelatihan menjadi beberapa subsampel berdasarkan n-input. Penggabungan NN menjadi NNE dapat menggunakan metode simple average dan metode backpropagation. Dalam penelitian ini jumlah neuron pada lapisan input dibatasi dengan i = 2, . . . , 5, dan jumlah neuron pada lapisan tersembunyi j = 1, . . . , 5. Sebagai langkah awal untuk menentukan NNE, arsitektur jaringan terlebih dahulu ditentukan sesuai dengan batasan penelitian tersebut.
Gambar 4.1. Prosedur NNE Pada Gambar 4.1. dijelaskan prosedur NNE dengan penjabaran sebagai berikut.
commit to user 16
perpustakaan.uns.ac.id
digilib.uns.ac.id
1. Pembagian data Seluruh data yang ada merupakan data pemodelan yang nantinya akan digunakan untuk meramalkan. Sebagaimana telah disebutkan pada tinjauan pustaka, data dibagi menjadi data pelatihan dan data pengujian. Komposisi data pelatihan dan data pengujian yang biasa digunakan [14] • 90% data pelatihan dan 10% data pengujian, • 80% data pelatihan dan 20% data pengujian, • 70% data pelatihan dan 30% data pengujian, • 60% data pelatihan dan 40% data pengujian. 2. Partisi data pelatihan Pada penelitian ini akan digunakan partisi sistematis untuk membagi data pelatihan. Skema partisi sistematis bergantung pada lag-lag input yang digunakan dalam jaringan, data pelatihan dipartisi menjadi beberapa subsampel. Untuk struktur jaringan lag ke-n, kelompok data pelatihan dibagi menjadi sebanyak n yang ukurannya sama. Dalam skema ini, partisi data ke-n dengan nilai target tersendiri dan vektor-vektor input dibuat dari data asli yang telah ditetapkan. Masing-masing partisi data terdiri dari lag-n, secara sistematis vektor-vektor input dipilih dari semua lag-n vektor-vektor input dari kelompok data pelatihan. Misal sebagai gambaran dari partisi 3 lag NNE dapat dilihat pada Tabel 4.1. Tabel 4.1. Ilustrasi dari sampling data sistematis dengan vektor input 3 lag subsampel 1
subsampel 2
subsampel 3
Kasus
Input
Target
Input
Target
Input
Target
1
y1,1 = (y1 , y2, y3 )
y1,1 = y4
y1,2 = (y2 , y3 , y4 )
y1,2 = y5
y1,3 = (y3 , y4 , y5 )
y1,3 = y6
2 .. .
y2,1 = (y4 , y5, y6 ) .. .
y2,1 = y7 .. .
y2,2 = (y5 , y6 , y7 ) .. .
y2,2 = y8 .. .
y2,3 = (y6 , y7 , y8 ) .. .
y2,2 = y9 .. .
t 3
y t ,1 = (yt5 , yt4 , yt3 ) y t ,1 = yt2 3
3
y t ,2 = (yt4 , yt3 , yt2 ) y t ,2 = yt1 y t ,3 = (yt3 , yt2 , yt1 ) y t ,2 = yt 3
3
commit to user 17
3
3
perpustakaan.uns.ac.id
digilib.uns.ac.id
Adapun program partisi data pelatihan menjadi 3 subsampel adalah sebagai berikut. %============ input data pelatihan ============ %identifikasi matrik subsampel y1 y sub1 = [ ]; by = 3; f or i = 1 : (ndata p/3) − 1; j = 3 ∗ (i − 1); y1 = data p(j + 1 : j + by, 1); y sub1 = [y sub1, y1]; end %identifikasi matrik subsampel y2 y sub2 = [ ]; f or i = 1 : (ndata p/3) − 1; j = 3 ∗ (i − 1); y2 = data p(j + 2 : j + 1 + by, 1); y sub2 = [y sub2, y2]; end %identifikasi matrik subsampel y3 y sub3 = [ ]; f or i = 1 : (ndata p/3) − 1; j = 3 ∗ (i − 1); y3 = data p(j + 3 : j + 2 + by, 1); y sub3 = [y sub3, y3]; end %============ target data pelatihan ============ y = [ ]; f or i = 1 : (ndata p/3) − 1; j = 3 + 3 ∗ (i − 1); yt = data p(j + 1 : j + by, 1); y = [y, yt]; end %======= penggabungan matriks input dan target ======= %——–subsampel1——– sub1 = [y sub1 y(:, 1)]; %——–subsampel2——– sub2 = [y sub2 y(:, 2)]; %——–subsampel3——– sub3 = [y sub3 y(:, 3)];
commit to user 18
perpustakaan.uns.ac.id
digilib.uns.ac.id
3. Transformasi data Pada penelitian ini digunakan fungsi aktivasi sigmoid biner pada lapisan tersembunyi yang memiliki range (0:1), sehingga data harus ditransformasikan terlebih dulu ke dalam range ini. Untuk mencegah nilai berada di asimtot biner maka data ditransformasikan pada range [0,1:0,9], sehingga diperoleh
yi′
h y −y i i min = (a − b) +b ymaks − ymin h y −y i i min = (0.9 − 0.1) +0.1 ymaks − ymin i h y −y i min (0.8) +0.1 = ymaks − ymin
dengan ymin
: nilai minimum dari seluruh data,
ymaks
: nilai maksimal dari seluruh data,
a
: nilai tertinggi interval,
b
: nilai terendah interval.
4. Pelatihan data dengan algoritma backpropagation Masing-masing data input yang telah dipartisi sistematis dilatih dengan algoritma backpropagation satu lapisan tersembunyi. Fungsi aktivasi yang digunakan adalah sigmoid biner diantara lapisan input dan lapisan tersembunyi dan fungsi aktivasi linear diantara lapisan tersembunyi dan lapisan output. Langkah-langkah pelatihan NN dengan algoritma backpropagation tipe Levenberg-Marquard dinyatakan sebagai. Langkah 0 : • Inisialisasi bobot awal dengan bilangan acak. • Inisialisasi epoch 0, MSE 6= 0 • Tetapkan maksimum epoch, parameter Levenberg-Marquard (η > 0), faktor τ = 1 dan target eror Langkah 1 Jika kondisi penghentian belum terpenuhi (epoch < maksimum
to user langkah 2. epoch atau MSE > targetcommit eror), dilakukan 19
perpustakaan.uns.ac.id
digilib.uns.ac.id
Langkah 2 : • epoch = epoch + 1. • Untuk setiap pasangan data pelatihan, dilakukan langkah 3. Langkah 3 Output yˆ menerima target pola yang berhubungan dengan pola input pelatihan. Jika diberikan n pasangan input data pelatihan (yr , tr ), r = 1, 2, ..., N, dengan yr adalah input dan tr target yang akan dicapai. Kesalahan pada suatu data pelatihan ke-r didefinisikan sebagai er = tr − yˆr dengan er
:
kesalahan pada neuron output,
tr
:
target yang diinginkan,
yˆr
:
output jaringan.
Vektor kesalahan berukuran Nx1 disimbolkan dengan e yang tersusun dari er , i = 1, 2, ..., N. Sehingga e dapat dituliskan e = [e1 e2 e3 . . . eN ]T . Misal bobot dan bias koneksi dinyatakan dalam vektor w, w merupakan vektor berukuran ((2 + n)p + 1)x1 dengan n adalah jumlah neuron input dan p adalah jumlah neuron tersembunyi. Sehingga w dapat dituliskan w = [wj b2 vij b1j ]T . Kesalahan suatu pelatihan jaringan oleh vektor bobot dan bias koneksi w pada suatu data pelatihan ke-i menjadi er = (tr − yr ) = (tr − f (yr , w)). Vektor kesalahan oleh vektor bobot dan bias koneksi w menjadi e(w) berukuran Nx1 yang tersusun dari er (w), dengan r = 1, 2, . . . , N. Menghitung fungsi jumlah kuadrat eror dengan persamaan 1 E(w) = eT (w)e(w). commit2to user 20
perpustakaan.uns.ac.id
digilib.uns.ac.id
Menghitung matriks Jacobian untuk vektor bobot dan bias koneksi J(w) =
h ∂e i r
∂w
N x((2+n)p+1
untuk r = 1, 2, . . . , N. (a) Menghitung matriks Hessian untuk vektor bobot dan bias koneksi H(w) = [J T (w)J(w) + ηI]((2+n)p+1)x((2+n)p+1) . (b) Menghitung perubahan vektor bobot dan bias dengan persamaan berikut. ∆w = −[[H(w)]−1 J T (w)e(w)]((2+n)p+1)x1 . (c) Menghitung vektor bobot dan bias baru w(baru) = w(lama) + ∆w. (d) Menghitung kesalahan yang terjadi oleh bobot dan bias koneksi yang baru 1 E(w(baru)) = e(w(baru))T e(w(baru)). 2 (e) Membandingkan E(w) dengan E(w(baru)). • Jika E(w) ≤ E(w(baru)) maka didapatkan ηbaru = η ∗ τ dan kembali ke langkah (a) • Jika E(w)¿E(w(baru)) maka didapatkan ηbaru =
η τ
Sehingga w(t + 1) = w(t) + ∆w. Kembali ke Langkah 2. 5. Penggabungan hasil pelatihan Setelah dilakukan pelatihan dari masing-masing subsampel, selanjutnya dilakukan penggabungan NN tunggal masing-masing subsampel dengan metode simple average dan backpropagation.
commit to user 21
perpustakaan.uns.ac.id
digilib.uns.ac.id
(a) Metode simple average Setelah bobot pada tahap pelatihan masing-masing subsampel didapat, maka nilai pembobot tersebut digunakan untuk mengolah keseluruhan data pelatihan untuk menghasilkan output yang sesuai. Output dari keseluruhan data pelatihan digabungkan dengan metode simple average dengan
yˆt =
Pn
i=1
yˆti
n
dengan yˆt
: output prediktor NNE,
yˆti
: output jaringan NN,
n
: banyak jaringan NN.
(b) Metode backpropagation Hasil dari pelatihan NN tunggal masing-masing subsampel yaitu yˆti digunakan sebagai input kemudian dilakukan penggabungan dengan backpropagation sehingga diperoleh persamaan peramalan NNE dengan metode backpropagation yaitu
yˆt (x) =
′ ψko
p n X X ′ ′ h′ ′ wjk ψj (v0j + vij′ yˆti ) w0k + j=1
i=1
dengan yˆti
: variabel input (i = 1, 2, . . . , n),
vij′
: bobot yang menghubungkan neuron input ke-i (i = 1, 2, . . . , n) ke neuron ke-j (j = 1, 2, . . . , p) pada lapisan tersembunyi,
′ v0j
: bias antara lapisan input ke neuron ke-j (j = 1, 2, . . . , p) pada lapisan tersembunyi,
ψjh
′
: fungsi aktivasi di neuron ke-j (j = 1, 2, . . . , p) pada lapisan tersembunyi,
commit to user 22
perpustakaan.uns.ac.id
wj′
:
digilib.uns.ac.id
bobot yang menghubungkan neuron lapisan tersembunyi ke-j (j = 1, 2, . . . , p) ke neuron pada lapisan output,
w0′
:
bias antara lapisan tersembunyi ke neuron pada lapisan output,
′
:
fungsi aktivasi di neuron pada lapisan output.
ψko
6. Pengujian jaringan Jaringan yang telah dilatih diuji dengan data pengujian. Pengujian data digunakan untuk menguji apakah NNE dapat bekerja dengan baik yaitu dengan memprediksi pola data yang dilatih dengan tingkat kesalahan yang kecil. Pengujian NNE untuk metode simple average dilakukan dengan mengolah data pengujian dengan bobot terbaik pada tahap pelatihan masing-masing subsampel. Kemudian menghitung output sebanyak n subsampel dengan metode simple average. Sedangkan pengujian NNE untuk metode backpropagation, setelah bobot yang terbaik pada tahap pelatihan didapat, maka nilai pembobot tersebut digunakan untuk mengolah data masukan untuk menghasilkan output yang sesuai. 7. Memilih dan menggunakan struktur jaringan yang optimum Jaringan yang dibangun akan dinilai keakuratan ramalannya. Aturan penilaian yang digunakan adalah berdasarkan nilai Mean Square Error (MSE). Nilai MSE adalah n
MSE =
m
1X 2 1X ei = (yt − ybt )2 . n i=1 n t=1
Berdasarkan nilai MSE yang terendah dari proses pelatihan diperoleh jaringan yang optimum. Keakuratan ramalan jaringan dilihat dari nilai MSE dari proses pengujian.
4.2
Penerapan
Pada penelitian ini, prosedur NNE akan diterapkan dalam peramalan data nilai tukar mata uang. Data nilai tukar mata uang yang digunakan adalah data sekunder nilai tukar mata uang Dollar terhadap Rupiah pada tanggal 5 Januari commit to user 23
perpustakaan.uns.ac.id
digilib.uns.ac.id
2009 sampai dengan 31 Mei 2012 yang bersumber dari situs www.bi.go.id dan terlampir pada Lampiran 1. Pada umumnya data nilai tukar mata uang memiliki pola fluktuatif. Hal
nilai tukar Dollar terhadap Rupiah
tersebut dapat dilihat berdasarkan plot time series pada Gambar 4.2.
Gambar 4.2. Plot time series data nilai tukar mata uang Dollar terhadap Rupiah pada 5 Januari 2009 sampai dengan 31 Mei 2012 Sesuai prosedur NNE, langkah awal data dibagi menjadi data pelatihan dan data pengujian untuk seluruh kemungkinan arsitektur yang ada. Keseluruhan data berjumlah 840 data. Pembagian data dalam penelitian ini adalah 60% data pelatihan dan 40% data pengujian. Jadi jumlah data pelatihan dan data pengujian adalah 504 dan 336. Langkah selanjutnya, mempartisi data pelatihan sebanyak n-input sehingga menjadi n-subsampel. Masing-masing subsampel ditransformasikan dengan range [0,1:0,9]. Data dari masing-masing subsampel dilatih dengan algoritma pelatihan backpropagation Levenberg-Marquadt. Pada pelatihan data subsampel target eror yang diharapkan sebesar 0,0001 dan maksimum epoch sebanyak 1000. Dari hasil pelatihan akan didapat bobot terbaik dan output hasil pelatihan dari masingmasing subsampel. Setelah dilakukan pelatihan NN masing-masing subsampel selanjutnya dilakukan penggabungan NN dengan metode commit simple to user average dan backpropagation. 24
perpustakaan.uns.ac.id
digilib.uns.ac.id
Pelatihan hingga pengujian dilakukan dengan jumlah neuron pada lapisan input adalah i = 2, . . . , 5, dan jumlah neuron pada lapisan tersembunyi adalah j = 1, . . . , 5 yang terlampir pada Lampiran 2. Hasil pelatihan dan pengujian didapatkan arsitektur jaringan terbaik dengan MSE terkecil dari pengujian pada metode simple average adalah 3-2-1, sedangkan dengan metode backpropagation adalah 2-2-1. Selanjutnya dilakukan pengecekan hubungan linieritas antara data uji sebagai target dengan nilai peramalannya ditampilkan pada Gambar 4.3. Terihat bahwa hasil peramalan dan data uji berbanding lurus atau linier yang berarti peramalan mendekati data asli. Untuk mengetahui besarnya pengaruh variabel independen terhadap variabel dependen secara simultan atau bersama-sama dihitung R2 . Dari masing-masing metode yaitu simple average dan backpropagation didapatkan R2 sebesar 97, 8%
0.9
0.9
0.8
0.8
0.7
0.7
0.6
0.6
peramalan
peramalan
dan 97, 4%.
0.5 0.4
0.5 0.4
0.3
0.3
0.2
0.2
0.1
0.1
0.0
0.0 0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.0
0.1
0.2
0.3
data uji
0.4
0.5
0.6
0.7
0.8
0.9
data uji
Gambar 4.3. Hubungan linearitas pada metode simple average(kiri) dan metode backpropagation(kanan) Grafik peramalan in-sample dan out-sample untuk nilai tukar Dollar terhadap Rupiah ditampilkan pada Gambar 4.4 dan Gambar 4.5. Peramalan in-sample merupakan peramalan dengan menggunakan keseluruhan data pelatihan dan pengujian sedang peramalan out-sample merupakan peramalan untuk data baru yaitu data pada periode 1 Juni sampai 31 Agustus 2012 [12]. Nilai MSE peramalan in-sample dan out-sample dengan metode simple average sebesar 1, 24685x10−4 dan 1,722x10−2. Nilai MSE peramalan in-sample dan out-sample dengan metode backpropagation sebesar 1, 49075x10−4 dan 1,750x10−2 . commit to user 25
perpustakaan.uns.ac.id
digilib.uns.ac.id
commit to user 26
perpustakaan.uns.ac.id
digilib.uns.ac.id
Bab V PENUTUP 5.1
Kesimpulan
Penggabungan NN dapat dilakukan dengan menggunakan metode simple average dan backpropagation. Prosedur pembentukan NNE dinyatakan sebagai 1. pembentukan NN tunggal yang terdiri dari (a) pembagian data menjadi data pelatihan dan data pengujian, (b) partisi data pelatihan menjadi subsampel dengan partisi sistematis, (c) transformasi data, (d) pelatihan masing-masing subsampel dengan algoritma pembelajaran backpropagation tipe Levenberg-Marquardt(LM). 2. pembentukan NNE yang terdiri dari (a) penggabungan hasil pelatihan dari masing-masing subsampel dengan metode simple average dan metode backpropagation, (b) menguji hasil pelatihan dengan data pengujian, (c) memilih dan menggunakan struktur jaringan berdasarkan nilai Mean Square Error (MSE), (d) melakukan peramalan dengan menggunakan struktur jaringan terbaik. Penerapan NNE pada data nilai tukar Dollar terhadap Rupiah menghasilkan nilai MSE yang cukup kecil dan memiliki hubungan yang linier antara target dan hasil peramalan. Kedua metode juga memberikan hasil peramalan mendekati data asli, sehingga NNE dapat digunakan untuk peramalan nilai tukar mata uang. commit to user 27
perpustakaan.uns.ac.id
digilib.uns.ac.id
5.2
Saran
Pada penelitian ini, hanya diteliti tentang Neural Network Ensembles(NNE) dengan metode pelatihan backpropagation. Oleh karena itu, bagi pembaca yang tertarik untuk mengembangkan skripsi ini, disarankan untuk meneliti Neural Network Ensembles(NNE) dengan metode Radial Basis Function(RBF).
commit to user 28