Sistem Intelijen untuk Prediksi Pertumbuhan

advertisement
6
output pada layer ini menggambarkan firing
strength dari tiap kaidah.
Layer 3 : Node pada layer ini juga merupakan
node tetap. Label N mengindikasikan node ini
melakukan normalisasi atas firing strength dari
layer sebelumnya. Output pada layer ini adalah
sebagai berikut:
O
3,i
=w=
wi
w1 + w2
i = 1,2
Layer 4 : Semua node pada layer ini bersifat
adaptif. Output node ini adalah perkalian
(product) dari firing strength yang telah
ternormalisasi dengan sebuah polinomial orde
pertama.
O4,i = wi f i = wi ( pi x + qi y + r )i i = 1,2
Layer 5 : layer ini hanya mempunyai satu node
yang diberi label S. label S ini berarti bahwa
layer ini melakukan fungsi penjumlahan
(summer) sederhana. Output pada layer ini
adalah sebagai berikut:
Oi ,5 = f = ∑ wi fi =
i
∑w f
i i
i
∑w
i = 1, 2
i
i
Pada model ANFIS ini, terdapat 2 layer adaptif
yaitu layer 1 dan 4. layer 1 memiliki 3
parameter yang dapat dimodifikasi yaitu a, b
dan c. sedangkan pada layer 4 terdapat 3
parameter yang dapat dimofikasi yaitu p, q, dan
r. Parameter-parameter ini disebut parameter
kosekuensi (consequent parameters) pada
prakteknya,
Pada prakteknya, model ANFIS sebenarnya
tidak
unik.
Beberapa
layer
dapat
dikombinasikan menjadi satu layer dan masih
menghasilkan output yang sama. Struktur
ANFIS pada gambar 3 hanyalah salah satu
model dari beberapa struktur alternative lainnya.
METODE PENELITIAN
Kerangka Pemikiran
Pertumbuhan ekonomi sangat dipengaruhi
oleh tingkat keakuratan setiap kebijakan
ekonomi yang diambil oleh pemerintah maupun
bank sentral. Pilihan antara kebijakan yang
kontraktif atau ekspansif harus disesuaikan
dengan kondisi aktual dan prediksi jangka
panjang terhadap kondisi perekonomian dimasa
depan.
Dalam mengambil kebijakannya ini, ada
kendala yang harus dipertimbangkan. Kendala
itu adalah kebijakan ekonomi memiliki dua
kelambanan (lags) yaitu kelambanan dalam
(inside lags) dan kelambanan luar (outside lags).
Kelambanan dalam adalah rentang waktu antara
terjadinya goncangan perekonomian dan saat
kebijakan itu diambil. Sedangkan kelambanan
luar adalah waktu antara tindakan kebijakan
dengan efek yang dihasilkan oleh kebijakan
tersebut terhadap perekonomian. Adanya dua
kelambanan ini menyebabkan pengambil
kebijakan harus berhati-hati dalam menentukan
perlakuan ekonomi yang dipilih.
Dengan mempertimbangan dua kelambanan
tersebut, kebijakan yang diambil tentunya harus
bersifat antisipatif terhadap kondisi ekonomi
masa depan. Oleh karena itu pengambil
kebijakan harus memiliki rujukan yang tepat
yang akan memberikan gambaran kondisi
perekonomian dimasa depan.
Dalam penelitian ini, akan digunakan JST
dan ANFIS secara terpisah sebagai metode
alternative dari berbagai metode lain yang telah
ada.
Penggunaan
JST
dengan
mempertimbangkan tiga hal (Zhang, Patuwo, &
Hu, 1998) sebagai berikut: pertama, JST
memiliki kemampuan untuk belajar dan
beradaptasi dalam mengidentifikasi hubungan
antar data. Kedua, secara umum JST dikatakan
adalah penduga fungsional universal (universal
functional approximators), maka beimplikasi
bahwa JST mampu memprediksi bentuk-bentuk
relasi fungsional dengan derajat akurasi yang
baik. Ketiga, JST bersifat non-linier dan ada
bukti yang cukup yang menunjukkan bahwa
data makroekonomi bersifat non-linier. Ini
berarti JST diharapkan mampu menunjukan
kinerja prediksi lebih baik.
Sedangkan kemampuan ANFIS untuk
melakukan peramalan data deret waktu
didasarkan atas fakta bahwa jika jumlah kaidah
tidak dibatasi, order nol model sugeno memiliki
kemampuan tidak terbatas untuk mencocokan
berbagai bentuk fungsi nonlinier (Jang, Sun, &
Mizutani 1997).
Penelitian ini terdiri dari dua tahapan.
Pertama, tahapan percobaan yang bertujuan
untuk mendapatkan hasil berupa kombinasi
terbaik dari elemen percobaan. Beberapa hasil
yang diharapkan dari percobaan ini diantaranya
adalah variabel utama yang dapat digunakan
untuk melakukan prediksi.
7
Tahapan kedua adalah pengembangan
sistem yang bertujuan melakukan implementasi
hasil percobaan. Hasil dari tahapan ini adalah
sebuah sistem yang dapat melakukan prediksi
pertumbuhan ekonomi dengan diberikan input
tertentu.
Akuisisi Pengetahuan
Dikarenakan ruang lingkup penelitian yang
melibatkan disiplin ilmu ekonomi, maka dalam
melakukan percobaan ini melakukan konsultasi
dengan pakar ekonomi. Metode akuisisi yang
dipakai adalah wawancara, diskusi makalah dan
deskripsi masalah tentang pola berpikir para ahli
dalam melakukan peramalan ekonomi. Untuk
mendapatkan pengetahuan tentang pertumbuhan
ekonomi dan aspek makroekonomi, dilakukan
konsultasi dengan Dr. Ir. Iman Sugema. Beliau
adalah dosen makroekonomi dan ahli ekonomi
moneter di Departemen Ekonomi Pembangunan
Fakultas Ekonomi dan Manajemen IPB.
Beberapa aspek ekonomi yang digali adalah
pengetahuan tentang indikator-indikator utama
ekonomi makro, hubungan antara kebijakan
fiskal dan kebijakan moneter, bagaimana
indikator makroekonomi dipengaruhi oleh
kebijakan fiskal dan kebijakan moneter.
Sedangkan aspek ekonometrik yang digali
adalah pendekatan apa saja yang digunakan
selama ini untuk memprediksi pertumbuhan
ekonomi. Pengetahuan lain yang lebih detail
tentang hal ini diperoleh dari buku-buku
referensi, jurnal, kertas-kerja, skripsi, thesis dan
referensi lainnya.
Tahapan Percobaan
Unjuk kerja dua model ini yang akan
dijadikan dasar pemilihan jaringan mana yang
akan diimplementasikan pada sistem. Adapun
proses-proses yang akan dilalui secara
keseluruhan ditampilkan pada diagram blok
berikut:
Data
Indikator
moneter
Data GDP
Sorting data
Penentuan
Aristektur JST
Propagasi Balik
Training JST
Propagasi Balik
Data testing
Indikator
moneter
JST Propagasi
Balik Terlatih
JST
Propagasi
Balik Terpilih
Data Testing
GDP
Gambar 4. Diagram blok metode penentuan
arsitektur terbaik
Gambar 5. Bagan Alir Penelitian
Secara khusus tahapan percobaan tersebut
dijelaskan sebagai berikut:
1. Penentuan jumlah variabel
Pada tahap ini akan dipilih jumlah variabel
yang akan digunakan sebagai input pada
percobaan. Pada percobaan ini akan
digunakan 2 variabel moneter. Ini berarti
2
ada
2!
∑ (i !(2 − i)!) = 3
i =1
percobaan.
kombinasi
8
2.
3.
4.
5.
Penentuan jenis MF input
Pada tahapan ini ditentukan jenis fungsi
keanggotaan input fuzzy. Pilihan yang akan
digunakan adalah triangular, gausian, bellgeneral, dan sigmoid ganda.
Penentuan jumlah neuron
Penentuan jumlah neuron dilakukan pada
arsitektur
jaringan
propagasi
balik.
Penentuan jumlah neuron secara bebas
dengan alasan tidak ada standarisasi yang
pasti mengenai jumlah neuron
dalam
pustaka. Jumlah neuron yang akan
diujicobakan adalah 100, 250, 500 dan 1000
neuron
pada
lapisan
tersembunyi.
Sedangkan jumlah neuron pada lapisan
input akan disesuaikan berdasarkan jumlah
variabel masukan. Jumlah neuron pada
lapisan output diset tetap yaitu satu neuron.
Training dan simulasi
Merupakan tahapan dimana masing-masing
kombinasi arsitektur jaringan syaraf diatas
akan
ditaining
untuk
memperoleh
kombinasi bobot dan bias yang optimal
untuk melakukan peramalan. Setelah JST
selesai ditraining, maka akan dilakukan
simulasi peramalan dengan menggunakan
data deret waktu yang dimiliki.
Pencatatan output
Pencatatan hasil percobaan akan dilakukan
pada setiap perlakuan. Hasil pencatatan ini
akan diolah dalam bentuk tabulasi dan
visualisasi grafis pada bab hasil dan
pembahasan.
Data Percobaan
Input yang akan diberikan pada sistem
adalah sejumlah data deret waktu dari beberapa
indikator moneter yaitu M1 dan M2. Indikatorindikator moneter tersebut dipilih dengan
beberapa alasan yaitu:
a. Data-data tersebut adalah data deret waktu
yang up-to-date
b. Data-data tersebut merupakan data final
dengan hampir tidak ada revisi
c. Data-data tersebut diukur dan diperoleh
dengan sedikit sekali error
Dengan
keunggulan-keunggulan
tersebut
diharapkan data yang digunakan sebagai input
adalah data yang valid.
Sebagai output percobaan, diperoleh data
pertumbuhan ekonomi yang diwakili oleh angka
pertumbuhan GDP dari tahun 1990 – 2003. data
ini tersedia dalam bentuk data quartal (4
bulanan). Data M1 diperoleh dari tahun 1990 -
maret 2004. Data M2 tersedia dari tahun 1990 –
maret 2004.
Arsitektur JST Propagasi Balik
JST propagasi balik akan disusun dengan
arsitektur sebagai berikut:
Tabel l. Arsitektur JST Propagasi Balik
Karakteristik
- Jumlah lapisan tersembunyi
- Neuron lapisan input
- Neuron lapisan tersembunyi
- Neuron lapisan Output
- Inisialisasi Bobot
-Fungsi Aktivasi Lapisan
tersembunyi
- Fungsi Aktivasi Lapisan
Output
- Laju Pembelajaran
- Jumlah Epoch
Spesifikasi
1
1, 2
100, 250, 500,
dan 1000
1
Nguyen-Widrow
Sigmoid
Purelinier
0.01
1000
Penentuan jumlah layar tersembunyi dan
jumlah unit neuron mengacu pada jumlah yang
disarankan oleh Tkacz & Saran Hu (1999) yaitu
1 lapisan tersembunyi. Jumlah neuron lapisan
input dan lapisan tersembunyi menggunakan
kata maksimum yang berarti jumlah neuron
input dan jumlah neuron tersembunyi akan
ditentukan berdasarkan kelompok perlakuan (
gambar 6) yang sedang dilakukan. Jumlah
neuron pada lapisan input akan menyesuaikan
jumlah variabel input yang digunakan.
Sedangkan jumlah neuron pada lapisan
tersembunyi telah ditentukan sebelumnya pada
rancangan percobaan.
Secara visual, maka JST propagasi balik
dengan kombinasi neuron input maksimum
dapat digambarkan sebagai berikut:
Input 1
Output
Input 2
Lapisan Input
Terdiri dari
2 Neuron
Lapisan
Tersembunyi
Terdiri dari n
Neuron
Lapisan Output
Terdiri dari 1
Neuron
Gambar 6. Arsitektur JST Propagasi Balik
9
Gambar tersebut merupakan gambar
arsitektur JST dengan jumlah neuron input 2
(maksimum) dengan n neuron tersembunyi pada
lapisan tersembunyi dan satu neuron output.
Adapun secara matematis, maka JST
tersebut dapat dimodelkan sebagai berikut:
⎛ K
⎛ J
⎞⎞
Yt = h ⎜ ∑ α k g ⎜ ∑ β jk X j ,t −1 ⎟ ⎟
⎜ k =1
⎟
⎝ j =1
⎠⎠
⎝
dengan masing –masing :
h (u) = Fungsi aktivasi pd lapisan output
g (u) = Fungsi aktivasi pd lapisan tersembunyi
αk
= Bobot pd lapisan output
β jk
= Bobot pd lapisan tersembunyi
X j ,t −1 = Input untuk periode t-1
dengan K adalah jumlah neuron tersembunyi
dan J adalah jumlah neuron input. Dengan
menggunakan algoritma pembelajaran propagasi
αk
dan
β jk
diperbaharui pada
setiap epoch-nya.
Training JST dilakukan dengan cara
menginput data deret waktu pada periode t-1
untuk mendapatkan perkiraan periode t. Output
periode t diperoleh dari model JST diatas
dengan melakukan proses panjar maju
(feedforwad) vektor input dari lapisan input ke
lapisan diatasnya sampai pada neuron output.
Kemudian hasil prediksi data periode t ( Yt )
akan dicocokan dengan target pada periode t.
Selanjutnya algoritma propagasi balik akan
bertanggungjawab menghitung nilai koreksi
bobot dan bias. Nilai itu diperoleh dengan
menghitung error dengan rumus:
Et = (tt − yt ) f '(outt )
dengan:
K
⎛ J
⎞
Outt = ∑ α k g ⎜ ∑ β jk X j ,t −1 ⎟
k =1
⎝ j =1
⎠
sedangkan besaran koreksi bobot ( α ji ) dan
bias ( ci ) untuk lapisan output masing-masing
adalah:
η = laju pembelajaran
sehingga bobot dan bias pada lapisan output
adalah:
α ij = α ij + ∆α ij dan cij = cij + ∆cij
Perubahan bobot ( β ij ) dan bias ( bj ) juga
dilakukan pada neuron lapisan tersembunyi.
Besaran koreksinya adalah:
∆β ij = η E j X ij dan ∆b j = η E j
Yt = Ouput pada periode t
balik, nilai
dengan
∆α ji = η Et Outt dan ∆ci = η Et
dengan E j adalah:
m
⎛ J
⎞
E j = ∑ ( Etα ji ) f ' ⎜ ∑ β jk X j ,t −1 ⎟
i =1
⎝ j =1
⎠
sama seperti lapisan output,maka bobot ( β ij )
dan bias ( bij ) lapisan tersembunyi diperbaharui
sebesar:
βij = βij + ∆βij
dan bij = bij + ∆bij
perubahan nilai ini berlangsung terus-menerus
sampai tidak terjadi lagi perubahan bobot atau
jumlah maksimum epoch telah terlewati.
Dengan rangkaian set data training yang
disediakan, diharapakan bobot dan bias
mengalami penyesuaian sehingga menjadi suatu
model yang jika kemudian kita berikan input
periode t maka akan menghasilkan output
periode t+1. Output periode t+1 adalah sebuah
nilai ramalan yang didasarkan atas perhitungan
terhadap input, kombinasi bobot dan bias yang
telah dilatih.
2. Arsitektur ANFIS
Arsitektur ANFIS yang digunakan adalah
sebagai berikut:
Tabel 2. Arsitektur ANFIS
Karakteristik
Fungsi Keanggotaan Input
Fungsi Output
Algoritma Training
Spesifikasi
trimf, gaussmf,
gbellmf,dsigmf
Constant
Hybrid
Jumlah fungsi keanggotaan
Initial step size
Metode Generate FIS
Jumlah epoch
Tolerasi error
2
0.01
Grid Partition
1000
0
10
Penentuan fungsi keanggotaan pada percobaan
ini didasarkan pada serangkain percobaan yang
melibatkan
lebih
banyak
tipe
fungsi
keanggotaan lain. Dari percobaan tersebut,
fungsi triangular, simetrik Gauss, sigmoidal, dan
Generalized bell secara rata-rata menghasilkan
tingkat akurasi prediksi yang lebih baik.
Masing-masing fungsi keanggotaan memiliki
parameter yang akan diupdate dengan
menggunakan algoritma training hybrid.
Trimf:
Gambar 9. Fungsi dan bentuk Generallizedshaped
Dsigmf:
Gambar 7. Fungsi dan bentuk triangular-shaped
Gaussmf:
Gambar 10. Fungsi dan bentuk double-sigmoid
-shaped
Pengembangan Sistem
Pengembangan Sistem ini dilakukan dengan
mengikuti tahapan pengembangan sistem model
waterfall (sommerville, 1996) bagan alir
pengembangan sistem dapat dilihat pada gambar
berikut.
Gambar 8. Fungsi dan bentuk simetric Gauss shaped
Gbellmf:
Gambar 11. Bagan Alir Pengembangan Sistem.
Adapun tahapan-tahapan yang terdapat
didalamnya adalah:
11
1.
Analisis Kebutuhan Sistem
Kebutuhan yang terkait dalam sistem yang
dikembangkan perlu diidentifikasi dengan
seksama. Dengan adanya analisis kebutuhan ini
akan diketahui harapan pengguna akan sistem
yang dikembangkan. Harapan ini meliputi
beberapa aspek diantaranya karakteristik
pengguna,
antarmuka
(interface)
serta
spesifikasi perangkat keras yang tersedian.
Selain itu, tahapan analisis kebutuhan akan
mendefinisikan dengan tepat kebutuhan aktual
pengguna. Beberapa aspek penting yang akan
diperhatikan adalah tingkat akurasi sistem serta
kemudahan bagi pengguna untuk memanfaatkan
sistem. Pada tahap ini ditentukan tujuan
pengembangan sistem, spesifikasi pengguna,
dan kebutuhan pengguna, serta spesifikasi
fungsi dari sistem dengan mempertimbangkan
berbagai faktor strategis seperti ketersediaan
sumberdaya, waktu, dana dan faktor pembatas
lainnya.
2.
Perancangan Sistem
Setelah didefinisikan kebutuhan sistem,
maka tahap selanjutnya adalah perancangan
sistem. Pada tahap ini, akan dirancang sistem
yang nantinya diimplementasikan. Salah satu
hal yang penting dalam tahap perancangan
adalah menentukan platform tekhnologi yang
tepat yang akan digunakan dalam tahapan
implementasi.
Paltform
tekhnologi
ini
mencakup pilihan perangkat keras serta bahasa
pemrograman yang akan digunakan.
Rancangan sistem didefinisikan sebagai
proses dimana kebutuhan sistem telah
didefinisikan pada tahap analisis kebutuhan lalu
diterjemahkan kedalam model presentasi
perangkat lunak. Tujuan dari desain sistem
adalah agar diperoleh gambaran mengenai
sistem yang nantinya akan dibuat. Desain sistem
dapat dibagi tiga yaitu rancangan input,
rancangan proses, dan rancangan output.
Desain input dibuat sesuai dengan
kebutuhan pengguna serta mempertimbangkan
aspek kemudahan bagi pengguna. Proses input
berfungsi untuk memasukkan data yang akan
digunakan dalam proses prediksi pertumbuhan
ekonomi. Input yang akan diberikan pada sistem
adalah sejumlah data deret waktu berupa data
variabel moneter. Variabel ini telah ditentukan
sebelumnya.
Proses
prediksi
dirancang
untuk
menjalankan urutan-urutan proses. Rangkaian
proses ini harus menjamin mampu memberikan
nilai keluaran yang tepat. Desain proses dibuat
dengan menentukan urutan kejadian sampai
diperolehnya
output
yang
diinginkan
berdasarkan data-data masukan.
Desain output dirancang agar pengguna
dapat dengan mudah memahami dan
memperoleh keluaran dari sistem. Output
Sistem berupa angka predikasi pertumbuhan
ekonomi dalam skala waktu tertentu.
3.
Implementasi Sistem
Pada tahapan ini sistem yang telah
dirancang akan diimplementasikan dengan
spesifikasi yang
telah ditentukan. Tingkat
kesulitan pengimplementasian sistem akan
bergantung pada batasan sistem yang telah
ditentukan sebelumnya.
Integrasi modul-modul program juga
dilakukan pada tahap ini sehingga diperoleh
sebuah sistem yang mampu menghasilkan
output final. Pada tahapan ini juga ditentukan
metode pengujian yang akan digunakan pada
saat pengujian.
4.
Pengujian Sistem
Tujuan dari tahapan ini adalah mengetahui
apakah masih terdapat kesalahan pada sistem.
Kesalahan ini baik berupa kesalahan bahasa (
syntax error) maupun kesalahan logika (logic
error).
Pada sistem ini juga akan dilakukan uji
kinerja. Uji kinerja akan dilakukan dengan
membandingkan output sistem terhadap nilai
data
sebenarnya.
Selain
itu,
dengan
menggunakan metode pembanding yang sudah
ditentukan, akan diuji performance dari sistem.
Ini berkaitan dengan tujuan penelitian yang
ingin mengetahui tingkat keakuratan sistem
menggunakan JST dibandingkan dengan
pendekatan lain.
RANCANG BANGUN SISTEM
Kebutuhan Sistem
1. Tujuan pengembangan sistem
Tujuan pengembangan sistem adalah
menyediakan antarmuka yang memudahkan
pengguna untuk melakukan perhitungan guna
mendapatkan perkiraan pertumbuhan ekonomi
berdasarkan data deret waktu beberapa indikator
ekonomi. Pendekatan yang dipakai pada sistem,
yaitu menggunakan jaringan syaraf tiruan,
Download