Pada bahasan sebelumnya telah dibahas terkait eksplorasi data deret waktu menggunakan package graphic. Pada kesempatan ini, akan dibahas terkait salah satu metode pemulusan data deret waktu, yaitu pemulusan Rataan Bergerak. Adapun metode Rataan Bergerak yang akan dibahas yaitu Rataan Bergerak Sederhana dan Rataan Bergerak Ganda.

Data yang digunakan adalah data terkait penjualan yang bersumber dari Montgomery (Appendix B, Table B.2).

Pemulusan Rataan Bergerak Sederhana (Single Moving Average)

Rataan bergerak sederhana digunakan untuk data stasioner. Ide dasarnya yaitu data pada suatu periode dipengaruhi oleh data pada beberapa periode sebelumnya. Pemulusan menggunakan metode ini akan menghasilkan permalan konstan untuk periode berikutnya. Berikut penerapan Rataan Bergerak Sederhana pada R dengan m = 4 dan m = 6.

library(readxl)
sales <- read_xlsx("D:/ASPRAK/ADW/PERTEMUAN 3/sales.xlsx", sheet = 1)
dim(sales)
## [1] 120   2
head(sales, n =6)
summary(sales)
##      Period           Sales      
##  Min.   :  1.00   Min.   : 9815  
##  1st Qu.: 30.75   1st Qu.:10210  
##  Median : 60.50   Median :10392  
##  Mean   : 60.50   Mean   :10379  
##  3rd Qu.: 90.25   3rd Qu.:10535  
##  Max.   :120.00   Max.   :10827
hist(sales$Sales, xlab = "Sales", main = "Histogram of Sales", col = "lightblue")

sales.ts<- ts(sales$Sales, start = 1, end = 120)
plot.ts(sales.ts, col = "blue", ylab = "Sales", xlab = "Week")
title(main = "Time Series Plot of Sales", sub = "Source : Montgomery (Appendix B, Table B.2)", 
      cex.sub = 0.8)
points(sales.ts, pch = 20, col = "red")

Deskripsi Data

Data terdiri dari 120 observasi yang berarti data tersebut diukur dalam rentang waktu 120 minggu. Berdasarkan summary data, terlihat bahwa data berada pada range 9815-10827 dengan rata-rata sebesar 10379. Selanjutnya, berdasarkan plot deret waktu diatas, terlihat bahwa data cenderung stasioner.

Pemulusan Data dengan m = 4 dan m = 6

Pemulusan data dilakukan menggunakan package TTR dengan fungsi SMA(data = , n = ).n adalah parameter pemulusan

