Minggu, 12 Mei 2019

Matlab-Step by Step Peramalan Mengunakan Fuzzy Time Series Chen


DATASET

Dataset yang akan digunakan yaitu terdiri dari data 16 tahun jumlah penduduk



Tahapan-tahapan dalam memprediksi dengan menggunakan metode Fuzzy Time Series (FTS) Model Chen adalah sebagai berikut:
1.    Pembentukan himpunan semesta pembicaraan Universes of Discourse (U)
U = [Dmin – D1, Dmax + D2]

dengan D1 dan D2 adalah nilai konstanta.
2.    Menentukan interval
Membagi himpunan semesta menjadi beberapa interval dengan jarak yang  sama. Untuk mengetahui banyak interval dapat mempergunakan rumus Sturges berikut:
1 + 3,322 log10 (n)
dengan,
n : adalah jumlah data observasi
sehingga membentuk sejumlah nilai linguistic untuk mempresentasikan suatu himpunan fuzzy pada interval-interval yang terbentuk dari himpunan semesta

(U).
U = {U1,U2, U3, ….. , Un}
dengan,
U : himpunan semesta
Ui : Besarnya jarak pada U, untuk I = 1,2,….,n
3.    Menentukan Fuzzy Logic Relationship (FLR) dan Fuzzy Logic Relationship Group (FLRG).
Menentukan FLR dan membuat grup sesuai dengan waktu. Contoh jika FLR berbentuk A1 -> A2, A1 -> A1, A1 -> A3, A1 -> A1, maka FLRG yang terbentuk adalah A1 -> A1, A2, A3
4.    Melakukan proses Defuzzifikasi dan melakukan perhitungan nilai prediksi.
5.    Hitung Tingkat error prediksi dengan menggunakan AFER (Average Forecasting Error Rate)
Selain menggunakan MSE, dalam penelitian ini juga menggunakan perhitungan AFER untuk menghitung tingkat kesalahan. AFER merupakan salah satu perhitungan tingkat error yang dilakukan dengan cara menyatakan persentase selisih antara data aktual dengan data hasil prediksi. Semakin kecil nilai AFER, maka tingkat akurasi yang diberikan untuk prediksi semakin baik.


#HASIL DAN PEMBAHASAN

Untuk data diatas, didapatkan d_min = 174706 ; d_max = 285967 ; sedangkan untuk d1= 3; d2 = 3. Untuk penentuan d1 dan d2 adalah bebas dan bilangan positif.


data
      174706
      178125
      191990
      201263
      210984
      219351
      225249
      231121
      240553
      250367
      253178
      259913
      268022
      274089
      280109
      285967

Mencari Nilai Himpunan Semesta

d1 =

     3


d2 =

     3


d_min =

      174706


d_max =

      285967


Menentukan Universe of discourse (semesta pembicaraan)
Untuk menghitung himpunan semesta pembicaraan (universe of distance) dengan menggunakan rumus:
U=[174706 – 3, 285967 + 3]
Sehingga dapat didefinisikan U=[174703, 285970]


U =

      174703      285970


Menentukan jumlah dan lebar interval
Pada perhitungan untuk menentukan panjang interval beserta lebar interval
menggunakan aturan struges.

Jumlah Interval = 1 + (3.322 * log10(16)) = 5

Setelah jumlah interval di dapat, maka akan dicari lebar interval untuk
membagi data menjadi jumlah interval yang sama.

Lebar Interval = (285967 – 174706) / 5 = 22252


Jumlah Interval

jumlah_interval =

     5

Lebar Interval

lebar_interval =

        22252



Setelah jumlah beserta lebar interval didapat, langkah selanjutnya adalah
membagi data berdasarkan jumlah dan lebar interval. Diketahui jumlah interval
adalah 5 dan lebar interval adalah 22252 maka hasil yang di dapat terdapat dibawah ini



universe of discourse
U1: 174703 - 196958 nilai tengah A1: 185831
U2: 196958 - 219210 nilai tengah A2: 208085
U3: 219210 - 241463 nilai tengah A3: 230337
U4: 241463 - 263715 nilai tengah A4: 252589
U5: 263715 - 285967 nilai tengah A5: 274841


Menentukan Fuzzy Logic Relationship (FLR)
Misalkan 174706 akan masuk rentang di nilai U1 sehingga Fuzzifikasi A1

