Sunday, May 12, 2019

Buku belajar machine learning dengan matlab -Metode Peramalan Mengunakan Fuzzy Time Series Chen


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/


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 penduduk
Buku belajar machine learning dengan matlab -Metode Peramalan Mengunakan Fuzzy Time Series Chen


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

Buku belajar machine learning dengan matlab -Metode Peramalan Mengunakan Fuzzy Time Series Chen
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

Buku belajar machine learning dengan matlab -Metode Peramalan Mengunakan Fuzzy Time Series Chen

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


Wednesday, April 10, 2019

Buku Belajar Machine Learning dengan Python-Neural Network Training Using Particle Swarm Optimization


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 ke http://softscients.com/2020/03/25/buku-belajar-machine-learning-dengan-python-neural-network-training-using-particle-swarm-optimization/

Buku Belajar Machine Learning dengan Python-Neural Network Training Using Particle Swarm Optimization

Sinopsis

Neural Network Backprogation  (NN BP) sering digunakan dalam beberapa kasus bersifat non linear. Hasil training pada NN BP adalah bobot, dalam hal ini merupakan ‘memory’ yang akan digunakan untuk melakukan prediksi/klasifikasi. Sesuatu yang umum dalam inisialisasi bobot di NN BP menggunakan bilangan random maka hal tersebut menjadi trial and error.

Pada tulisan ini, kita bisa menggunakan Particle Swarm Optimization (PSO) untuk mencari bobot yang optimal sebagai pengganti, yang semula inisialisasi bobot secara random. Adapun fitness function PSO yang digunakan dari function forward NN BP. Kebalikan dari NN BP, untuk input ke PSO berupa bobot sebagai partikelnya.



Implementasi Particle Swarm Optimization Untuk Inisialisasi Bobot Pada Neural Network Backpropagation

Oiya sekedar kalian tahu, penulis membuat sendiri kode untuk menggabungkan antara neural network backpro dengan Particle Swarm Optimization (PSO) agar lebih mudah dihibridkan, kalian bisa minta kode nya dengan cara berkirim email kesini. Berikut adalah kasus LOGIKA XOR yang merupakan kasus non linear dengan input yaitu X dan target berupa Y
Buku Belajar Machine Learning dengan Python-Neural Network Training Using Particle Swarm Optimization
Sebagai gambaran akan dilakukan uji training dengan model berikut
  1. NN yang menggunakan bobot secara random
  2. NN yang menggunakan bobot dari keluaran PSO

Kinerja dinilai dari jumlah iterasi maksimal yang dicapai ketika mencapai nilai error/lost kurang dari mse yaitu 0.001.

#kasus 1


NN menggunakan bobot yang dibangkitkan secara random seperti berikut
NN Secara standar melakukan
inisialisasi Bobot menggunakan bilangan Random
Seperti berikut
W1 :
 [[-1.92880635 -0.14703253 -1.26657126]
 [ 2.33863589  0.45608947  1.33768258]]
W2 :
 [[ 0.64914419]
 [ 0.66274234]
 [ 0.88944801]]
Bobot tersebut digunakan untuk inisialisasi ke NN
Iterasi :  500 , lost:  0.125975082061

#kasus 2



Daripada menggunakan bilangan random untuk melakukan inisialisasi  bobot, maka kita dapat menggunakan PSO dengan hasil berikut
================================
PSO akan mencari bobot yang optimal seperti berikut

Stopping search: Swarm best objective change less than 1e-08
Pencarian Bobot W1 dan W2 oleh PSO
W1 :
 [[-9.82486322 -4.85762484 -1.65558936]
 [-4.7491677   9.48030599  1.13455489]]
W2 :
 [[ -9.89033224]
 [ -5.68111306]
 [ 10.        ]]
Bobot tersebut digunakan untuk inisialisasi ke NN
Iterasi :  383 , lost:  0.00999603177687

NN dengan iterasi 500 menghasilkan error 0.12
sedangkan NN+PSO dengan hanya iterasi 383 menghasilkan error cukup rendah yaitu 0.009

Disini sudah terlihat jelas kegunaan PSO yaitu untuk melakukan inisialisasi bobot pada NN sehingga mempunyai manfaat sebagai berikut
  1. Mempersingkat proses training sehingga menurunkan waktu komputasi
  2. Meningkatkan akurasi data dengan lost/error yang lebih kecil
  3. Sebagai metode pendekatan dalam melakukan inisialisasi bobot dibandingkan menggunakan bilangan random/trial and error

Catatan: Penulis menggunakan Python, Numpy untuk implementasinya



