Pengembangan Perangkat Lunak menggunakan ... - Digilib ITS

22 downloads 197 Views 275KB Size Report
1, No. 1, (2012) 1-5. 1. Abstrak—Prediksi kebangkrutan merupakan topik penting ... network dapat dijadikan sebagai model prediksi kebangkrutan dengan nilai ...
JURNAL TEKNIK POMITS Vol. 1, No. 1, (2012) 1-5

1

Pengembangan Perangkat Lunak menggunakan Metode Ensemble Neural Network untuk Prediksi Kebangkrutan Nuru Aini, Isye Arieshanti, dan Yudhi Purwananto Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember Jl. Teknik Kimia, Gedung Teknik Informatika, Kampus ITS Sukolilo, Surabaya, 60111 E-mail: [email protected]

Abstrak—Prediksi kebangkrutan merupakan topik penting bermanfaat untuk pengambilan keputusan finansial dalam suatu perusahaan. Untuk itu, dibutuhkan sebuah perangkat lunak untuk memprediksi kebangkrutan. Artificial Neural Network (ANN) merupakan salah satu metode prediksi yang memiliki akurasi yang cukup baik. Namun, seperti halnya pengklasifikasi lainnya, ANN juga memiliki kecenderungan terjadinya overfitting. Keadaan tersebut terjadi apabila nilai epoch yang digunakan terlalu besar. Tugas Akhir ini bertujuan untuk mengembangkan perangkat lunak berdasarkan metode ensemble neural network untuk prediksi kebangkrutan. Model prediksi menggunakan metode ini pernah diusulkan oleh peneliti lain [1]. Metode tersebut membentuk dan mengombinasikan sejumlah pengklasifikasi dasar. Pengklasifikasi dasar yang digunakan adalah ANN. Metode ensambel yang diimplementasi dalam Tugas Akhir ini adalah Bagging ANN dan Boosting ANN. Metode tersebut diharapkan dapat mengurangi kesalahan akibat overfitting pada ANN. Uji coba dilakukan menggunakan set data Wieslaw. Skenario uji coba berupa perbandingan metode Bagging ANN, Boosting ANN, dan ANN. Hasil yang dianalisis adalah nilai akurasi. Berdasarkan hasil uji coba, metode ensemble neural network dapat dijadikan sebagai model prediksi kebangkrutan dengan nilai akurasi 73,08% untuk Boosting ANN dan 78,29% untuk Bagging ANN.

adalah kecenderungan terjadinya overlap. Hal tersebut terjadi apabila kelas-kelas dan kriteria yang digunakan jumlahnya sangat banyak. Hal tersebut juga dapat menyebabkan meningkatnya waktu pengambilan keputusan dan jumlah memori yang diperlukan. Dibandingkan dengan pohon keputusan, metode ANN lebih mampu melakukan pemetaan non-linear yang kompleks. Namun, seperti halnya pengklasifikasi lainnya, metode ANN juga memiliki kecenderungan terjadinya overfitting. Overfitting merupakan keadaan dimana pengklasifikasi terlalu sesuai dengan data latih. Keadaan tersebut terjadi apabila nilai epoch yang digunakan terlalu besar. Hal ini dapat menyebabkan kesalahan prediksi data uji. Untuk mengatasi kekurangan tersebut, pada tahun 2010, Myoung-Jong Kim dan Dae-Ki Kang mengajukan suatu model prediksi yang memanfaatkan metode ensemble neural network. Metode ensambel adalah metode yang membuat beberapa himpunan data latih baru dari data latih asli, membangun model klasifikasi dari himpunan data latih baru tersebut, dan menggabungkan hasil dari beberapa model klasifikasi yang telah dibangun untuk menentukan prediksi akhir. Tugas Akhir ini bertujuan untuk mengembangkan perangkat lunak yang menggunakan metode Bagging ANN dan Boosting ANN untuk prediksi kebangkrutan.

Kata Kunci— ANN, Bagging, Boosting, prediksi kebangkrutan.

I. PENDAHULUAN

P

