Rabu, 21 Agustus 2013

Mengklasifikasi Garis Trend Dengan Neural Network


Pendahuluan


Mendeteksi sebuah trend adalah sangat penting dalam berbagai aplikasi, trend harga saham, mata uang, kredit macet, data sales dan lain-lain.  Dalam artikel ini, penulis mencoba menggambarkan dasar penggunaan jaringan syaraf tiruan (NN) dalam mengklasifikasi jenis garis.

Saat ini anggap bahwa kita memiliki 5 buah tipe garis trend berdasarkan 10 nilai dalam sebuah deretan data, yaitu:
  • Garis uptrend, yaitu garis dengan trend naik atau sudut kemiringan positif
  • Garis downtrend, yaitu garis dengan trend turun atau sudut kemiringan negatif
  • Garis no trend, yaitu garis dengan tanpa trend turun atau sudut kemiringan nol
  • Garis kurva ke atas (curve up), yaitu garis cekung ke atas (turun lalu naik).
  • Garis kurva ke bawah (curve down), yaitu garis cekung ke bawah naik lalu turun).
Berikut adalah data contoh yang digunakan untuk melatih neural network


Gambar 1 Data untuk Training

Gambar 2 Bentuk Geometris berdasarkan nilai x1 sd x10

Perhatikan bahwa kita memiliki 10 buah input dan 5 buah output untuk NN, 10 input adalah nilai x1 sampai dengan x10 sedangkan output sebagai nilai klasifikasi garis, uptred, downtrend, notrend, curve up dan curve down. Nilai maksimum dari kelima output tresebut menunjukkan nilai kecenderungan jenis garis.
Misalkan data m1, m2, m3 merupakan garis no trend (semua niali x1 sd x10) bernilai tetap dan nilai No trend memiliki nilai tertinggi (10), maka ketiga data tersebut dikelompokkan sebagai kelompok garis no trend. Anda bisa melihat tampilan data lainnya untuk mesing-masing kelompok data.


Perhatikan bahwa kita memiliki 10 buah input dan 5 buah output untuk NN, 10 input adalah nilai x1 sampai dengan x10 sedangkan output sebagai nilai klasifikasi garis, uptred, downtrend, notrend, curve up dan curve down. Nilai maksimum dari kelima output tresebut menunjukkan nilai kecenderungan jenis garis.
Misalkan data m1, m2, m3 merupakan garis no trend (semua niali x1 sd x10) bernilai tetap dan nilai No trend memiliki nilai tertinggi (10), maka ketiga data tersebut dikelompokkan sebagai kelompok garis no trend. Anda bisa melihat tampilan data lainnya untuk mesing-masing kelompok data.

Bekerja dengan NS2
1.       Mengimpor data ke dalam aplikasi NN
Data file tersebut disimpan ke dalam sebuah file csv.


Gambar 1 Tampilan saat impor data ke dalam NS2
2.       Mendefinisikan input dan output



Gambar 2 Mendefinisikan input dan output
3.     Mengekstrak data ke dalam kelompok optimisasi dan testing
Gambar 3 Data training dikelompokkan ke dalam rentang optimisasi, testing atau production

4. Memilih konfigurasi NN
Ada 16 arsitektur NN yang bisa dipilih dalam NS2, saat ini kita menggunakan backpropagation net dengan 1input neuron, 1 hidden neuron dan 1 output neuron (3 slab).

Gambar 4 Konfigurasi NN dalam NS2

5. Memilih jenis fungsi aktivasi

Gambar 5 Konfigurasi detail dan fungsi aktivasi
6. Menentukan kriteria training

Gambar 6 Penentuan Kriteria Backprogation
7. Melakukan training
Setelah konfigurasi NN ditentukan, maka kita akan melakukan pelatihan terhadap NN.
Gambar 7 Tampilan saat pelatihan NN

8. Menerapkan ke dalam Excel
Adalah penting untuk menerapkan NN terlatih di dalam aplikasi lain misal software charting (Neuroshell trader, Metatrader, Trade station dan lain-lain). Dengannya kita juga bisa melakukan pengujian dan penerapan NN dengan data baru. Kita tinggal memasukkan formula di excel seperti: =Predict("G:\1-Manual Indonesia\Sample NS2\Klasifikasi Garis.def",B2:K2, 3) untuk menampilkan ouput NN ke 3.

Dalam file excel kita memanggil training NN dan menampilkannya di sebelah data output actual. Walaupun hasil perhitungan pendekatan menggunakan NN tidak tepat sama dengan nilai outputnya, tetapi dengan menelaah nilai tertingginya maka kita akan tahu di kelompok mana garis tersebut berada. Jika sebuah deret data m4 memiliki output terbesar curve up maka nilai ouput NN pada deret m4 terbesar adalah NN5 yang bersesuaian dengan Curve up.


Gambar 8 Hasil pengetesan dengan data baru


Kesimpulan
Neural network bisa digunakan untuk identifikasi pola-pola garis sederhana, bahkan bisa pula digunakan untuk identifikasi pola yang lebih kompleks seperti data pergerakan saham, spot matahari, krisi kredit, suku bunga dan lain-lain.





Tidak ada komentar:

Posting Komentar