Jumat, 05 Mei 2017

Analisis Data Kredit Jerman, © Ir. H. Arry Andriana, 2017

Pendahuluan

Ketika sebuah bank menerima permohonan pinjaman dari seseorang calon kreditor, berdasarkan profil pemohon bank harus membuat keputusan apakah menerima untuk melanjutkan proses pinjaman atau tidak.
Bank memiliki dua resiko:Jika pemohon memiliki resiko kredit yang baik dan cenderung membayar pinjamannya, maka keputusan bank untuk tidak memberi pinjaman menjadikan bank merugi karena kehilangan kesempatan memperoleh keuntungan. Sebaliknya jika pemohon memiliki resiko kredit yang buruk dan cenderung tidak melunasi pinjamannya, maka keputusan bank untuk memberi pinjaman akan menjadikan bank merugi.

Penulis menggunakan data kredit Jerman yang diperoleh dari alamat UCI Machine Learning Repository https://archive.ics.uci.edu/ml/datasets/Statlog+(German+Credit+Data) yang berisi 20 variabel dan klasifikasi apakah seorang pemohon kredit dianggap sebagai sebuah resiko Kredit Baik atau Buruk untuk 1000 pemohon pinjaman.
Table 1 Deskripsi Variabel Input dan Output
Tabel 1 di atas menunjukkan semua variabel input dan output yang digunakan beserta rentang nilainya.
Hasil yang ingin diperoleh adalah berupa klasifikasi setiap data pemohon apakah termasuk pemohon dengan kredit profil yang baik (Worthed) atau buruk (Not Worthed).
Tabel 2 berikut ini menunjukkan deskripsi pengertian dari nilai variabel yang digunakan.
Selanjutnya penulis akan menggunakan neural network (jaringan syaraf) untuk membuat prediksi dua variabel output (“Worthed” dan “Not Worthed”) berdasarkan nilai variabel input.
Tabel 2 Deskripsi variabel dikonversi menjadi numerik
Setelah nilai bobot (weight) dan bias jaringan syaraf diperoleh, selanjutnya dioptimisasi lebih lanjut dengan Algoritma genetika. Beberapa nilai statistik akan digunakan untuk mengukur seberapa jauh hasil prediksi jaringan syaraf dan juga setelah dioptimisasi lebih lanjut dengan algoritma genetika. Variabel statistik yang digunakan antara lain: R2, r2, MSE (Mean Squared error), r (Pearson correlation), minimum absolute error, maksimum absolut error, range of percentage.

Pengaturan Eksperimental

1 Jaringan Syaraf

Berikut pengaturan konfigurasi untuk jaringan syaraf Backpropagation yang digunakan:
No.
Parameter
Nilai
1
Jumlah Lapisan Neuron
3
2
Neuron Lapisan 1
20

Fungsi Skala
Linear [-1,1]
3
Neuron Lapisan 2
35

Fungsi Aktivasi
Logistic
4
Neuron Lapisan 3
3

Fungsi Aktivasi
Logistic
5
Laju Pembelajaran
0.1
6
Momentum
0.1
7
Bobot awal
0.3
Tabel 3 Konfigurasi Jaringan Syaraf

2 Algoritma Genetika

Dalam optimisasi hasil prediksi jaringan syaraf, algoritma genetika digunakan untuk mencari nilai bobot (weight) dan bias dari jaringan syaraf. Maka kita akan gunakan jenis kromosom tipe berkelanjutan (continuous) dalam bentuk bilangan real (non-integer). Dengan demikian, berikut pengaturan parameter untuk algoritma genetik yang digunakan:
No.
Parameter
Nilai
1
Ukuran Populasi:
50
2
Panjang Kromosom
32 bit
3
Laju Crossover:
0.9
4
Laju Mutasi:
0.01
5
Gap Generasi:
0.98
6
Jenis Kromosom
continuous or integer
Tabel 4: Pengaturan parameter untuk algoritma genetika
Saat melakukan optimisasi, kita akan merubah nilai bobot dan bias sedemikian hingga nilai statistik yang dioptimisasi menjadi lebih besar/kecil. Algoritma genetika melakukan penentuan nilai bobot dan bias secara acak dalam rentang kromosom (constrain) yang sudah ditentukan.
Langkah selanjutnya adalah menerapkan semua perhitungan jaringan syaraf dan algoritma genetika ke dalam sebuah lembar kerja (worksheet) Excel. Dalam lembar kerja terdapat beberapa bagian yang harus dibuat sesuai konfigurasi jaringan syaraf yang dibuat, yaitu bagian-bagian:
-          Data asal (input dan output)
-          Normalisasi/skala data input menjadi [-1,1]
-          Neuron Tersembunyi Link1 (weight & bias)
-          Output fungsi transfer Link1 sebagai implementasi persamaan matematika (1)
-          Neuron Tersembunyi Link2 (weight & bias)
-          Output prediksi sebagai hasil operasi matematika output Link1 dengan neuron tersembunyi Link2 menggunakan persamaan matematika (2)
-          Normalisasi/skala balik dari data output prediksi ke nilai skala asal
-          Data perhitungan statistik (R2, r, r2, MSE, Min AE, Max AE, range percentage)
Selanjutnya kita menyalin worksheet tersebut sebagai lembar kerja untuk optimisasi algoritma genetika. Adapun yang menjadi target optimisasi adalah salah satu nilai statistik yang dikehendaki, misal memaksimumkan penjumlahan nilai R2 untuk kedua output dan lain-lain. Kita menjadikan nilai-nilai weight dan bias dari hasil jaringan syaraf menjadi kromosom.
Setelah nilai optimisasi algoritma genetika diperoleh, selanjutnya dibuat aplikasi windows untuk memanggil file definisi dari jaringan syaraf teroptimisasi algoritma genetika. Pengguna aplikasi tinggal memasukkan semua nilai input yang diperlukan dan aplikasi akan memberikan hasil klasifikasi apakah seseorang diperkirakan memiliki resiko kredit yang baik atau buruk. Tentu saja aplikasi ini bisa digunakan oleh manajer bank atau staf personel yang mengevaluasi kelayakan pemohon kredit.

Hasil


Tabel 5 menunjukkan hasil pencarian menggunakan jaringan syaraf backpropagation, dengan bantuan Tabel 6 kita bisa mengetahui kualitas hasil klasifikasi jaringan syaraf tersebut.
Tabel 5 Statistik hasil Jaringan Syaraf
Tabel 6 Hasil Klasifikasi Jaringan Syaraf
Setelah kita melakukan optimisasi Tabel 7 menunjukkan nilai-nilai statistik hasil optimisasi menggunakan algoritma genetika terhadap nilai bobot dan bias dari hasil jaringan syaraf.
Tabel 7 Statistik Setelah Optimisasi AG
Tabel 8 Hasil Klasifikasi Setelah Optimisasi AG
Perhatikan bahwa terjadi perbaikan nilai-nilai statistik setelah nilai weight dan bias dioptimisasi dengan algoritma genetika. Hasil klasifikasi juga semakin baik, salah satunya adalah nilai True Positive Proportion meningkat dibanding sebelumnya.
Proses optimisasi dengan algoritma genetika di atas dihentikan pada evolusi tertentu, sehingga proses peningkatan kualitas prediksi masih memungkinkan jika proses pencarian kromosom dilanjutkan.
Selanjutnya, jaringan syaraf teroptimisasi bisa dipanggil dalam aplikasi, sehingga mudah untuk digunakan. Seperti Gambar 1 di bawah, pengguna tinggal memasukkan data pemohon kredit, lalu dengan menekan tombol Classify, seorang pemohon tergolong kategori pemohon kredit yang baik atau buruk. Aplikasi akan secara otomatis menunjukkan klasifikasi pemohon pinjaman, jika baik maka check box Good Applicant akan dipilih, sebaliknya jika buruk maka check box Bad Applicant akan dipilih.

Kesimpulan dan Penelitian Lanjutan

Metode klasifikasi data kredit dengan menggunakan jaringan syaraf yang ditingkatkan dengan algoritma genetika menunjukkan hasil yang lebih baik, dan diperoleh dalam waktu yang cepat.
Ada banyak aspek yang kita dapat mempertimbangkan di masa depan. Agar data yang sama bisa diterapkan untuk evaluasi pemohon kredit di bank-bank negara lain termasuk Indonesia, maka kita perlu melakukan pengumpulan data. Data tersebut bisa menggunakan kategori sosio-ekonomi yang sama dengan data kredit di Jerman tetapi menggunakan data pemohon kredit terhadap bank-bank di Indonesia.
Analisis yang sama bisa dilakukan terhadap data yang dikumpulkan tersebut di atas sehingga seorang manajer bank atau staf personel pengevaluasi permohonan pinjaman atau kredit bisa memberikan keputusan yang cepat dan akurat.
Adalah perlu untuk melakukan studi yang sama dengan menggunakan konfigurasi jaringan yang lain, misal kohonen, PNN, GRRN dan lain-lain.
Artikel bisa di download dari https://independent.academia.edu/ArryAndriana