library(TTR)
#m = 4
pemulusan.sma4 <- SMA(sales.ts, n = 4)
forecast4 <- c(NA, pemulusan.sma4)
data.gab <- cbind(c(sales.ts, rep(NA,5)), c(pemulusan.sma4, rep(NA,5)), c(forecast4, rep(forecast4[length(forecast4)],4)))
#menampilkan ramalan 5 periode kedepan
data.gab
##           [,1]     [,2]     [,3]
##   [1,] 10618.1       NA       NA
##   [2,] 10537.9       NA       NA
##   [3,] 10209.3       NA       NA
##   [4,] 10553.0 10479.58       NA
##   [5,]  9934.9 10308.78 10479.58
##   [6,] 10534.5 10307.93 10308.78
##   [7,] 10196.5 10304.73 10307.93
##   [8,] 10511.8 10294.43 10304.73
##   [9,] 10089.6 10333.10 10294.43
##  [10,] 10371.2 10292.28 10333.10
##  [11,] 10239.4 10303.00 10292.28
##  [12,] 10472.4 10293.15 10303.00
##  [13,] 10827.2 10477.55 10293.15
##  [14,] 10640.8 10544.95 10477.55
##  [15,] 10517.8 10614.55 10544.95
##  [16,] 10154.2 10535.00 10614.55
##  [17,]  9969.2 10320.50 10535.00
##  [18,] 10260.4 10225.40 10320.50
##  [19,] 10737.0 10280.20 10225.40
##  [20,] 10430.0 10349.15 10280.20
##  [21,] 10689.0 10529.10 10349.15
##  [22,] 10430.4 10571.60 10529.10
##  [23,] 10002.4 10387.95 10571.60
##  [24,] 10135.7 10314.38 10387.95
##  [25,] 10096.2 10166.18 10314.38
##  [26,] 10288.7 10130.75 10166.18
##  [27,] 10289.1 10202.43 10130.75
##  [28,] 10589.9 10315.98 10202.43
##  [29,] 10551.9 10429.90 10315.98
##  [30,] 10208.3 10409.80 10429.90
##  [31,] 10334.5 10421.15 10409.80
##  [32,] 10480.1 10393.70 10421.15
##  [33,] 10387.6 10352.63 10393.70
##  [34,] 10202.6 10351.20 10352.63
##  [35,] 10219.3 10322.40 10351.20
##  [36,] 10382.7 10298.05 10322.40
##  [37,] 10820.5 10406.28 10298.05
##  [38,] 10358.7 10445.30 10406.28
##  [39,] 10494.6 10514.13 10445.30
##  [40,] 10497.6 10542.85 10514.13
##  [41,] 10431.5 10445.60 10542.85
##  [42,] 10447.8 10467.88 10445.60
##  [43,] 10684.4 10515.33 10467.88
##  [44,] 10176.5 10435.05 10515.33
##  [45,] 10616.0 10481.18 10435.05
##  [46,] 10627.7 10526.15 10481.18
##  [47,] 10684.0 10526.05 10526.15
##  [48,] 10246.7 10543.60 10526.05
##  [49,] 10265.0 10455.85 10543.60
##  [50,] 10090.4 10321.53 10455.85
##  [51,]  9881.1 10120.80 10321.53
##  [52,] 10449.7 10171.55 10120.80
##  [53,] 10276.3 10174.38 10171.55
##  [54,] 10175.2 10195.58 10174.38
##  [55,] 10212.5 10278.43 10195.58
##  [56,] 10395.5 10264.88 10278.43
##  [57,] 10545.9 10332.28 10264.88
##  [58,] 10635.7 10447.40 10332.28
##  [59,] 10265.2 10460.58 10447.40
##  [60,] 10551.6 10499.60 10460.58
##  [61,] 10538.2 10497.68 10499.60
##  [62,] 10286.2 10410.30 10497.68
##  [63,] 10171.3 10386.83 10410.30
##  [64,] 10393.1 10347.20 10386.83
##  [65,] 10162.3 10253.23 10347.20
##  [66,] 10164.5 10222.80 10253.23
##  [67,] 10327.0 10261.73 10222.80
##  [68,] 10365.1 10254.73 10261.73
##  [69,] 10755.9 10403.13 10254.73
##  [70,] 10463.6 10477.90 10403.13
##  [71,] 10080.5 10416.28 10477.90
##  [72,] 10479.6 10444.90 10416.28
##  [73,]  9980.9 10251.15 10444.90
##  [74,] 10039.2 10145.05 10251.15
##  [75,] 10246.1 10186.45 10145.05
##  [76,] 10368.0 10158.55 10186.45
##  [77,] 10446.3 10274.90 10158.55
##  [78,] 10535.3 10398.93 10274.90
##  [79,] 10786.9 10534.13 10398.93
##  [80,]  9975.8 10436.08 10534.13
##  [81,] 10160.9 10364.73 10436.08
##  [82,] 10422.1 10336.43 10364.73
##  [83,] 10757.2 10329.00 10336.43
##  [84,] 10463.8 10451.00 10329.00
##  [85,] 10307.0 10487.53 10451.00
##  [86,] 10134.7 10415.68 10487.53
##  [87,] 10207.7 10278.30 10415.68
##  [88,] 10488.0 10284.35 10278.30
##  [89,] 10262.3 10273.18 10284.35
##  [90,] 10785.9 10435.98 10273.18
##  [91,] 10375.4 10477.90 10435.98
##  [92,] 10123.4 10386.75 10477.90
##  [93,] 10462.7 10436.85 10386.75
##  [94,] 10205.5 10291.75 10436.85
##  [95,] 10522.7 10328.58 10291.75
##  [96,] 10253.2 10361.03 10328.58
##  [97,] 10428.7 10352.53 10361.03
##  [98,] 10615.8 10455.10 10352.53
##  [99,] 10417.3 10428.75 10455.10
## [100,] 10445.4 10476.80 10428.75
## [101,] 10690.6 10542.28 10476.80
## [102,] 10271.8 10456.28 10542.28
## [103,] 10524.8 10483.15 10456.28
## [104,]  9815.0 10325.55 10483.15
## [105,] 10398.5 10252.53 10325.55
## [106,] 10553.1 10322.85 10252.53
## [107,] 10655.8 10355.60 10322.85
## [108,] 10199.1 10451.63 10355.60
## [109,] 10416.6 10456.15 10451.63
## [110,] 10391.3 10415.70 10456.15
## [111,] 10210.1 10304.28 10415.70
## [112,] 10352.5 10342.63 10304.28
## [113,] 10423.8 10344.43 10342.63
## [114,] 10519.3 10376.43 10344.43
## [115,] 10596.7 10473.08 10376.43
## [116,] 10650.0 10547.45 10473.08
## [117,] 10741.6 10626.90 10547.45
## [118,] 10246.0 10558.58 10626.90
## [119,] 10354.4 10498.00 10558.58
## [120,] 10155.4 10374.35 10498.00
## [121,]      NA       NA 10374.35
## [122,]      NA       NA 10374.35
## [123,]      NA       NA 10374.35
## [124,]      NA       NA 10374.35
## [125,]      NA       NA 10374.35
#Visualisasi data
ts.plot(data.gab[,1], xlab="Week ", ylab="Sales", main= "SMA N=4 of Sales Data")
points(data.gab[,1])
lines(data.gab[,2],col="green",lwd=2)
lines(data.gab[,3],col="red",lwd=2)
legend("bottomright",c("data aktual","data pemulusan","data peramalan"), lty=8, col=c("black","green","red"), cex=0.8)

