Seiring dengan meningkatnya traffic dan kemudahan dalam mengelola content, kami mengucapkan banyak terima kasih kepada para pembaca setia pada blog www.softscients.web.id
Per 19 Maret 2020, kami sedang melakukan migrasi ke domain dan hosting yang lebih baik yaitu
Semoga dengan alamat domain dan hosting terbaru akan semakin memudahkan para pembaca dalam mencari materi/content. Migrasi dilakukan secara bertahap yang membutuhkan waktu yang cukup lama jadi jangan kuatir selama migrasi akan dilakukan secara hati-hati untuk memimalkan broken link
kalian bisa lanjut baca lagi di http://softscients.com/2020/03/26/buku-belajar-machine-learning-dengan-matlab-metode-peramalan-mengunakan-fuzzy-time-series-chen/
Sinopsis
Forecasting secara umum banyak digunakan pada Data Series atau domain waktu. Banyak sekali metode forecasting yang digunakan dengan segala asumsi yang harus dipenuhi jika menggunakan metode tertentu. Pembahasan kali ini kalian akan mempelajari Matlab- Metode Peramalan Mengunakan Fuzzy Time Series Chen yang sangat mudah dipahami, kalian bisa koq menggunakan Excel dalam melakukan perhitungannya, cuman karena di Matlab lebih mudah asalkan kalian telah pelajari Dasar-Dasar Pemrograman Matlab pada blog ini. Kalian bisa mendapatkan kode utuh secara gratis dengan cara subcribed blog ini ya! ataupun berkirim surel ke sini
DATASET
Dataset yang akan digunakan yaitu terdiri dari data 16 tahun jumlah pendudukTahapan-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 A1Tabel 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 berikutMaka 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, kalian bisa hubungi kesini kalau ingin meminta source codenya
Referensi:
https://medium.com/@16611030/fuzzy-time-series-dengan-model-cheng-untuk-pediksi-hasil-produksi-susu-sapi-dengan-menggunakan-999766d4a346
No comments:
Post a Comment