• Tidak ada hasil yang ditemukan

HASIL DAN PEMBAHASAN

4.1 Analisis Data dengan Menggunakan Model Neuro-GARCH

4.1.2 Peramalan Data dengan Menggunakan Model Backpropagation

Perancangan model peramalan IHSG dengan metode jaringan saraf tiruan model Backpropagation terdiri dari langkah-langkah sebagai berikut:

Model jaringan yang dibangun menggunakan hasil peramalan yang telah diperoleh dari model GARCH dengan software Matlab 7.0.

2. Menentukan fungsi aktivasi

Fungsi tansig, sigmoid biner (log sigmoid), dan purelin masing-masing digunakan sebagai fungsi aktivasi pada lapisan tersembunyi pertama, lapisan tersembunyi pertama dan keluaran.

3. Transformasi Data

Data ditransformasi linear pada selang [0,1.0,9]. Oleh karena itu keluaran yang dihasilkan jaringan akan berada pada nilai 0 sampai 1. Untuk mendapatkan nilai sebenarnya dari keluaran perlu dilakukan proses detransformasi linear.

4. Pembagian Data

Data hasil peramalan dengan model GARCH dibagi menjadi 70% data pelatihan dan 30% data pengujian. Terdapat 283 data harian dari Januari 2103-Februari 2014, sehingga data pelatihan 70% dari 283 = 198,1 hari, digenapkan menjadi 198 hari (198 data) dan 30% sisanya = 84,9 hari digenapkan menjadi 85 hari (85 data) adalah data pengujian (Lampiran 4 dan Lampiran 5).

5. Perancangan arsitektur jaringan yang optimum

Peramalan IHSG ditentukan oleh nilai dan hasil peramalan model GARCH dengan dan menjadi input dan menjadi target. Arsitektur jaringan dibentuk dari 2 input, lapisan tersembunyi pertama dengan 10 neuron, lapisan tersembunyi kedua dengan 5 neuron dan 1 keluaran.

6. Penentuan koefisien laju pemahaman dan momentum

Dari percobaan trial and error koefisien laju pemahaman dan momentum masing-masing bernilai 0,1 dan 0,2 karena menghasilkan MSE terkecil.

7. Pemilihan arsitektur jaringan yang optimum siap digunakan pada peramalan

Pengolahan data Indeks Harga Saham Gabungan dengan metode backpropagation jaringan saraf tiruan dengan software Matlab 7.0 dapat diperlihatkan sebagai berikut:

1. Masukan data input dan target: >> Data=[…]; >> P=Data(:,1:4)'; >> T=Data(:,5)'; 2. Preprocessing: >> [pn,meanp,stdp,tn,meant,stdt]=prestd(P,T); 3. Membangun jaringan

Kemudian dibangun jaringan saraf dengan metode pembelajaran gradient descent dengan momentum (traingdm):

>> net=newff(minmax(pn),[10 5 1],{'tansig','logsig','purelin'},'traingdm');

4. Set bobot awal secara acak

Inisialisasi bobot awal dilakukan dengan bilangan acak dan dilakukan sampai menghasilkan MSE paling kecil (MSE ≥ 0). Dalam penelitian ini bobot yang sudah didapatkan sehingga menghasilkan MSE terkecil mendekati 0 adalah sebagai berikut:

Bobot awal lapisan input ke lapisan tersembunyi pertama: >> net.IW{1,1}=[…];

Bobot bias awal lapisan input ke lapisan tersembunyi pertama: >> net.b{1,1}=[…];

Bobot awal lapisan tersembunyi pertama ke lapisan tersembunyi kedua: >> net.LW{2,1}=[…];

Bobot bias awal lapisan tersembunyi pertama ke lapisan tersembunyi kedua:

>> net.b{2,1}=[…];

Bobot awal tersembunyi kedua lapisan output: >> net.LW{3,2}=[…];

Bobot bias awal tersembunyi kedua ke lapisan output: >> net.b{3,1}=[…];

5. Sebelum dilakukan pelatihan, ditetapkan terlebih dahulu parameter parameter yang digunakan sebagai berikut:

>> net.trainParam.epochs = 5000; >> net.trainParam.goal = 0.05; >> net.trainParam.lr =0.1; >> net.trainParam.show = 200; >> net.trainParam.mc = 0.2;

6. Kemudian dilakukan proses: >> net=train(net,pn,tn);pause

Gambar 4.3. Hasil pelatihan sampai 5000 epoch (iterasi)