pemulusan.sma6 <- SMA(sales.ts, n = 6)
forecast6 <- c(NA, pemulusan.sma6)
data.gab2 <- cbind(c(sales.ts, rep(NA,5)), c(pemulusan.sma6, rep(NA,5)), c(forecast6, rep(forecast6[length(forecast6)],4)))
#menampilkan hasil pemulusan
data.gab2
##           [,1]     [,2]     [,3]
##   [1,] 10618.1       NA       NA
##   [2,] 10537.9       NA       NA
##   [3,] 10209.3       NA       NA
##   [4,] 10553.0       NA       NA
##   [5,]  9934.9       NA       NA
##   [6,] 10534.5 10397.95       NA
##   [7,] 10196.5 10327.68 10397.95
##   [8,] 10511.8 10323.33 10327.68
##   [9,] 10089.6 10303.38 10323.33
##  [10,] 10371.2 10273.08 10303.38
##  [11,] 10239.4 10323.83 10273.08
##  [12,] 10472.4 10313.48 10323.83
##  [13,] 10827.2 10418.60 10313.48
##  [14,] 10640.8 10440.10 10418.60
##  [15,] 10517.8 10511.47 10440.10
##  [16,] 10154.2 10475.30 10511.47
##  [17,]  9969.2 10430.27 10475.30
##  [18,] 10260.4 10394.93 10430.27
##  [19,] 10737.0 10379.90 10394.93
##  [20,] 10430.0 10344.77 10379.90
##  [21,] 10689.0 10373.30 10344.77
##  [22,] 10430.4 10419.33 10373.30
##  [23,] 10002.4 10424.87 10419.33
##  [24,] 10135.7 10404.08 10424.87
##  [25,] 10096.2 10297.28 10404.08
##  [26,] 10288.7 10273.73 10297.28
##  [27,] 10289.1 10207.08 10273.73
##  [28,] 10589.9 10233.67 10207.08
##  [29,] 10551.9 10325.25 10233.67
##  [30,] 10208.3 10337.35 10325.25
##  [31,] 10334.5 10377.07 10337.35
##  [32,] 10480.1 10408.97 10377.07
##  [33,] 10387.6 10425.38 10408.97
##  [34,] 10202.6 10360.83 10425.38
##  [35,] 10219.3 10305.40 10360.83
##  [36,] 10382.7 10334.47 10305.40
##  [37,] 10820.5 10415.47 10334.47
##  [38,] 10358.7 10395.23 10415.47
##  [39,] 10494.6 10413.07 10395.23
##  [40,] 10497.6 10462.23 10413.07
##  [41,] 10431.5 10497.60 10462.23
##  [42,] 10447.8 10508.45 10497.60
##  [43,] 10684.4 10485.77 10508.45
##  [44,] 10176.5 10455.40 10485.77
##  [45,] 10616.0 10475.63 10455.40
##  [46,] 10627.7 10497.32 10475.63
##  [47,] 10684.0 10539.40 10497.32
##  [48,] 10246.7 10505.88 10539.40
##  [49,] 10265.0 10435.98 10505.88
##  [50,] 10090.4 10421.63 10435.98
##  [51,]  9881.1 10299.15 10421.63
##  [52,] 10449.7 10269.48 10299.15
##  [53,] 10276.3 10201.53 10269.48
##  [54,] 10175.2 10189.62 10201.53
##  [55,] 10212.5 10180.87 10189.62
##  [56,] 10395.5 10231.72 10180.87
##  [57,] 10545.9 10342.52 10231.72
##  [58,] 10635.7 10373.52 10342.52
##  [59,] 10265.2 10371.67 10373.52
##  [60,] 10551.6 10434.40 10371.67
##  [61,] 10538.2 10488.68 10434.40
##  [62,] 10286.2 10470.47 10488.68
##  [63,] 10171.3 10408.03 10470.47
##  [64,] 10393.1 10367.60 10408.03
##  [65,] 10162.3 10350.45 10367.60
##  [66,] 10164.5 10285.93 10350.45
##  [67,] 10327.0 10250.73 10285.93
##  [68,] 10365.1 10263.88 10250.73
##  [69,] 10755.9 10361.32 10263.88
##  [70,] 10463.6 10373.07 10361.32
##  [71,] 10080.5 10359.43 10373.07
##  [72,] 10479.6 10411.95 10359.43
##  [73,]  9980.9 10354.27 10411.95
##  [74,] 10039.2 10299.95 10354.27
##  [75,] 10246.1 10214.98 10299.95
##  [76,] 10368.0 10199.05 10214.98
##  [77,] 10446.3 10260.02 10199.05
##  [78,] 10535.3 10269.30 10260.02
##  [79,] 10786.9 10403.63 10269.30
##  [80,]  9975.8 10393.07 10403.63
##  [81,] 10160.9 10378.87 10393.07
##  [82,] 10422.1 10387.88 10378.87
##  [83,] 10757.2 10439.70 10387.88
##  [84,] 10463.8 10427.78 10439.70
##  [85,] 10307.0 10347.80 10427.78
##  [86,] 10134.7 10374.28 10347.80
##  [87,] 10207.7 10382.08 10374.28
##  [88,] 10488.0 10393.07 10382.08
##  [89,] 10262.3 10310.58 10393.07
##  [90,] 10785.9 10364.27 10310.58
##  [91,] 10375.4 10375.67 10364.27
##  [92,] 10123.4 10373.78 10375.67
##  [93,] 10462.7 10416.28 10373.78
##  [94,] 10205.5 10369.20 10416.28
##  [95,] 10522.7 10412.60 10369.20
##  [96,] 10253.2 10323.82 10412.60
##  [97,] 10428.7 10332.70 10323.82
##  [98,] 10615.8 10414.77 10332.70
##  [99,] 10417.3 10407.20 10414.77
## [100,] 10445.4 10447.18 10407.20
## [101,] 10690.6 10475.17 10447.18
## [102,] 10271.8 10478.27 10475.17
## [103,] 10524.8 10494.28 10478.27
## [104,]  9815.0 10360.82 10494.28
## [105,] 10398.5 10357.68 10360.82
## [106,] 10553.1 10375.63 10357.68
## [107,] 10655.8 10369.83 10375.63
## [108,] 10199.1 10357.72 10369.83
## [109,] 10416.6 10339.68 10357.72
## [110,] 10391.3 10435.73 10339.68
## [111,] 10210.1 10404.33 10435.73
## [112,] 10352.5 10370.90 10404.33
## [113,] 10423.8 10332.23 10370.90
## [114,] 10519.3 10385.60 10332.23
## [115,] 10596.7 10415.62 10385.60
## [116,] 10650.0 10458.73 10415.62
## [117,] 10741.6 10547.32 10458.73
## [118,] 10246.0 10529.57 10547.32
## [119,] 10354.4 10518.00 10529.57
## [120,] 10155.4 10457.35 10518.00
## [121,]      NA       NA 10457.35
## [122,]      NA       NA 10457.35
## [123,]      NA       NA 10457.35
## [124,]      NA       NA 10457.35
## [125,]      NA       NA 10457.35
#Visualisasi data
ts.plot(data.gab2[,1], xlab="Week ", ylab="Sales", main= "SMA N=6 of Sales Data")
points(data.gab2[,1], pch = 20)
lines(data.gab2[,2],col="red",lwd=2)
lines(data.gab2[,3],col="blue",lwd=2)
legend("bottomright",c("data aktual","data pemulusan","data peramalan"), lty=8, col=c("black","pink","blue"), cex=0.8)

Menghitung Nilai Keakuratan

Ukuran kebaikan metode pemulusan yang akan digunakan yaitu SSE, MSE, dan MAPE. Semakin kecil nilai SSE, MSE, dan MAPE berarti metode pemulusan semakin baik. Adapun rumus perhitungan dari masing-masing akurasi sebagai berikut:

SSE = \(\sum_i (y_{t} - \hat{y}_{t})^{2}\)

MSE = \(\frac{1}{n}\sum_i (y_{t} - \hat{y}_{t})^{2}\)

MAPE = \(\frac{1}{n}\sum_i |\frac {y_{t} - \hat{y}_{t}}{y_{t}}|\times 100%\)

# Nilai akurasi SMA m = 4
err.4=sales.ts-forecast4[1:length(sales.ts)]
SSE.4=sum(err.4[5:length(sales.ts)]^2)
MSE.4 = mean(err.4[5:length(sales.ts)]^2)
MAPE.4 = mean(abs(err.4[5:length(sales.ts)]/sales.ts[5:length(sales.ts)]))*100