X = np.array((
                [1,1], 
                [1,0],
                [0,1],
                [0,0]
                ), dtype=float)
Y = np.array(( [0], [1], [1],[0]), dtype=float)


print('NN Secara standar melakukan')
print('inisialisasi Bobot menggunakan bilangan Random')
print('Seperti berikut')
NN = Neural_Network() #bobot secara random
print('W1 :\n',NN.W1)
print('W2 :\n',NN.W2)
print('Bobot tersebut digunakan untuk inisialisasi ke NN')
NN.fit(X,Y,epoch=500,mse=0.01,debug=False)
print('Hasil NN :')
print('Iterasi : ',NN.last_epoch,', lost: ',NN.lost)

print('\n================================')
print('PSO akan mencari bobot yang optimal seperti berikut')
print('\n')


#upper dan lower partikel
lb = [-10,-10,-10,-10,-10,-10,-10,-10,-10]
ub = [+10,+10,+10,+10,+10,+10,+10,+10,+10]

#input dan target PSO nya
args =(X,Y)

xopt, fopt = pso(fitness, lb, ub,
                 swarmsize=100, 
                 omega=0.5, 
                 phip=0.5,
                 phig=0.5, 
                 maxiter=500, 
                 minstep=1e-8,
                 minfunc=1e-8, 
                 debug=False,
                 args=args)

W1,W2=split(xopt)
print('Pencarian Bobot W1 dan W2 oleh PSO')
print('W1 :\n',W1)
print('W2 :\n',W2)

print('Bobot tersebut digunakan untuk inisialisasi ke NN')

NN2 = Neural_Network()
NN2.W1 = W1
NN2.W2 = W2
NN2.fit(X,Y,epoch=500,mse=0.01,debug=False)
print('Hasil PSO :')
print('Iterasi : ',NN2.last_epoch,', lost: ',NN2.lost)

hasilnya
Buku Belajar Machine Learning dengan Python-Neural Network Training Using Particle Swarm Optimization

Bila kita terapkan untuk melakukan prediksi, maka hasilnya sebagai berikut
Bila kita round kan, maka hasilnya akan lebih jelas
Dengan target
Maka jelas bahwa NN+PSO lebih unggul dengan maksimal iterasi yang sama (maksimal 500) dibandingkan dengan NN.

Adapun NN, secara ‘alami’ bisa kita tingkatkan akurasinya dengan cara meningkatkan nilai iterasinya, misalkan 1000 iterasi, seperti hasil berikut

NN.predict(X)
Predicted data based on trained weights: 
Input (scaled): 
 [[ 1.  1.]
 [ 1.  0.]
 [ 0.  1.]
 [ 0.  0.]]
Output: 
 [[ 0.18490799]
 [ 0.80751459]
 [ 0.7894554 ]
 [ 0.29592197]]

Ataupun menggunakan bobot hasil iterasi ke 500, digunakan kembali sebagai bobot awal NN.


Referensi:
https://visualstudiomagazine.com/articles/2013/12/01/neural-network-training-using-particle-swarm-optimization.aspx
https://jamesmccaffrey.wordpress.com/2013/12/23/neural-network-training-using-particle-swarm-optimization/

Saturday, March 23, 2019

Heuristik dan Metaheuristik



Sinopsis

Heuristik (yunani heuriskein) yaitu  seni untuk menemukan strategi dalam menyelesaikan persoalan sedangkan meta berarti metodologi tingkat tinggi atau lanjut (Talbi, 2009).  Di dalam ilmu komputer, metode heuristik merupakan suatu teknik untuk penyelesaian permasalahan yang tidak menekankan pada pembuktian apakah solusi yang didapatkan adalah benar (pembuktian apakah suatu solusi adalah benar merupakan fokus dari metode penyelesaian analitik), tetapi lebih menekankan pada performa komputasi dan kesederhanaan. Metode heuristik  merupakan suatu metode penyelesaian yang menggunakan konsep pendekatan.
Tulisan ini copy paste, hanya sekedar sebagai referensi saja 

Menurut Blum dan Roli (2003), metaheuristik memiliki beberapa karakteristik dasar yaitu:
  1. Metaheuristik adalah strategi yang memandu proses pencarian.
  2. Tujuan dari metaheuristik adalah untuk menjelajahi ruang pencarian secara efficient untuk menemukan solusi optimal.
  3. Teknik metaheuristik berkisar dari prosedur pencarian local yang sederhana sampai proses pembelajaran yang komplek.
  4. Meteheuristik adalah metode pendekatan dan biasanya non-deterministik.
  5. Metaheuristik dapat terdiri dari penggabungan beberapa mekanisme supaya proses pencarian tidak terjebak dalam daerah terbatas  di ruang pencarian.

