[INFO STATISTICS]
Hai sobat Info Statistics, gimana kabarnya ???
Melanjutkan postingan sebelumnya yaitu (Single Moving Average menggunakan R), Pada kesempatan kali ini kita akan belajar menyelesaikan analisis Double Moing Average dengan menggunakan R / R Studio. Namun sebelum itu kita harus tahu terlebih dahulu apa itu Double Moing Average.
Double Moving Average adalah salah satu peramalan time series dengan melihat
data trend adalah peramalan dengan metode double moving average. Pertama kali
dilakukan moving average kemudian baru dilakukan lagi moving average untuk data
yang tadi yang sudah di moving average pertama kali. Berikuti ni adalah rumus
yang dipakai pada peramalan ini yaitu
Mt =
Moving Average periode t
Ft+1 = Ramalan Periode t + 1
Yt = Nilai Riil periode ke t
n = Jumlah batas dalam moving average
m = Jumlah periode yang akan diramalkan
Supaya tidak berlama-lama, mari kita langsung dengan studi kasus kita.
[STUDI KASUS]
Sebuah perusahaan jersey Chelsea FC menghasilkan data penjualan dalam
periode juli 2013 sampai februari 2016 sebagai berikut :
Lakukan Forecast dengan metode
Double Moving Average orde 3x3 untuk
3 periode kedepan.
Ikuti langkah-langkah berikut ini :
1. Pastikan R/R Studio anda sudah bekerja.
2. Buat New Project, dengan klik file> new file > r script.
4. Input Data dengan menuliskan script berikut :
#Double MA
#input data, run X=scan() kemudian copy data pada R console
X=scan()
n=length(X)
k=3
5. Sebelum melakukan MA (3X3) anda harus melakukan prediksi menggunakan MA terlebih dahulu. Kali ini saya menggunakan K=3 yaitu MA(3) seperti yang sudah di tunjukan gambar di atas.
6. Untuk memunculkan MA(3) dapat digunakan script berikut :
#Peramalan dengan MA(3)
MA=array(NA,dim=c(n))
for(i in 1:n){
MA[i+(k-1)]=mean(X[i:(i+(k-1))])}
MA
View(MA)
7. Melakukan peramalan MA(3X3). Namun ini belum dapat dilakukan sebagai prediksi karena harus mencari nilai at (koefisien intersept) dan nilai bt (Koefisien Trend).
m=3
DMA=array(NA,dim=c(n))
for(i in 1:n){
DMA[i+(m-1)+(k-1)]=mean(MA[(i+(k-1)):(i+(m-1)+(k-1))])}
DMA
View(DMA)
8. Cari nilai at (koefisien intersept) dengan menuliskan script berikut :
#Mencari nilai a
a=array(NA,dim=c(n))
for(i in 1:n){
a[i+(m-1)+(k-1)]=2*MA[i+(m-1)+(k-1)]-DMA[i+(m-1)+(k-1)]}
a
9. Mencari nilai bt (Koefisien Trend).
#mencari nilai b
b=array(NA,dim=c(n))
for(i in 1:n){
b[i+(m-1)+(k-1)]=(2/(m-1))*(MA[i+(m-1)+(k-1)]-DMA[i+(m-1)+(k-1)])}
b
10. Melakukan Prediksi dengan memunculkan hasil prediksi
#Prediksi
Prediksi=array(NA,dim=c(n))
for(i in 1:n){
Prediksi[i+(m-1)+(k-1)+1]=a[i+(m-1)+(k-1)]+b[i+(m-1)+(k-1)]
}
Prediksi
11. Untuk melihat akurasi peramalan tersebut dapat dilakukan dengan melihat nilai MSE dan MAPE :
#error
e=array(NA,dim=c(n))
for(i in 1:n){
e[i]=(X[i]-Prediksi[i])^2
}
MSE=mean(e,na.rm=TRUE)
MSE
#MAPE
PE=array(NA, dim=c(n))
for(i in 1:n){
PE[i]=abs((X[i]-Prediksi[i])/X[i])}
PE
MAPE=mean(PE,na.rm=TRUE)
MAPE
12. Lakukan Forecast untuk 3 periode kedepan.
#forecast 3 periode kedepan
Forecast=function(h){
a[n]+b[n]*h
}
Ramalan=Forecast(1:4)
Ramalan
dari script diatas menghasilkan output :
[1] 136.6667 137.6667 138.6667 139.6667
13. Untuk lebih mempermudah melakukan peramalan maka dapat digunakan script dibawah ini :
######## data time series #######
Ramalan=c(Prediksi[48],Ramalan)
X=ts(X, start=c(2013,7), end=c(2016,2), freq=12)
Prediksi=ts(Prediksi, start=c(2013,7), end=c(2016,2), freq=12)
Ramalan=ts(Ramalan, start=c(2016,2), end=c(2016,5), freq=12)
Ramalan
Maka output yang dihasilkan sebagai berikut :
> Ramalan
Feb Mar Apr May
2016 136.6667 137.6667 138.6667 139.6667
14. Kemudian langkah terakhir membuat plot data actual dan prediksi dari kasus tersebut :
########## plot data ################
plot(X, type="l", col="red",lwd=2, xlim=c(2013,2016), ylim=c(100,300), xlab="Tahun", ylab="Jumlah Penjualan", main="Plot Data Asli dan Ramalan MA(3x3)")
lines(Prediksi, col="blue", lwd=2)
limitDate=end(X)[1]+(end(X)[2]-1)/frequency(X)
abline(v=limitDate ,lty=4)
lines(Ramalan,col="green", lwd=2)
legend("topleft", c("Asli", "Prediksi", "Ramalan"), bty="n", lwd=2, col=c("red", "blue","green"))
15. Lihat hasil plot berikut :
Berdasarkan gambar diatas garis berwarna merah menunjukan data actual dari penjualan jersey tersebut. Kemudian garis berwarna biru menunjukan hasil prediksi menggunakan MA (3X3), dan garis hijau kecil menunjukan hasil forecasting 3 periode kedepan yaitu Maret = 138 pcs, April = 139 pcs, dan Mei =140 pcs.
Cukup mudah kan sobat. Baik cukup disini dulu postingan kali ini , kita akan lanjutkan di postingan selanjutnya.
Terimakasih, jangan lupa like & share !!!