Rabu, 11 Januari 2017

Identifikasi Benih Gandum Dengan Jaringan Saraf



Benih gandum (wheat) memiliki tiga varietas yang berbeda yaitu Kama, Rosa dan Canadian. Untuk mengidentifikasi jenis benih tersebut, diperlukan data hasil pengukuran geometris aktual dari masing-masing jenis gandum tersebut. Penulis memperoleh data dari https://archive.ics.uci.edu/ml/datasets/seeds, di mana data tersebut memiliki 7 variabel pengukuran geometris, yaitu:
1. Area A,
2. Perimeter P,
3. Compactness C = 4*pi*A/P^2,
4. Length of kernel (panjang benih),
5. Width of kernel (panjang benih),
6. Asymmetry coefficient (koefisien asimetri)
7. Length of kernel groove (panjang lekukan benih).
Semua parameter adalah nilai aktual berkelanjutan (real-valued continuous).
Penulis menggunakan file data tersebut ke dalam format teks (CSV, terpisah koma) yang bisa dibaca oleh aplikasi Neuroshell 2. Untuk melakukan hal ini, penulis menggunakan 3 konfigurasi jaringan saraf yang tersedia yaitu backpropagation (3 lapisan dengan 1 lapisan neuron tersembunyi), Kohonen dan PNN.
Gambar 1 menunjukkan tampilan data dalam Excel, terlihat ada 210 baris data, di mana masing-masing jenis benih gandum memiliki 70 sampel pengukuran. Baik benih gandum jenis Kama, Rosa dan Canadian, masing-masing memiliki 70 sampel.

Data Pengukuran Geometris Benih Gandum

Dalam kasus identifikasi benih, sesuai konfigurasi jaringan yang digunakan. Berikut pengaturan konfigurasi untuk jaringan saraf yang digunakan:
Konfigurasi  Back Propagation

 
 Konfigurasi Kohonen
 

 Konfigurasi PNN
Berikut adalah statistik hasil prediksi ke tiga jaringan di atas:
Hasil statistik jaringan BAck Propagation
HAsil Statistik Kohonen
Hasil Statistik PNN
Selanjutnya hasil prediksi bisa digunakan untuk mengklasifikasi jika ada data baru yang muncul. Hal itu bisa menggunakan file Excel, baik dengan memasukkan formula dari konfigurasi jaringan, nilai-nilai bobot dan bias diketahui). Atau dengan menggunakan aplikasi pemrograman (Visual Basic/C), jaringan terlatih bisa digunakan untuk memberikan hasil klasifikasi.
Tampilan hasil prediksi di Excel untuk jaringan Back Propagation

Tampilan program

Kesimpulan:
Metode optimisasi klasifikasi dengan menggunakan jaringan saraf menunjukkan hasil yang baik, dan diperoleh dalam waktu yang cepat.
Jaringan backpropagation dalam kasus ini terlihat memberikan hasil lebih baik dibanding Kohonen dan PNN. Hasil prediksi jaringan backpropagation dengan 3 neuron output prediksi perlu dikonversi untuk mencari neuron pemenang yang dihitung berdasarkan nilai maksimum di antara semua neuron.
Hasil prediksi jaringan Kohonen tidak menunjukkan termasuk kelas mana hasil prediksi yang dihasilkan, beruntung data input yang digunakan sudah berurutan sehingga pengklasifikasian bisa dibandingkan dengan kelompok data aktual.
Hasil prediksi PNN dibandingkan dengan kedua jaringan lain lebih mudah menunjukkan statistik prediksinya secara automatis. Sementara jaringan backpropagation dan Kohonen statistiknya perlu dihitung secara manual.

Catatan: Artikel lengkap bisa di download dari link berikut 
https://www.academia.edu/30318954/Identifikasi_Benih_Gandum_Dengan_Jaringan_Saraf