REDIKSI kebangkrutan merupakan topik penting karena bermanfaat dalam pengambilan keputusan finansial bagi perusahaan, antara lain merger dan restrukturisasi keuangan. Dengan keputusan tersebut, perusahaan yang berpotensi bangkrut dapat mengantisipasi kemungkinan kebangkrutan sedini mungkin. Untuk memudahkan perusahaan dalam pengambilan keputusan finansial, maka dibutuhkan sebuah formulasi untuk mengatasi permasalahan tersebut. Beberapa teknik penggalian data telah digunakan dalam prediksi kebangkrutan, diantaranya adalah pohon keputusan [2] dan Artificial Neural Network (ANN) [3], [4]. Metode pohon keputusan merupakan metode yang baik karena dapat mengubah daerah pengambilan keputusan yang sebelumnya kompleks dan sangat global menjadi lebih simpel dan spesifik. Namun, sebuah kekurangan dari metode pohon keputusan

II. PERANCANGAN PERANGKAT LUNAK A. Perancangan Data Data masukan yang digunakan dalam aplikasi adalah 240 data Wieslaw [5]. Data-data tersebut dibagi menjadi data latih dan data uji. Data-data tersebut dinormalisasi terlebih dahulu. Dengan dinormalisasi terlebih dahulu, seluruh nilai dari datadata tersebut akan berada pada rentang 0 sampai 1. B. Perancangan Proses ANN Pada dasarnya, algoritma ANN terdiri dari dua tahap, yaitu forward propagation dan backpropagation. Pada tahap forward propagation, sinyal masukan diberikan ke dalam jaringan. Sinyal ini kemudian diproses oleh neuron pada tiap lapisan sehingga menghasilkan keluaran sebenarnya. Pada tahap ini, bobot pada synapsis tidak mengalami perubahan. Sebaliknya, pada tahap backpropagation, semua bobot pada synapsis diperbaiki berdasarkan galat jaringan. Tahap ini

JURNAL TEKNIK POMITS Vol. 1, No. 1, (2012) 1-5

2

membuat keluaran jaringan semakin mendekati keluaran yang diinginkan. Gambar 1 menjelaskan algoritma ANN [6] secara umum.

1. Tentukan set data latih D={(xi,yi) | i=1,2,...N}, jumlah jaringan feedforward nin,, lapisan tersembunyi nhidden,, dan keluaran nout 2. Inisialisasi bobot w secara acak 3. Ulangi langkah 4 - 7 hingga mencapai perulangan maksimal 4. masukkan data latih xi pada jaringan, hitung nilai keluaran jaringan = ok(1-ok)(tk-ok) 5. hitung error tiap keluaran dengan persamaan 6. hitung error lapisan tersembunyi = oh(1-oh) 7. untuk setiap jaringan, perbarui nilai bobot wj=wj+∆wj 8. hentikan perulangan bila mencapai perulangan maksimal

Gambar 1. Algoritma ANN.

C. Perancangan Proses Bagging ANN Bagging ANN merupakan gabungan antara metode Bagging dan ANN [1]. ANN difungsikan sebagai model klasifikasi dasar. ANN yang digunakan adalah MLP yang memiliki satu lapisan tersembunyi. Tiap ANN yang dibentuk memiliki struktur yang sama. Jumlah node pada lapisan masukan disamakan dengan jumlah variabel independen pada set data masukan (data Wieslaw), yaitu tiga puluh. Lapisan keluaran terdiri dari sebuah node dengan nilai 0 (kelas positif) atau 1 (kelas negatif). Paramater yang digunakan adalah jumlah node pada lapisan tersembunyi (node hidden), laju pembelajaran (α), momentum (η), dan jumlah perulangan (epoch). Algoritma Bagging kemudian diintegrasikan pada model ANN sehingga menghasilkan model Bagging ANN. Pada Bagging ANN, parameter yang digunakan adalah B. Nilai B merupakan jumlah bootstrap sample . Gambar 2 menggambarkan diagram alir pada tahap-tahap proses pada algoritma Bagging secara garis besar [7]. Proses tersebut digunakan untuk memprediksi kebangkrutan. Seperti yang digambarkan pada diagram alir, tahap pertama yang harus dilakukan untuk proses Bagging adalah membaca data. Data-data tersebut dibagi menjadi data latih dan data uji. Data-data tersebut kemudian dinormalisasi. Dengan dinormalisasi terlebih dahulu, seluruh nilai dari data-data tersebut akan berada pada rentang 0 sampai 1. Tahap selanjutnya adalah menginisialisasi jumlah pengklasifikasi dasar (ANN) sebanyak B. Setelah menginisialisasi nilai B, selanjutnya lakukan perulangan sebanyak B. Dalam perulangan ini, terdapat proses pembentukan sampel bootstrap . Sampel tersebut diambil secara acak sebanyak n. Nilai n merupakan jumlah data latih. Proses tersebut menyertakan penggantian pada set data latih asal . x adalah vektor variabel prediktor. y adalah label yang menunjukkan kelas observasi.

