Temporal Sequence Processing Pada Data Nilai Tukar Great Britain Poundsterling (GBP) Terhadap United State Dollar (USD) Menggunakan Recurrent Self Organizing Map (RSOM).
ABSTRAK
Metoda analisa data secara statistik dapat diaplikasikan untuk mendapatkan pengertian terhadap proses-proses yang berubah waktu yang sangat kompleks untuk dimodelkan secara analitik. Data pertama-tama dikumpulkan dengan mengukur variabel-variabel. Observasi ini kemudian dianalisa dengan menerapkan metoda-metoda statistik untuk mengetahui karakter dari proses yang diobservasi.
Tujuan utama dari penelitian ini adalah untuk menerapkan metoda neural
network pada analisa data. Neural network mampu membuat model statistik, yang
dapat diterapkan pada berbagai aplikasi, dari exploratory data analysis and
visualizations hingga masalah regresi. Dalam pemodelan menggunakan neural network, tujuannya adalah untuk membangun sebuah model berdasarkan data
observasi yang memiliki pengaruh paling signifikan pada proses yang diteliti. Dalam penelitian ini, neural network akan digunakan untuk melakukan
Temporal Sequence Processing (TSP), khususnya dalam time series prediction.
Proses yang dianalisa dalam penelitian ini adalah fluktuasi nilai tukar GBP (Great
Britain Poundsterling) terhadap USD (United State Dollar). Motivasi utama
dalam penelitian kasus time series adalah untuk memprediksi masa depan dan untuk mengetahui faktor-faktor apa yang paling berpengaruh. Tujuan Tugas Akhir ini adalah untuk membangun suatu model yang dapat menangkap karakter-karakter esensial dari proses dengan menggunakan data-data historical, kemudian menggunakan model tersebut untuk memprediksi masa depan, dalam hal ini adalah fluktuasi nilai tukar GBP terhadap USD.
Dari hasil penelitian RSOM mampu mengenali pola temporal dalam fluktuasi nilai tukar GBP/USD dengan persentase kebenaran 71%. Semakin banyak pola input yang digunakan untuk melatih RSOM, maka kemampuan RSOM dalam mengenali pola akan semakin baik, tetapi jumlah epoch yang diperlukan untuk men-training RSOM akan semakin banyak.
U nive rsit a s K rist e n M a ra na t ha
(2)
ABSTRACT
Statistical data analysis methods can be applied to gain understanding to a process under interest, which is too complex to be modeled analytically. Data from the process is first collected by measuring selected variables. These observations are then analyzed by applying statistical methods to infer knowledge from the process.
The main theme of this work is to consider neural network methods in data analysis. Neural networks constitute a class of statistical models, which can be applied in a broad range of applications, from exploratory data analysis and visualizations to classification and regression problems. In neural network modeling, the goal is to build a model based on the observed data, which can represent the essential properties of the process under interest.
In this research, neural network used to do Temporal Sequence Processing (TSP), especially in time series prediction. The analyzed process is exchange rate of GBP (Great Britain Pound sterling) toward USD (United State Dollar). The main motivation of time series cases is to predict the future and to know the most influence factors. Goal of this research is to build a model that can catch the essential characters of process using historical data, then using the model to predict the future, in this case is the fluctuation of exchange rate of GBP/USD.
Research result shows that RSOM can acknowledge the temporal pattern of the fluctuation of exchange rate of GBP/USD with 71% right. The more the input pattern using to train RSOM, the RSOM ability to acknowledge the pattern increase, but number of epoch needed to train RSOM increasing too.
U nive rsit a s K rist e n M a ra na t ha
(3)
DAFTAR ISI
Halaman
ABSTRAK ... i
ABSTRACT... ii
KATA PENGANTAR ... iii
DAFTAR ISI... vi
DAFTAR GAMBAR ... viii
DAFTAR TABEL...x
BAB I PENDAHULUAN ...1
1.1 Latar Belakang ...1
1.2 Identifikasi Masalah ...2
1.3 Tujuan ...2
1.4 Batasan Masalah...2
1.5 Sistematika Penulisan...2
BAB II LANDASAN TEORI ...4
2.1 Fundamental Forex...4
2.2 Komponen Jaringan Syaraf Tiruan ...5
2.3 Arsitektur Jaringan Syaraf Tiruan ...7
2.4 Fungsi Aktivasi ...10
2.5 Proses Pembelajaran...15
2.6 Jaringan Syaraf Tiruan dengan Metode Back-Propagation Network ...17
2.7 Jaringan Syaraf Tiruan dengan Metode Self Organizing Map...18
2.8 Jaringan Syaraf Tiruan dengan Metode Recurrent Self Organizing Maps ...19
U nive rsit a s K rist e n M a ra na t ha
(4)
BAB III PERANCANGAN ...21
3.1 Pemodelan Data Input ...21
3.2 Pemodelan Data Target ...22
3.3 Arsitektur JST ...23
3.4 Diagram Alir Proses Training, Validasi, dan Simulasi...24
BAB IV ANALISA...28
4.1 Hasil Training ...28
4.2 Hasil Validasi ...34
4.3 Hasil Simulasi ...35
4.4 Analisa...36
BAB V KESIMPULAN DAN SARAN ...37
5.1 Kesimpulan ...37
5.2 Saran...37
DAFTAR PUSTAKA ...38
LAMPIRAN - LISTING PROGRAM
U nive rsit a s K rist e n M a ra na t ha
(5)
DAFTAR TABEL
Halaman Tabel 4.1 Tabel hasil validasi ...34 Tabel 4.2 Tabel hasil simulasi ...35
U nive rsit a s K rist e n M a ra na t ha
(6)
DAFTAR GAMBAR
Halaman
Gambar 2.1 Struktur neuron jaringan syaraf tiruan ...6
Gambar 2.2 Jaringan syaraf tiruan dengan 3 lapisan ...7
Gambar 2.3 Jaringan syaraf tiruan dengan lapisan tunggal ...8
Gambar 2.4 Jaringan syaraf tiruan dengan banyak lapisan...9
Gambar 2.5 Jaringan syaraf dengan lapisan kompetitif ...10
Gambar 2.6 Fungsi aktivasi: Undak Biner (hard limit) ...10
Gambar 2.7 Fungsi aktivasi: Undak Biner (threshold) ...11
Gambar 2.8 Fungsi aktivasi: Bipolar (symetric hard limit) ...11
Gambar 2.9 Fungsi aktivasi: Bipolar (threshold) ...12
Gambar 2.10 Fungsi aktivasi: Linear (identitas) ...12
Gambar 2.11 Fungsi aktivasi: Saturating linear...13
Gambar 2.12 Fungsi aktivasi: Symetric Saturating Linear...13
Gambar 2.13 Fungsi aktifasi: Sigmoid Biner ...14
Gambar 2.14 Fungsi aktivasi: Sigmoid bipolar ...15
Gambar 2.15 Arsitektur backpropagation-network ...17
Gambar 2.16 Arsitektur Self Organizing Maps ...19
Gambar 2.17 Skema sebuah unit RSOM yang bertindak sebagai sebuah recurrent filter ...20
Gambar 3.1 Flowchart pemodelan data input...21
Gambar 3.2 Flowchart pemodelan data target...23
Gambar 3.3 Arsitektur JST (RSOM) ...24
Gambar 3.4 Diagram alir proses training ...25
Gambar 3.5 Diagram alir proses validasi...26
Gambar 3.6 Diagram alir proses simulasi ...27
Gambar 4.1 Grafik pola no.1 ...28
Gambar 4.2 Grafik pola no.2 ...29
Gambar 4.3 Grafik pola no.3 ...29
Gambar 4.4 Grafik pola no.4 ...30
U nive rsit a s K rist e n M a ra na t ha
(7)
Gambar 4.5 Grafik pola no.5 ...30
Gambar 4.6 Grafik pola no.6 ...31
Gambar 4.7 Grafik pola no.7 ...31
Gambar 4.8 Grafik pola no.8 ...32
Gambar 4.9 Grafik pola no.9 ...32
Gambar 4.10 Grafik pola no.10 ...33
Gambar 4.11 Grafik pola no.11 ...33
Gambar 4.12 Grafik pola no.12 ...34
U nive rsit a s K rist e n M a ra na t ha
(8)
Lampiran - Listing Program
% Array of Training Pattern plot(cp_mar);
pmar01=cp_mar(24:41); pmar02=cp_mar(47:97); pmar03=cp_mar(126:196); pmar04=cp_mar(196:255); pmar05=cp_mar(231:254); pmar06=cp_mar(255:303); pmar07=cp_mar(374:415); pmar08=cp_mar(429:452); pmar09=cp_mar(452:470); pmar10=cp_mar(454:511); pmar11=cp_mar(511:523); pmar12=cp_mar(530:570);
imar01 = interp(pmar01,quant(1000/length(pmar01),1)); imar02 = interp(pmar02,quant(1000/length(pmar02),1)); imar03 = interp(pmar03,quant(1000/length(pmar03),1)); imar04 = interp(pmar04,quant(1000/length(pmar04),1)); imar05 = interp(pmar05,quant(1000/length(pmar05),1)); imar06 = interp(pmar06,quant(1000/length(pmar06),1)); imar07 = interp(pmar07,quant(1000/length(pmar07),1)); imar08 = interp(pmar08,quant(1000/length(pmar08),1)); imar09 = interp(pmar09,quant(1000/length(pmar09),1)); imar10 = interp(pmar10,quant(1000/length(pmar10),1)); imar11 = interp(pmar11,quant(1000/length(pmar11),1)); imar12 = interp(pmar12,quant(1000/length(pmar12),1)); l01 = quant(((length(imar01) / 50) - 0.5),1);
for i=1:50
smar(i,1) = imar01(1+(i-1)*l01);
end
l02 = quant(((length(imar02) / 50) - 0.5),1);
for i=1:50
smar(i,2) = imar02(1+(i-1)*l02);
end
l03 = quant(((length(imar03) / 50) - 0.5),1);
for i=1:50
smar(i,3) = imar03(1+(i-1)*l03);
end
l04 = quant(((length(imar04) / 50) - 0.5),1);
for i=1:50
smar(i,4) = imar04(1+(i-1)*l04);
end
l05 = quant(((length(imar05) / 50) - 0.5),1);
for i=1:50
smar(i,5) = imar05(1+(i-1)*l05);
end
l06 = quant(length(imar06)/50,1);
(9)
Lampiran - Listing Program
smar(i,6) = imar06(1+(i-1)*l06);
end
l07 = quant(length(imar07)/50,1);
for i=1:50
smar(i,7) = imar07(1+(i-1)*l07);
end
l08 = quant(length(imar08)/50,1);
for i=1:50
smar(i,8) = imar08(1+(i-1)*l08);
end
l09 = quant(((length(imar09) / 50) - 0.5),1);
for i=1:50
smar(i,9) = imar09(1+(i-1)*l09);
end
l10 = quant(((length(imar10) / 50) - 0.5),1);
for i=1:50
smar(i,10) = imar10(1+(i-1)*l10);
end
l11 = quant(length(imar11)/50,1);
for i=1:50
smar(i,11) = imar11(1+(i-1)*l11);
end
l12 = quant(length(imar12)/50,1);
for i=1:50
smar(i,12) = imar12(1+(i-1)*l12);
end
% Array of Validation Pattern
plot(cp_apr); papr01=cp_apr(4:21); papr02=cp_apr(13:29); papr03=cp_apr(29:46); papr04=cp_apr(46:64); papr05=cp_apr(70:94); papr06=cp_apr(80:98); papr07=cp_apr(100:124); papr08=cp_apr(124:153); papr09=cp_apr(153:175); papr10=cp_apr(153:200); papr11=cp_apr(175:200); papr12=cp_apr(200:220); papr13=cp_apr(220:255); papr14=cp_apr(262:279); papr15=cp_apr(278:304); papr16=cp_apr(302:314); papr17=cp_apr(310:324); papr18=cp_apr(322:335); papr19=cp_apr(335:354);
(10)
Lampiran - Listing Program papr20=cp_apr(354:388); papr21=cp_apr(388:407); papr22=cp_apr(407:429); papr23=cp_apr(429:447); papr24=cp_apr(447:460); papr25=cp_apr(478:495); papr26=cp_apr(490:512);
iapr01 = interp(papr01,quant(1000/length(papr01),1)); iapr02 = interp(papr02,quant(1000/length(papr02),1)); iapr03 = interp(papr03,quant(1000/length(papr03),1)); iapr04 = interp(papr04,quant(1000/length(papr04),1)); iapr05 = interp(papr05,quant(1000/length(papr05),1)); iapr06 = interp(papr06,quant(1000/length(papr06),1)); iapr07 = interp(papr07,quant(1000/length(papr07),1)); iapr08 = interp(papr08,quant(1000/length(papr08),1)); iapr09 = interp(papr09,quant(1000/length(papr09),1)); iapr10 = interp(papr10,quant(1000/length(papr10),1)); iapr11 = interp(papr11,quant(1000/length(papr11),1)); iapr12 = interp(papr12,quant(1000/length(papr12),1)); iapr13 = interp(papr13,quant(1000/length(papr13),1)); iapr14 = interp(papr14,quant(1000/length(papr14),1)); iapr15 = interp(papr15,quant(1000/length(papr15),1)); iapr16 = interp(papr16,quant(1000/length(papr16),1)); iapr17 = interp(papr17,quant(1000/length(papr17),1)); iapr18 = interp(papr18,quant(1000/length(papr18),1)); iapr19 = interp(papr19,quant(1000/length(papr19),1)); iapr20 = interp(papr20,quant(1000/length(papr20),1)); iapr21 = interp(papr21,quant(1000/length(papr21),1)); iapr22 = interp(papr22,quant(1000/length(papr22),1)); iapr23 = interp(papr23,quant(1000/length(papr23),1)); iapr24 = interp(papr24,quant(1000/length(papr24),1)); iapr25 = interp(papr25,quant(1000/length(papr25),1)); iapr26 = interp(papr26,quant(1000/length(papr26),1)); l01 = quant(((length(iapr01) / 50) - 0.5),1);
for i=1:50
sapr(i,1) = iapr01(1+(i-1)*l01);
end
l02 = quant(((length(iapr02) / 50) - 0.5),1);
for i=1:50
sapr(i,2) = iapr02(1+(i-1)*l02);
end
l03 = quant(((length(iapr03) / 50) - 0.5),1);
for i=1:50
sapr(i,3) = iapr03(1+(i-1)*l03);
end
l04 = quant(((length(iapr04) / 50) - 0.5),1);
for i=1:50
sapr(i,4) = iapr04(1+(i-1)*l04);
end
(11)
Lampiran - Listing Program
for i=1:50
sapr(i,5) = iapr05(1+(i-1)*l05);
end
l06 = quant(length(iapr06)/50,1);
for i=1:50
sapr(i,6) = iapr06(1+(i-1)*l06);
end
l07 = quant(length(iapr07)/50,1);
for i=1:50
sapr(i,7) = iapr07(1+(i-1)*l07);
end
l08 = quant(length(iapr08)/50,1);
for i=1:50
sapr(i,8) = iapr08(1+(i-1)*l08);
end
l09 = quant(((length(iapr09) / 50) - 0.5),1);
for i=1:50
sapr(i,9) = iapr09(1+(i-1)*l09);
end
l10 = quant(((length(iapr10) / 50) - 0.5),1);
for i=1:50
sapr(i,10) = iapr10(1+(i-1)*l10);
end
l11 = quant(length(iapr11)/50,1);
for i=1:50
sapr(i,11) = iapr11(1+(i-1)*l11);
end
l12 = quant(length(iapr12)/50,1);
for i=1:50
sapr(i,12) = iapr12(1+(i-1)*l12);
end
l13 = quant(((length(iapr13) / 50) - 0.5),1);
for i=1:50
sapr(i,13) = iapr13(1+(i-1)*l13);
end
l14 = quant(((length(iapr14) / 50) - 0.5),1);
for i=1:50
sapr(i,14) = iapr14(1+(i-1)*l14);
end
l15 = quant(((length(iapr15) / 50) - 0.5),1);
for i=1:50
sapr(i,15) = iapr15(1+(i-1)*l15);
end
(12)
Lampiran - Listing Program
for i=1:50
sapr(i,16) = iapr16(1+(i-1)*l16);
end
l17 = quant(length(iapr17)/50,1);
for i=1:50
sapr(i,17) = iapr17(1+(i-1)*l17);
end
l18 = quant(length(iapr18)/50,1);
for i=1:50
sapr(i,18) = iapr18(1+(i-1)*l18);
end
l19 = quant(((length(iapr19) / 50) - 0.5),1);
for i=1:50
sapr(i,19) = iapr19(1+(i-1)*l19);
end
l20 = quant(((length(iapr20) / 50) - 0.5),1);
for i=1:50
sapr(i,20) = iapr20(1+(i-1)*l20);
end
l21 = quant(((length(iapr21) / 50) - 0.5),1);
for i=1:50
sapr(i,21) = iapr21(1+(i-1)*l21);
end
l22 = quant(((length(iapr22) / 50) - 0.5),1);
for i=1:50
sapr(i,22) = iapr22(1+(i-1)*l22);
end
l23 = quant(((length(iapr23) / 50) - 0.5),1);
for i=1:50
sapr(i,23) = iapr23(1+(i-1)*l23);
end
l24 = quant(((length(iapr24) / 50) - 0.5),1);
for i=1:50
sapr(i,24) = iapr24(1+(i-1)*l24);
end
l25 = quant(((length(iapr25) / 50) - 0.5),1);
for i=1:50
sapr(i,25) = iapr25(1+(i-1)*l25);
end
l26 = quant(length(iapr26) / 50,1);
for i=1:50
sapr(i,26) = iapr26(1+(i-1)*l26);
end
(13)
Lampiran - Listing Program
plot(cp_may);
pmay01=cp_may(2:20); pmay02=cp_may(20:38); pmay03=cp_may(38:54); pmay04=cp_may(54:85); pmay05=cp_may(85:97); pmay06=cp_may(97:112); pmay07=cp_may(112:128); pmay08=cp_may(112:145); pmay09=cp_may(142:164); pmay10=cp_may(164:189); pmay11=cp_may(189:213); pmay12=cp_may(200:213); pmay13=cp_may(213:230); pmay14=cp_may(228:243); pmay15=cp_may(243:265); pmay16=cp_may(265:282); pmay17=cp_may(282:320); pmay18=cp_may(320:335); pmay19=cp_may(329:357); pmay20=cp_may(359:371); pmay21=cp_may(371:390); pmay22=cp_may(390:412); pmay23=cp_may(400:445); pmay24=cp_may(445:462);
imay01 = interp(pmay01,quant(1000/length(pmay01),1)); imay02 = interp(pmay02,quant(1000/length(pmay02),1)); imay03 = interp(pmay03,quant(1000/length(pmay03),1)); imay04 = interp(pmay04,quant(1000/length(pmay04),1)); imay05 = interp(pmay05,quant(1000/length(pmay05),1)); imay06 = interp(pmay06,quant(1000/length(pmay06),1)); imay07 = interp(pmay07,quant(1000/length(pmay07),1)); imay08 = interp(pmay08,quant(1000/length(pmay08),1)); imay09 = interp(pmay09,quant(1000/length(pmay09),1)); imay10 = interp(pmay10,quant(1000/length(pmay10),1)); imay11 = interp(pmay11,quant(1000/length(pmay11),1)); imay12 = interp(pmay12,quant(1000/length(pmay12),1)); imay13 = interp(pmay13,quant(1000/length(pmay13),1)); imay14 = interp(pmay14,quant(1000/length(pmay14),1)); imay15 = interp(pmay15,quant(1000/length(pmay15),1)); imay16 = interp(pmay16,quant(1000/length(pmay16),1)); imay17 = interp(pmay17,quant(1000/length(pmay17),1)); imay18 = interp(pmay18,quant(1000/length(pmay18),1)); imay19 = interp(pmay19,quant(1000/length(pmay19),1)); imay20 = interp(pmay20,quant(1000/length(pmay20),1)); imay21 = interp(pmay21,quant(1000/length(pmay21),1)); imay22 = interp(pmay22,quant(1000/length(pmay22),1)); imay23 = interp(pmay23,quant(1000/length(pmay23),1)); imay24 = interp(pmay24,quant(1000/length(pmay24),1)); l01 = quant(((length(imay01) / 50) - 0.5),1);
for i=1:50
smay(i,1) = imay01(1+(i-1)*l01);
(14)
Lampiran - Listing Program
l02 = quant(((length(imay02) / 50) - 0.5),1);
for i=1:50
smay(i,2) = imay02(1+(i-1)*l02);
end
l03 = quant(((length(imay03) / 50) - 0.5),1);
for i=1:50
smay(i,3) = imay03(1+(i-1)*l03);
end
l04 = quant(((length(imay04) / 50) - 0.5),1);
for i=1:50
smay(i,4) = imay04(1+(i-1)*l04);
end
l05 = quant(((length(imay05) / 50) - 0.5),1);
for i=1:50
smay(i,5) = imay05(1+(i-1)*l05);
end
l06 = quant(length(imay06)/50,1);
for i=1:50
smay(i,6) = imay06(1+(i-1)*l06);
end
l07 = quant(length(imay07)/50,1);
for i=1:50
smay(i,7) = imay07(1+(i-1)*l07);
end
l08 = quant(length(imay08)/50,1);
for i=1:50
smay(i,8) = imay08(1+(i-1)*l08);
end
l09 = quant(((length(imay09) / 50) - 0.5),1);
for i=1:50
smay(i,9) = imay09(1+(i-1)*l09);
end
l10 = quant(((length(imay10) / 50) - 0.5),1);
for i=1:50
smay(i,10) = imay10(1+(i-1)*l10);
end
l11 = quant(length(imay11)/50,1);
for i=1:50
smay(i,11) = imay11(1+(i-1)*l11);
end
l12 = quant(length(imay12)/50,1);
for i=1:50
smay(i,12) = imay12(1+(i-1)*l12);
(15)
Lampiran - Listing Program
l13 = quant(((length(imay13) / 50) - 0.5),1);
for i=1:50
smay(i,13) = imay13(1+(i-1)*l13);
end
l14 = quant(((length(imay14) / 50) - 0.5),1);
for i=1:50
smay(i,14) = imay14(1+(i-1)*l14);
end
l15 = quant(((length(imay15) / 50) - 0.5),1);
for i=1:50
smay(i,15) = imay15(1+(i-1)*l15);
end
l16 = quant(length(imay16)/50,1);
for i=1:50
smay(i,16) = imay16(1+(i-1)*l16);
end
l17 = quant(length(imay17)/50,1);
for i=1:50
smay(i,17) = imay17(1+(i-1)*l17);
end
l18 = quant(length(imay18)/50,1);
for i=1:50
smay(i,18) = imay18(1+(i-1)*l18);
end
l19 = quant(((length(imay19) / 50) - 0.5),1);
for i=1:50
smay(i,19) = imay19(1+(i-1)*l19);
end
l20 = quant(((length(imay20) / 50) - 0.5),1);
for i=1:50
smay(i,20) = imay20(1+(i-1)*l20);
end
l21 = quant(((length(imay21) / 50) - 0.5),1);
for i=1:50
smay(i,21) = imay21(1+(i-1)*l21);
end
l22 = quant(((length(imay22) / 50) - 0.5),1);
for i=1:50
smay(i,22) = imay22(1+(i-1)*l22);
end
l23 = quant(((length(imay23) / 50) - 0.5),1);
for i=1:50
smay(i,23) = imay23(1+(i-1)*l23);
(16)
Lampiran - Listing Program
l24 = quant(((length(imay24) / 50) - 0.5),1);
for i=1:50
smay(i,24) = imay24(1+(i-1)*l24);
end
% RSOM
rsom = network; rsom.numInputs = 1; rsom.numLayers = 1; rsom.inputConnect = 1; rsom.layerConnect = 1; rsom.outputConnect = 1; rsom.layers{1}.size = 12;
rsom.layers{1}.transferFcn = 'compet'; rsom.layers{1}.initFcn = 'initnw'; rsom.layers{1}.topologyFcn = 'randtop'; rsom.layers{1}.leakcoef = 0.4;
rsom.inputWeights{1,1}.delays = 1;
rsom.inputWeight{1,1}.weightFcn = 'dist'; rsom.inputs{1}.range = minmax(smar); rsom.initFcn = 'initlay';
rsom.trainFcn = 'trainr';
rsom.trainParam.epochs = 10000; rsom.trainParam.show = 100; rsom = init(rsom);
rsom = train(rsom,smar); % Check 1 pattern = 1 neuron
out_RSOM_vec = sim(rsom,smar); out_RSOM = vec2ind(out_RSOM_vec); % Validation target
valtgt(1,1)=3; valtgt(2,1)=11; valtgt(3,1)=8; valtgt(4,1)=12; valtgt(5,1)=11; valtgt(6,1)=9; valtgt(7,1)=2; valtgt(8,1)=1; valtgt(9,1)=1; valtgt(10,1)=4; valtgt(11,1)=11; valtgt(12,1)=12; valtgt(13,1)=6; valtgt(14,1)=4; valtgt(15,1)=9; valtgt(16,1)=7; valtgt(17,1)=10; valtgt(18,1)=3; valtgt(19,1)=5;
(17)
Lampiran - Listing Program
valtgt(20,1)=5; valtgt(21,1)=7; valtgt(22,1)=10; valtgt(23,1)=1; valtgt(24,1)=12; valtgt(25,1)=12; valtgt(26,1)=11; % Validation
out_RSOM_vec = 0; out_RSOM = 0;
out_RSOM_vec = sim(rsom,sapr); out_RSOM = vec2ind(out_RSOM_vec); val_R = sum(out_RSOM==valtgt); persen_val_R = val_R*100/26; % Simulation
simtgt(1,1)=11; simtgt(2,1)=12; simtgt(3,1)=3; simtgt(4,1)=4; simtgt(5,1)=9; simtgt(6,1)=3; simtgt(7,1)=7; simtgt(8,1)=2; simtgt(9,1)=1; simtgt(10,1)=10; simtgt(11,1)=4; simtgt(12,1)=6; simtgt(13,1)=5; simtgt(14,1)=8; simtgt(15,1)=10; simtgt(16,1)=9; simtgt(17,1)=4; simtgt(18,1)=8; simtgt(19,1)=10; simtgt(20,1)=2; simtgt(21,1)=11; simtgt(22,1)=7; simtgt(23,1)=1; simtgt(24,1)=12; out_RSOM_vec = 0; out_RSOM = 0;
out_RSOM_vec = sim(rsom,smay); out_RSOM = vec2ind(out_RSOM_vec); sim_R = sum(out_RSOM==simtgt); persen_sim_R = sim_R*100/24;
(18)
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Metoda analisa data secara statistik dapat diaplikasikan untuk mendapatkan pengertian terhadap proses-proses yang berubah dalam perjalanan waktu yang sangat kompleks untuk dimodelkan secara analitik. Data pertama-tama dikumpulkan dengan mengukur variabel-variabel. Observasi ini kemudian dianalisa dengan menerapkan metoda-metoda statistik untuk mengetahui karakter dari proses yang diobservasi.
Hasil analisa bergantung pada karakter utama dari proses dan metoda analisa yang digunakan. Pada dasarnya, semua metoda analisa dimulai dari pengumpulan data dan berakhir pada proses analisa hasil yang didapat dari model statistik.
Tujuan utama dari penelitian ini adalah untuk menerapkan metoda neural
network pada analisa data. Neural network mampu membuat model statistik yang
dapat diterapkan pada berbagai aplikasi, seperti exploratory data analysis and
visualizations hingga masalah regresi. Dalam pemodelan menggunakan neural network, tujuannya adalah untuk membangun sebuah model berdasarkan data
observasi yang memiliki pengaruh paling signifikan pada proses yang diteliti. Dalam penelitian ini, neural network akan digunakan untuk melakukan
Temporal Sequence Processing (TSP), khususnya dalam time series prediction.
Proses yang dianalisa dalam penelitian ini adalah fluktuasi nilai tukar GBP (Great
Britain Poundsterling) terhadap USD (United State Dollar). Motivasi utama
dalam penelitian kasus time series adalah untuk memprediksi masa depan dan untuk mengetahui faktor-faktor apa yang paling berpengaruh. Tujuan Tugas Akhir ini adalah untuk membangun suatu model yang dapat menangkap karakter-karakter esensial dari proses dengan menggunakan data-data historical, kemudian menggunakan model tersebut untuk memprediksi masa depan. Dalam hal ini adalah fluktuasi nilai tukar GBP terhadap USD.
(19)
2
1.2 Identifikasi Masalah
Berdasarkan latar belakang, identifikasi masalah dalam penelitian ini adalah sebagai berikut:
1. Bagaimana cara membangun suatu model input dari data-data nilai tukar GBP/USD?
2. Bagaimana membuat JST (Jaringan Syaraf Tiruan) agar dapat mengenali setiap pola temporal yang terdapat dalam fluktuasi nilai tukar GBP/USD dan memprediksi fluktuasi nilai tukar GBP/USD?
1.3 Tujuan
Berdasarkan latar belakang di atas, tujuan dari penelitian ini adalah sebagai berikut:
1. Membangun suatu model input dari data-data nilai tukar GBP/USD, kemudian menggunakan JST (RSOM) untuk mengenali setiap pola
temporal yang terdapat dalam fluktuasi nilai tukar tersebut.
2. Menggunakan JST (yang sudah di-training untuk mengenali pola-pola
temporal) untuk memprediksi fluktuasi nilai tukar GBP/USD.
1.4 Batasan Masalah
Agar penelitian ini lebih terfokus, maka digunakan batasan-batasan masalah sebagai berikut, yaitu:
1. Arsitektur JST yang digunakan adalah Recurrent Self Organizing Map. 2. Interval data nilai tukar GBP terhadap USD adalah interval data hourly. 3. Program simulasi dibuat menggunakan Matlab versi 7.
1.5 Sistematika Penulisan
Penulisan Tugas Akhir ini terdiri dari lima bab dengan susunan sebagai berikut:
(20)
3
• Bab I Pendahuluan
Pada bab ini disajikan hal-hal yang melatar-belakangi dilakukannya penelitian ini, identifikasi masalah, tujuan, dan batasan masalah serta sistematika penulisan Tugas Akhir ini.
• Bab II Landasan Teori
Berisi pengetahuan dasar mengenai foreign exchange dan materi-materi sebagai referensi dalam perancangan jaringan syaraf tiruan dari komponen jaringan syaraf tiruan, arsitektur jaringan syaraf tiruan, fungsi aktivasi hingga proses pembelajaran Recurrent Self Organizing Map (RSOM).
• Bab III Perancangan
Menjelaskan proses pemodelan data input dan target, perancangan network arsitektur, dan proses training, validasi, serta simulasi.
• Bab IV Analisa
Berisi hasil training, validasi dan simulasi, kemudian analisa hasil
training, validasi dan simulasi.
• Bab V Kesimpulan dan Saran
Bab ini memuat kesimpulan yang dapat diambil setelah melakukan penelitian Tugas Akhir ini, disertai dengan saran-saran untuk pengembangan lebih lanjut.
(21)
37
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Kesimpulan yang didapat dari penyusunan Tugas Akhir ini adalah sebagai berikut:
1. RSOM dapat mengenali pola-pola temporal yang terdapat dalam data tranning (data fluktuasi bulan Maret) dengan nilai generalisasi 73% untuk data validasi (data fluktuasi bulan April).
2. RSOM mampu mengenali pola temporal dalam fluktuasi nilai tukar GBP/USD dengan persentase kebenaran 71%.
5.2 Saran
1. Karena banyaknya motode analisa forex (misalnya metoda 123 Step, Gelombang Fibonacci, dll) dengan pola temporal masing-masing, maka sebaiknya pola-pola temporal yang digunakan untuk men-training JST sudah mencakup pola-pola tersebut.
2. Untuk memberikan validitas dan meningkatkan keakuratan pengenalan pola-pola temporal ini sebaiknya dalam algoritma ini digabungkan dengan RSI dan Moving Average.
(22)
38
DAFTAR PUSTAKA
[1] C.M. Bishop, “Neural Networks for Pattern Recognition”, Oxford University Press, NY, 1995.
[2] Kohonen, T., “Self Organization and Associative Memory, 2nd Editon”,
Springer-Verlag, Berlin, 1987.
[3] Koskela, Timo, “Neural Network Methods in Analyzing and Modeling
Time Varying Processes”, Helsinki University of Technology, Finland,
2003.
[4] Kusumadewi, Sri., “Artificial Intelegence (Teknik dan Aplikasinya)”, Graha Ilmu, 2003.
[5] M.T. Hagan, H.B. Demuth and M.H. Beale, “Neural Network Design”, PWS Publishing, Boston, MA, 1996.
[6] T. Hill, M. O’Connor and W. Remus, “Neural network models for time
series forecasts,” Management Science, vol. 42, pp 1082-1092, 1996.
[7] Zadeh L., “Applied Soft Computing – Foreword/Applied Soft Computing”, Vol. 1, 2000.
(1)
valtgt(20,1)=5; valtgt(21,1)=7; valtgt(22,1)=10; valtgt(23,1)=1; valtgt(24,1)=12; valtgt(25,1)=12; valtgt(26,1)=11; % Validation
out_RSOM_vec = 0; out_RSOM = 0;
out_RSOM_vec = sim(rsom,sapr); out_RSOM = vec2ind(out_RSOM_vec); val_R = sum(out_RSOM==valtgt); persen_val_R = val_R*100/26; % Simulation simtgt(1,1)=11; simtgt(2,1)=12; simtgt(3,1)=3; simtgt(4,1)=4; simtgt(5,1)=9; simtgt(6,1)=3; simtgt(7,1)=7; simtgt(8,1)=2; simtgt(9,1)=1; simtgt(10,1)=10; simtgt(11,1)=4; simtgt(12,1)=6; simtgt(13,1)=5; simtgt(14,1)=8; simtgt(15,1)=10; simtgt(16,1)=9; simtgt(17,1)=4; simtgt(18,1)=8; simtgt(19,1)=10; simtgt(20,1)=2; simtgt(21,1)=11; simtgt(22,1)=7; simtgt(23,1)=1; simtgt(24,1)=12;
out_RSOM_vec = 0; out_RSOM = 0;
out_RSOM_vec = sim(rsom,smay); out_RSOM = vec2ind(out_RSOM_vec); sim_R = sum(out_RSOM==simtgt); persen_sim_R = sim_R*100/24;
(2)
BAB I
PENDAHULUAN
1.1 Latar Belakang
Metoda analisa data secara statistik dapat diaplikasikan untuk mendapatkan pengertian terhadap proses-proses yang berubah dalam perjalanan waktu yang sangat kompleks untuk dimodelkan secara analitik. Data pertama-tama dikumpulkan dengan mengukur variabel-variabel. Observasi ini kemudian dianalisa dengan menerapkan metoda-metoda statistik untuk mengetahui karakter dari proses yang diobservasi.
Hasil analisa bergantung pada karakter utama dari proses dan metoda analisa yang digunakan. Pada dasarnya, semua metoda analisa dimulai dari pengumpulan data dan berakhir pada proses analisa hasil yang didapat dari model statistik.
Tujuan utama dari penelitian ini adalah untuk menerapkan metoda neural
network pada analisa data. Neural network mampu membuat model statistik yang
dapat diterapkan pada berbagai aplikasi, seperti exploratory data analysis and
visualizations hingga masalah regresi. Dalam pemodelan menggunakan neural network, tujuannya adalah untuk membangun sebuah model berdasarkan data
observasi yang memiliki pengaruh paling signifikan pada proses yang diteliti. Dalam penelitian ini, neural network akan digunakan untuk melakukan
Temporal Sequence Processing (TSP), khususnya dalam time series prediction.
Proses yang dianalisa dalam penelitian ini adalah fluktuasi nilai tukar GBP (Great
Britain Poundsterling) terhadap USD (United State Dollar). Motivasi utama
dalam penelitian kasus time series adalah untuk memprediksi masa depan dan untuk mengetahui faktor-faktor apa yang paling berpengaruh. Tujuan Tugas Akhir ini adalah untuk membangun suatu model yang dapat menangkap karakter-karakter esensial dari proses dengan menggunakan data-data historical, kemudian menggunakan model tersebut untuk memprediksi masa depan. Dalam hal ini adalah fluktuasi nilai tukar GBP terhadap USD.
(3)
1.2 Identifikasi Masalah
Berdasarkan latar belakang, identifikasi masalah dalam penelitian ini adalah sebagai berikut:
1. Bagaimana cara membangun suatu model input dari data-data nilai tukar GBP/USD?
2. Bagaimana membuat JST (Jaringan Syaraf Tiruan) agar dapat mengenali setiap pola temporal yang terdapat dalam fluktuasi nilai tukar GBP/USD dan memprediksi fluktuasi nilai tukar GBP/USD?
1.3 Tujuan
Berdasarkan latar belakang di atas, tujuan dari penelitian ini adalah sebagai berikut:
1. Membangun suatu model input dari data-data nilai tukar GBP/USD, kemudian menggunakan JST (RSOM) untuk mengenali setiap pola
temporal yang terdapat dalam fluktuasi nilai tukar tersebut.
2. Menggunakan JST (yang sudah di-training untuk mengenali pola-pola
temporal) untuk memprediksi fluktuasi nilai tukar GBP/USD.
1.4 Batasan Masalah
Agar penelitian ini lebih terfokus, maka digunakan batasan-batasan masalah sebagai berikut, yaitu:
1. Arsitektur JST yang digunakan adalah Recurrent Self Organizing Map. 2. Interval data nilai tukar GBP terhadap USD adalah interval data hourly. 3. Program simulasi dibuat menggunakan Matlab versi 7.
1.5 Sistematika Penulisan
Penulisan Tugas Akhir ini terdiri dari lima bab dengan susunan sebagai berikut:
(4)
• Bab I Pendahuluan
Pada bab ini disajikan hal-hal yang melatar-belakangi dilakukannya penelitian ini, identifikasi masalah, tujuan, dan batasan masalah serta sistematika penulisan Tugas Akhir ini.
• Bab II Landasan Teori
Berisi pengetahuan dasar mengenai foreign exchange dan materi-materi sebagai referensi dalam perancangan jaringan syaraf tiruan dari komponen jaringan syaraf tiruan, arsitektur jaringan syaraf tiruan, fungsi aktivasi hingga proses pembelajaran Recurrent Self Organizing Map (RSOM).
• Bab III Perancangan
Menjelaskan proses pemodelan data input dan target, perancangan network arsitektur, dan proses training, validasi, serta simulasi.
• Bab IV Analisa
Berisi hasil training, validasi dan simulasi, kemudian analisa hasil
training, validasi dan simulasi.
• Bab V Kesimpulan dan Saran
Bab ini memuat kesimpulan yang dapat diambil setelah melakukan penelitian Tugas Akhir ini, disertai dengan saran-saran untuk pengembangan lebih lanjut.
(5)
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Kesimpulan yang didapat dari penyusunan Tugas Akhir ini adalah sebagai berikut:
1. RSOM dapat mengenali pola-pola temporal yang terdapat dalam data tranning (data fluktuasi bulan Maret) dengan nilai generalisasi 73% untuk data validasi (data fluktuasi bulan April).
2. RSOM mampu mengenali pola temporal dalam fluktuasi nilai tukar GBP/USD dengan persentase kebenaran 71%.
5.2 Saran
1. Karena banyaknya motode analisa forex (misalnya metoda 123 Step, Gelombang Fibonacci, dll) dengan pola temporal masing-masing, maka sebaiknya pola-pola temporal yang digunakan untuk men-training JST sudah mencakup pola-pola tersebut.
2. Untuk memberikan validitas dan meningkatkan keakuratan pengenalan pola-pola temporal ini sebaiknya dalam algoritma ini digabungkan dengan RSI dan Moving Average.
(6)
DAFTAR PUSTAKA
[1] C.M. Bishop, “Neural Networks for Pattern Recognition”, Oxford University Press, NY, 1995.
[2] Kohonen, T., “Self Organization and Associative Memory, 2nd Editon”,
Springer-Verlag, Berlin, 1987.
[3] Koskela, Timo, “Neural Network Methods in Analyzing and Modeling
Time Varying Processes”, Helsinki University of Technology, Finland,
2003.
[4] Kusumadewi, Sri., “Artificial Intelegence (Teknik dan Aplikasinya)”, Graha Ilmu, 2003.
[5] M.T. Hagan, H.B. Demuth and M.H. Beale, “Neural Network Design”, PWS Publishing, Boston, MA, 1996.
[6] T. Hill, M. O’Connor and W. Remus, “Neural network models for time
series forecasts,” Management Science, vol. 42, pp 1082-1092, 1996.
[7] Zadeh L., “Applied Soft Computing – Foreword/Applied Soft Computing”, Vol. 1, 2000.