NEURAL NETWORK ENSEMBLES UNTUK PERAMALAN NILAI TUKAR DOLLAR TERHADAP RUPIAH

  

commit to user

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

ABSTRAK

  Nariswari Setya Dewi, 2012. NEURAL NETWORK ENSEMBLES UNTUK PERAMALAN NILAI TUKAR DOLLAR TERHADAP RUPIAH. Fakultas Ma- tematika dan Ilmu Pengetahuan Alam, Universitas Sebelas Maret.

  Pada beberapa dekade terakhir, Neural Network (NN ) diperkenalkan seba- gai 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 pengga- bungan beberapa Neural Network(NN) dengan tujuan memperoleh peramalan yang lebih baik.

  Metode yang digunakan dalam penelitian ini adalah studi literatur dan ke- mudian diterapkan pada data riil, yaitu data nilai tukar Dollar terhadap Rupiah periode 5 Januari 2009 sampai dengan 31 Mei 2012. Guna mempermudah penye- lesaian contoh kasus, peneliti menyusun program partisi sistematis untuk data pelatihan.

  Berdasarkan hasil pembahasan diperoleh kesimpulan bahwa prosedur pem- bentukan NNE adalah membentuk NN tunggal untuk peramalan time series yang terdiri dari (i) pembagian data menjadi data pelatihan dan data penguji- an, (ii) partisi data pelatihan menjadi subsampel dengan partisi sistematis, (iii) transformasi data, dan (iv) pelatihan masing-masing subsampel dengan algori- tma pembelajaran backpropagation. Selanjutnya penggabungan hasil pelatihan dari masing-masing subsampel dengan metode simple average dan backpropa-

  gation. Arsitektur jaringan terbaik ditentukan berdasarkan MSE terkecil dari

  pengujian. Penerapan NNE pada data nilai tukar Dollar terhadap Rupiah meng- hasilkan 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 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 con- struction 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 re- sult 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

  

commit to user

MOTO

  Maka sesungguhnya bersama kesulitan ada kemudahan, sesungguhnya bersama kesulitan ada kemudahan (Al-Insyirah : 5-6) Man Jadda Wa Jadda commit to user PERSEMBAHAN

  Karya ini kupersembahkan untuk Ibu dan Bapakku tercinta, Kakak Arditya Prayudi dan adik Andita Wahyu Prasetya.

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 Ba- pak 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 mate- matika 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 Daftar Isi

  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

  I 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 4 2.1 Tinjauan Pustaka . . . . . . . . . . . . . . . . . . . . . . . . . . .

  4 2.1.1 Neural Network . . . . . . . . . . . . . . . . . . . . . . . .

  5

  

commit to user

2.1.2 Backpropagation . . . . . . . . . . . . . . . . . . . . . . .

  6

  2.1.2.2 Fungsi Aktivasi Backpropagation . . . . . . . . .

  8 2.1.2.3 Algoritma Levenberg-Marquadt(LM) . . . . . . .

  10 2.1.3 Prosedur Neural Network untuk Peramalan Time Series .

  11 2.2 Kerangka Pemikiran . . . . . . . . . . . . . . . . . . . . . . . . .

  13 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 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 commit to user

DAFTAR NOTASI

  commit to user

  Σ : sigma y ti : variabel input ke-i pada waktu ke-t(i = 1, 2, . . . , n) v ij : bobot yang menghubungkan neuron input ke-i (i = 1, 2, . . . , n) ke neuron ke-j (j = 1, 2, . . . , p) pada lapisan tersembunyi v 0j : bias antara lapisan input ke neuron ke-j (j = 1, 2, . . . , p) pada lapisan tersembunyi ψ h j : fungsi aktivasi di neuron ke-j (j = 1, 2, . . . , p) pada lapisan tersembunyi w j : bobot yang menghubungkan neuron lapisan tersembunyi ke-j

  (j = 1, 2, . . . , p) ke neuron pada lapisan output w : bias antara lapisan tersembunyi ke neuron pada lapisan output ψ o : fungsi aktivasi di neuron pada lapisan output z net j : nilai-nilai setelah penjumlahan input dan bobot-bobot pada lapisan tersembunyi pada input ke-j z j : output pada lapisan tersembunyi yang diproses pada neuron ke−j y net : penjumlahan output pada lapisan tersembunyi z j dan bobot lapisan tersembunyi ke lapisan output w j

  ˆ 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

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 perda- gangan, 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 meng- urangi 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.

  