Gambar 2. Diagram alir proses bagging.

Setelah sampel bootstrap dibentuk, selanjutnya adalah melakukan proses latih dengan pengklasifikasi ANN untuk setiap subset sampel. Jika semua sampel sudah dilatih, maka dapatkan nilai Cb. Nilai Cb adalah prediksi data uji berdasarkan pengklasifikasi ke-b. Langkah pembentukan pengklasifikasi bootstrap dilakukan sebanyak B kali. Nilai B telah diinisalisasi sebelumnya pada tahap awal. Kemudian setelah mencapai perulangan terakhir atau ke-B, hentikan proses perulangan. Hasil akhir dari proses latih dengan Bagging adalah nilai prediksi Cb sebanyak B pada masing-masing data uji. Nilai-nilai inilah yang akan digunakan oleh C. C adalah pengklasifikasi final yang mengombinasikan seluruh pengklasifikasi bootstrap. Proses prediksi pada algoritma Bagging adalah pembentukan pengklasifikasi final C. (Kim & Kang, 2010). Pengklasifikasi tersebut menghitung rata-rata dari seluruh keluaran pengklasifikasi ensambel. Proses prediksi tersebut dirumuskan oleh persamaan 1. C(x) merupakan hasil prediksi final pada data uji ke-x. B merupakan jumlah ANN. Cb(x) merupakan hasil prediksi model klasifikasi dasar ke-b untuk record ke-x. Nilai b berada pada rentang 1 sampai B.

(1)

JURNAL TEKNIK POMITS Vol. 1, No. 1, (2012) 1-5 D. Perancangan Proses Boosting ANN Boosting adalah metode ensemble yang bekerja dengan cara melakukan iterasi untuk mengubah distribusi data latih. Distribusi data latih diubah dengan lebih berfokuspada data yang salah terklasifikasi (misclassified record). Pada tahap awal, semua record pada himpunan data latih diberi bobot yang sama. Selanjutnyapada tahap iterasi, bobot bisa berubah. Bobot data yang salah terklasifikasi akan meningkat dan bobot data yang terklasifikasi benar akan turun [8]. Boosting ANN merupakan gabungan antara metode Boosting dan ANN [1]. ANN difungsikan sebagai pengklasifikasi dasar. ANN yang digunakan adalah MLP yang memiliki satu lapisan tersembunyi. Tiap ANN yang dibentuk memiliki struktur yang sama. Jumlah node pada lapisan masukan disamakan dengan jumlah variabel independen pada set data masukan (data Wieslaw), yaitu tiga puluh. Lapisan keluaran terdiri dari sebuah node dengan nilai 0 (kelas positif) atau 1 (kelas negatif). Paramater yang digunakan adalah jumlah node pada lapisan tersembunyi (node hidden), laju

Gambar 3. Diagram alir proses boosting.

pembelajaran (α), momentum (η), dan jumlah perulangan (epoch). Algoritma Boosting kemudian diintegrasikan pada model ANN sehingga menghasilkan model Boosting ANN. Pada Boosting ANN, parameter yang digunakan adalah B. Nilai B merupakan jumlah maksimum sample. Gambar 3 menggambarkan diagram alir pada tahap-tahap proses pada

3 algoritma Boosting secara garis besar [8]. Proses tersebut digunakan untuk memprediksi kebangkrutan.

