APLIKASI PREDIKSI HARGA SAHAM MENGGUNAKAN JARINGAN

advertisement
APLIKASI PREDIKSI HARGA SAHAM MENGGUNAKAN JARINGAN SYARAF RADIAL
BASIS FUNCTION DENGAN METODE PEMBELAJARAN HYBRID
Ferry Tan, Giovani Gracianti, Susanti, Steven, Samuel Lukas
Jurusan Teknik Informatika, Fakultas Ilmu Komputer
Universitas Pelita Harapan
UPH Tower, Lippo Karawaci, Tangerang 15811, Indonesia
Telp.: +6221-5460901, e-mail: [email protected]
Abstract
Prediction of stock price is an activity of
analysing historical stock exchange data. This
paper discusses one method in predicting the
stock price by artificial Neural Network based on
Radical Basis Function. Dailly data of one
dummy stock exchange prior one month before
the time of prediction being done is inputed.
These data will be normalized first before be
trained by the RBF network. There are five
parameter data be inputed into the system. The
inputs are opening price, highest price, lowest
price, closing price, and the volume of that stock
exhange. The system will produce one output that
is prediction of stock price at the next day. The
result of this paper can be concluded that ANN
RBF is able to predict stock price. Eventhough it
is not as good as its ability in interpolation.
Keywords: artificial neural network radial basis
function, hybrid.
unsupervised dan supervised learning. Melalui
pembelajaran hybrid tersebut, jaringan akan
dilatih untuk pada akhirnya menentukan bobot
(weight) antar koneksi.
Selain algoritma yang digunakan, pemilihan
input dan output juga adalah hal yang penting
untuk kesuksesan prediksi saham. Pada makalah
ini, data input yang dipilih adalah harga
pembukaan, harga tertinggi, harga terendah, harga
penutupan, dan jumlah saham pada satu hari yang
sama sedangkan ouput merupakan sebuah
prediksi dari harga penutupan di hari selanjutnya.
Pengujian hasil prediksi yang akurat dapat dilihat
dari perbandingan hasil prediksi dengan nilai
saham aktualnya di hari esoknya.
Program ini dibangun dengan bahasa
pemrograman Java, dikarenakan memiliki
beberapa library yang dibutuhkan dan dapat
dijalankan di beberapa sistem operasi komputer.
Paper ini diharapkan dapat menjadi pembahasan
untuk penerapan jaringan syaraf RBF dengan
metode pembelajaran hybrid pada prediksi harga
saham.
1. PENDAHULUAN
2. METODE
Kemajuan teknologi jaringan syaraf buatan,
memungkinkan komputer untuk dapat melakukan
prediksi dari data yang telah diketahui. Makalah
ini akan mengulas salah satu penerapan teknologi
ini yaitu kasus prediksi harga saham. Prediksi
harga saham akan sangat bermanfaat bagi
investor dalam mengambil keputusan dengan
melihat bagaimana prospek investasi saham
sebuah perusahaan di masa yang akan datang.
Program ini akan mengaplikasikan tipe
jaringan syaraf buatan Radial Basis Function
(RBF) dalam memprediksi harga saham. Metode
ini berbeda dari pendekatan Multi Layer
Perceptron (MLP) yang lebih sering digunakan.
Jaringan RBF menggunakan kalkulasi yang lebih
mudah sehingga metode ini diharapkan dapat
belajar lebih cepat dibandingkan jaringan MLP.
Algoritma yang akan digunakan adalah metode
hybrid yang merupakan kombinasi algoritma
Saham adalah tanda penyertaan atau
kepemilikan seseorang atau badan dalam suatu
perusahaan atau perusahaan terbatas. Wujud
saham berupa selembar kertas yang menerangkan
siapa pemiliknya.
Prediksi harga saham merupakan proses
menganalisa dan menentukan harga suatu saham
di masa mendatang. Dalam menganalisis atau
memilih saham ada dua pendekatan dasar, yaitu
analisis fundamental dan analisis teknikal.
Analisis teknikal mengamati perubahan harga
saham di masa lalu sedangkan pendekatan
fundamental
menyertakan
factor-faktor
fundamental yang mungkin mempengaruhi harga
saham. Pemikiran yang mendasari analisis
teknikal adalah bahwa pola harga saham
mencerminkan informasi yang relevan. Ia
mempunyai pola tertentu, dan pola tersebut
berulang.
Aplikasi Prediksi Harga … (F. Tan, G. Gracianti, Susanti, Steven, S. Lukas)
175
Jaringan syaraf tiruan sebagai produk
teknologi ilmu komputer yang dengan baik dapat
diterapkan pada berbagai bidang peramalan
(forecasting) [1,2]. Secara umum peramalan yang
dapat dilakukan oleh jaringan syaraf tiruan adalah
peramalan runtut waktu (time series) sebagai
input, sedangkan target dari output yang
diinginkan pada proses pelatihan adalah data
periode lalu yang akan diramal. Data tersebut
digunakan untuk menentukan bobot yang optimal.
Setelah bobot optimal didapatkan dari proses
pelatihan, bobot-bobot tersebut digunakan untuk
menentukan nilai prediksi selanjutnya.
Secara
umum
ada
dua
algoritma
pembelajaran JST, yaitu pembelajaran terawasi,
(supervised) dan tak terawasi (unsupervised) [1,2].
Pada proses pembelajaran terawasi, JST dilatih
dengan cara diberikan data pelatihan yang terdiri
atas pasangan input-output yang diharapkan.
Proses pelatihan diawasi dengan memperhatikan
pergerakan error. Pelatihan bisa dilanjutkan atau
dihentikan ditentukan dengan apakah error makin
membaik atau jusru sebaliknya, semakin besar.
Proses pembelajaran tak terawasi tidak
menggunakan data target (tanpa target). Data
pelatihan hanya terdiri dari data masukan saja.
Perbedaan utama antara jaringan Multi Layer
Perceptron (MLP) dan Radial Basis Function
(RBF) ada empat bagian [2,3]. Pertama adalah
pada hubungan antara input layer dan hidden
layer yang tidak diberi bobot. Kedua, fungsi
aktivasi pada hidden layer node yang radial
simetri. Ketiga, RBF hanya menggunakan satu
hidden layer berbeda dengan MLP yang dapat
lebih dari satu hidden layer sehingga metode RBF
diharapkan dapat belajar lebih cepat dibandingkan
jaringan MLP. Keunikan lain dari RBF juga
terdapat pada transformasi yang digunakan yaitu
dari input layer ke hidden layer, sifatnya
nonlinier, sedangkan dari hidden layer ke ouput
layer sifatnya linear. Fungsi aktivasi RBF pada
hidden layer digunakan sebuah fungsi aktivasi
yang berbasis radial, misalnya fungsi Gaussian.
Hal khusus lain adalah sifat jaringan RBF ialah
feed-forward.
Seperti halnya jaringan syaraf tiruan yang lain,
RBF juga memiliki topologi jaringan. Topologi
milik RBF terdiri atas unit lapisan masukan
(input), unit lapisan tersembunyi (hidden), dan
unit lapisan keluaran (output). Gambar 1
menunjukkan skema dari jaringan RBF dengan t
node input, j node hidden dan satu output node.
RBF memiliki algoritma pelatihan yang unik
yang disebut metode hybrid. Nama metode ini
menggambarkan kegiatan pembelajaran yang
terjadi yaitu, cara supervised dan unsupervised
yang dipakai bersamaan.
Pada tahap pembelajaran pertama yang tidak
terawasi, terjadi pada input layer ke hidden layer.
Data dikelompokkan berdasarkan kedekatan antar
vektor masukan. Penentuan kelompok dengan
sendirinya akan menghasilkan pusat, center, dari
kelompok data. Jumlah kelompok menentukan
jumlah hidden node yang dipakai. Dalam
menentukan pusat kelompok, ada dua cara yang
bisa dipakai. Cara yang mudah ialah menentukan
center secara acak dari kelompok data. Cara yang
lebih sulit, tetapi lebih baik ialah dengan
menggunakan
algoritma
pengelompokan,
clustering. Algoritma yang paling umum ialah
algoritma K-means clustering. Dengan algoritma
tersebut, jaringan syaraf tiruan mampu mencari
sendiri center yang terbaik bagi data.
Gambar 1. Skema radial basis function
176
Jurnal Ilmiah Ilmu Komputer, Vol. 8 No. 2 Maret 2012: 175-181
Tahap pembelajaran kedua yang terawasi
terjadi antara hidden layer ke output layer. Pada
tahap pembelajaran ini, serangkaian perhitungan
diperlukan untuk memperbaharui setiap bobot
koneksi. Pada tahap ini juga, dibutuhkan data
training beserta targetnya. Jaringan syaraf tiruan
menyimpan
pengetahuannya
pada
bobot
interkoneksi antar node.
3. DISKUSI
Parameter dari JST RBF terdiri dari center
dan penyebaran
dari fungsi basis pada
setiap node di hidden layer dan bobot
dari
node di hidden layer ke node output layer. Center
RBF juga menjadi titik pada ruang input. Hal ini
akan menjadi ideal bila setiap titik yang berada
pada ruang input berbeda, namun pada realitas
hanya sedikit titik-titik input yang dipilih
menggunakan suatu proses yang disebut
clustering.
Tahap pelatihan dibagi menjadi dua, yaitu
penentuan pusat dengan unsupervised learning
dan penentuan bobot dengan supervised learning.
Center hasil unsupervised learning akan
digunakan untuk menghitung nilai keluaran dari
adalah nilai
setiap node di hidden layer. Jika
keluran node ke-j pada layer hidden atas suatu
input vector , dinyatakan dengan:
(1)
dimana
adalah jarak antara titik yang
menyatakan input , dan pusat hidden node ke-j
sebagaimana diukur oleh beberapa norm (fungsi
mutlak). Norm yang digunakan adalah Euclidean
norm.
Algoritma dalam menentukan pusat yang
digunakan adalah k-means clustering algorithm.
Algoritma ini terdiri dari beberapa tahapan [3],
yaitu:
1) Inisialisasi acak nilai center
dengan
input sebagai acuan.
2) Ambil nilai j dimana
menghasilkan
nilai terkecil.
dengan perumusan
3) Update nilai
dimana
adalah
learning rate.
4) Ulangi langkah 2 dan 3 untuk satu epoch.
5) Ulangi langkah 4 sampai hasilnya konvergen.
Konvergensi dari center dapat dilakukan
dengan tahapan sebagai berikut:
1) Simpan nilai
yang di-update pada tahap
ketiga
2) Bandingkan dengan nilai pada posisi yang
sama untuk epoch berikutnya.
3) Ulangi langkah a dan b sampai semua nilai
yang dibandingkan adalah sama.
Parameter pada hidden layer yang telah
didapatkan sebelumnya
digunakan untuk
menghitung bobot koneksi,
dari node ke-j
pada hidden layer ke node ke-k pada output layer.
Jika
merupakan bobot untuk node output atau
biasa disebut bias maka:

L

ok x    j x Wkj   k
(2)
j 1
Jika dipilih
 k   0 0 W k 0 , W k 0  1

L

ok x    j x Wkj
(3)
j 0
,
dan
masing-masing adalah
dimana
representasi matrix dari
dan
.
Karena tidak selalu berbentuk square matrix,
maka digunakan pseudoinverse [4]:
(4)
dimana
(5)
Untuk kasus dimana
tidak mempunyai
inverse digunakan pendekatan singular value
decomposition. Menurut pendekatan ini, untuk
matrix
yang berdimensi
dapat
dituliskan sebagai
, dimana
adalah matrix ortogonal berdimensi
,
adalah matrix pseudodiagonal berdimensi
dan
adalah matrix ortogonal berdimensi
. Lalu dengan Moore-Penrose generalized
inverse, pseudoinverse
, yaitu
, dapat
dituliskan
dimana
adalah
matrix berdimensi
dengan tiap elemennya
bernilai sama dengan tiap elemen yang diberi
Aplikasi Prediksi Harga … (F. Tan, G. Gracianti, Susanti, Steven, S. Lukas)
177
pangkat
. Lalu digunakan rumus
untuk menghitung nilai bobotnya. Nilai bobot
inilah yang akan menghasilkan output seperti
yang diharapkan berdasarkan pola yang sudah ada
dari training data.
Setelah bobot dan bias terbaik pada tahap
pelatihan didapat, maka nilai-nilai tersebut
digunakan untuk mengolah data input untuk
menghasilkan output yang sesuai. Hal ini
digunakan untuk menguji performa dari jaringan
syaraf yang kita bangun untuk prediksi pola data
[2]. Bagan arus perancangan diperlihatkan pada
gambar 2.
Langkah-langkah pada program ini secara
berurutan yaitu, perancangan arsitektur dan
parameter JST, input data untuk tahap pelatihan,
dan tahap pengujian menghasilkan output.
Flowchart dari program untuk input data
pelatihan baru yang dilanjutkan dengan tahap
pengujian dapat dilihat pada gambar 2.
Aplikasi JST merujuk pada prediksi harga
saham. Data uji coba sistem ini dilakukan dengan
mendapat satu data saham aktif dari Bursa Efek
Indonesia(BEI). Sejumlah data yaitu harga
pembukaan, harga tertinggi, harga terendah, harga
penutupan, dan jumlah saham pada satu hari yang
sama sebagai input.
Harga penutupan juga
diambil sebagai ouput yang diharapkan. Data
pelatihan tersebut telah diatur sedemikian rupa
agar sesuai dengan aplikasinya. Data ini ditujukan
baik untuk tahap pelatihan maupun tahap
pengujian.
Gambar 2. Alur tahap perancangan
178
Jurnal Ilmiah Ilmu Komputer, Vol. 8 No. 2 Maret 2012: 175-181
Gambar 3. Tampilan form perancangan
Data ditransformasi ke dalam kisaran 0 dan 1.
Proses ini disebut normalisasi. Ada beberapa cara
untuk normalisasi, namun pada uji coba ini
perhitungan yang digunakan adalah nilai
minimum dan maksimum dari data, maka
transformasi menjadi:
(6)
merupakan data asli, sedangkan merupakan
data normalisasi. Data harga saham uang
digunakan selalu nol atau positif, dan dapat
diketahui nilai maksimum dari kumpulan data
tersebut, maka diatur
sehingga
persamaan di atas dapat disederhanakan menjadi:
(7)
Pengujian program dilakukan pada setiap
tahapan. Pengujian dilakukan dengan data uji
coba serta ketentuan yang disesuaikan dengan
tujuan yang mengarah pada aplikasi prediksi
harga saham.
Form perancangan merupakan interface
pertama pada program. User dapat merancang
arsitektur jaringan syaraf dengan menentukan
beberapa parameter JST untuk pelatihan dan
pengujian. Variabel yang diisi user adalah jumlah
input node, hidden node, dan output node.
Arsitektur JST akan digambarkan seperti pada
gambar 3, sesaat setelah variabel-variabel
dikonfirmasi oleh user.
Form pelatihan digunakan untuk melatihkan
pola-pola data yang ada. Form ini menampilkan
kembali parameter dan arsitektur JST yang
dirancang sebelumnya dan menambahkan
variabel yang harus ditentukan user yaitu
learning rate. Selain itu, user dapat mengambil
data pelatihan dalam bentuk text document (.txt).
Selanjutnya, tombol process digunakan untuk
memulai pelatihan.
Setelah data diproses, program akan
menampilkan hasil dari pelatihan seperti pada
gambar 4. Hasil dari pelatihan adalah banyaknya
iterasi yang dilakukan, nilai center, nilai gauss,
bobot (weight), prediksi output serta error yang
merupakan selisih dari prediksi output dan output
aktual. Grafik yang disajikan pada form ini adalah
Aplikasi Prediksi Harga … (F. Tan, G. Gracianti, Susanti, Steven, S. Lukas)
179
grafik nilai prediksi dan grafik nilai aktual-nya.
Dengan grafik ini, user dapat melihat hasil
pelatihan secara visual. Kemudian, user dapat
menyimpan hasil proses pelatihan tersebut untuk
memprediksi data lainnya.
Form pengujian digunakan untuk melakukan
pengujian keakuratan sistem dalam memprediksi
pola data yang tidak dilatihkan. Secara tampilan,
form ini tidak memiliki banyak perbedaan dengan
form pelatihan, gambar 5. Informasi baru yang
tersaji hanyalah nilai prediksi dan error yang
dihitung dengan pengambilan data hasil pelatihan.
Seperti pada form pelatihan, form pengujian juga
menampilkan grafik yang menunjukkan hasil
prediksi sistem dan data aktual.
Gambar 4. Tampilan form pelatihan
Gambar 5. Tampilan form pengujian
180
Jurnal Ilmiah Ilmu Komputer, Vol. 8 No. 2 Maret 2012: 175-181
Beberapa hal yang mempengaruhi tahap
pelatihan:
1) Hidden node berpengaruh pada banyaknya
iterasi dan tingginya error. Semakin banyak
jumlah hidden node, semakin sedikit iterasi
yang dilakukan untuk mencapai konvergensi
dan semakin kecil error yang dihasilkan.
2) Gaussian variance berpengaruh pada error
jika jumlah data yang dilatih cukup besar.
Pengaruh
Gaussian
variance
bukan
diakibatkan oleh nilai yang lebih tinggi atau
rendah, namun pada nilai di tiap node yang
tidak boleh sepenuhnya sama. Jika nilai
Gaussian variance adalah sama untuk setiap
node, maka error tinggi. Jika dibuat random¸
nilai error akan menjadi kecil. Secara intuisi,
acak atau tidaknya nilai Gaussian variance
seharusnya tidak berpengaruh apapun pada
error di RBF karena hasil perhitungan dengan
Gaussian function akan di atur oleh
supervised learning.
3) Learning rate berpengaruh pada kecepatan
JST dalam proses pembelajaran. Semakin
besar learning rate, maka JST semakin cepat
belajar. Sebaliknya, semakin kecil learning
rate, maka JST semakin lambat belajar.
4) Perbedaan waktu dari data latihan dan data
pengujian mempengaruhi tingkat akurasi RBF.
Jika RBF dilatih dengan data tahun 2009
namun digunakan untuk memprediksi data
tahun 2011, tentu saja nilai akurasinya akan
sangat rendah.
5) Normalisasi data dilakukan agar hasil nilai
prediksi menunjukkan keakuratan yang lebih
baik dengan nilai aktualnya. Data hasil
normalisasi didapatkan dari nilai asli di pasar
saham dibagi dengan nilai tertinggi dari data
tersebut.
6) Salah satu faktor lain yang dapat berpengaruh
pada keakuratan adalah pembulatan otomatis
yang dilakukan oleh program Java. Hal ini
terjadi khususnya pada data yang besar atau
belum dinormalisasi dan nilai Gaussian
variance yang sangat kecil.
pengembangan JST. Secara khusus, metode RBF
sebagai salah satu model jaringan syaraf memiliki
kemampuan yang cukup baik untuk peramalan
harga saham meskipun kemampuannya dalam
interpolasi adalah sangat baik. Dapat dilihat dari
hasil error nilai hasil prediksi dengan data aktual.
Model jaringan syaraf RBF menggunakan metode
hybrid melalui dua tahap yaitu clustering dan
penentuan bobot. Clustering pada tahap pelatihan
unsupervised akan berhenti jika nilai error yang
dihasilkan program lebih kecil dari nilai toleransi
error yang ditetapkan. Sedangkan penentuan
bobot hanya dilakukan satu kali dimana ini
merupakan bagian pelatihan supervised.
Pemilihan jumlah hidden node disesuaikan
dengan
tujuan
dari
pelatihan.
Jika
menitikberatkan pada tingkat akurasi yang tinggi,
ambil jumlah hidden node yang banyak, maka
proses iterasi lebih cepat menuju konvergensi.
Salah satu hal yang dapat dikembangkan dari
aplikasi
prediksi
harga
saham
dengan
menggunakan JST RBF ini adalah metode
pengambilan data. Pada program ini, data diambil
dari sumbernya dan disimpan dalam format
excel(.xls). Namun telah kita ketahui bahwa
beberapa informasi saham sudah terpublikasi
secara online. Oleh karena itu, jika dimungkinkan
program ini langsung dapat mengakses informasi
tersebut maka investor akan semakin dimudahkan
dalam menggunakan aplikasi ini.
5. DAFTAR PUSTAKA
[1] M. Zeidenberg, Neural Networks in Artificial
Intelligence, Dept. Of Computer Science,
University of Winconsin, Madison, USA,
1990.
[2] M. D. Buhmann, Radial Basis Functions:
Theory and Implementations, Cambridge
University, 2003.
[3] M. J. L. Orr, Introduction to Radial Basis
Function Networks, Centre for Cognitive
Science, University of Edinburgh, 1996.
[4] B. Jacob, Linear Algebra, W.H Freeman and
Company, New York, 1990.
4. HASIL
Prediksi harga saham dapat dilakukan dengan
Aplikasi Prediksi Harga … (F. Tan, G. Gracianti, Susanti, Steven, S. Lukas)
181
Download