commit to user

  Pada beberapa dekade terakhir, Neural Network (NN ) diperkenalkan seba- gai salah satu metode peramalan time series untuk nilai tukar mata uang karena kemampuannya dalam memorisasi dan generalisasi dari data masa lalu [8]. Fau- sett [2] menyatakan bahwa NN adalah sistem pemprosesan informasi yang memi- liki 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 McCle- lland [2]. Backpropagation dapat melakukan perbaikan bobot hingga diperoleh nilai output yang hampir sama dengan target. Kelebihan peramalan menggunak- an NN adalah dapat mempelajari perilaku data tanpa asumsi-asumsi tertentu. Moraga et al. [6] menyebutkan bahwa algoritma pembelajaran NN dapat me- nyelesaikan permasalahan model time series nonlinear. Akan tetapi, kesalahan dalam pengambilan sampel pada NN dapat menyebabkan kondisi overfitting, ya- itu 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 bebe- rapa NN menjadi Neural Network Ensembles (NNE) [3]. Penelitian sebelum- nya 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 diga- bungkannya 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 Rupi-

  ah periode 5 Januari 2009 sampai 31 Mei 2012 serta menyusun algoritma dan program partisi data secara sistematis.

  

commit to user

1.2 Perumusan Masalah

  Berdasarkan latar belakang, dapat disusun perumusan masalah yaitu ba- gaimana 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

Bab II LANDASAN TEORI Bab ini terdiri dari tinjauan pustaka dan kerangka pemikiran. Tinjauan

  pustaka berisi penelitian-penelitian yang pernah dilakukan dan digunakan seba- gai dasar dilaksanakannya kajian ini, serta teori-teori penunjang berisi definisi- definisi yang digunakan dalam pembahasan. Kerangka pemikiran berisi alur pe- mikiran 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 bo- bot 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], Mo- raga 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 kare- na 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

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 sebu- ah 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 Akson dari neuron lain Soma Celah Sinapsis Dendrit dari neuron lain Celah Sinapsis

Gambar 2.1. Struktur dasar NN [2]

  Seperti manusia, NN belajar dari suatu contoh karena mempunyai karakte- ristik 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 seca- ra sempurna sebuah pola yang telah dipelajari. Kemampuan generalisasi adalah kemampuan NN untuk menghasilkan respons yang bisa diterima terhadap pola- pola input yang serupa (namun tidak identik) dengan pola-pola yang sebelumnya telah dipelajari. Hal ini sangat bermanfaat jika dimasukkan data baru yang be-

  

commit to user

  lum pernah dipelajari, maka NN itu masih tetap dapat memberikan tanggapan

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. menunjuk- kan keanalogan NN terhadap jaringan syaraf biologis.

  bobot bobot Input

  Fungsi aktivasi output ke dari neuron- output neuron- neuron neuron

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 penjumlah- an kemudian akan dibandingkan dengan suatu nilai ambang (threshold ) tertentu melalui fungsi aktivasi setiap neuron. Selanjutnya neuron tersebut akan mengi- rimkan output melalui bobot-bobot output ke semua neuron yang berhubungan dengannya.

2.1.2 Backpropagation

  

Backpropagation merupakan model NN dengan banyak lapisan. Backpro-

pagation melatih jaringan untuk mendapatkan keseimbangan antara kemampuan

  jaringan mengenali pola yang digunakan selama pelatihan serta kemampuan ja- ringan dalam memberikan respon yang benar terhadap pola input yang serupa commit to user dengan z j = ψ o j (z net j ).

  w j ψ h j (v

  • n
Penjumlahan dari hasil perkalian output dari neuron ke-j (j = 1, 2, . . . , p) lapisan tersembunyi z j (j = 1, 2, . . . , p) dan bobot lapisan tersembunyi ke lapisan output w j dinotasikan dengan p

  X i =1 y ti v ij .

  (j = 1, 2, . . . , p) ke neuron pada lapisan output, w : 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 al- goritma 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 net j dengan z net j = v 0j + n

  : bias antara lapisan input ke neuron ke-j (j = 1, 2, . . . , p) pada la- pisan tersembunyi, ψ h j : fungsi aktivasi di neuron ke-j (j = 1, 2, . . . , p) pada lapisan ter- sembunyi, w j : bobot yang menghubungkan neuron lapisan tersembunyi ke-j

  0j

  v ij y ti ) dengan y ti : variabel input pada waktu ke-t(i = 1, 2, . . . , n), v ij : bobot yang menghubungkan neuron input ke-i (i = 1, 2, . . . , n) ke neuron ke-j (j = 1, 2, . . . , p) pada lapisan tersembunyi, v

  =1

  X i

  0j

  =1

  