Seperti yang digambarkan pada diagram alir, tahap pertama yang harus dilakukan untuk proses Boosting adalah membaca data. Data-data tersebut dibagi menjadi data latih dan data uji. Data-data tersebut kemudian dinormalisasi. Dengan dinormalisasi terlebih dahulu, seluruh nilai dari data-data tersebut akan berada pada rentang 0 sampai 1. Tahap berikutnya adalah menginisialisasi nilai wb(i). Nilai wb(i) adalah bobot bagi tiap record data latih. Pada awalnya, semua record diberi bobot yang sama, yaitu senilai 1/n. Nilai n adalah jumlah data latih. Selanjutnya pada tahap iterasi, bobot bisa berubah. Setelah menginisialisasi nilai wb(i), selanjutnya lakukan inisialisasi jumlah pengklasifikasi dasar (ANN) sebanyak B. Tahap selanjutnya adalah perulangan sebanyak B. Dalam perulangan ini, terdapat proses pembentukan sampel. Sampel tersebut diambil secara acak sebanyak n. Proses tersebut menyertakan penggantian pada set data latih asal. Akan tetapi, data latih yang salah diprediksikan pada suatu pengklasifikasi akan menjadi data latih ulang pada pengklasifikasi berikutnya. Setelah sampel dibentuk, selanjutnya adalah melakukan proses latih dengan pengklasifikasi ANN untuk setiap subset sampel. Jika semua sampel sudah dilatih, maka hitung nilai dan . Nilai merupakan galat pengklasifikasi ke-b. Nilai menunjukkan seberapa penting suatu pengklasifikasi . Setelah menghitung nilai-nilai tersebut, selanjutnya perbarui . Nilai merupakan bobot data latih pada pengklasifikasi berikutnya. Bobot data yang salah terklasifikasi akan meningkat dan bobot data yang terklasifikasi benar akan turun. Bobot ini digunakan oleh proses pembentukan sampel pada pengklasifikasi berikutnya. Langkah pembentukan pengklasifikasi dasar (ANN) maksimal dilakukan sebanyak B kali.Nilai B telah diinisalisasi sebelumnya pada tahap awal. Jika galat pengklasifikasi ke-b bernilai lebih dari 0.5, hentikan proses perulangan. Hasil akhir dari proses latih dengan Boosting adalah nilai prediksi Cb (maksimal sejumlah B) pada masing-masing data uji. Nilai-nilai inilah yang akan digunakan oleh C. C adalah pengklasifikasi final yang mengombinasikan seluruh pengklasifikasi Cb. Proses prediksi dilakukan setelah mendapatkan nilai prediksi Cb. Pada proses ini, pengklasifikasi final mengombinasikan seluruh pengklasifikasi Cb. Kombinasi dilakukan berdasarkan persamaan 2. Pada persamaan tersebut, C(x) merupakan hasil weighted voting terhadap hasil prediksi model klasifikasi dasar Cb(x). Nilai b berada pada rentang 1 sampai B. Nilai α menunjukkan bobot model klasifikasi dasar Cb. Tahap akhir proses ini adalah perhitungan performa metode menggunakan akurasi.

(2)

JURNAL TEKNIK POMITS Vol. 1, No. 1, (2012) 1-5 III. UJI COBA DAN ANALISIS Bagian ini menjelaskan skenario uji coba yang telah dilakukan. Skenario uji coba yang dilakukan adalah dengan mengklasifikasi data menggunakan tiga metode yang berbeda, yaitu ANN, Bagging, dan Boosting. Metode ANN yang digunakan adalah modul MLP dengan backpropagation, epoch 500, laju pembelajaran = 0.3, momentum = 0.2, dan jumlah simpul pada lapisan tersembunyi = 16. Jumlah simpul tersebut didapat dari (jumlah atribut + jumlah kelas) / 2. Data latih yang digunakan merupakan sebuah set data yang telah didefinisikan sebelumnya. Data tersebut telah dinormalisasi sehingga nilai tiap atribut dan kelasnya berada dalam rentang [0,1]. Uji coba dan analisis hasil uji coba akan dijelaskan lebih lanjut. A. Perbandingan beberapa metode Uji coba dilakukan dengan melatih data menggunakan tiga metode yang berbeda, yaitu ANN, Bagging, dan Boosting. Uji coba dengan metode Bagging dan Boosting menggunakan B = 15. Data yang diuji adalah 240 data Wieslaw. Uji coba menggunakan validasi silang k-fold dengan jumlah fold sebanyak 5. Uji coba dilakukan sebanyak sepuluh kali untuk tiap metode. Persentase performa prediksi yang akan diambil sebagai hasil untuk tiap metode adalah rata-rata dari sepuluh hasil uji coba tersebut. Uji coba pada skenario ini digunakan untuk mengetahui metode terbaik untuk prediksi kebangkrutan. Tabel 1 menunjukkan persentase performa prediksi untuk tiap metode. Metode Bagging dan Boosting menggunakan jumlah pengklasifikasi maksimum B sebanyak sepuluh. Nilai bobot awal wb(i) untuk metode Boosting ditentukan sebesar 1/n untuk masing-masing data latih. Nilai n merupakan jumlah data latih untuk tiap fold. Uji coba dilakukan sebanyak sepuluh kali untuk tiap metode. Persentase performa prediksi yang akan diambil sebagai hasil untuk tiap metode adalah rata-rata dari sepuluh hasil uji coba tersebut. Tabel 1 menunjukkan hasil uji coba pada skenario ini. Tabel tersebut memperlihatkan bahwa metode ensambel (Bagging dan Boosting) dapat meningkatkan performa metode prediksi Tabel 1. Performa tiap metode

