Industrial Electronics Seminar 2008 Electronics Engineering Polytechnic Institute of Surabaya
Evolutionary Algorithm pada Neuro-Fuzzy Network untuk Forecasting Electrical Load Data Time-Series Felix Pasila, William, Hany Ferdinando Electrical Engineering Department, Petra Christian University Surabaya, Indonesia Email address:
[email protected],
[email protected],
[email protected]
permasalahan yang kompleks. Hal ini dikarenakan fungsi dari kedua komputasi ini saling mendukung, yaitu neuralnetwork dapat memperbaiki nilai-nilai parameter dari sistem fuzzy-logic sedangkan fuzzy-logic dapat memonitor performa dan learning rate dari neuralnetwork. Pada paper ini, MISO neuro-fuzzy network tipe Takagi-Sugeno yang dianggap belum memiliki pameter yang optimal [2], akan digabungkan dengan metode optimisasi dengan jenis Evolutionary Algorithm, akan dijelaskan pada bagian 2, hasil simulasi validasi training dari Evolutionary Algorithm akan dijelaskan pada bagian 3, serta kesimpulan akan dipaparkan pada bagian terakhir.
Abstract Dalam long term forecasting (LTF) data beban listrik Jatim-Bali (2005-2007) menggunakan struktur jaringan neuro-fuzzy dengan algoritma training LevenbergMarquardt algorithm (LMA) diperoleh nilai MSE ( Mean Squared Error) yaitu 2 x10-3 tetapi dirasa masih belum optimal. Oleh karena itu, Evolutionary Algorithm akan digunakan untuk optimasi parameter sehingga diharapkan output dari Evolutionary Algorithm merupakan global minimum. Tipe Evolutionary Algorithm yang digunakan adalah Real Coded Genetic Algorithm karena parameter mean dan variance dari Gaussian Membership Function adalah bilangan real. Metode yang digunakan dalam proses crossover adalah Heuristic crossover dan untuk proses mutasi menggunakan Multiple Uniform Mutation. Hasil mean dan variance dengan MSE LTF terkecil diperoleh dari proses Evolutionary Algorithm inilah yang akan digunakan untuk long term forecasting. Parameter Evolutionary Algorithm untuk memperoleh mean dan variance terbaik adalah pc = 0.9, pm =0.2 dengan jumlah populasi = 120. MSE LTF terbaik yang diperoleh adalah 1.9x10-3.
2. Neuro-Fuzzy Sistem untuk Forecasting Arsitektur jaringan dari neuro-fuzzy yang digunakan adalah struktur feed forward multi input multi output Tipe Takagi-Sugeno yang diusulkan oleh Palit and Popovic [1,4], seperti yang ditunjukkan pada gambar 1. Struktur feed forward MIMO Neuro-fuzzy model tersebut menggunakan Gaussian membership function, fuzzy rule tipe Takagi-Sugeno, product inference dan weighted average defuzzyfication. Node pada layer pertama menghitung degree of membership dari nilai input numerik dari fuzzy set [3]. Output dari node yang diberi tanda (x) adalah bersesuaian dengan degree of fulfillment dari rule fuzzy sistem. Kemudian pada bagian yang diberi tanda (l), bersama dengan node penjumlahan (+), menghasilkan normalisasi dari degree of fulfillment ( z l / b ) dari fuzzy rule yang bersesuaian, dimana setelah perkalian dengan Takagi-Sugeno rule consequent ( y lj ), hasilnya digunakan
Keywords: Evolutionary Algorithm, Neuro-fuzzy, electrical load forecasting, long-term forecasting. 1. Pendahuluan Forecasting beban listik sangat diperlukan dalam membuat perencanaan dan pengelolaan power generator, load switching, dan perencanaan pengembangan infrastruktur suatu power system suatu perusahaan atau Negara. Model yang diperoleh dapat digunakan untuk kontrol beban misalnya dapat memutuskan kapan power plant bekerja 25%, 50%, atau 100%. Neuro-fuzzy merupakan gabungan antara fuzzy-logic dan neural-network dimana kombinasi kedua sistem ini dianggap mampu untuk mencari solusi dari banyak
sebagai input terhadap bagian penjumlahan terakhir (+) pada output defuzzyfikasi yang sudah cocok dengan data sebenarnya secara langsung. Untuk long term forecasting tipe MISO, nilai output m diset = 1.
A-21
1
G1M
• • •
• • •
y1m
ZM
fm
M
Z /b
G nM
m outputs
b
Degree of fulfilment Of M rules
n inputs
• • •
f1 y1M
Gn1
X1
Xn
Z /b
Z1
• X n•
Dengan mengamati bentuk-bentuk persamaan fungsional pada (1a) – (1d), itu menunjukan bahwa FLS dapat dibentuk sebagai jaringan 3 layer MIMO feedforward network, seperti yang ditunjukkan pada gambar 1. Sebagai ganti dari bobot jaringan, dan bias dalam algoritma training seperti BPA pada NN, digunakan parameter mean cil dan juga variance τ il dari Gaussian membership functions, bersama dengan parameter W0l j ,Wijl
y11
G11
X1 •
dari Takagi-Sugeno rule, sebagai parameter yang dapat di-adjust (adjustable) dari jaringan. Jika semua parameter untuk NF network sudah dipilih dengan benar, maka FLS dapat memperkirakan semua sistem yang non-linear dengan benar sesuai dengan matrik XIO yang diberikan. Jika sebuah fungsi V (w) diartikan sebagai parameter vektor w dengan menggunakan metode Newton, maka update dari parameter vektor w dapat didefinisikan sebagai berikut: −1 (3a) ∆w = −[∇ 2V (w)] ⋅ ∇V (w) (3b) w(k + 1) = w(k ) + ∆w Dari persamaan (3a), ∇ 2V (w) adalah matrik Hessian dan ∇V (w) adalah gradien dari V (w) . Dan fungsi V (w) yang diambil dari persamaan SSE adalah sebagai berikut :
y mM
Gambar 1. Fuzzy system MIMO feedforward TakagiSugeno-type Neural-Fuzzy network 2.1. Representasi Neural Network dari Fuzzy Logic Sistem (FLS) Fuzzy logic sistem yang digunakan untuk membangun struktur neuro-fuzzy adalah berdasarkan atas Takagi-Sugeno rule dengan Gaussian membership function. FLS yang akan digunakan untuk membangun struktur neuro-fuzzy ini menggunakan produk inference rule dan weighted avarage defuzzifier seperti yang didefinisikan sebagai berikut : M
f j = ∑ y lj ⋅ hl
(1a)
y lj = W0l j + W1lj x1 + W2l j x2 + ... + Wnjl xn
(1b)
N
V (w) = 0.5 ⋅ ∑ er2 (w)
(4)
r =!
l =1
hl = z l / b , and b = ∑ z l
(1c)
Sehingga gradien dari V (w) dan matrik Hessian ∇2V (w) secara umum dapat didefinisikan sebagai berikut: (5a) ∇V (w) = J T (w) ⋅ e(w)
x − cl z l = ∏ exp − i l i σi i =1
(1d)
∇ 2V (w) = J T (w) ⋅ J (w) + ∑ er (w) ⋅ ∇ 2er (w)
(
)
M
l =1
n
2
N
Dengan matrik Jacobian J (w) adalah sebagai berikut : ∂e1 (w) ∂w 1 ∂e2 (w ) J (w ) = ∂w1 M ∂eN (w) ∂w 1
Jika cil ∈ I i , τ il > 0, dan y lj ∈ O j , dengan I i dan O j adalah input dan output, maka rule ke-l ( l th rule ) dari FLS di atas dapat dituliskan sebagai berikut : R l : IF x1 is G1l AND ... AND xn is G ln THEN y j = W l0 j + W 1l jx1 + ... + W lnj xn . l
f j with
(2)
input sistem sebanyak n, j = 1,2,..., m; adalah output sistem sebanyak m, dan
Dimana,
x i with i = 1,2,..., n;
∂e1 (w) ∂e1 (w) L ∂w2 ∂wN p ∂e2 (w) ∂e2 (w ) L ∂w2 ∂wN p M M ∂eN (w) ∂eN (w) L ∂w2 ∂wN p
(5c)
Dimensi dari matrik Jacobian adalah ( N × N p ), dimana adalah jumlah dari sample training dan
adalah Gaussian membership functions dari bentuk (2) dengan parameter mean and variance cil dan τ il yang bersesuaian dan th y lj output consequent dari l rule. Harus diingat juga Gil with i = 1,2,..., n;
(5b)
r =1
and l = 1,2,..., M ;
Np
N
adalah jumlah
dari parameter yang dapat diubah (adjustable parameters) di dalam jaringan. Untuk metode Gauss-Newton yang telah dimodifikasi maka update parameter akan menjadi : −1 (6a) ∆w = −[J T (w) ⋅ J (w) + µ ⋅ I ] ⋅ J T (w) ⋅ e(w) dimana I adalah matrik identitas dengan dimensi ( N p × N p ), da parameter µ dapat dikalikan atau dibagi oleh
bahwa Gaussian membership function Gil sebenarnya mewakili pernyataan linguistic seperti rendah, sedang, tinggi, sangat tinggi dll. Rule yang disebutkan pada (2) diatas disebut sebagai Takagi-Sugeno rules.
faktor yang konstan, untuk menaikkan atau menurunkan nilai dari V (w) . Dan persamaan akhir dari parameter yang telah diupdate berdasarkan persamaan (3b) adalah :
A-22
[
w(k + 1) = w(k ) − J T (w) ⋅ J (w) + µ ⋅ I
]
−1
⋅ J T (w) ⋅ e(w) (6b)
4.Membentuk prosedur untuk proses rekombinasi. 5.Membentuk prosedur untuk proses mutasi. 6.Menentukan termination method. Termination method ini yang akan menentukan kapan GA akan berhenti bekerja.
Dimana : w(k +1) adalah parameter baru yang telah di-update w(k) adalah parameter sebelumnya. Kemudian Jacobian matrik dan transpose Jacobian matrik dari parameter mean ( cil )dan variance ( τ il ) dapat dicari dengan persamaan : 2 (7a) J T (cil ) = 2 ⋅ Deqv ⋅ z l ⋅ (xi − cil )/ (σ il )
{
}
( ) [ ( )] = 2 ⋅ D ⋅ z ⋅ (x − c )/ (σ ) J (σ ) = {2 ⋅ D ⋅ z ⋅ (x − c ) / (σ ) } J (σ ) = [J (σ )] = 2 ⋅ D ⋅ z ⋅ (x − c ) / (σ )
J cil = T
T J T cil
l i
l i
Proses initiate population merupakan proses awal dari sistem Genetic Algorithm., dimana pada proses ini populasi awal dibentuk secara random. Jumlah populasi juga ditetapkan pada tahap ini. Jumlah populasi ini akan dijaga tetap untuk setiap generasi. Pada proses ini, juga perlu menentukan batas random untuk parameter yang akan dioptimasi. Hal ini dimaksudkan agar GA lebih terfokus dan membuat proses GA lebih cepat untuk menemukan hasil yang optimal. Proses seleksi menggunakan Roulette Wheel Selection untuk memilih sejumlah chromosome dengan nilai fitness terbaik. Fitness function yang digunakan berdimensi popx1 dengan persamaan : 1 (10)
l
eqv
l 2 i
l
eqv
i
l T i
T
l 2 i
l i
i
(7b)
T
(7c)
l 3 i
l 2 i
l
eqv
i
l 3 i
T
(7d)
Dengan nilai eeqv dan Deqv sebagai berikut : p eeqv =
(e
p2 1
(
2
+ e2p + L + emp
Deqv = Α ⋅ Ε eqv
) ⋅ (Ε T
eqv
2
)
⋅ Εeqv
(8)
)
T −1
(9)
Dimana p = 1,2,3,..., N ; bersesuaian dengan N sebagai jumlah data training, eeqv memiliki kontribusi nilai yang
fitness =
sama besar dengan seluruh SSE yang dapat ditemukan oleh error dari jaringan MIMO. Dan Eeqv adalah
2.2.1. Crossover Dalam GA, crossover menggabungkan materi genetik dari kedua chromosome parent menjadi dua chromosome baru atau biasa disebut offspring. Untuk proses crossover menggunakan metode Heuristic crossover dengan persamaan : (11a) S ag +1 = r ( S ag ) + (1 - r) S bg
equivalent error vector dengan ukuran matrik (Nx1) yang memiliki elemen
p eeqv untuk semua training sample (N).
Sedangkan untuk ukuran matrik
MSE LTF
dimana pop adalah jumlah populasi.
Deqv dan A adalah
matrik dengan ukuran (MxN) dan (Mx1). Perlu diperhatikan bahwa normalized prediction error digunakan untuk perhitungan jacobian matrik W0lj dan Wijl ,
S bg +1 = r ( S bg ) + (1 - r)
sedangkan normalized equivalent error dipakai untuk perhitungan jacobian matrik mean cil dan variance τ il . Setelah semua nilai Jacobian matrik dan transpose Jacobian matrik diperoleh untuk masiing-masing parameter, maka nilai dari update parameter-parameter nantinya akan dapat diperoleh.
S ag
(11b)
2.2.2. Mutation Proses mutasi adalah proses yang bertujuan untuk mengubah salah satu atau lebih bagian dari chromosome (gen). Gen yang akan termutasi adalah gen yang mempunyai nilai random kurang atau sama dengan nilai probabilitas mutation (pm) dimana nilai random tersebut antara 0 dan 1. Multiple Uniform Mutation adalah Uniform Mutation dari n elemen random. Dimana n adalah angka random dan n ∈ {1,2,K Lchrome } Pada tipe Uniform Mutation, pemilihan secara random elemen ak dimana k ∈ {1,2, K Lchrome } yang kemudian diganti dengan a’k. a’k adalah bilangan random dengan batas [ a kmin , a kmax ] . Chromosome hasil mutasi tipe ini
2.2. Evolutionary Algorithm Evolutionary Algorithm (EA) adalah proses optimasi yang menggunakan prinsip evolusi alami. Tipe EA yang digunakan adalah Real Coded Genetic Algorithm (GA). Struktur chromosome terdiri dari satu matriks mean dan variance dengan metode crossover dan mutasi yang dilakukan secara bergantian pada masing-masing matriks mean dan variance. Dimensi matriks dari mean dan variance adalah M x n, dimana M adalah jumlah Gaussian Membership Function dan n adalah jumlah input. Langkah-langkah dalam proses GA adalah sebagai berikut : 1.Initiate population. 2.Melakukan evaluasi terhadap initiate population untuk mendapatkan nilai fitness. 3.Membentuk prosedur untuk proses seleksi.
adalah S ag +1 = (a1,…, a’k,…, aLchrome) ([4], p.205). Parameter GMF ( cil dan τ il ) yang akan dioptimasi dengan Evolutionary Algorithm menggunakan nilai fitness berupa MSE LTF yang merupakan salah satu hasil dari forecasting. Program Evolutionary Algortihm ini akan berhenti pada iterasi ke-500 karena pada iterasi diatasnya
A-23
sudah tidak mengalami perubahan yang signifikan. Setelah program ini berhenti maka dilakukan pencarian nilai MSE LTF yang terkecil dari kumpulan MSE LTF terbaik dari tiap iterasi. Kemudian kombinasi mean dan variance yang menghasilkan MSE LTF terkecil inilah yang akan disimpan sebagai optimal parameter (gambar 2).
pc akan divariasi antara 0.6 sampai 0,9 sedangkan untuk nilai pm akan divariasi antara 0,1 sampai dengan 0,4. Hasilnya dapat dilihat pada Tabel 4.1. Tabel 4.1. Perbandingan Variasi Nilai pc dan pm Populasi = 20 MSE LTF terbaik Pc Pm 0.6 0.1 0.0019593 0.6 0.2 0.0019592 0.6 0.3 0.0019589 0.6 0.4 0.0019592 0.7 0.1 0.0019591 0.7 0.2 0.0019594 0.7 0.3 0.0019596 0.7 0.4 0.0019594 0.8 0.1 0.0019596 0.8 0.2 0.0019591 0.8 0.3 0.0019592 0.8 0.4 0.0019593 0.9 0.1 0.0019590 0.9 0.2 0.0019587 0.9 0.3 0.0019589 0.9 0.4 0.0019587 -3
1.98
x 10
Perbandingan nilai pc =0.6 dengan variasi nilai pm pm=0.1 pm=0.2 pm=0.3 pm=0.4
1.975
M S E LTF
1.97
Gambar 2. Blok diagram sistem Parameter mean dan variance yang dipakai merupakan hasil output modeling dari jaringan neuro-fuzzy dengan algoritma training LMA dengan menggunakan 4 input, 1 output, 5 GMF dan 336 data per set. Pemilihan parameter dengan menggunakan 4 input, 1 output, 5 GMF dan 336 karena pengujian output long term forecasting (LTF) nya memiliki MSE yang paling kecil dibandingkan dengan kombinasi yang lainnya [2].
1.965
1.96
1.955 0 10
1
2
10
10
3
10
iterasi (log)
Gambar 3. Perbandingan nilai MSE LTF dengan nilai pc = 0.6, nilai pm variasi
3. Hasil Simulasi Simulasi dilakukan untuk mendapatkan MSE LTF terkecil dengan melakukan perubahan variasi nilai pc dan pm. Pengujian dilakukan untuk mean dan variance dengan 4 input,. 1 output, 5 GMF, dan 336 data per set. Pengujian variasi nilai pc dan pm menggunakan 20 populasi dengan asumsi bahwa populasi minimal untuk Evolutionary Algorithm adalah 20 populasi. Untuk nilai
A-24
-3
1.99
x 10
Bentuk GMF terbaik dari variasi pc dan pm yaitu pc =0.9 dan pm = 0.2 akan digunakan untuk optimasi parameter mean dan variance secara bersamaan dengan variasi jumlah populasi.
Perbandingan nilai pc = 0.7 dengan variasi nilai pm pm=0.1 pm=0.2 pm=0.3 pm=0.4
1.985
MSE LTF
1.98
Tabel 4.2 Perbandingan Variasi Jumlah Populasi
1.975
Pc =0.9 & pm= 0.2
1.97
MSE LTF terbaik Generasi Pertama
1.965
MSE LTF terbaik
20 chromosome 1.96
1.9656 x 10-3
1.959 x 10-3
3.6801 x 10-3
1.9515 x 10-3
5.8529 x 10-3
1.9054 x 10-3
2.466 x 10-3
1.9517 x 10-3
60 chromosome 1.955 0 10
1
2
10
10
10
3
120 chromosome
iterasi (log)
Gambar 4. Perbandingan nilai MSE LTF dengan nilai pc = 0.7, nilai pm variasi -3
1.99
x 10
200 chromosome
Perbandingan nilai pc = 0.8 dengan variasi nilai pm pm=0.1 pm=0.2 pm=0.3 pm=0.4
1.985
-3
6
x 10
Perbandingan variasi jumlah populasi pop = pop = pop = pop =
5.5
1.98
1.975
4.5 MSE LTF
MSE LTF
5
20 60 120 200
1.97
1.965
4 3.5 3
1.96
2.5 2
1.955 0 10
1
2
10
3
10
10
1.5 0 10
iterasi (log)
-3
x 10
Gambar 3,4,5 dan 6 berturut-turut menunjukkan perubahan nilai MSE LTF yang dipengaruhi oleh variasi nilai pc dan pm. Kombinasi pc dan pm memberi informasi yang dibutuhkan kapan program harus dihentikan sewaktu mendapatkan nilai MSE LTF yang diinginkan. Tabel 4.1 dan 4.2 adalah tabel perbandingan perubahan nilai pc dan pm serta variasi jumlah populasi yang mempengaruhi optimasi MSE LTF. Dalam hal ini, pemilihan jumlah populasi yang semakin banyak tidak menjamin perolehan MSE yang optimal. Eksperimen jumlah populasi mulai dari jumlah yang kecil dan jumlah populasi ditingkatkan sampai nilai optimal MSE diperoleh, sangat direkomendasi dilakukan pada model time series yang nonlinear dan sensitif terhadap noise.
pm=0.1 pm=0.2 pm=0.3 pm=0.4
MSE LTF
1.97
1.965
1.96
1.955 0 10
1
2
10
10
3
10
Gambar 7. Perbandingan perubahan jumlah populasi
Perbandingan nilai pc = 0.9 dengan variasi nilai pm
1.975
2
10 iterasi (log)
Gambar 5. Perbandingan nilai MSE LTF dengan nilai pc = 0.8, nilai pm variasi 1.98
1
10
3
10
iterasi (log)
Gambar 6. Perbandingan nilai MSE LTF dengan nilai pc = 0.9, nilai pm variasi
A-25
4. Kesimpulan Hasil MSE LTF yang terbaik dari hasil diatas adalah menggunakan metode pencarian mean dan variance secara bersamaan dengan jumlah populasi 120, pc = 0.9, dan pm =0.2 dengan nilai MSE LTF = 1,9054 x 10-3. Kombinasi pc dan pm pada Evolutionary Algorithm tidak memberikan optimasi MSE LTF yang cukup besar dibandingkan eksperimen tanpa EA. Hal ini dikarenakan parameter yang diperoleh dari Neuro-Fuzzy sudah mendekati optimal. Untuk eksperimen lanjuan, kombinasi pc dan pm dapat dibuat secara adaptive yaitu merubah nilai pc dan pm dalam program bila MSE LTF yang dihasilkan tidak memberikan perubahan yang signifikan. Validasi forecasting sistem sebelum dan sesudah dioptimasi masih belum dapat dilakukan. Hal ini dikarenakan data beban listrik yang baru dari PLN belum dapat di akses.
References [1] Jang JSR (1997), Neuro-Fuzzy and soft computing, Prentice Hall [2] Kuswanto, Henry (2007), Struktur Neuro-Fuzzy tipe MIMO-TS menggunakan LMA-training untuk electrical load time series data forecasting, Thesis, Surabaya, Universitas Kristen Petra [3] Pasila Felix (2006), Forecasting of Electrical Load using Takagi-Sugeno type MIMO Neuro-Fuzzy network, Master Thesis, University of Bremen. [4] Palit AK, Popovic D (2005), Computational Intelligence in Time Series Forecasting, Theory and Engineering Applications, Springer
A-26