akurasi.4 <- matrix(c(SSE.4,MSE.4,MAPE.4))
row.names(akurasi.4)<- c("SSE", "MSE", "MAPE")
colnames(akurasi.4) <- c("Akurasi m = 4")
akurasi.4
##      Akurasi m = 4
## SSE   7.781583e+06
## MSE   6.708261e+04
## MAPE  2.008453e+00
# Nilai Akurasi SMA m = 6
err.6=sales.ts-forecast6[1:length(sales.ts)]
SSE.6=sum(err.6[7:length(sales.ts)]^2)
MSE.6 = mean(err.6[7:length(sales.ts)]^2)
MAPE.6 = mean(abs(err.6[7:length(sales.ts)]/sales.ts[7:length(sales.ts)]))*100

akurasi.6 <- matrix(c(SSE.6,MSE.6,MAPE.6))
row.names(akurasi.6)<- c("SSE", "MSE", "MAPE")
colnames(akurasi.6) <- c("Akurasi m = 6")
akurasi.6
##      Akurasi m = 6
## SSE   6.673930e+06
## MSE   5.854324e+04
## MAPE  1.887647e+00

Berdasarkan hasil perhitungan akurasi diatas, terlihat bahwa dari ketiga ukuran kebaikan (SSE,MSE, dan MAPE), metode pemulusan rataan bergerak sederhana dengan m = 6 memiliki nilai akurasi lebih kecil dibandingkan rataan bergerak sedrehana dengan m = 4. Oleh karena itu, dalam kasus ini dapat disimpulkan bahwa metode rataan bergerah sederhana dengan m = 6 lebih baik digunakan untuk melakukan peramalan data. Selanjutnya, akan dilakukan peramalan menggunakan Rataan Bergerak Berganda (Double Moving Average)

Pemulusan Rataan Bergerak Berganda (Double Moving Average)

Rataan bergerak berganda digunakan untuk data yang memiliki pola trend. Pada dasarnya, metode ini mirip dengan rataan bergerak sederhana. Hanya saja pada metode pemulusan ini, proses penghalusan dengan rata-rata dilakukan dua kali. Berbeda dengan metode sebelumnya, pemulusan menggunakan metode ini akan menghasilkan permalan tidak konstan untuk periode berikutnya. Berikut penerapan Rataan Bergerak Berganda pada R dengan m = 4 dan m = 6.

Pemulusan menggunakan Double Moving Average dengan m= 4 dan m=6

# DMA m = 4
DMA.4 <- SMA(pemulusan.sma4, n = 4)
At <- 2*pemulusan.sma4 - DMA.4
Bt <- 2/(4-1)*(pemulusan.sma4 - DMA.4)
pemulusan.dma4<- At+Bt
forecast.dma4<- c(NA, pemulusan.dma4)
# Peramalan 5 periode kedepan
t = 1:5
f = c()

for (i in t) {
  f[i] = At[length(At)] + Bt[length(Bt)]*(i)
}

data.gab.dma4 <- cbind(aktual = c(sales.ts,rep(NA,5)), pemulusan1 = c(pemulusan.sma4,rep(NA,5)),pemulusan2 = c(pemulusan.dma4, rep(NA,5)),At = c(At, rep(NA,5)), Bt = c(Bt,rep(NA,5)),ramalan = c(forecast.dma4, f[-1]))