4 dibandingkan metode ANN. Tabel tersebut juga memperlihatkan bahwa metode Bagging menghasilkan ratarata nilai akurasi tertinggi. Rata-rata nilai akurasi pada metode Bagging adalah sebesar 78.29%. Rata-rata nilai akurasi pada metode Boosting adalah sebesar 73.08%. Rata-rata nilai akurasi pada metode ANN adalah sebesar 70.00%. B. Perbandingan nilai parameter B Uji coba dilakukan dengan melatih data menggunakan nilai B yang berbeda, yaitu 10 dan 15. Nilai B merupakan jumlah maksimum pengklasifikasi dasar pada metode ensambel. Pada Tugas Akhir ini, pengklasifikasi dasar yang digunakan adalah ANN. Parameter tiap ANN diatur sama sebagaimana dirincikan sebelumnya. Metode ensambel yang diuji adalah Bagging dan Boosting. Uji coba menggunakan validasi silang k-fold dengan jumlah fold sebanyak 5. Uji coba dilakukan sebanyak sepuluh kali untuk tiap metode.

Tabel 2. Performa parameter B untuk metode Boosting Nilai B No. 10

15

1

72.50

73.33

2

72.92

73.75

3

72.08

73.33

4

72.50

72.50

5

72.08

72.08

6

73.75

73.75

7

74.58

75.00

8

72.92

72.08

9

70.42

71.25

10

73.75

73.75

Rata Rata

72.75

73.08

Tabel 3. Performa parameter B untuk metode Bagging

Jenis Metode

Nilai B

No.

No. ANN

Bagging

Boosting

1

70.00

78.33

73.33

2

70.00

79.58

3

70.00

4

70.00

5

10

15

1

76.67

78.33

73.75

2

77.50

79.58

78.33

73.33

3

78.75

78.33

80.00

72.50

4

76.67

80.00

70.00

78.33

72.08

5

78.75

78.33

6

70.00

78.33

73.75

6

78.75

78.33

7

70.00

76.25

75.00

7

78.75

76.25

8

70.00

75.00

72.08

8

77.08

75.00

9

70.00

78.33

71.25

9

77.92

78.33

10

70.00

80.42

73.75

10

77.08

80.42

Rata Rata

70.00

78.29

73.08

Rata Rata

77.79

78.29

JURNAL TEKNIK POMITS Vol. 1, No. 1, (2012) 1-5

5 UCAPAN TERIMA KASIH

