Single Moving Average (SMA)

Pada Praktikum Analisis Deret Waktu (ADW) kali ini kita akan membahas mengenai Rataan Bergerak Sederhana atau Single Moving Average. Data contoh yang digunakan adalah data The sales of mature pharmaceutical product yang diambil dari Buku Montgomery 1 (Appendix B, Table B.2, halaman 587). Data tersebut akan dianalisis menggunakan SMA dengan n=4. Berikut adalah tahapan analisisnya:

Tahap Persiapan

Pada tahap persiapan ini yang perlu dilakukan adalah :

  1. Melakukan Instalasi Packages (Ada 2 package R yang akan digunakan dalam Praktikum kali ini, yaitu : forecast dan TTR.)
install.packages("forecast")
## Installing package into '/home/rstudio-user/R/x86_64-pc-linux-gnu-library/4.0'
## (as 'lib' is unspecified)
install.packages("TTR")
## Installing package into '/home/rstudio-user/R/x86_64-pc-linux-gnu-library/4.0'
## (as 'lib' is unspecified)
  1. Melakukan Load Packages yang diperlukan.
library("forecast")
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
library("TTR")
library("graphics")
  1. Memanggil data yang diperlukan
data1<-read.csv("https://raw.githubusercontent.com/akbarrizki/ADW/master/datap2.csv",header=TRUE)

Tahap analisis data

Dalam sub bab ini, kita akan mulai melakukan beberapa hal :

  1. Membuat Data ke Bentuk Time Series
data.ts<-ts(data1)
data.ts
## Time Series:
## Start = 1 
## End = 120 
## Frequency = 1 
##        Sales..in.thousands.
##   [1,]              10618.1
##   [2,]              10537.9
##   [3,]              10209.3
##   [4,]              10553.0
##   [5,]               9934.9
##   [6,]              10534.5
##   [7,]              10196.5
##   [8,]              10511.8
##   [9,]              10089.6
##  [10,]              10371.2
##  [11,]              10239.4
##  [12,]              10472.4
##  [13,]              10827.2
##  [14,]              10640.8
##  [15,]              10517.8
##  [16,]              10154.2
##  [17,]               9969.2
##  [18,]              10260.4
##  [19,]              10737.0
##  [20,]              10430.0
##  [21,]              10689.0
##  [22,]              10430.4
##  [23,]              10002.4
##  [24,]              10135.7
##  [25,]              10096.2
##  [26,]              10288.7
##  [27,]              10289.1
##  [28,]              10589.9
##  [29,]              10551.9
##  [30,]              10208.3
##  [31,]              10334.5
##  [32,]              10480.1
##  [33,]              10387.6
##  [34,]              10202.6
##  [35,]              10219.3
##  [36,]              10382.7
##  [37,]              10820.5
##  [38,]              10358.7
##  [39,]              10494.6
##  [40,]              10497.6
##  [41,]              10431.5
##  [42,]              10447.8
##  [43,]              10684.4
##  [44,]              10176.5
##  [45,]              10616.0
##  [46,]              10627.7
##  [47,]              10684.0
##  [48,]              10246.7
##  [49,]              10265.0
##  [50,]              10090.4
##  [51,]               9881.1
##  [52,]              10449.7
##  [53,]              10276.3
##  [54,]              10175.2
##  [55,]              10212.5
##  [56,]              10395.5
##  [57,]              10545.9
##  [58,]              10635.7
##  [59,]              10265.2
##  [60,]              10551.6
##  [61,]              10538.2
##  [62,]              10286.2
##  [63,]              10171.3
##  [64,]              10393.1
##  [65,]              10162.3
##  [66,]              10164.5
##  [67,]              10327.0
##  [68,]              10365.1
##  [69,]              10755.9
##  [70,]              10463.6
##  [71,]              10080.5
##  [72,]              10479.6
##  [73,]               9980.9
##  [74,]              10039.2
##  [75,]              10246.1
##  [76,]              10368.0
##  [77,]              10446.3
##  [78,]              10535.3
##  [79,]              10786.9
##  [80,]               9975.8
##  [81,]              10160.9
##  [82,]              10422.1
##  [83,]              10757.2
##  [84,]              10463.8
##  [85,]              10307.0
##  [86,]              10134.7
##  [87,]              10207.7
##  [88,]              10488.0
##  [89,]              10262.3
##  [90,]              10785.9
##  [91,]              10375.4
##  [92,]              10123.4
##  [93,]              10462.7
##  [94,]              10205.5
##  [95,]              10522.7
##  [96,]              10253.2
##  [97,]              10428.7
##  [98,]              10615.8
##  [99,]              10417.3
## [100,]              10445.4
## [101,]              10690.6
## [102,]              10271.8
## [103,]              10524.8
## [104,]               9815.0
## [105,]              10398.5
## [106,]              10553.1
## [107,]              10655.8
## [108,]              10199.1
## [109,]              10416.6
## [110,]              10391.3
## [111,]              10210.1
## [112,]              10352.5
## [113,]              10423.8
## [114,]              10519.3
## [115,]              10596.7
## [116,]              10650.0
## [117,]              10741.6
## [118,]              10246.0
## [119,]              10354.4
## [120,]              10155.4
  1. Membuat Plot Time Series dari data.ts
ts.plot(data.ts, xlab="Time Period ", ylab="Sales", main= "Time Series Plot Data Sales")
points(data.ts)

  1. Melakukan Proses Pemulusan SMA dengan n=4
data.sma<-SMA(data.ts, n=4)
data.sma
## Time Series:
## Start = 1 
## End = 120 
## Frequency = 1 
##   [1]       NA       NA       NA 10479.58 10308.78 10307.93 10304.73 10294.43
##   [9] 10333.10 10292.28 10303.00 10293.15 10477.55 10544.95 10614.55 10535.00
##  [17] 10320.50 10225.40 10280.20 10349.15 10529.10 10571.60 10387.95 10314.38
##  [25] 10166.18 10130.75 10202.43 10315.98 10429.90 10409.80 10421.15 10393.70
##  [33] 10352.63 10351.20 10322.40 10298.05 10406.28 10445.30 10514.13 10542.85
##  [41] 10445.60 10467.88 10515.33 10435.05 10481.18 10526.15 10526.05 10543.60
##  [49] 10455.85 10321.53 10120.80 10171.55 10174.38 10195.58 10278.43 10264.88
##  [57] 10332.28 10447.40 10460.58 10499.60 10497.68 10410.30 10386.83 10347.20
##  [65] 10253.23 10222.80 10261.73 10254.73 10403.13 10477.90 10416.28 10444.90
##  [73] 10251.15 10145.05 10186.45 10158.55 10274.90 10398.93 10534.13 10436.08
##  [81] 10364.73 10336.43 10329.00 10451.00 10487.53 10415.68 10278.30 10284.35
##  [89] 10273.18 10435.98 10477.90 10386.75 10436.85 10291.75 10328.58 10361.03
##  [97] 10352.53 10455.10 10428.75 10476.80 10542.28 10456.28 10483.15 10325.55
## [105] 10252.53 10322.85 10355.60 10451.63 10456.15 10415.70 10304.28 10342.63
## [113] 10344.43 10376.43 10473.08 10547.45 10626.90 10558.58 10498.00 10374.35
data.ramal<-c(NA,data.sma)
data.ramal
##   [1]       NA       NA       NA       NA 10479.58 10308.78 10307.93 10304.73
##   [9] 10294.43 10333.10 10292.28 10303.00 10293.15 10477.55 10544.95 10614.55
##  [17] 10535.00 10320.50 10225.40 10280.20 10349.15 10529.10 10571.60 10387.95
##  [25] 10314.38 10166.18 10130.75 10202.43 10315.98 10429.90 10409.80 10421.15
##  [33] 10393.70 10352.63 10351.20 10322.40 10298.05 10406.28 10445.30 10514.13
##  [41] 10542.85 10445.60 10467.88 10515.33 10435.05 10481.18 10526.15 10526.05
##  [49] 10543.60 10455.85 10321.53 10120.80 10171.55 10174.38 10195.58 10278.43
##  [57] 10264.88 10332.28 10447.40 10460.58 10499.60 10497.68 10410.30 10386.83
##  [65] 10347.20 10253.23 10222.80 10261.73 10254.73 10403.13 10477.90 10416.28
##  [73] 10444.90 10251.15 10145.05 10186.45 10158.55 10274.90 10398.93 10534.13
##  [81] 10436.08 10364.73 10336.43 10329.00 10451.00 10487.53 10415.68 10278.30
##  [89] 10284.35 10273.18 10435.98 10477.90 10386.75 10436.85 10291.75 10328.58
##  [97] 10361.03 10352.53 10455.10 10428.75 10476.80 10542.28 10456.28 10483.15
## [105] 10325.55 10252.53 10322.85 10355.60 10451.63 10456.15 10415.70 10304.28
## [113] 10342.63 10344.43 10376.43 10473.08 10547.45 10626.90 10558.58 10498.00
## [121] 10374.35
data<-cbind(aktual=c(data.ts,rep(NA,5)),pemulusan=c(data.sma,rep(NA,5)),ramalan=c(data.ramal,rep(data.ramal[length(data.ramal)],4)))
data
##         aktual pemulusan  ramalan
##   [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
  1. Plot Time Series
ts.plot(data.ts, xlab="Time Period ", ylab="Sales", main= "SMA N=4 Data Sales")
points(data.ts)
lines(data.sma,col="green",lwd=2)
lines(data.ramal,col="red",lwd=2)
legend("topleft",c("data aktual","data pemulusan","data peramalan"), lty=8, col=c("black","green","red"), cex=0.8)

  1. Menyimpan Plot

Anda dapat menyimpan Plot dengan memasukkan Alamat Folder di Laptop Masing-masing sebagaimana contoh di bawah ini

setwd("D:/Dropbox/campus/")

dev.copy(png, "sma4.png")

dev.off()

  1. Menghitung Nilai Keakuratan

Nilai keakuratan yang akan dihitung disini adalah SSE,MSE, dan MAPE.

error=data.ts-data.ramal[1:length(data.ts)]
SSE=sum(error[5:length(data.ts)]^2)
SSE
## [1] 7781583
MSE=mean(error[5:length(data.ts)]^2)
MSE
## [1] 67082.61
MAPE=mean(abs((error[5:length(data.ts)]/data.ts[5:length(data.ts)])*100))
MAPE
## [1] 2.008453

Referensi


  1. Montgomery, D.C., et.al. 2008. Forecasting Time Series Analysis 2nd. John Wiley↩︎