Saturday, February 22, 2020

Buku Belajar Machine Learning dengan matlab - Jenis Perhitungan Error dalam Forecasting


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 ke http://softscients.com/2020/03/26/buku-belajar-machine-learning-dengan-matlab-jenis-perhitungan-error-dalam-forecasting/
https://www.wallstreetmojo.com/percent-error-formula/

Sinopsis

Kalau kalian sedang bekerja untuk analisis forecasting tentu akan berhadapan dengan cara mengukur kinerja sebuah algoritma forecasting yaitu antara hasil prediksi dan aktualnya. Selain menggunakan Root Mean Square, kalian bisa menggunakan rumus berikut

Mean absolute deviation (MAD)

Mean absolute deviation mengukur akurasi dari forecast dengan membuat sama rata dari besarnya kesalahan perkiraan yang dimana setiap forecasting memiliki nilai absolut untuk setiap errornya.

Rumus yang dipakai untuk menghitung MAD adalah :
$$MAD=\frac{1}{n}\sum_{t=1}^{n}|y_{t1}-y_{t2}| $$

dengan nilai \(y_{t1}\) adalah nilai aktual dan \(y_{t2}\) nilai forecasting pada nilai \(t_{2}\)


Mean squared deviation (MSD)

biasanya dipakai untuk mengukur akurasi dari nilai time series yang mau dihitung. Dimana MSD biasanya memiliki efek lebih besar dibandingkan MAD.

Rumus yang dipakai untuk menghitung MSD adalah :

$$MSD=\frac{1}{n}\sum_{t=1}^{n}|y_{t1}-y_{t2}|^{2}$$

Mean absolute percentage error (MAPE)


Mean absolute percentage error dihitung dengan cara mencari error/kesalahan absolut di setiap periode yang dimana dibagi dengan nilai observasi yang aktual pada periode itu, dan dibuat rata – rata dari absolute percentage error tersebut.

Rumus yang dipakai untuk menghitung MAD adalah :
$$MAPE=\frac{1}{n}\sum_{t=1}^{n}\frac{|y_{t1}-y_{t2}|}{y_{t1}}$$

Agar kalian lebih mudah, berikut sudah dibuatkan contoh kodenya di Matlab

clc;clear all;close all;
target = [10,20,45,80];
prediksi = [15,18,40,81];

error_mse = immse(target,prediksi); %rumus bawaan untuk menghitung MSE
error_mad = hitungmad(target,prediksi);
error_msd = hitungmsd(target,prediksi);
error_mape = hitungmape(target,prediksi);

rincian_error = array2table([error_mse,error_mad,error_msd,error_mape],'variablenames',{'mse','mad','msd','mape'});
disp('Rincian Error');
disp(rincian_error)




%ref: https://www.softscients.web.id/2020/02/buku-belajar-machine-learning-dengan_22.html
function [result]=hitungmad(x,y)
    n = 1/length(x);
    result = n *(sum(abs(x-y))); 
end

function [result]=hitungmsd(x,y)  
    n = 1/length(x);
    result = n*(sum(abs(x-y).^2));
    
end

function [result]=hitungmape(x,y)
    n = 1/length(x);
    result = n*(sum(abs(x-y)./y));
end


Hasil

Rincian Error
     mse     mad      msd      mape  
    _____    ____    _____    _______

    13.75    3.25    13.75    0.14545

Kalian bisa melihat hasilnya diatas, terserah kalian akan menggunakan rumus yang mana, kunjungi link ini kalau kalian ingin pelajari machine learning dengan matlab

No comments:

Post a Comment