commit to user

(namun tidak identik) dengan pola yang dipakai selama pelatihan.

  X j

  ditulis dalam bentuk ˆ y t = ψ o w + p

  

t−i

  , ..., y

  t−2

  , y

  input observasi masa lalu y t−1

  Secara umum, Suhartono [11] menyatakan bahwa persamaan NN untuk peramalan time series dengan algoritma pelatihan backpropagation dengan sa- tu lapisan tersembunyi untuk perhitungan peramalan ˆ y t (output) menggunakan

  Output dari neuron ke-j (j = 1, 2, . . . , p) pada lapisan tersembunyi dinotasikan

  X y net = w + z w . j j j

  =1 Oleh karena itu, output pada waktu ke-t adalah ˆ y t dapat ditulis sebagai berikut. o o y ˆ t = ψ (y net) = ψ (x , x , . . . , x n ).

  1

  2 Bobot-bobot yang digunakan pada backpropagation diestimasi dari data de-

  ngan meminimumkan jumlah kuadrat sesatan pada data pelatihan m

  X

  1

  2

  − E = (y t y ˆ t ) .

  2 t =1

  Backpropagation merupakan algoritma untuk mendapatkan bobot-bobot pada

  setiap lapisan yang dinotasikan dengan v ij dan w j 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 in-

  put (ditambah satu bias), satu lapisan tersembunyi yang terdiri dari p neuron

  (ditambah satu bias), serta satu neuron output. v ij merupakan bobot garis dari

  neuron input ke neuron lapisan tersembunyi z j (v j merupakan bobot garis yang

  menghubungkan bias di neuron input ke neuron lapisan tersembunyi z j ). w kj merupakan bobot dari neuron lapisan tersembunyi z j ke neuron output ˆ y (w merupakan bobot dari bias di lapisan tersembunyi ke neuron output z k ).

  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

  • 2 -
  • 1 1
    • - 2 x
    • 2 - 1 1 2 Ψ x

        

      commit to user

      y ti y t1 y tn v ij v j0 z 1 z

      2

      z j z

      p

      w j w

      Gambar 2.3. Arsitektur backpropagation aktivasi inilah yang akan menentukan besarnya bobot. Dalam backpropagation,

        fungsi aktivasi yang dipakai harus memenuhi beberapa syarat yaitu kontinu, terdi- ferensial dengan mudah dan merupakan fungsi yang tidak turun. Fungsi aktivasi yang memenuhi ketiga syarat tersebut sehingga sering digunakan dalam backpro-

        pagation 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.

      Gambar 2.4. Fungsi linear (purelin)

        Algoritma dari fungsi ini adalah ψ x = x.

        2. Fungsi sigmoid biner (logsig). Fungsi sigmoid biner atau logsig adalah fung- si 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. 0.8 1.0 Ψ x

        0.6 0.2 0.4 - - 4 2 2 4 x

      Gambar 2.5. Fungsi sigmoid biner (logsig)

        Algoritma dari fungsi ini adalah

        1 ψ x = . x (1 + e )

        2.1.2.3 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 Hes- sian diubah dengan pendekatan secara iteratif pada masing-masing epoch selama algoritma pelatihan berjalan. Proses perubahannya dilakukan dengan menggu- nakan fungsi gradien. Jika fungsi kinerja yang digunakan berbentuk jumlah ku- adrat eror, maka matriks Hessian dapat diestimasi dengan persamaan berikut. T

        H = J J + ηI

        

      commit to user

        dengan

        η : 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 stan- dar. matriks Jacobian tersusun dari turunan pertama fungsi eror terhadap masing- masing komponen bobot dan bias koneksi jaringan. Nilai parameter Levenberg-

        Marquardt (η) 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 pe- latihan yang secukupnya dan data pengujian dapat menguji prestasi pela- tihan 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 berle- bihan akan menyebabkan jaringan cenderung untuk menghafal data yang

        

      commit to user 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 i − h y i y min y = (a − b) +b i

        − y maks y min dengan y min : nilai minimum dari seluruh data, y maks : 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 la- pisan 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 neu-

        ron input dalam setiap lapisan. Dalam beberapa penelitian, untuk menen-

        tukan 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 pe- nilaian yang digunakan yaitu Mean Square Error (MSE). Nilai MSE di- gunakan karena mengenal secara pasti signifikasi hubungan di antara data

        

      commit to user ramalan dengan data aktual melalui persentase dari data aktual serta indi- kator positif atau negatif pada eror diabaikan n m

        X X

        1

        1

        2

        2

        − MSE = e = (y t y t ) i b n n i t

        =1 =1

        Berdasarkan nilai MSE yang terendah dari proses pelatihan diperoleh ja- ringan 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 permasa- lahan 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

      Bab III METODE PENELITIAN Metode yang digunakan dalam penelitian ini adalah studi literatur yaitu

        dengan mempelajari referensi yang berupa buku dan jurnal yang bersesuaian de- ngan tujuan penelitian. Dalam penelitian ini algoritma pembelajaran yang digu- nakan 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 sistema- tis, iii. transformasi data dengan interval [0.1,0.9], iv. pelatihan masing-masing subsampel dengan algoritma pembela- jaran backpropagation tipe Levenberg-Marquardt(LM).

        (b) pembentukan NNE yang terdiri dari i. penggabungan hasil pelatihan dari masing-masing subsampel de- ngan metode simple average dan metode backpropagation,

        

      commit to user

        ii. menguji hasil pelatihan dengan data pengujian, iii. memilih dan menggunakan struktur jaringan berdasarkan nilai

        Mean Square Error (MSE),

        iv. melakukan peramalan dengan menggunakan struktur jaringan ter- baik.

        4. membuat kesimpulan.

        

      commit to user

      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 pengga- bungan dari beberapa NN. Proses pembentukan NNE adalah dengan membagi data pelatihan menjadi beberapa subsampel berdasarkan n-input. Penggabung- an 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 da- hulu 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

        1. Pembagian data Seluruh data yang ada merupakan data pemodelan yang nantinya akan di- gunakan untuk meramalkan. Sebagaimana telah disebutkan pada tinjauan pustaka, data dibagi menjadi data pelatihan dan data pengujian. Kompo- sisi data pelatihan dan data pengujian yang biasa digunakan [14]

      • 80% data pelatihan dan 20% data pengujian, • 70% data pelatihan dan 30% data pengujian, • 60% data pelatihan dan 40% data pengujian. •

        90% data pelatihan dan 10% 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 sub- sampel. 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 y 1,1 = (y 2,1 4 1 , y 5 2 , y 6 2,1 3 ) y 1,1 = y 4 y 1,2 = (y 7 2,2 2 , y 5

      6

      3 , y

      7 2,2 4 ) y 1,2 = y 8 2,3 5 y 1,3 = (y 3 , y 6 7 4 , y 8 2,2 5 ) y 1,3 = y 9 6 2 y = (y , y , y ) y = y y = (y , y , y ) y = y y = (y , y , y ) y = y

        .. .. .. .. .. .. .. t . . . . . . .

      t t t t t t

      3 y = (y t 3 , 1 , 5 , y t 4 , y t 3 ) y = y t 3 1 , 2 y = (y t 3

      2 ,

      4 , y t 3 , y t 2 ) y = y t 3 2 , 1 y = (y t 3 3 , 3 , y t 2 , y t 1 ) y = y t 3 2

      commit to user

        Adapun program partisi data pelatihan menjadi 3 subsampel adalah sebagai berikut.

        %============ input data pelatihan ============ %identifikasi matrik subsampel y 1 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 sub 1 = [y sub1, y1]; end

        %identifikasi matrik subsampel y 2 y sub 2 = [ ]; f or i = 1 : (ndata p/3) − 1; j = 3 ∗ (i − 1); y2 = data p(j + 2 : j + 1 + by, 1); y sub 2 = [y sub2, y2]; end %identifikasi matrik subsampel y 3 y sub3 = [ ]; f or i = 1 : (ndata p/3) − 1; j = 3 ∗ (i − 1); y3 = data p(j + 3 : j + 2 + by, 1); y sub 3 = [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

        3. Transformasi data Pada penelitian ini digunakan fungsi aktivasi sigmoid biner pada lapisan tersembunyi yang memiliki range (0:1), sehingga data harus ditransforma- sikan terlebih dulu ke dalam range ini. Untuk mencegah nilai berada di asimtot biner maka data ditransformasikan pada range [0,1:0,9], sehingga diperoleh i h y i − y min y = (a − b) +b i

        − y maks y min i

        − h y i y min = (0.9 − 0.1) +0.1

        − y maks y min i

        − h y i y min = (0.8) +0.1

        − y maks y min dengan y min : nilai minimum dari seluruh data, y maks : 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 tersem- bunyi 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

        

      commit to user epoch atau MSE > target eror), dilakukan langkah 2. Langkah 2 : epoch = epoch + 1.

      • Untuk setiap pasangan data pelatihan, dilakukan langkah 3.
      • Langkah 3 Output ˆ y menerima target pola yang berhubungan dengan po- la input pelatihan. Jika diberikan n pasangan input data pelatihan (y r , t r ), r = 1, 2, ..., N, dengan y r adalah input dan t r target yang ak- an dicapai. Kesalahan pada suatu data pelatihan ke-r didefinisikan sebagai e r = t r − y ˆ r dengan e r : kesalahan pada neuron output, t r : target yang diinginkan, y ˆ r : output jaringan.

        Vektor kesalahan berukuran Nx1 disimbolkan dengan e yang tersusun dari e r , i = 1, 2, ..., N. Sehingga e dapat dituliskan e = [e e e . . . T

        1

        2

        3 e N ] .

        Misal bobot dan bias koneksi dinyatakan dalam vektor w, w merupa- kan vektor berukuran ((2 + n)p + 1)x1 dengan n adalah jumlah neuron

        

      input dan p adalah jumlah neuron tersembunyi. Sehingga w dapat

      T dituliskan w = [w j b2 v ij b1 j ] .

        Kesalahan suatu pelatihan jaringan oleh vektor bobot dan bias koneksi w pada suatu data pelatihan ke-i menjadi − e r = (t r y r ) − = (t r f (y r , w)). Vektor kesalahan oleh vektor bobot dan bias koneksi w menjadi e(w) berukuran Nx1 yang tersusun dari e r (w), dengan r = 1, 2, . . . , N. Menghitung fungsi jumlah kuadrat eror dengan persamaan

        1 T E(w) = e (w)e(w).

        commit to user

        2

      • 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.

        

      commit to user

        Menghitung matriks Jacobian untuk vektor bobot dan bias koneksi J(w) = h∂e r

        ∂w i 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 E(w(baru)) =

        1

        2 e(w(baru)) T e(w(baru)).

        (e) Membandingkan E(w) dengan E(w(baru)).

        Kembali ke Langkah 2.

        5. Penggabungan hasil pelatihan Setelah dilakukan pelatihan dari masing-masing subsampel, selanjutnya di- lakukan penggabungan NN tunggal masing-masing subsampel dengan me- tode simple average dan backpropagation.

        (a) Metode simple average Setelah bobot pada tahap pelatihan masing-masing subsampel dida- pat, maka nilai pembobot tersebut digunakan untuk mengolah keselu- ruhan data pelatihan untuk menghasilkan output yang sesuai. Output dari keseluruhan data pelatihan digabungkan dengan metode simple

        average dengan

        P n i y ˆ ti

        =1

        y ˆ t = 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 de-

        ngan metode backpropagation yaitu p n o h ′ ′

        X ′ ′ ′

        X y ˆ (x) = ψ w + t k 0k jk j 0j ij j i w ψ (v v y ˆ ) + ti

        =1 =1

        dengan y ˆ ti : variabel input (i = 1, 2, . . . , n), v : bobot yang menghubungkan neuron input ke-i ij (i = 1, 2, . . . , n) ke neuron ke-j (j = 1, 2, . . . , p) pada lapisan tersembunyi, v : bias antara lapisan input ke neuron ke-j (j = 1, 2, . . . , p)

        0j h pada lapisan tersembunyi,

        ψ : fungsi aktivasi di neuron ke-j (j = 1, 2, . . . , p) pada lapisan j tersembunyi,

        commit to user

        ′

        w : bobot yang menghubungkan neuron lapisan tersembunyi ke-j j (j = 1, 2, . . . , p) ke neuron pada lapisan output, w : bias antara lapisan tersembunyi ke neuron pada lapisan output, o ψ : fungsi aktivasi di neuron pada lapisan output. k