Uji coba pada skenario ini digunakan untuk mengetahui nilai B terbaik untuk metode ensambel. Hasil uji coba pada skenario ini ditunjukkan oleh tabel 2 dan 3. Tabel 2 menunjukkan persentase performa prediksi untuk metode Boosting. Tabel 3 menunjukkan persentase performa prediksi untuk metode Bagging. Uji coba dilakukan sebanyak sepuluh kali untuk tiap metode. Persentase performa prediksi yang akan diambil sebagai hasil untuk tiap metode adalah rata-rata dari sepuluh hasil uji coba tersebut. Pada proses uji coba skenario ini, metode Boosting tidak selalu membentuk sejumlah B ANN. Pembentukan ANN baru bergantung pada performa ANN sebelumnya. Pembentukan ANN baru dihentikan apabila ANN sebelumnya mencapai galat sebesar 50% atau lebih. Tabel 2 memperlihatkan bahwa parameter B dapat mempengaruhi performa metode Boosting. Tabel tersebut juga memperlihatkan bahwa B = 15 menunjukkan performa lebih baik dibandingkan B = 10. Rata-rata nilai akurasi untuk B = 10 adalah sebesar 72.75%. Rata-rata nilai akurasi untuk B = 15 adalah sebesar 73.08%. Tabel 3 menunjukkan hasil uji coba untuk metode Bagging. Tabel tersebut memperlihatkan bahwa parameter B juga dapat mempengaruhi performa metode Bagging. Tabel tersebut juga memperlihatkan bahwa B = 15 menunjukkan performa lebih baik dibandingkan B = 10. Rata-rata nilai akurasi untuk B = 10 adalah sebesar 78.05%. Rata-rata nilai akurasi untuk B = 15 adalah sebesar 78.29%. Dari kedua tabel performa di atas, dapat dilihat bahwa parameter B dapat mempengaruhi performa metode ensambel. Nilai B = 15 menunjukkan performa lebih baik dibandingkan B = 10. Untuk B = 15, nilai akurasi Boosting yaitu 73.08% dan nilai akurasi Bagging yaitu 78.29%. IV. KESIMPULAN Berdasarkan hasil uji coba, perangkat lunak yang dikembangkan dengan metode ensemble neural network dapat dijadikan sebagai model prediksi kebangkrutan. Hal ini terlihat dari nilai akurasi 73,08% untuk metode Boosting dan 78,29% untuk metode Bagging. Pada uji coba yang dilakukan, perangkat lunak prediksi kebangkrutan dengan ensemble neural network lebih baik dibandingkan dengan ANN tunggal untuk kasus pada data Wieslaw. Pada uji coba yang dilakukan, perangkat lunak prediksi kebangkrutan dengan Bagging lebih baik dibandingkan dengan Boosting dan ANN tunggal untuk kasus pada data Wieslaw. Pada uji coba yang dilakukan, pemilihan nilai B mempengaruhi performa metode ensambel. Penggunaan B = 15 lebih baik daripada B = 10, dengan rata-rata nilai akurasi yaitu 73,08% untuk metode Boosting dan 78,29% untuk metode Bagging. Adapun saran yang disampaikan adalah uji coba menggunakan metode ensambel yang lebih baru, antara lain confidence rated boosting, Margin Boost, dan Logit Boost sehingga proses latih diharapkan akan lebih baik dan dapat menghasilkan model prediksi yang lebih akurat.

Penulis N.A. mengucapkan terima kasih kepada Direktorat Pendidikan Tinggi, Departemen Pendidikan dan Kebudayaan Republik Indonesia yang telah memberikan dukungan finansial melalui Beasiswa Madura tahun 2008-2012. DAFTAR PUSTAKA [1]

[2]

[3]

[4]

[5]

[6] [7] [8]

Kim, M. J. and Kang, D. K.2010. “Ensemble with Neural Networks for Bankruptcy Prediction”. Expert System with Applications 37: 33733379. Shaw, M. and Gentry, J. 1998. “Using and Expert System with Inductive Learning to Evaluate Business Loans”. Financial Management 17, 3: 4556. Odom, M. and Sharda, R. 1990. “A Neural Network for Bankruptcy Prediction”. Proceedings of the International Joint Conference on Neural Networks. San Diego, CA: IEEE Press. Ravi, P. and Ravi, K. V. 2007. “Bankruptcy Prediction in Banks and Firms via Statistical and Intelligent TechniquesA Review”. European Journal of Operational Research. 180, 1-28. Wieslaw, P. 2004. “Application of Discrete Predicting Structures in An Early Warning Expert System for Financial Distress”. Szczecin: Szczecin Technical University. Mitchell, T. M. 1997. “Machine Learning”. Singapore: McGraw-Hill Companies Inc. Breiman, L. 1994. “Bagging Predictors”. Machine Learning 24, 2: 123– 140. Freund, Y. and Schapire, R. E. 1996. “Experiments with A New Boosting Algorithm”. Machine Learning: Proceedings of 13th International Conference (pp. 148–156).