data.gab.dma4
##         aktual pemulusan1 pemulusan2        At           Bt   ramalan
##   [1,] 10618.1         NA         NA        NA           NA        NA
##   [2,] 10537.9         NA         NA        NA           NA        NA
##   [3,] 10209.3         NA         NA        NA           NA        NA
##   [4,] 10553.0   10479.58         NA        NA           NA        NA
##   [5,]  9934.9   10308.78         NA        NA           NA        NA
##   [6,] 10534.5   10307.93         NA        NA           NA        NA
##   [7,] 10196.5   10304.73  10228.850 10259.200  -30.3500000        NA
##   [8,] 10511.8   10294.43  10278.529 10284.888   -6.3583333 10228.850
##   [9,] 10089.6   10333.10  10371.527 10356.156   15.3708333 10278.529
##  [10,] 10371.2   10292.28  10269.181 10278.419   -9.2375000 10371.527
##  [11,] 10239.4   10303.00  10298.500 10300.300   -1.8000000 10269.181
##  [12,] 10472.4   10293.15  10272.765 10280.919   -8.1541667 10298.500
##  [13,] 10827.2   10477.55  10704.310 10613.606   90.7041667 10272.765
##  [14,] 10640.8   10544.95  10778.763 10685.238   93.5250000 10704.310
##  [15,] 10517.8   10614.55  10834.550 10746.550   88.0000000 10778.763
##  [16,] 10154.2   10535.00  10521.646 10526.988   -5.3416667 10834.550
##  [17,]  9969.2   10320.50  10015.083 10137.250 -122.1666667 10521.646
##  [18,] 10260.4   10225.40   9894.629 10026.938 -132.3083333 10015.083
##  [19,] 10737.0   10280.20  10180.075 10220.125  -40.0500000  9894.629
##  [20,] 10430.0   10349.15  10441.379 10404.488   36.8916667 10180.075
##  [21,] 10689.0   10529.10  10834.329 10712.238  122.0916667 10441.379
##  [22,] 10430.4   10571.60  10803.413 10710.688   92.7250000 10834.329
##  [23,] 10002.4   10387.95  10268.783 10316.450  -47.6666667 10803.413
##  [24,] 10135.7   10314.38  10087.073 10177.994  -90.9208333 10268.783
##  [25,] 10096.2   10166.18   9843.092  9972.325 -129.2333333 10087.073
##  [26,] 10288.7   10130.75   9932.313 10011.688  -79.3750000  9843.092
##  [27,] 10289.1   10202.43  10200.748 10201.419   -0.6708333  9932.313
##  [28,] 10589.9   10315.98  10502.881 10428.119   74.7625000 10200.748
##  [29,] 10551.9   10429.90  10696.796 10590.038  106.7583333 10502.881
##  [30,] 10208.3   10409.80  10526.925 10480.075   46.8500000 10696.796
##  [31,] 10334.5   10421.15  10466.056 10448.094   17.9625000 10526.925
##  [32,] 10480.1   10393.70  10360.471 10373.763  -13.2916667 10466.056
##  [33,] 10387.6   10352.63  10283.135 10310.931  -27.7958333 10360.471
##  [34,] 10202.6   10351.20  10303.752 10322.731  -18.9791667 10283.135
##  [35,] 10219.3   10322.40  10268.098 10289.819  -21.7208333 10303.752
##  [36,] 10382.7   10298.05  10243.019 10265.031  -22.0125000 10268.098
##  [37,] 10820.5   10406.28  10509.265 10468.069   41.1958333 10243.019
##  [38,] 10358.7   10445.30  10574.123 10522.594   51.5291667 10509.265
##  [39,] 10494.6   10514.13  10677.771 10612.313   65.4583333 10574.123
##  [40,] 10497.6   10542.85  10652.371 10608.563   43.8083333 10677.771
##  [41,] 10431.5   10445.60  10376.652 10404.231  -27.5791667 10652.371
##  [42,] 10447.8   10467.88  10426.646 10443.138  -16.4916667 10376.652
##  [43,] 10684.4   10515.33  10552.679 10537.738   14.9416667 10426.646
##  [44,] 10176.5   10435.05  10383.529 10404.138  -20.6083333 10552.679
##  [45,] 10616.0   10481.18  10491.706 10487.494    4.2125000 10383.529
##  [46,] 10627.7   10526.15  10587.358 10562.875   24.4833333 10491.706
##  [47,] 10684.0   10526.05  10582.623 10559.994   22.6291667 10587.358
##  [48,] 10246.7   10543.60  10584.194 10567.956   16.2375000 10582.623
##  [49,] 10265.0   10455.85  10360.746 10398.788  -38.0416667 10584.194
##  [50,] 10090.4   10321.53  10087.806 10181.294  -93.4875000 10360.746
##  [51,]  9881.1   10120.80   9721.394  9881.156 -159.7625000 10087.806
##  [52,] 10449.7   10171.55  10011.748 10075.669  -63.9208333  9721.394
##  [53,] 10276.3   10174.38  10136.563 10151.688  -15.1250000 10011.748
##  [54,] 10175.2   10195.58  10245.575 10225.575   20.0000000 10136.563
##  [55,] 10212.5   10278.43  10400.831 10351.869   48.9625000 10245.575
##  [56,] 10395.5   10264.88  10325.813 10301.438   24.3750000 10400.831
##  [57,] 10545.9   10332.28  10439.754 10396.763   42.9916667 10325.813
##  [58,] 10635.7   10447.40  10641.827 10564.056   77.7708333 10439.754
##  [59,] 10265.2   10460.58  10601.065 10544.869   56.1958333 10641.827
##  [60,] 10551.6   10499.60  10607.329 10564.238   43.0916667 10601.065
##  [61,] 10538.2   10497.68  10533.279 10519.038   14.2416667 10607.329
##  [62,] 10286.2   10410.30  10315.738 10353.563  -37.8250000 10533.279
##  [63,] 10171.3   10386.83  10283.867 10325.050  -41.1833333 10315.738
##  [64,] 10393.1   10347.20  10241.700 10283.900  -42.2000000 10283.867
##  [65,] 10162.3   10253.23  10092.954 10157.063  -64.1083333 10241.700
##  [66,] 10164.5   10222.80  10089.946 10143.088  -53.1416667 10092.954
##  [67,] 10327.0   10261.73  10245.871 10252.213   -6.3416667 10089.946
##  [68,] 10365.1   10254.73  10265.735 10261.331    4.4041667 10245.871
##  [69,] 10755.9   10403.13  10599.010 10520.656   78.3541667 10265.735
##  [70,] 10463.6   10477.90  10692.119 10606.431   85.6875000 10599.010
##  [71,] 10080.5   10416.28  10463.390 10444.544   18.8458333 10692.119
##  [72,] 10479.6   10444.90  10460.483 10454.250    6.2333333 10463.390
##  [73,]  9980.9   10251.15  10007.140 10104.744  -97.6041667 10460.483
##  [74,] 10039.2   10145.05   9862.894  9975.756 -112.8625000 10007.140
##  [75,] 10246.1   10186.45  10069.054 10116.013  -46.9583333  9862.894
##  [76,] 10368.0   10158.55  10113.967 10131.800  -17.8333333 10069.054
##  [77,] 10446.3   10274.90  10414.338 10358.563   55.7750000 10113.967
##  [78,] 10535.3   10398.93  10639.290 10543.144   96.1458333 10414.338
##  [79,] 10786.9   10534.13  10854.958 10726.625  128.3333333 10639.290
##  [80,]  9975.8   10436.08  10477.856 10461.144   16.7125000 10854.958
##  [81,] 10160.9   10364.73  10250.163 10295.988  -45.8250000 10477.856
##  [82,] 10422.1   10336.43  10200.738 10255.013  -54.2750000 10250.163
##  [83,] 10757.2   10329.00  10266.406 10291.444  -25.0375000 10200.738
##  [84,] 10463.8   10451.00  10585.521 10531.713   53.8083333 10266.406
##  [85,] 10307.0   10487.53  10631.754 10574.063   57.6916667 10585.521
##  [86,] 10134.7   10415.68  10407.133 10410.550   -3.4166667 10631.754
##  [87,] 10207.7   10278.30  10061.925 10148.475  -86.5500000 10407.133
##  [88,] 10488.0   10284.35  10147.496 10202.238  -54.7416667 10061.925
##  [89,] 10262.3   10273.18  10207.008 10233.475  -26.4666667 10147.496
##  [90,] 10785.9   10435.98  10632.683 10554.000   78.6833333 10207.008
##  [91,] 10375.4   10477.90  10661.317 10587.950   73.3666667 10632.683
##  [92,] 10123.4   10386.75  10375.583 10380.050   -4.4666667 10661.317
##  [93,] 10462.7   10436.85  10440.985 10439.331    1.6541667 10375.583
##  [94,] 10205.5   10291.75  10114.146 10185.188  -71.0416667 10440.985
##  [95,] 10522.7   10328.58  10274.565 10296.169  -21.6041667 10114.146
##  [96,] 10253.2   10361.03  10371.817 10367.500    4.3166667 10274.565
##  [97,] 10428.7   10352.53  10384.285 10371.581   12.7041667 10371.817
##  [98,] 10615.8   10455.10  10589.756 10535.894   53.8625000 10384.285
##  [99,] 10417.3   10428.75  10477.750 10458.150   19.6000000 10589.756
## [100,] 10445.4   10476.80  10557.644 10525.306   32.3375000 10477.750
## [101,] 10690.6   10542.28  10653.181 10608.819   44.3625000 10557.644
## [102,] 10271.8   10456.28  10423.358 10436.525  -13.1666667 10653.181
## [103,] 10524.8   10483.15  10472.358 10476.675   -4.3166667 10423.358
## [104,]  9815.0   10325.55  10115.113 10199.288  -84.1750000 10472.358
## [105,] 10398.5   10252.53  10041.108 10125.675  -84.5666667 10115.113
## [106,] 10553.1   10322.85  10284.235 10299.681  -15.4458333 10041.108
## [107,] 10655.8   10355.60  10424.715 10397.069   27.6458333 10284.235
## [108,] 10199.1   10451.63  10628.250 10557.600   70.6500000 10424.715
## [109,] 10416.6   10456.15  10555.473 10515.744   39.7291667 10628.250
## [110,] 10391.3   10415.70  10408.919 10411.631   -2.7125000 10555.473
## [111,] 10210.1   10304.28  10133.171 10201.613  -68.4416667 10408.919
## [112,] 10352.5   10342.63  10280.854 10305.563  -24.7083333 10133.171
## [113,] 10423.8   10344.43  10332.206 10337.094   -4.8875000 10280.854
## [114,] 10519.3   10376.43  10433.904 10410.913   22.9916667 10332.206
## [115,] 10596.7   10473.08  10621.304 10562.013   59.2916667 10433.904
## [116,] 10650.0   10547.45  10734.294 10659.556   74.7375000 10621.304
## [117,] 10741.6   10626.90  10828.463 10747.838   80.6250000 10734.294
## [118,] 10246.0   10558.58  10570.367 10565.650    4.7166667 10828.463
## [119,] 10354.4   10498.00  10398.448 10438.269  -39.8208333 10570.367
## [120,] 10155.4   10374.35  10140.840 10234.244  -93.4041667 10398.448
## [121,]      NA         NA         NA        NA           NA 10140.840
## [122,]      NA         NA         NA        NA           NA 10047.435
## [123,]      NA         NA         NA        NA           NA  9954.031
## [124,]      NA         NA         NA        NA           NA  9860.627
## [125,]      NA         NA         NA        NA           NA  9767.223
#Visualisasi data
ts.plot(data.gab.dma4[,1], xlab="Week ", ylab="Sales", main= "DMA N=4 of Sales Data")
points(data.gab.dma4[,1])
lines(data.gab.dma4[,3],col="green",lwd=2)
lines(data.gab.dma4[,6],col="red",lwd=2)
legend("bottomleft",c("data aktual","data pemulusan","data peramalan"), lty=8, col=c("black","green","red"), cex=0.8)

