PERAMALAN DATA CURAH HUJAN KECAMATAN PIYUNGAN KABUPATEN BANTUL DENGAN MODEL FEEDFORWARD NEURAL...

download PERAMALAN DATA CURAH HUJAN KECAMATAN PIYUNGAN KABUPATEN BANTUL DENGAN MODEL FEEDFORWARD NEURAL NETWORKS

If you can't read please download the document

description

by Dwi Cahyo Purwanto

Transcript of PERAMALAN DATA CURAH HUJAN KECAMATAN PIYUNGAN KABUPATEN BANTUL DENGAN MODEL FEEDFORWARD NEURAL...

5BAB II LANDASAN TEORI 5 Bab ini berisi penjelasan tentang pengertian peramalan, data runtun waktu, stasioneritas, proses white noise, neural network, fungsi aktivasi, bias, arsitektur neural network, algoritma backpropagation, dan perancangan neural network.A. Peramalan Pada dasarnya definisi ramalan menurut istilah adalah hasil meramal. Meramal mengandung pengertian menduga sesuatu yang akan terjadi. Jadi peramalan adalah proses menduga sesuatu yang akan terjadi di masa yang akan datang. Menurut teori, peramalan (forecasting) adalah perkiraan mengenai sesuatu yang belum terjadi (Pangestu Subagyo, 1986: 1). Peramalan bertujuan mendapatkan ramalan yang bisa meminimumkan kesalahan meramal yang biasanya diukur dengan metode Mean Squared Error (MSE), Mean Absolut Error (MAE), dan sebagainya (Pangestu Subagyo, 1986: 1). Peramalan mempunyai hubungan dengan rencana karena ramalan adalah peramalan apa yang akan terjadi pada waktu yang akan datang melalui studi masa lalu, sedangkan rencana adalah penentuan apa yang akan dilakukan pada waktu yang akan datang (Pangestu Subagyo, 1986: 3). Peramalan pada umumnya digunakan untuk memprediksi sesuatu yangkemungkinan besar akan terjadi misalnya kondisi permintaan, banyaknya curah hujan, kondisi ekonomi, dan lain-lain. Metode peramalan dilakukan dengan cara mengekstrapolasi kondisi masa lalu untuk masa kondisi yang akan datang. Hal ini akan didasarkan pada asumsi bahwa kondisi masa lalu sama dengan kondisi masa mendatang. Atas dasar logika ini, langkah dalam metode peramalan secara umum adalah mengumpulkan data, menyeleksi dan memilih data, memilih model peramalan, menggunakan model terpilih untuk melakukan peramalan, evaluasi hasil akhir. Hal terpenting dalam peramalan adalah dapat meminimumkan kesalahan peramalan (Pangestu Subagyo, 1986: 6).B. Data Runtun Waktu Data runtun waktu adalah serangkaian data kuantitatif mengenai nilainilai suatu variabel yang tersusun secara beruntun (berderet) dalam periode waktu tertentu. Data runtun waktu diklasifikasikan menurut interval waktu yang sama, baik dalam jam, harian, mingguan, bulanan, kuartalan, ataupun tahunan. Sebagai contoh adalah pemakaian listrik harian, perubahan pemakaian listrik setiap minggu, jumlah penjualan setiap bulan, data curah hujan bulanan, ataupun pembayaran pajak setiap tahun. Konsep yang berkaitan dengan analisis runtun waktu adalah fungsi autokorelasi (ACF). Autokorelasi merupakan korelasi atau hubungan antar data pengamatan suatu data runtun waktu. Menurut Hanke dan Wichern (2005: 60), koefisien autokorelasi untuk lag-k dengan pengamatan pada7periode t dan t-k dari data runtun waktu dinyatakan sebagai berikut:(2.1) dengan = koefisien autokorelasi dari periode ke-k = pengamatan saat periode t = pengamatan pada periode waktu t-k = nilai rata-rata dari suatu deret runtun waktu Untuk mengetahui apakah koefisien autokorelasi yang diperoleh signifikan atau tidak, perlu dilakukan pengujian. Pengujian dapat dilakukan dengan menggunakan statistik uji t, dengant=(2.2)= dengan, ri k = standar error untuk autokorelasi pada lag ke-k = autokorelasi pada lag ke-i = selisih waktu n = banyaknya observasi dalam runtun waktu(2.3)dengan hipotesis H0 : H1 : = 0 (koefisien autokorelasi yang diperoleh tidak signifikan) 0 (koefisien autokorelasi yang diperoleh signifikan) dan kriteria keputusan: H0 ditolak jika t . Selainmenggunakan uji tersebut, untuk mengetahui apakah koefisien autokorelasiyang diperoleh signifikan atau tidak dapat dilihat pada grafik fungsi autokorelasi (ACF). Jika pada grafik ACF ada lag yang melebihi garis batas signifikansi (garis putus-putus), maka koefisien autokorelasi signifikan pada lag yang melebihi batas garis signifikansi.C. Stasioneritas Stasioneritas berarti bahwa tidak terdapat perubahan yang drastis pada data. Fluktuasi data berada disekitar suatu nilai rata-rata yang konstan, tidak tergantung pada waktu dan varians dari fluktuasi tersebut (Makridakis, 1999: 351). Bentuk visual dari plot data runtun waktu sering kali cukup meyakinkan para peneliti bahwa data yang diperoleh stasioner atau nonstasioner. Data runtun waktu dikatakan stasioner dalam rata-rata jika rataratanya tidak berubah dari waktu ke waktu atau data bersifat stabil. Gambar 2.1 berikut ini merupakan contoh plot data runtun waktu yang stasioner dalam rata-rata. Gambar 2.2 menunjukkan plot data runtun waktu yang tidak stasioner dalam rata-rata.Gambar 2.1 Plot Data Stasioner dalam Rata-Rata5Time Series Plot of Yt290 280 270 260 Yt 250 240 230 220 210 1 5 10 15 20 25 30 35 40 Observation 45 50 55 60 65Gambar 2.2 Plot Data Tidak Stasioner dalam Rata-Rata Untuk mengatasi ketidakstasioneran data berdasarkan rata-rata (mean) yaitu dengan melakukan pembedaan (differencing). Menurut Makridakis, dkk (1999: 452) notasi yang sangat bermanfaat dalam metode pembedaan adalah operator shift mundur (backward shift) disimbolkan dengan B sebagai berikut (2.4) Notasi B yang dipasang pada , mempunyai pengaruh menggeser akan menggeserdata satu periode ke belakang, dua penerapan B untuk data tersebut dua periode ke belakang sebagai berikut(2.5) Apabila suatu runtun waktu tidak stasioner, maka data tersebut dapat dibuat lebih mendekati stasioner dengan melakukan pembedaan pertama. Pembedaan pertama (2.6) Menggunakan operator shift mundur, persamaan (2.6) dapat ditulis kembali menjadi:Pembedaan pertama (2.7)Pembedaan pertama dinyatakan oleh Sama halnya apabila pembedaan orde kedua (yaitu pembedaan pertama dari pembedaan pertama sebelumnya) harus dihitung maka(2.8)Disini pembedaan orde kedua diberi notasi.Tujuan menghitung pembedaan adalah untuk mencapai stasioneritas dan secara umum apabila terdapat pembedaan orde-d untuk mencapai stasioneritas sebagai berikut (2.9) Data runtun waktu dikatakan stasioner dalam varians jika fluktuasi datanya tetap atau konstan, seperti pada gambar 2.3 berikut ini. Sebaliknya jika data runtun waktu menunjukkan bahwa terdapat variasi fluktuasi data pada grafik maka data termasuk dalam runtun waktu yang tidak stasioner7berdasarkan varians. Data runtun waktu yang tidak stasioner dalam varians ditunjukkan pada gambar 2.4.Tim Series Plot of ln(Xt) e5.755.50ln(Xt)5.255.004.754.50 1 13 26 39 52 65 Index 78 91 104 117 130Gambar 2.3 Plot Data Stasioner dalam VariansProduksi Bawang M erah950000 900000 850000 Produksi 800000 750000 700000 650000 600000 1 2 3 4 5 6 7 Index 8 9 10 11 12Gambar 2.4 Plot Data Tidak Stasioner dalam Varians Untuk menstasionerkan data tidak stasioner dalam varians dapat dilakukan dengan transformasi. Pendekatan utama untuk memperoleh stasioneritas dalam varians adalah melalui suatu transformasi logaritma atau transformasi kemampuan data (Makridakis, 1995 : 401).D. Proses White Noise Suatu proses { } disebut proses white noise jika terdapat sebuah barisan variabel random yang tidak berkorelasi dengan rata-rata konstan E()== 0, variansi konstan Var( ) =, dan= Cov( ,) = 0 untuk k0 (Wei, 2006: 15). Sesuai dengan definisi tersebut, proses white noise adalah stasioner dengan fungsi autokovarians= fungsi autokorelasi(2.10)=(2.11)Dasar dari proses white noise adalah nilai fungsi autokorelasi dari residu adalah mendekati nol. Uji Ljung-Box dapat dilakukan untuk mengetahui apakah residu atau error memenuhi proses white noise atau tidak. Uji Ljung-Box dapat dilakukan dengan statistik uji:Q = n(n+2) dengan, n k m rk = banyaknya observasi dalam runtun waktu = selisih waktu = banyaknya lag autokorelasi yang diuji = koefisien autokorelasi dari periode ke-k(2.12)dengan hipotesis: H0 : H1 : noise) =..= = 0 (residu/error memenuhi proses white noise)0, untuk i = 1, 2, , k (residu/error tidak memenuhi proses white9dan kriteria keputusan: H0 ditolak jika Q > dan m adalah banyaknya lag.denganadalah taraf signifikansiE. Neural Network Neural Network (Jaringan Syaraf Tiruan) dapat dibayangkan seperti otak buatan di dalam cerita-cerita fiksi ilmiah. Otak buatan ini menyerupai cara kerja otak manusia dalam menyimpulkan sesuatu dari potonganpotongan informasi yang telah ada. Penerapan jaringan syaraf tiruan (JST) ini dilakukan dengan melakukan peniruan terhadap aktivitas-aktivitas yang terjadi didalam sebuah jaringan syaraf biologis. Ketika manusia berpikir, aktivitas-aktivitas yang terjadi adalah aktivitas mengingat, memahami, menyimpan, dan memanggil kembali yang pernah dan telah dipelajari oleh otak. Cara kerja jaringan syaraf biologis inilah yang dijadikan sebagai ide untuk membangun jaringan syaraf tiruan. Contohnya adalah adanya elemen-elemen pemrosesan pada jaringan syaraf tiruan yang saling terhubung dan beroperasi secara paralel. Jadi jaringan syaraf tiruan menghasilkan keluaran berdasarkan pengalaman selama mengikuti proses pembelajaran. 1. Definisi Neural Network (Jaringan Syaraf Tiruan) Menurut Siang (2005: 2), jaringan syaraf tiruan merupakan system pemroses informasi yang memiliki karakteristik mirip dengan jaringan syaraf biologi.Jaringan syaraf biologis merupakan kumpulan dari neuron yang bertugas untuk mengolah informasi. Sedangkan jaringan syaraf tiruan dibentuk sebagai generalisasi model matematika dari jaringan syaraf biologi (Siang, 2005: 2), dengan asumsi bahwa: 1. Pemrosesan informasi terjadi pada banyak elemen sederhana (neuron). 2. Sinyal dikirim diantara neuron-neuron melalui penghubungpenghubung. 3. Penghubung antar neuron memiliki bobot yang akan memperkuat atau memperlemah sinyal. 4. Untuk menentukan output, setiap neuron menggunakan fungsi aktivasi (biasanya bukan fungsi linier) yang dikenakan pada jumlahan input yang diterima. Neuron adalah unit pemroses informasi yang menjadi dasar dalam pengoperasian jaringan syaraf tiruan (Siang, 2005: 23). Neuron terdiri dari 3 elemen pembentuk, yaitu: a. Himpunan unit-unit yang dihubungkan dengan jalur koneksi. b. Suatu unit penjumlah yang akan menjumlahkan masukan-masukan jaringan yang sudah dikalikan dengan bobotnya. c. Fungsi aktivasi yang akan menentukan apakah jaringan dari input neuron akan diteruskan ke neuron lain ataukah tidak. Jaringan syaraf tiruan ditentukan oleh 3 hal, yaitu: a. Pola hubungan antar neuron (disebut arsitektur jaringan)11b. Metode untuk menentukan bobot penghubung (disebut metode training atau learning) c. Fungsi aktivasi Proses memasukkan learning informasi jaringan yang syaraf tiruan telah dimulai diketahui dengan hasilsebelumnyakebenarannya. Pemasukan informasi ini dilakukan lewat unit-unit input. Bobot-bobot antar koneksi dalam suatu arsitektur diberi nilai awal dan kemudian jaringan syaraf tiruan dijalankan. Bagi jaringan sendiri, bobotbobot ini digunakan untuk belajar dan mengingat suatu informasi yang telah ada. Pengaturan bobot dilakukan secara terus menerus dan dengan menggunakan kriteria tertentu sampai diperoleh hasil sesuai dengan kriteria yang ditentukan. Dari penjabaran diatas, maka jaringan syaraf tiruan disusun menjadi tiga bagian utama yaitu: 1. Lapisan input (terdiri atas unit-unit input) Unit-unit input menerima input dari dunia luar, input yang diberikan merupakan penggambaran suatu masalah. 2. Lapisan tersembunyi (terdiri atas unit-unit tersembunyi) Output dari lapisan ini tidak dapat diamati secara langsung. 3. Lapisan output (terdiri atas unit-unit output) Keluaran dari lapisan ini merupakan hasil dari jaringan syaraf tiruan terhadap suatu permasalahan. Penggunaan jaringan syaraf tiruan ini karena teknik ini dapatditerapkan pada data runtun waktu dengan fungsi linear maupun nonlinear dengan berbagai tingkat akurasi yang diinginkan. Kelebihan jaringan syaraf tiruan lainnya ialah model jaringan syaraf tiruan dihasilkan langsung dari data. Beberapa contoh model jaringan syaraf tiruan diantaranya adalah perceptron, adaline, kohonen, hopfield, propagasi balik (feedforward), dan lain-lain (Puspitaningrum, 2006: 22-25). Namun pada penelitian ini model yang akan digunakan adalah dengan Feedforward Neural Network (FFNN) karena feedforward merupakan perbaikan dari model-model sebelumnya yaitu perceptron, adaline, dan kohonen. Selain itu model kohonen dan hopfield biasanya digunakan untuk memecahkan masalah traveling salesman problem. 2. Fungsi Aktivasi Ada beberapa fungsi aktivasi yang sering digunakan dalam FFNN. Pemilihan bentuk FFNN dengan satu lapis tersembunyi dan fungsi linear pada lapis output (tidak ada fungsi aktifasi nonlinear pada lapis output) ini dimotivasi dari fakta yang menyatakan bahwa bentuk ini dapat memberikan pendekatan sebarang yang akurat pada sebarang fungsi dalam berbagai ruang fungsi normal jika dimensi dari ruang bobot adalah cukup besar (Suhartono, 2007: 13). a. Fungsi Linear (purelin) Fungsi linear sederhana dirumuskan sebagai y=x (2.13)13Pada Matlab fungsi linear dikenal dengan nama purelin dan memiliki sintak y = purelin( )Gambar 2.5 Skema Fungsi purelin b. Fungsi Sigmoid Biner (logsig) Fungsi sigmoid biner sering digunakan pada metode backpropogation dan memiliki nilai antara 0 sampai 1. Fungsi sigmoid biner dirumuskan sebagai y = f (x) = dengan f (x) = f(x) [1 - f(x)] (2.14) (2.15)Pada Matlab fungsi sigmoid biner dikenal dengan nama logsig dan memiliki sintak y = logsig( )Gambar 2.6 Skema Fungsi logsig3. Bias Bias adalah sebuah parameter neuron yang dijumlahkan dengan bobot neuron input dan diteruskan melalui fungsi transfer untuk menghasilkan output neuron. Bias berfungsi untuk mengubah nilai threshold menjadi 0 (Siang, 2005: 27). Jika melibatkan bias (b) maka keluaran unit penjumlah adalah net = b + Dalam Matlab, bias secara default telah(2.16)diinisialisasimemenggunakan fungsi Initlay yang berarti nilainya ditentukan mengggunakan metode Nguyen-Widrow. Metode ini secara sederhana dapat dijabarkan dalam prosedur berikut ini (Kusumadewi, 2004: 97): 1. Tentukan terlebih dulua. n = jumlah unit lapisan input b. p = jumlah unit lapisan tersembunyi= faktor penskalaan ()2. Kerjakan untuk setiap unit pada lapisan tersembunyi (j = 1, 2, ..., p) a. Inisialisasi bobot-bobot dari lapisan input ke lapisan tersembunyi. = bilangan random antara 0,5 sampai 0,5 Hitung = b. Inisialisasi ulang bobot-bobot(2.17)=(2.18)15c. Set bias: b1j = bilangan random antara sampai4. Arsitektur Neural Network (NN) Pada NN, neuron-neuron tersusun dalam layer (lapisan). Pengaturan neuron dalam layer dan hubungannya disebut dengan arsitektur jaringan. Arsitektur NN diantaranya adalah: 1. Single-Layer Feedforward Neural Network Tipe jaringan paling sederhana, dibangun oleh lapisan masukan yang berkoneksi dengan lapisan keluaran yang berjalan satu arah (feedforward). Proses komputasinya terjadi pada lapisan keluaran.Lapisan MasukanLapisan KeluaranGambar 2.7 Arsitektur Neural Network Lapisan Tunggal 2. Multilayer Feedforward Neural Network Pada tipe ini, diantara lapisan masukan dan keluaran terdapat satu atau lebih lapisan tersembunyi (hidden layer). Hubungan antar lapisan berlangsung satu arah.Lapisan MasukanLapisan Tersembunyi Lapisan KeluaranGambar 2.8 Arsitektur Neural Network Lapisan Jamak 5. Algoritma Backpropagation Backpropogation merupakan metode training untuk multilayer feedforward neural networks yang paling biasa digunakan.Backpropogation dapat diterapkan pada feedforward neural networks manapun dan fungsi aktivasinya differentiable. Untuk sebagian besar besar network, proses learning(pembelajaran/pelatihan) didasarkan pada suatu fungsi error yang cocok, yang kemudian diminimalkan dengan mengacu pada nilai weight (berat/bobot) dan bias. Jika network mempunyai fungsi aktivasi differential, maka fungsi aktivasi unit output menjadi fungsidifferentiable dari variabel input, weight, dan bias. Untuk itu, kita dapat mengevaluasi derivative dari error yang mengacu pada weight, dan derivative tersebut kemudian dapat digunakan untuk menemukan weight yang meminimalkan fungsi error-nya dengan menggunakan metode optimasi yang ada. Algoritma untuk mengevaluasi derivative dari fungsi error dikenal dengan backpropagation, karena metode ini mempropagasi secara mundur melalui seluruh bagian network. 6. Perancangan Neural Network17Dalam system berbasis neural network, nilai keluaran sistem akan sangat dipengaruhi oleh metode neural network yang digunakan. Oleh karena itu, perancangan neural network ini akan menjadi sifat utama dalam perancangan sistem. Langkah-langkah membangun struktur jaringan untuk peramalan sebagai berikut: 1. Pembagian data Dalam pembagian data, data dibagi menjadi data pelatihan, dan data pengujian. Beberapa komposisi data pelatihan, dan data pengujian yang sering digunakan adalah sebagai berikut (Danarto, 2003 : 34): a. 80 % untuk data training dan 20 % untuk data testing. b. 75 % untuk data training dan 25 % untuk data testing. c. 65,67 % untuk data training dan 33,33 % untuk data testing. d. 60 % untuk data training dan 40 % untuk data testing. e. 50 % untuk data training dan 50 % untuk data testing. Aspek pembagian data harus ditekankan agar jaringan mendapat data pelatihan yang secukupnya dan data pengujian dapat menguji prestasi pelatihan yang dilakukan berdasarkan nilai MSE data pelatihan dan pengujian. Bilangan data yang kurang untuk proses pelatihan akan menyebabkan jaringan tidak dapat mempelajari taburan (sebaran) data dengan baik. Sebaliknya, jika data yang digunakan untuk proses pelatihan cukup banyak akan melambatkanproses pemusatan (konvergensi). 2. Perancangan jaringan yang optimum Setelah pembagian data, langkah selanjutnya adalah penentuan bilangan simpul masukan, bilangan lapisan tersembunyi, bilangan simpul lapisan tersembunyi, dan bilangan simpul keluaran yang akan digunakan dalam jaringan. Ada beberapa aturan yang dapat membantu perancangan jaringan yang optimum, yaitu sebagai berikut: a. Bilangan simpul masukan sama dengan periode data berfluktuasi. b. Bilangan simpul keluaran sama dengan bilangan keluaran masalah. c. Mulai dengan satu lapisan tersembunyi dan gunakan lebih dari satu lapian tersembunyi jika diperlukan. d. Jika menggunakan satu lapisan tersembunyi, bilangan simpul tersembunyi awal adalah 75 % dari bilangan simpul masukan. Penggunaan jaringan dengan dua atau lebih lapisantersembunyi dalam masalah peramalan kebanyakan tidak akan memberikan pengaruh yang sangat besar terhadap hasil yang diperoleh jaringan untuk melakukan peramalan. Selain itu akan melambatkan proses pelatihan yang disebabkan bertambahnya simpul. Beberapa kaedah untuk memperkirakan bilangan simpul tersembunyi yaitu sebagai berikut: h = n, 2n h = n/2 dengan, (2.19) (2.20) n = bilangan simpul masukan yang digunakan19h = bilangan simpul tersembunyi Penentuan bilangan simpul tersembunyi yang terbaik diperoleh secara trial and error dari simpul 1 sampai 2n. Untuk persamaan (2.20) digunakan apabila jumlah simpul masukan terlalu banyak. 3. Pemilihan koefisien pemahaman dan momentum Pemilihan koefisien pemahaman dan momentum mempunyai peranan penting untuk struktur jaringan yang akan dibangun. Dalam pembangunan jaringan yang akan digunakan dalam peramalan, hasil keputusan yang kurang memuaskan dapat diperbaiki dengan penggunaan koefisien pemahaman dan momentum secara trial and error untuk mendapatkan nilai bobot yang paling optimum agar MSE jaringan dapat diperbaiki. 4. Memilih dan menggunakan struktur jaringan yang optimum Jaringan yang dibangun akan dinilai keakuratan ramalannya. Salah satu kaedah penilaian yang digunakan adalah Mean Square Error (MSE). Pendekatan Ketepatan model dilihat dari nilai MSE-nya. Nilai MSE didapat dari persamaan berikut ini. MSE = dengan, n =2(2.21)= bilangan ramalan = nilai aktual pengamatan ke-i = nilai ramalan pengamatan ke-iBerdasarkan nilai MSE yang terendah dari proses pelatihan, diperoleh jaringan yang optimum. Keakuratan ramalan jaringandilihat dari nilai MSE dari proses pengujian. 5. Pemilihan jaringan optimum dan penggunaannya untuk peramalan Langkah-langkah pemilihan jaringan yang optimum sebagai berikut: a. Proses pelatihan dilakukan terhadap data pelatihan dengan struktur jaringan yang memiliki bilangan simpul tersembunyi berbeda akan diperoleh nilai keluaran jaringan. Nilai MSE-nya dihitung. Jaringan dengan nilai MSE terendah dipilih sebagai jaringan yang optimum untuk digunakan dalam peramalan. b. Setelah proses pelatihan, dilakukan proses pengujian terhadap data pengujian dengan struktur jaringan yang memiliki bilangan simpul tersembunyi berbeda yang telah dilatih akan diperoleh nilai keluaran jaringan. Nilai MSE masing-masing struktur jaringan dihitung. Proses pengujian dilakukan untuk menguji hasil pelatihan dan sebagai pendukung bahwa jaringan terpilih sebagai jaringan yang tepat untuk model peramalan.c. Proses validasi dilakukan dengan menggunakan jaringan terpilihterhadap data testing untuk melihat hasil ramalannya apakah sudah baik atau belum.