Pada Gambar 4.3. terlihat bahwa performance jaringan telah goal (berhenti saat nilai MSE terkecil jaringan lebih kecil dari batas nilai goalnya) dimana 0,00498846 < 0,05dan berhenti pada epoh ke-259.

8. Untuk melihat bobot akhir: >> BobotAkhir_Input = net.IW{1,1} >> BobotAkhir_Bias_Input=net.b{1,1} >> BobotAkhir_Lapisan1=net.LW{2,1} >> BoobotAkhir_Bias_Lapisan1=net.b{2,1} >> BobotAkhir_Lapisan2=net.LW{3,2} >> BobotAkhir_Bias_Lapisan2=net.b{3,1}

9. Melakukan simulasi dan pengujian dilakukan terhadap data-data yang ikut dilatih:

>> a=poststd(an,meant,stdt); >> H = [(1:size(P,2))' T' a' (T'-a')];

>> sprintf('%2d %9.2f %7.2f %5.2f\n',H')

10.Evaluasi output jaringan (data pelatihan dengan target)

Output jaringan dan target dianalisis dengan regresi linier menggunakan postreg:

>> [m1,a1,r1]=postreg(a,T)

Menghasilkan:

Gradient garis terbaik (m1):

m1 = 0,8799

Konstanta:

a1 = 0,1768

Persamaan garis untuk kecocokan terbaik : 0,8799T + 0,1768 Koefisien korelasi:

r1 = 0,9777

Koefisien korelasi bernilai 0,9777 (mendekati 1), menunjukkan hasil yang baik untuk kecocokan output jaringan dengan target (Gambar 4.4).

Gambar 4.4. Hubungan antara target dengan output jaringan untuk data pelatihan

Untuk melihat perbandingan antara target dengan output jaringan: >> pause

>> plot([1:size(P,2)]',T,'bo',[1:size(P,2)]',a','r*');

>> title('Hasil Pengujian Dengan Data Pelatihan: Target(o), Output(*)'); >> xlabel('Data Ke-');ylabel('Target/Output');pause

Selanjutnya perbandingan anatara target dengan output jaringan pada Gambar 4.5. Pada gambar tersebut, output jaringan (*) dan target (o) sebagian besar sudah berdekatan (hampir semuanya menempati posisi yang sama). Hasil terbaik terjadi apabila posisi target (o) dan output (*) betul-betul berada pada posisi yang sama.

Gambar 4.5. Perbandingan antara target dengan output jaringan untuk data pelatihan

Selanjutnya pengujian akan dilakukan terhadap data-data yang tidak ikut dilatih (data pengujian sebanyak 85 data, Lampiran 5). Misalnya data cek disimpan pada matriks Q untuk input data dan , serta matriks TQ untuk target yakni data .

11.Input baru Q akan di tes, dengan target PQ: >> Cek=[…];

>> Q=Cek(:,1:4)'; >> TQ=Cek(:,5)';

12.Normalisasi input baru

Sebelumnya dilakukan normalisasi terlebih dahulu dengan trastd, hasil simulasi didenormalisasi dengan poststd:

>> Qn = trastd (Q,meanp,stdp); >> bn = sim (net,Qn);

>> L=[(1:size(Q,2))' TQ' b' (TQ'-b')]; >> sprintf('%2d %11.2f %9.2f % 7.2f\n',L')

menghasilkan output ramalan selama dua bulan ke depan periode Januari sampai Februari 2014 yang masih berbentuk yang kemudian untuk menghasilkan data asli harus ditransformasi dengan menggunakan rumus:

Dari data pengujian ini telah diperoleh peramalan (nilai output data) selama dua bulan kedepan (Lampiran 6). Untuk melihat error yang terjadi antara data aktual dan hasil peramalan dilakukan perhitungan MAPE (Lampiran 9) sedangkan hubungan antara target dengan output jaringan untuk data pengujian dapat dilihat pada Gambar 4.6. berikut ini:

Gambar 4.6. Hubungan antara target dengan output jaringan untuk data pengujian

Pada Gambar 4.6. terlihat bahwa hasil pengujian yang dilakukan berdasarkan semua input data dan bentuk jaringan pada proses pelatihan. Untuk melihat perbandingan antara target dengan output jaringan dapat dilihat pada Gambar 4.7. berikut ini:

Gambar 4.7. Perbandingan antara target dengan output jaringan untuk data pengujian

Gambar 4.7. memperlihatkan bahwa output (o) dan target (*) mirip dalam penyebaran datanya. Hampir semua output dan target benar-benar berada pada posisi yang sama, hanya beberapa yang tidak. Dengan demikian peramalannya bisa digunakan.

Dokumen terkait