# DMA m = 6
DMA.6 <- SMA(pemulusan.sma6, n = 6)
At <- 2*pemulusan.sma6 - DMA.6
Bt <- 2/(4-1)*(pemulusan.sma6 - DMA.6)
pemulusan.dma6<- At+Bt
forecast.dma6<- c(NA, pemulusan.dma6)
# Peramalan 5 periode kedepan
t = 1:5
f = c()

for (i in t) {
  f[i] = At[length(At)] + Bt[length(Bt)]*(i)
}

data.gab.dma6 <- cbind(aktual = c(sales.ts,rep(NA,5)), pemulusan1 = c(pemulusan.sma6,rep(NA,5)),pemulusan2 = c(pemulusan.dma6, rep(NA,5)),At = c(At, rep(NA,5)), Bt = c(Bt,rep(NA,5)),ramalan = c(forecast.dma6, f[-1]))
data.gab.dma6 
##         aktual pemulusan1 pemulusan2       At           Bt   ramalan
##   [1,] 10618.1         NA         NA       NA           NA        NA
##   [2,] 10537.9         NA         NA       NA           NA        NA
##   [3,] 10209.3         NA         NA       NA           NA        NA
##   [4,] 10553.0         NA         NA       NA           NA        NA
##   [5,]  9934.9         NA         NA       NA           NA        NA
##   [6,] 10534.5   10397.95         NA       NA           NA        NA
##   [7,] 10196.5   10327.68         NA       NA           NA        NA
##   [8,] 10511.8   10323.33         NA       NA           NA        NA
##   [9,] 10089.6   10303.38         NA       NA           NA        NA
##  [10,] 10371.2   10273.08         NA       NA           NA        NA
##  [11,] 10239.4   10323.83  10322.093 10322.79   -0.6962963        NA
##  [12,] 10472.4   10313.48  10317.956 10316.17    1.7888889 10322.093
##  [13,] 10827.2   10418.60  10573.012 10511.25   61.7648148 10317.956
##  [14,] 10640.8   10440.10  10597.910 10534.79   63.1240741 10573.012
##  [15,] 10517.8   10511.47  10730.420 10642.84   87.5814815 10597.910
##  [16,] 10154.2   10475.30  10577.805 10536.80   41.0018519 10730.420
##  [17,]  9969.2   10430.27  10428.151 10429.00   -0.8462963 10577.805
##  [18,] 10260.4   10394.93  10311.304 10344.76  -33.4518519 10428.151
##  [19,] 10737.0   10379.90  10281.965 10321.14  -39.1740741 10311.304
##  [20,] 10430.0   10344.77  10214.757 10266.76  -52.0037037 10281.965
##  [21,] 10689.0   10373.30  10329.226 10346.86  -17.6296296 10214.757
##  [22,] 10430.4   10419.33  10467.528 10448.25   19.2777778 10329.226
##  [23,] 10002.4   10424.87  10483.783 10460.22   23.5666667 10467.528
##  [24,] 10135.7   10404.08  10425.819 10417.12    8.6944444 10483.783
##  [25,] 10096.2   10297.28  10163.969 10217.29  -53.3259259 10425.819
##  [26,] 10288.7   10273.73  10120.900 10182.03  -61.1333333 10163.969
##  [27,] 10289.1   10207.08   9989.338 10076.44  -87.0981481 10120.900
##  [28,] 10589.9   10233.67  10111.801 10160.55  -48.7462963  9989.338
##  [29,] 10551.9   10325.25  10383.694 10360.32   23.3777778 10111.801
##  [30,] 10208.3   10337.35  10434.498 10395.64   38.8592593 10383.694
##  [31,] 10334.5   10377.07  10518.247 10461.77   56.4722222 10434.498
##  [32,] 10480.1   10408.97  10565.749 10503.04   62.7129630 10518.247
##  [33,] 10387.6   10425.38  10548.888 10499.49   49.4018519 10565.749
##  [34,] 10202.6   10360.83  10341.431 10349.19   -7.7611111 10548.888
##  [35,] 10219.3   10305.40  10199.122 10241.63  -42.5111111 10341.431
##  [36,] 10382.7   10334.47  10277.434 10300.25  -22.8129630 10199.122
##  [37,] 10820.5   10415.47  10482.768 10455.85   26.9203704 10277.434
##  [38,] 10358.7   10395.23  10432.627 10417.67   14.9574074 10482.768
##  [39,] 10494.6   10413.07  10483.604 10455.39   28.2148148 10432.627
##  [40,] 10497.6   10462.23  10586.548 10536.82   49.7259259 10483.604
##  [41,] 10431.5   10497.60  10627.470 10575.52   51.9481481 10586.548
##  [42,] 10447.8   10508.45  10608.075 10568.22   39.8500000 10627.470
##  [43,] 10684.4   10485.77  10528.058 10511.14   16.9166667 10608.075
##  [44,] 10176.5   10455.40  10430.368 10440.38  -10.0129630 10528.058
##  [45,] 10616.0   10475.63  10466.944 10470.42   -3.4759259 10430.368
##  [46,] 10627.7   10497.32  10515.020 10507.94    7.0814815 10466.944
##  [47,] 10684.0   10539.40  10615.631 10585.14   30.4925926 10515.020
##  [48,] 10246.7   10505.88  10526.967 10518.53    8.4333333 10615.631
##  [49,] 10265.0   10435.98  10354.395 10387.03  -32.6351852 10526.967
##  [50,] 10090.4   10421.63  10325.508 10363.96  -38.4500000 10354.395
##  [51,]  9881.1   10299.15  10047.909 10148.41 -100.4962963 10325.508
##  [52,] 10449.7   10269.48  10032.085 10127.04  -94.9592593 10047.909
##  [53,] 10276.3   10201.53   9944.737 10047.46 -102.7185185 10032.085
##  [54,] 10175.2   10189.62  10000.811 10076.33  -75.5222222  9944.737
##  [55,] 10212.5   10180.87  10048.344 10101.35  -53.0092593 10000.811
##  [56,] 10395.5   10231.72  10236.698 10234.71    1.9925926 10048.344
##  [57,] 10545.9   10342.52  10520.119 10449.08   71.0407407 10236.698
##  [58,] 10635.7   10373.52  10573.887 10493.74   80.1481481 10520.119
##  [59,] 10265.2   10371.67  10521.694 10461.68   60.0111111 10573.887
##  [60,] 10551.6   10434.40  10620.988 10546.35   74.6351852 10521.694
##  [61,] 10538.2   10488.68  10680.239 10603.62   76.6222222 10620.988
##  [62,] 10286.2   10470.47  10565.342 10527.39   37.9500000 10680.239
##  [63,] 10171.3   10408.03  10380.654 10391.61  -10.9518519 10565.342
##  [64,] 10393.1   10367.60  10274.475 10311.72  -37.2500000 10380.654
##  [65,] 10162.3   10350.45  10234.635 10280.96  -46.3259259 10274.475
##  [66,] 10164.5   10285.93  10103.831 10176.67  -72.8407407 10234.635
##  [67,] 10327.0   10250.73  10076.062 10145.93  -69.8685185 10103.831
##  [68,] 10365.1   10263.88  10168.513 10206.66  -38.1481481 10076.062
##  [69,] 10755.9   10361.32  10441.312 10409.31   31.9981481 10168.513
##  [70,] 10463.6   10373.07  10471.127 10431.90   39.2240741 10441.312
##  [71,] 10080.5   10359.43  10432.276 10403.14   29.1370370 10471.127
##  [72,] 10479.6   10411.95  10537.316 10487.17   50.1462963 10432.276
##  [73,]  9980.9   10354.27  10354.734 10354.55    0.1870370 10537.316
##  [74,] 10039.2   10299.95  10199.871 10239.90  -40.0314815 10354.734
##  [75,] 10246.1   10214.98  10013.942 10094.36  -80.4166667 10199.871
##  [76,] 10368.0   10199.05  10019.791 10091.49  -71.7037037 10013.942
##  [77,] 10446.3   10260.02  10209.984 10230.00  -20.0129630 10019.791
##  [78,] 10535.3   10269.30  10274.365 10272.34    2.0259259 10209.984
##  [79,] 10786.9   10403.63  10618.874 10532.78   86.0962963 10274.365
##  [80,]  9975.8   10393.07  10564.831 10496.12   68.7055556 10618.874
##  [81,] 10160.9   10378.87  10481.441 10440.41   41.0296296 10564.831
##  [82,] 10422.1   10387.88  10453.031 10426.97   26.0592593 10481.441
##  [83,] 10757.2   10439.70  10541.297 10500.66   40.6388889 10453.031
##  [84,] 10463.8   10427.78  10465.496 10450.41   15.0851852 10541.297
##  [85,] 10307.0   10347.80  10267.717 10299.75  -32.0333333 10465.496
##  [86,] 10134.7   10374.28  10343.556 10355.85  -12.2907407 10267.717
##  [87,] 10207.7   10382.08  10363.463 10370.91   -7.4481481 10343.556
##  [88,] 10488.0   10393.07  10391.312 10392.01   -0.7018519 10363.463
##  [89,] 10262.3   10310.58  10207.222 10248.57  -41.3444444 10391.312
##  [90,] 10785.9   10364.27  10368.021 10366.52    1.5018519 10207.222
##  [91,] 10375.4   10375.67  10390.681 10384.67    6.0055556 10368.021
##  [92,] 10123.4   10373.78  10385.797 10380.99    4.8055556 10390.681
##  [93,] 10462.7   10416.28  10489.631 10460.29   29.3388889 10385.797
##  [94,] 10205.5   10369.20  10370.705 10370.10    0.6018519 10489.631
##  [95,] 10522.7   10412.60  10458.100 10439.90   18.2000000 10370.705
##  [96,] 10253.2   10323.82  10232.581 10269.07  -36.4944444 10458.100
##  [97,] 10428.7   10332.70  10268.205 10294.00  -25.7981481 10232.581
##  [98,] 10615.8   10414.77  10475.665 10451.31   24.3592593 10268.205
##  [99,] 10417.3   10407.20  10458.010 10437.69   20.3240741 10475.665
## [100,] 10445.4   10447.18  10542.970 10504.66   38.3148148 10458.010
## [101,] 10690.6   10475.17  10600.213 10550.19   50.0185185 10542.970
## [102,] 10271.8   10478.27  10565.577 10530.65   34.9240741 10600.213
## [103,] 10524.8   10494.28  10563.404 10535.76   27.6481481 10565.577
## [104,]  9815.0   10360.82  10222.479 10277.81  -55.3351852 10563.404
## [105,] 10398.5   10357.68  10227.878 10279.80  -51.9222222 10222.479
## [106,] 10553.1   10375.63  10295.619 10327.62  -32.0055556 10227.878
## [107,] 10655.8   10369.83  10309.412 10333.58  -24.1685185 10295.619
## [108,] 10199.1   10357.72  10310.587 10329.44  -18.8518519 10309.412
## [109,] 10416.6   10339.68  10305.443 10319.14  -13.6962963 10310.587
## [110,] 10391.3   10435.73  10540.766 10498.75   42.0129630 10305.443
## [111,] 10210.1   10404.33  10444.074 10428.18   15.8962963 10540.766
## [112,] 10352.5   10370.90  10356.233 10362.10   -5.8666667 10444.074
## [113,] 10423.8   10332.23  10263.567 10291.03  -27.4666667 10356.233
## [114,] 10519.3   10385.60  10398.132 10393.12    5.0129630 10263.567
## [115,] 10596.7   10415.62  10457.084 10440.50   16.5870370 10398.132
## [116,] 10650.0   10458.73  10565.673 10522.90   42.7759259 10457.084
## [117,] 10741.6   10547.32  10762.178 10676.23   85.9444444 10565.673
## [118,] 10246.0   10529.57  10670.770 10614.29   56.4814815 10762.178
## [119,] 10354.4   10518.00  10588.324 10560.19   28.1296296 10670.770
## [120,] 10155.4   10457.35  10406.660 10426.94  -20.2759259 10588.324
## [121,]      NA         NA         NA       NA           NA 10406.660
## [122,]      NA         NA         NA       NA           NA 10386.384
## [123,]      NA         NA         NA       NA           NA 10366.108
## [124,]      NA         NA         NA       NA           NA 10345.832
## [125,]      NA         NA         NA       NA           NA 10325.556
#Visualisasi data
ts.plot(data.gab.dma6[,1], xlab="Week ", ylab="Sales", main= "DMA N=6 of Sales Data")
points(data.gab.dma6[,1])
lines(data.gab.dma6[,3],col="blue",lwd=2)
lines(data.gab.dma6[,6],col="red",lwd=2)
legend("bottomright",c("data aktual","data pemulusan","data peramalan"), lty=8, col=c("black","blue","red"), cex=0.8)

