...

PREDIKSI NILAI SAHAM MENGGUNAKAN PEMROGRAMAN

by user

on
Category: Documents
1

views

Report

Comments

Transcript

PREDIKSI NILAI SAHAM MENGGUNAKAN PEMROGRAMAN
PREDIKSI NILAI SAHAM MENGGUNAKAN PEMROGRAMAN
GENETIK DAN PEMROGRAMAN EKSPRESI GEN
Aris Sularno
Jurusan Informatika, Fakultas Teknologi Industri
Universitas Gunadarma
Depok, Indonesia
Abstrak
Prediksi harga saham akan sangat bermanfaat bagi investor untuk dapat melihat
bagaimana prospek investasi saham sebuah perusahaan dimasa datang. Prediksi harga saham
dapat digunakan untuk mengantisipasi naik-turunnya harga saham dan membantu para investor
didalam pengambilan keputusan. Dalam menentukan nilai suatu saham dimasa yang akan datang
dibutuhkan beberapa pendekatan untuk menentukan pola yang tersembunyi dalam sebuah data
dan menentukan individu yang terbaik dengan menggunakan beberapa alternatif yakni genetic
programming dan gene expression programming. Algoritma ini nantinya akan dijadikan sebuah
indicator atau tolak ukur dalam menentukan nilai optimasi dari suatu saham. Selain itu kedua
algoritma ini dijadikan sebagai bahan perbandingan untuk menentukan algoritma mana yang
memiliki tingkat prediksi yang lebih tinggi pada sebuah saham.
1. Pendahuluan
Pada umumnya, prediksi menggunakan metode time series adalah suatu
langkah untuk mengetahui sebuah nilai dimasa yang akan datang, dimana
pengamatan pada metode time series dilakukan berdasarkan urutan waktu.
Metode time series dibangun berdasarkan proses determinasi yang memiliki
kemampuan prediksi yang tinggi, dimana nilai yang akan datang dapat diketahui
dengan melihat nilai dari masa lalu. Hasil prediksi dapat dilihat secara
keseluruhan berdasarkan signal yang kuat pada komponen determinan. Jadi Data
time series adalah data yang dikumpulkan, dicatat atau diobservasi berdasarkan
urutan waktu. Tujuan dari data time series secara umum adalah untuk menemukan
bentuk pola variasi dari data dimasa lampau dan menggunakan pengetahuan ini
untuk melakukan peramalan terhadap sifat-sifat data dimasa yang akan datang.
2. Proses Regresi Sederhana
Regresi berganda adalah analisis regresi dengan dua atau lebih variable
bebas atau dengan sedikitnya satu predictor non linier. Analisis ini bertujuan
untuk mengetahui keeratan hubungan antara dua variable atau lebih dan untuk
memprediksi atau menentukan satu variable dari variable lainnya
Adapun rumus matematis dari analisa regresi linier yaitu :
y = A0 + B0X + ε
Dimana :
y = Variable dependent ( variable yang akan diprediksi )
A0= Intersep ( titik potong kurva terhadap sumbu Y ) populasi
B0 = Slope kurva non linier / populasi
χ = variable independent ( variable bebas )
Dari persamaan ini, untuk mendapatkan hasil prediksi dari tiap saham
dengan mengambil data dimasa lalu maka dibutuhkan sebuah nilai koefisien. Nilai
koefisien disini didapat dari proses pencarian individu terbaik yang dilakukan
dengan menggunakan metode genetic programming dan gene expression
programming.
3. Genetic Programming
Genetic programming adalah algoritma pencarian yang berdasarkan pada
mekanisme sistem natural yakni genetik dan seleksi alam. Dalam aplikasi
genetic programming, variabel solusi dikodekan kedalam struktur string yang
merepresentasikan barisan gen, yang merupakan karakteristik dari solusi
problem. Himpunan ini disebut populasi. Sedangkan setiap individu dalam
populasi disebut kromosom yang merupakan representasi dari solusi.
Kromosom-kromosom berevolusi dalam suatu proses iterasi yang
berkelanjutan yang disebut generasi. Pada setiap generasi, kromosom
dievaluasi berdasarkan suatu fungsi evaluasi. Setelah beberapa generasi maka
genetic programming akan konvergen pada kromosom terbaik, yang
diharapkan merupakan solusi optimal.
Pada genetic programming mengenal istilah terminal set dan function set.
Function set : { +, -, *, /, sin, cos, exp },
Terminal set : { a, b, 1 }
Berikut adalah diagram alur dari genetic programming:
Gambar 1. Diagram Alur Genetic Programming
4. Gene Expression Programming
GEP adalah sebuah algoritma genetik yang menggunakan sekumpulan
individual untuk membentuk suatu populasi, mereka memilih tiap-tiap individual
yang memiliki kesamaan atau kecocokan untuk mendapatkan nilai fitness. Pada
awalnya setiap variasi genetic menggunakan satu atau lebih operator genetik.
Perbedaan mendasar dari ketiga algoritma tersebut terletak dari jenis individunya,
pada algoritma genetic untuk jenis individunya bersifat linier dan panjangnya
sama (kromosom), pada genetic programming inidividu adalah suatu kesatuan
yang bersifat non linier karena memiliki ukuran dan bentuk yang berbeda.
Sedangkan pada gene expression programming setiap individu bersifat linier dan
memiliki panjang yang sama akan tetapi setelah diproses individu akan bersifat
non linier dan memiliki bentuk dan panjang yang berbeda.
Didalam GEP, terdapat beberapa operator genetik yakni :
1.
Replication.
Walaupun penting, replication tidak menarik untuk dijadikan
sebagai operator. Replication disini tidak terlalu banyak
memberikan kontribusi dalam perubahan genetik.
2.
Mutation
Mutasi dapat terjadi dimanapun didalam kromosom. Akan tetapi
struktur pembentuk kromosom harus lengkap. Dibagian heads
terdapat sebuah simbol yang dapat dirubah kedalam bentuk fungsi
atau terminal. Sedangkan dibagian tail terdapat simbol yang dapat
dirubah kedalam bentuk terminal.
3.
IS transposition
Transpose elemen pada GEP adalah membagi genome yang aktif
dan pindah ke tempat lain didalam sebuah kromosom. Ada
rangkaian genom yang mampu menjadi sebuah elemen IS. Oleh
karena itu setiap elemen akan diseleksi secara acak pada tiap
kromosom.
4.
RIS transposition
Semua elemen RIS dimulai dengan sebuah fungsi dilanjutkan
dengan memilih heads diantara rangkaian. Setelah itu head akan
dipilih secara acak dan gene akan melakukan pengamatan secara
berulang hingga ditemukan fungsi yang diinginkan. Fungsi ini ini
nantinya akan berada diposisi awal pada element RIS. Jika fungsi
tidak ditemukan, maka proses tidak dapat dilakukan.
5.
Gene Transposition
Didalam transposition gen, seluruh fungsi gen akan mengalami
perubahan dan perubahan itu sendiri dimulai dari kromosom.
6.
Single or Double Recombination (cross over)
Didalam GEP terdapat 3 jenis recombination: single recombination
(one-point), double recombination (two-point) dan gene
recombination. Untuk semua kasus, 2 induk kromosom akan
memilih secara acak dan melakukan pertukaran pasangan diantara
2 kromosom. Pada one-point recombination, kromosom akan
mengalami kawin silang dengan 2 kromosom secara acak yang
nantinya akan mendapatkan individu baru hasil dari persilangan
tersebut sedangkan pada two-point recombination, kromosom akan
dipasangkan secara acak yang kemudian akan dilakukan proses
kawin silang yang nantinya akan didapat 2 buah individu baru yang
memiliki sifat yang mirip dengan parentnya. Pada two-point
recombination kemampuan untuk melakukan transform lebih besar
dibandingkan dengan one-point recombination, dan paling banyak
digunakan untuk mencari solusi atas permasalahan yang lebih
kompleks.
7.
Gene Recombination.
Pada proses ini, gen sepenuhnya melakukan pertukaran antar
pasangannya selama proses cross over. Pertukaran gen dipilih
secara acak dan menempati posisi yang sama pada kromosom
parent. Pada faktanya ketika recombination gen digunakan, ia
mampu menyelesaikan permasalahan yang lebih kompleks jika
memiliki populasi yang besar diawal proses.
Berikut adalah diagram alur (flowchart) dari gene expression
programming :
Gambar 2. Diagram alur Gene Expression Programming
5. Implementasi
Dalam menentukan nilai prediksi, komponen awal yang harus dimiliki
adalah data deretan waktu. Hal ini dikarenakan data deretan waktu ini nantinya
akan dijadikan sebagai masukan. Pada bagian proses terdapat logika genetic
programming dan gene expression programming yang berperan dalam proses
pembelajaran. Pada proses ini ditemukanlah individu yang terbaik yang berguna
untuk menentukan hasil prediksi.
Gambar 3. Framework TSGP dan TSGEP
6. Uji Coba
untuk mengetahui sejauh mana kemampuan aplikasi ini mampu
memprediksi nilai saham, maka akan dilakukan serangkaian ujicoba dengan
menggunakan saham LQ45. LQ45 adalah daftar saham unggulan yang memiliki
nilai likuiditas paling baik dibandingkan dengan saham lainnya.
Berikut adalah daftar saham yang dikelompokan kedalam beberapa sektor :
Tabel 1. Sektor-Sektor Pada Saham LQ 45
Seluruh saham yang diambil memiliki rentang waktu rata – rata antara 1 Juli 2003
sampai dengan 21 Desember 2005. Proses prediksi dilakukan dengan variansi
jumlah data yang berbeda yakni antara 100 sampai dengan 500. variansi data
disini bertujuan untuk mengetahui tingkat keakuratan algoritma dalam
memprediksi. Tiap-tiap saham nantinya akan dilakukan proses pembelajaran
menggunakan Gene Expression Programming dan Genetic Programming.
7. Analisa
Dalam menentukan suatu analisa berdasarkan hasil uji coba yang didapat,
maka dapat digunakan beberapa parameter yang umum digunakan dalam
menentukan tingkat akurasi, kesalahan dan kinerja. Berikut adalah bentuk
persamaan yang digunakan dalam proses analisa.
1. Normalized Mean Squared Error ( NMSE )
NMSE Merupakan sebuah metode untuk membandingkan rata-rata hasil
prediksi dengan rata-rata nilai asli. Semakin kecil nilai NMSE maka semakin
kecil perbedaan antara nilai asli dengan nilai prediksi, Sebaliknya semakin
besar nilai NMSE maka semakin besar perbedaan antara nilai asli dengan nilai
prediksi.
2. Coeficient Of Variation ( CV )
CV dapat mengukur penyebaran relative antara data hasil percobaan
dengan data asli. CV yang bernilai < 1 dapat dianggap memiliki variansi yang
rendah, sebaliknya CV > 1 bisa bermakna variansi yang tinggi
3. Pearson Correlative Coefficient ( R )
R dapat digunakan untuk mengukur kecocokan antara model yang
terbentuk dengan data awal. Adapun nilai koefisien ini akan berada direntang
– 1 hingga +1, Semakin nilai koefisien ini mendekati 0, maka semakin kecil
pula korelasi antara model dengan data tersebut
Berikut adalah hasil perhitungan berdasarkan parameter diatas :
Tabel 2. Genetik Programming ( N = 100 )
Tabel 3. Genetik Programming ( N = 200 )
Tabel 4. Genetik Programming ( N = 300 )
Tabel 5. Genetik Programming ( N = 400 )
Tabel 6. Genetik Programming ( N = 500 )
Tabel 7. Gene Expression Programming ( N = 100 )
Tabel 8. Gene Expression Programming ( N = 200 )
Tabel 9. Gene Expression Programming ( N = 300 )
Tabel 10. Gene Expression Programming ( N = 400 )
Tabel 11. Gene Expression Programming ( N = 500 )
8. Kesimpulan
Dari hasil penelitian yang dilakukan maka didapat beberapa hal yang bisa
dicermati yakni :
1. Semakin tinggi nilai suatu saham maka semakin besar pula error prediction
yang didapat.
2. Dari segi banyaknya data, metode gene expression programming lebih baik
dalam memprediksi nilai saham dibandingkan metode genetic programming,
akan tetapi pada beberapa kasus metode genetic programming juga mampu
mendekati nilai real bila dibandingkan dengan metode GEP. Hal ini terjadi
karena jenis dan karakteristik saham yang berbeda-beda.
3. Dari segi waktu, metode gene expression programming (GEP ) membutuhkan
waktu lebih banyak untuk menghasilkan nilai estimasi dibandingkan dengan
menggunakan metode genetic programming pada nilai saham yang tinggi.
4. Tingkat korelasi antara model dengan data asli ( R ) pada gene expression
programming lebih baik dibandingkan dengan genetic programming
dikarenakan rata-rata hasil evaluasi mendekati nilai 1.
5. Hasil dari evaluasi ( CV ) menunjukkan rata – rata nilai variasi yang
cenderung rendah pada tiap-tiap metode yang digunakan. Sehingga
dibutuhkan proses pembelajaran yang lebih baik agar didapat pencapaian nilai
prediksi yang terbaik.
6. Jika melihat dari besarnya nilai NMSE, dapat disimpulkan bahwa dengan
berdasarkan banyak data yang digunakan, metode gene expression
programming memiliki nilai error (NMSE) yang lebih baik dibandingkan
dengan genetic programming. Walaupun jika dilihat dari standardnya, nilai
NMSE dari gene expression programming masih terbilang besar.
7. Berdasarkan pengelompokan sektor, ternyata saham-saham yang tergabung
dalam sektor pertambangan adalah kelompok yang terbaik dikarenakan
memiliki nilai rata-rata NMSE paling kecil dibandingkan dengan sektor yang
lain,dimana semakin kecil nilai NMSE, maka semakin kecil perbedaan antara
data asli dengan data hasil prediksi.
Referensi
[1] Budi, L., Permodelan dan Peramalan Banyaknya Hari Hujan diJember
dengan Proses ARMA, Majalah Matematika dan Statistika, 1 Oktober, 2000
[2] Ferreira, C. Gene Expression Programming: A New Adaptive Algorithm For
Solving Problem, Angra de Heroismo, Portugal, 2001
[3] Jaenudin, Belajar Sendiri .NET dengan Visual C # 2005, C.V ANDI
OFFSET, Jakarta, 2005
[4] Jung-Jib Kim, Effect of Selection in Genetic Programming for Time Series
Prediction, SCAI, Korea, 1999
[5] Heitor, Waigner, A Gene Expression Programming System For Time Series
Modeling, CILAMCE, Brazil 2004
[6] Hermawanto. Algoritma Genetika dan Contoh Aplikasinya,
www.infokomputer.com, 2003
[7] Minglei, D. and Povinelli, R.J., Estimating Time Series Predictability Using
Genetic Programming, Marquette University, 1998
[8] Povinelli, R.J., Comparing Genetic Algorithm Computational Performance
Improvement Techniques, Marquette University, 1998
[9] Povinelli, R.J., Time Series Data Mining : Identifying Temporal Pattern for
Characterization and Prediction of Time Series Event, Ph.D. Disertation
Marquette University, 1999
[10] Povinelli, R.J., Using Genetic Algorithms to Find Temporal Pattern
Indicative of Time Series Event, Marquette University, 1999
[11] Sri, D., Pengantar Unified Modelling Language, www.infokomputer.com,
2003
Fly UP