Metode metahuristik adalah metode optimisasi yang dilakukan dengan memperbaiki kandidat penyelesaian secara iteratif sesuai dengan fungsi objektifnya (Talbi. 2009). Metode ini mampu menghasilkan penyelesaian yang baik dalam waktu yang cepat (acceptable), tetapi tidak menjamin bahwa penyelesaian yang dihasilkan merupakan penyelesaian terbaik (optimal). Metaheuristik ini menekankan pada proses eksplorasi (pencarian global) dan eksploitasi (pencarian lokal).

Metode metaheuristik pada masa modern ini sering diinspirasi dari kejadian-kejadian alami baik dari tingkah laku hewan, tumbuhan dan juga konsep evolusi. Metode metaheuristik yang menggunakan konsep evolusi diinspirasi dari hukum Darwin, bahwa yang bertahan adalah yang paling kuat atau yang paling baik. Teknik evolusi digunakan pada algoritma genetika (Genetic Algorithm) dan Differential Evolution (DE) untuk membantu menemukan solusi optimal suatu permasalahan. Adapun algoritma yang didasarkan pada teknik swarm intelligence yaitu seperti halnya Particle Swarm Optimization (PSO), Ant Colony Optimization, Artificial Bee Colony, Chuckoo Search, Firefly, and Bat Algorithm.

Kalian bisa pelajari penerapannya dibawah ini

  1. Particle Swam Optimization di Matlab, di Python
  2. FireFly di Matlab

Lebih lengkap kalian ikuti saja link dibawah ini

  1. Buku Dasar-Dasar Pemrograman Matlab
  2. Buku Dasar-Dasar Pemrograman Python
  3. Buku Belajar Machine Learning dengan Matlab
  4. Buku Belajar Machine Learning dengan Python
  5. Buku Pengolahan Citra Digital dengan Matlab
  6. Buku Pengolahan Citra Digital dengan Java
  7. Buku Pengolahan Citra Digital dengan Python
  8. Buku Pengolahan Citra Digital dengan C#
  9. Buku Pengolahan Sinyal Digital dengan Matlab


ref:

C. Blum, A, Roli. 2003. Metheuristic in Combinatorial Optimization: Overview in conceptual comparison. ACM Computing Surveys, 35(3):268-308
Talbi. 2009. Metaheuristics: From Design to Implementation. Wiley. New York.

Thursday, March 14, 2019

Python-Generating Code Documentation dengan Pweave


Hal yang biasa kita jumpai dengan klien adalah membuat alur kerja serta bentuk visualisasi nya step by step, nah agak merepotkan. Ada tools yang sangat bermanfaat sekali untuk mempermudah hal tersebut dengan menggunakan http://mpastell.com/pweave/docs.html
Ref:  https://blog.sicara.com/jupyter-notebook-analysis-production-b2d585204520
Berikut hasil report dengan format HTML


Saturday, March 9, 2019

Buku Belajar Machine Learning dengan Python-Radial Basis Function Networks Data Trend Model


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 ke  http://softscients.com/2020/03/25/buku-belajar-machine-learning-dengan-python-radial-basis-function-networks-data-trend-model/

Python-Radial Basis Function Networks Data Trend Model

Sinopsis

Pembahasan mengenai Data yang mengandung sebuah model Trend/Siklus/Musiman telah banyak dikembangkan dengan metode statistik, Nah kalian akan belajar Pemodelan Data Trend menggunakan Radial Basis Function/RBF net dapat digunakan untuk aproksimasi sebuah model forecasting yang mempresentasikan sebuah data yang mengandung pola trend.  RBF menggunakan distribusi gaussian sebagai basis function nya.  Sebelum melangkah lebih jauh mengenai RBF, maka perlu sedikit membahas distribusi gaussian. Penulis menggunakan bahasa Python dan Matplotlib, kalian bisa pelajari bahasa tersebut disini.

Friday, March 8, 2019

Buku Belajar Machine Learning dengan Python-Feature Selection untuk Meningkatkan Akurasi Dataset


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

Buku Belajar Machine Learning dengan Python-Feature Selection untuk Meningkatkan Akurasi Dataset

Berbicara analisis data, maka tahap paling penting yaitu feature selection yang berguna untuk ‘membuang’ data yang tidak ada korelasinya, sehingga akan meningkatkan keakuratan data dalam melakukan prediksi.