Menghitung Nilai Keakuratan

# Nilai akurasi DMA m = 4
err.4=sales.ts-forecast.dma4[1:length(sales.ts)]
SSE.4=sum(err.4[8:length(sales.ts)]^2)
MSE.4 = mean(err.4[8:length(sales.ts)]^2)
MAPE.4 = mean(abs(err.4[8:length(sales.ts)]/sales.ts[8:length(sales.ts)]))*100

akurasi.dma4 <- matrix(c(SSE.4,MSE.4,MAPE.4))
row.names(akurasi.dma4)<- c("SSE", "MSE", "MAPE")
colnames(akurasi.dma4) <- c("Akurasi m = 4")
akurasi.dma4
##      Akurasi m = 4
## SSE   1.176799e+07
## MSE   1.041415e+05
## MAPE  2.461659e+00
# Nilai Akurasi DMA m = 6
err.6=sales.ts-forecast.dma6[1:length(sales.ts)]
SSE.6=sum(err.6[12:length(sales.ts)]^2)
MSE.6 = mean(err.6[12:length(sales.ts)]^2)
MAPE.6 = mean(abs(err.6[12:length(sales.ts)]/sales.ts[12:length(sales.ts)]))*100

akurasi.dma6 <- matrix(c(SSE.6,MSE.6,MAPE.6))
row.names(akurasi.dma6)<- c("SSE", "MSE", "MAPE")
colnames(akurasi.dma6) <- c("Akurasi m = 6")
akurasi.dma6
##      Akurasi m = 6
## SSE   9.841044e+06
## MSE   9.028480e+04
## MAPE  2.394569e+00

Berdasarkan hasil perhitungan kebaikan model diatas, terlihat bahwa nilai akurasi DMA dengan m= 6 lebih kecil dibandingkan akurasi DMA saat m = 4. Dapat disimpulkan bahwa DMA dengan m = 6 adalah model yang lebih baik.

Menentukan Metode Pemulusan Terbaik

akurasi.6
##      Akurasi m = 6
## SSE   6.673930e+06
## MSE   5.854324e+04
## MAPE  1.887647e+00
akurasi.dma6
##      Akurasi m = 6
## SSE   9.841044e+06
## MSE   9.028480e+04
## MAPE  2.394569e+00

Berdasarkan hasil diatas, didapatkan model terbaik antara masing-masing metode. Pada metode pemulusan menggunakan single moving average, metode pemulusan terbaik saat m = 6. Sementara, pada metode pemulusan double moving average, metode pemulusan terbaik saat m = 6. Selanjutnya, jika kedua akurasi dari dua metode terbaik dibandingkan, terlihat bahwa nilai SSE, MSE, dan MAPE metode pemulusan SMA dengan m = 6 lebih kecil dibandingkan metode pemulusan DMA dengan m = 6. Hal tersebut menunjukkan bahwa metode SMA dengan m = 6 lebih baik digunakan.