Tabel Hasil Fuzzifikasi
1.  174706: A1
2.  178125: A1
3.  191990: A1
4.  201263: A2
5.  210984: A2
6.  219351: A3
7.  225249: A3
8.  231121: A3
9.  240553: A3
10.  250367: A4
11.  253178: A4
12.  259913: A4
13.  268022: A5
14.  274089: A5
15.  280109: A5
16.  285967: A5


Saling dipasangkan dengan data selanjutnya untuk membentuk FLR

Tabel Fuzzy Logic Relationship (FLR)
1.  174706: A1-> A1
2.  178125: A1-> A1
3.  191990: A1-> A2
4.  201263: A2-> A2
5.  210984: A2-> A3
6.  219351: A3-> A3
7.  225249: A3-> A3
8.  231121: A3-> A3
9.  240553: A3-> A4
10.  250367: A4-> A4
11.  253178: A4-> A4
12.  259913: A4-> A5
13.  268022: A5-> A5
14.  274089: A5-> A5
15.  280109: A5-> A5


Membuat Fuzzy Logic Relationship Group (FLRG)
Cara kerjanya seperti contoh berikut


Maka cari pasangan yang unik (bagian kiri dengan bagian kanan) yaitu ada 5 fuzzy set dengan pasangan yang unik berikut (yang sama dihilangkan, saya kasih tanda tuh diatas)
A1 -> A1
A2 -> A3
A3 -> A1
A4 -> A4, A2
A5 -> A5
Sehingga untuk kasus kita, akan terbentuk berikut

Fuzzy Logic Relationship Group (FLRG)
Current State A1->
                  A1
                  A2
Current State A2->
                  A2
                  A3
Current State A3->
                  A3
                  A4
Current State A4->
                  A4
                  A5
Current State A5->
                  A5


Misalkan A1 mempunyai anggota average (A1,A2) yaitu average(185831, 208085) = 196958


Hasil Defuzifikasi
Current State A1 forecasted 196958
Current State A2 forecasted 219211
Current State A3 forecasted 241463
Current State A4 forecasted 263715
Current State A5 forecasted 274841


Sehingga untuk forecasting menjadi berikut

forecasting
Hasil Forecasting
1.   174706 = 0
2.   178125 = 196958
3.   191990 = 196958
4.   201263 = 196958
5.   210984 = 219211
6.   219351 = 219211
7.   225249 = 241463
8.   231121 = 241463
9.   240553 = 241463
10.   250367 = 241463
11.   253178 = 263715
12.   259913 = 263715
13.   268022 = 263715
14.   274089 = 274841
15.   280109 = 274841
16.   285967 = 274841
Prediksi untuk data ke 17 = 274841


Artinya masukan input tahun 2000 sebesar 174706 akan memprediksi tahun 2001 yaitu 196958 dengan nilai aktual tahun 2001 sebesar 178125. Sedangkan untuk tahun 2015 dengan jumlah penduduk 285967  maka untuk prediksi tahun 2016 sebesar 274841



Bagaimana untuk memprediksi data asing?

Maka proses training diatas hal terpenting adalah data U dan A Current State nya


universe of discourse
U1: 174703 - 196958 nilai tengah A1: 185831
U2: 196958 - 219210 nilai tengah A2: 208085
U3: 219210 - 241463 nilai tengah A3: 230337
U4: 241463 - 263715 nilai tengah A4: 252589
U5: 263715 - 285967 nilai tengah A5: 274841


serta

Hasil Defuzifikasi
Current State A1 forecasted 196958
Current State A2 forecasted 219211
Current State A3 forecasted 241463
Current State A4 forecasted 263715
Current State A5 forecasted 274841


Misalkan kita memasukan pada tahun 2020 data jumlah penduduk sebesar 250000, maka data penduduk tahun 2021?

Nilai hasil pelatihan
Nilai U
      174703      196958
      196958      219210
      219210      241463
      241463      263715
      263715      285967

Nilai A Current State
A1. 196958
A2. 219211
A3. 241463
A4. 263715
A5. 274841

angka =

      250000

Prediksi
250000: A4 -> 263715


Penulis menggunakan matlab untuk mempermudah proeses diatas, anda pun bisa menggunakan excel bila perlu

Referensi:
https://medium.com/@16611030/fuzzy-time-series-dengan-model-cheng-untuk-pediksi-hasil-produksi-susu-sapi-dengan-menggunakan-999766d4a346


Tidak ada komentar: