TUGAS PRAKTIKUM 1 MPDW

library("forecast")
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
library("graphics")
library("TTR")
library("TSA")
## Registered S3 methods overwritten by 'TSA':
##   method       from    
##   fitted.Arima forecast
##   plot.Arima   forecast
## 
## Attaching package: 'TSA'
## The following objects are masked from 'package:stats':
## 
##     acf, arima
## The following object is masked from 'package:utils':
## 
##     tar
library(readxl)

Data

data1 <- read_excel("/Users/aurallybudiarini/Downloads/Semester 5/MPDW/Minyak Goreng.xlsx")
data1$tanggal <- as.Date(data1$tanggal)
str(data1)
## tibble [100 × 2] (S3: tbl_df/tbl/data.frame)
##  $ tanggal: Date[1:100], format: "2024-04-27" "2024-04-28" ...
##  $ harga  : num [1:100] 19150 19150 19150 19150 19100 ...
dim(data1)
## [1] 100   2
data1.ts <- ts(data1$harga)

Eksplorasi

summary(data1.ts)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   19050   19100   19150   19136   19150   19250
ts.plot(data1.ts, xlab = "Time Period", ylab = "Harga Minyak Goreng", main = "Time Series Plot")
points(data1.ts)

#membagi data latih dan data uji
training_ma <- data1[1:80,]
testing_ma <- data1[81:100,]
train_ma.ts <- ts(training_ma$harga)
test_ma.ts <- ts(testing_ma$harga)
#eksplorasi keseluruhan data
plot(data1.ts, col="red",main="Plot semua data")
points(data1.ts)

#eksplorasi data latih
plot(train_ma.ts, col="blue",main="Plot data latih")
points(train_ma.ts)

#eksplorasi data uji
plot(test_ma.ts, col="blue",main="Plot data uji")
points(test_ma.ts)

#Eksplorasi dengan GGPLOT
library(ggplot2)
ggplot() + 
  geom_line(data = data1, aes(x = tanggal, y = harga, col = "Data Latih")) +
  geom_line(data = testing_ma, aes(x = tanggal, y = harga, col = "Data Uji")) +
  labs(x = "Periode Waktu", y = "Harga Minyak Goreng", color = "Legend") +
  scale_colour_manual(name="Keterangan:", breaks = c("Data Latih", "Data Uji"),
                      values = c("blue", "red")) + 
  theme_bw() + theme(legend.position = "bottom",
                     plot.caption = element_text(hjust=0.5, size=12))

SMA

data.sma<-SMA(train_ma.ts, n=4)
data.sma
## Time Series:
## Start = 1 
## End = 80 
## Frequency = 1 
##  [1]       NA       NA       NA 19150.00 19137.50 19137.50 19137.50 19133.33
##  [9] 19137.50 19125.00 19112.50 19116.67 19125.00 19137.50 19145.83 19137.50
## [17] 19125.00 19112.50 19104.17 19112.50 19112.50 19112.50 19112.50 19100.00
## [25] 19100.00 19100.00 19100.00 19100.00 19100.00 19100.00 19100.00 19100.00
## [33] 19100.00 19100.00 19100.00 19100.00 19100.00 19100.00 19100.00 19100.00
## [41] 19100.00 19100.00 19100.00 19100.00 19100.00 19100.00 19100.00 19100.00
## [49] 19112.50 19120.83 19125.00 19125.00 19125.00 19116.67 19112.50 19100.00
## [57] 19079.17 19075.00 19075.00 19100.00 19108.33 19100.00 19112.50 19112.50
## [65] 19125.00 19150.00 19150.00 19150.00 19150.00 19150.00 19150.00 19150.00
## [73] 19150.00 19150.00 19150.00 19175.00 19187.50 19195.83 19200.00 19175.00
data.ramal<-c(NA,data.sma)
data.ramal #forecast 1 periode ke depan
##  [1]       NA       NA       NA       NA 19150.00 19137.50 19137.50 19137.50
##  [9] 19133.33 19137.50 19125.00 19112.50 19116.67 19125.00 19137.50 19145.83
## [17] 19137.50 19125.00 19112.50 19104.17 19112.50 19112.50 19112.50 19112.50
## [25] 19100.00 19100.00 19100.00 19100.00 19100.00 19100.00 19100.00 19100.00
## [33] 19100.00 19100.00 19100.00 19100.00 19100.00 19100.00 19100.00 19100.00
## [41] 19100.00 19100.00 19100.00 19100.00 19100.00 19100.00 19100.00 19100.00
## [49] 19100.00 19112.50 19120.83 19125.00 19125.00 19125.00 19116.67 19112.50
## [57] 19100.00 19079.17 19075.00 19075.00 19100.00 19108.33 19100.00 19112.50
## [65] 19112.50 19125.00 19150.00 19150.00 19150.00 19150.00 19150.00 19150.00
## [73] 19150.00 19150.00 19150.00 19150.00 19175.00 19187.50 19195.83 19200.00
## [81] 19175.00
data.gab<-cbind(aktual=c(train_ma.ts,rep(NA,24)),pemulusan=c(data.sma,rep(NA,24)),ramalan=c(data.ramal,rep(data.ramal[length(data.ramal)],23)))
data.gab #forecast 24 periode ke depan
##          aktual pemulusan  ramalan
##   [1,] 19150.00        NA       NA
##   [2,] 19150.00        NA       NA
##   [3,] 19150.00        NA       NA
##   [4,] 19150.00  19150.00       NA
##   [5,] 19100.00  19137.50 19150.00
##   [6,] 19150.00  19137.50 19137.50
##   [7,] 19150.00  19137.50 19137.50
##   [8,] 19133.33  19133.33 19137.50
##   [9,] 19116.67  19137.50 19133.33
##  [10,] 19100.00  19125.00 19137.50
##  [11,] 19100.00  19112.50 19125.00
##  [12,] 19150.00  19116.67 19112.50
##  [13,] 19150.00  19125.00 19116.67
##  [14,] 19150.00  19137.50 19125.00
##  [15,] 19133.33  19145.83 19137.50
##  [16,] 19116.67  19137.50 19145.83
##  [17,] 19100.00  19125.00 19137.50
##  [18,] 19100.00  19112.50 19125.00
##  [19,] 19100.00  19104.17 19112.50
##  [20,] 19150.00  19112.50 19104.17
##  [21,] 19100.00  19112.50 19112.50
##  [22,] 19100.00  19112.50 19112.50
##  [23,] 19100.00  19112.50 19112.50
##  [24,] 19100.00  19100.00 19112.50
##  [25,] 19100.00  19100.00 19100.00
##  [26,] 19100.00  19100.00 19100.00
##  [27,] 19100.00  19100.00 19100.00
##  [28,] 19100.00  19100.00 19100.00
##  [29,] 19100.00  19100.00 19100.00
##  [30,] 19100.00  19100.00 19100.00
##  [31,] 19100.00  19100.00 19100.00
##  [32,] 19100.00  19100.00 19100.00
##  [33,] 19100.00  19100.00 19100.00
##  [34,] 19100.00  19100.00 19100.00
##  [35,] 19100.00  19100.00 19100.00
##  [36,] 19100.00  19100.00 19100.00
##  [37,] 19100.00  19100.00 19100.00
##  [38,] 19100.00  19100.00 19100.00
##  [39,] 19100.00  19100.00 19100.00
##  [40,] 19100.00  19100.00 19100.00
##  [41,] 19100.00  19100.00 19100.00
##  [42,] 19100.00  19100.00 19100.00
##  [43,] 19100.00  19100.00 19100.00
##  [44,] 19100.00  19100.00 19100.00
##  [45,] 19100.00  19100.00 19100.00
##  [46,] 19100.00  19100.00 19100.00
##  [47,] 19100.00  19100.00 19100.00
##  [48,] 19100.00  19100.00 19100.00
##  [49,] 19150.00  19112.50 19100.00
##  [50,] 19133.33  19120.83 19112.50
##  [51,] 19116.67  19125.00 19120.83
##  [52,] 19100.00  19125.00 19125.00
##  [53,] 19150.00  19125.00 19125.00
##  [54,] 19100.00  19116.67 19125.00
##  [55,] 19100.00  19112.50 19116.67
##  [56,] 19050.00  19100.00 19112.50
##  [57,] 19066.67  19079.17 19100.00
##  [58,] 19083.33  19075.00 19079.17
##  [59,] 19100.00  19075.00 19075.00
##  [60,] 19150.00  19100.00 19075.00
##  [61,] 19100.00  19108.33 19100.00
##  [62,] 19050.00  19100.00 19108.33
##  [63,] 19150.00  19112.50 19100.00
##  [64,] 19150.00  19112.50 19112.50
##  [65,] 19150.00  19125.00 19112.50
##  [66,] 19150.00  19150.00 19125.00
##  [67,] 19150.00  19150.00 19150.00
##  [68,] 19150.00  19150.00 19150.00
##  [69,] 19150.00  19150.00 19150.00
##  [70,] 19150.00  19150.00 19150.00
##  [71,] 19150.00  19150.00 19150.00
##  [72,] 19150.00  19150.00 19150.00
##  [73,] 19150.00  19150.00 19150.00
##  [74,] 19150.00  19150.00 19150.00
##  [75,] 19150.00  19150.00 19150.00
##  [76,] 19250.00  19175.00 19150.00
##  [77,] 19200.00  19187.50 19175.00
##  [78,] 19183.33  19195.83 19187.50
##  [79,] 19166.67  19200.00 19195.83
##  [80,] 19150.00  19175.00 19200.00
##  [81,]       NA        NA 19175.00
##  [82,]       NA        NA 19175.00
##  [83,]       NA        NA 19175.00
##  [84,]       NA        NA 19175.00
##  [85,]       NA        NA 19175.00
##  [86,]       NA        NA 19175.00
##  [87,]       NA        NA 19175.00
##  [88,]       NA        NA 19175.00
##  [89,]       NA        NA 19175.00
##  [90,]       NA        NA 19175.00
##  [91,]       NA        NA 19175.00
##  [92,]       NA        NA 19175.00
##  [93,]       NA        NA 19175.00
##  [94,]       NA        NA 19175.00
##  [95,]       NA        NA 19175.00
##  [96,]       NA        NA 19175.00
##  [97,]       NA        NA 19175.00
##  [98,]       NA        NA 19175.00
##  [99,]       NA        NA 19175.00
## [100,]       NA        NA 19175.00
## [101,]       NA        NA 19175.00
## [102,]       NA        NA 19175.00
## [103,]       NA        NA 19175.00
## [104,]       NA        NA 19175.00
ts.plot(data1.ts, xlab="Time Period ", ylab="Harga Minyak Goreng", main= "SMA N=4 Data Harga Minyak Goreng")
points(data1.ts)
lines(data.gab[,2],col="green",lwd=2)
lines(data.gab[,3],col="red",lwd=2)
legend("topleft",c("data aktual","data pemulusan","data peramalan"), lty=8, col=c("black","green","red"), cex=0.5)

#Menghitung nilai keakuratan data latih
error_train.sma = train_ma.ts-data.ramal[1:length(train_ma.ts)]
SSE_train.sma = sum(error_train.sma[5:length(train_ma.ts)]^2)
MSE_train.sma = mean(error_train.sma[5:length(train_ma.ts)]^2)
MAPE_train.sma = mean(abs((error_train.sma[5:length(train_ma.ts)]/train_ma.ts[5:length(train_ma.ts)])*100))

akurasi_train.sma <- matrix(c(SSE_train.sma, MSE_train.sma, MAPE_train.sma))
row.names(akurasi_train.sma)<- c("SSE", "MSE", "MAPE")
colnames(akurasi_train.sma) <- c("Akurasi m = 4")
akurasi_train.sma
##      Akurasi m = 4
## SSE   5.378472e+04
## MSE   7.076937e+02
## MAPE  8.539359e-02
#Menghitung nilai keakuratan data uji
error_test.sma = test_ma.ts-data.gab[81:100,3]
SSE_test.sma = sum(error_test.sma^2)
MSE_test.sma = mean(error_test.sma^2)
MAPE_test.sma = mean(abs((error_test.sma/test_ma.ts*100)))

akurasi_test.sma <- matrix(c(SSE_test.sma, MSE_test.sma, MAPE_test.sma))
row.names(akurasi_test.sma)<- c("SSE", "MSE", "MAPE")
colnames(akurasi_test.sma) <- c("Akurasi m = 4")
akurasi_test.sma
##      Akurasi m = 4
## SSE   1.750000e+04
## MSE   8.750000e+02
## MAPE  1.432294e-01

DMA

dma <- SMA(data.sma, n = 4)
At <- 2*data.sma - dma
Bt <- 2/(4-1)*(data.sma - dma)
data.dma<- At+Bt
data.ramal2<- c(NA, data.dma)

t = 1:24
f = c()

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

data.gab2 <- cbind(aktual = c(train_ma.ts,rep(NA,24)), pemulusan1 = c(data.sma,rep(NA,24)),pemulusan2 = c(data.dma, rep(NA,24)),At = c(At, rep(NA,24)), Bt = c(Bt,rep(NA,24)),ramalan = c(data.ramal2, f[-1]))
data.gab2
##          aktual pemulusan1 pemulusan2       At          Bt  ramalan
##   [1,] 19150.00         NA         NA       NA          NA       NA
##   [2,] 19150.00         NA         NA       NA          NA       NA
##   [3,] 19150.00         NA         NA       NA          NA       NA
##   [4,] 19150.00   19150.00         NA       NA          NA       NA
##   [5,] 19100.00   19137.50         NA       NA          NA       NA
##   [6,] 19150.00   19137.50         NA       NA          NA       NA
##   [7,] 19150.00   19137.50   19132.29 19134.38  -2.0833333       NA
##   [8,] 19133.33   19133.33   19128.12 19130.21  -2.0833333 19132.29
##   [9,] 19116.67   19137.50   19139.24 19138.54   0.6944444 19128.12
##  [10,] 19100.00   19125.00   19111.11 19116.67  -5.5555556 19139.24
##  [11,] 19100.00   19112.50   19088.19 19097.92  -9.7222222 19111.11
##  [12,] 19150.00   19116.67   19106.25 19110.42  -4.1666667 19088.19
##  [13,] 19150.00   19125.00   19133.68 19130.21   3.4722222 19106.25
##  [14,] 19150.00   19137.50   19161.81 19152.08   9.7222222 19133.68
##  [15,] 19133.33   19145.83   19170.14 19160.42   9.7222222 19161.81
##  [16,] 19116.67   19137.50   19139.24 19138.54   0.6944444 19170.14
##  [17,] 19100.00   19125.00   19105.90 19113.54  -7.6388889 19139.24
##  [18,] 19100.00   19112.50   19082.99 19094.79 -11.8055556 19105.90
##  [19,] 19100.00   19104.17   19078.12 19088.54 -10.4166667 19082.99
##  [20,] 19150.00   19112.50   19110.76 19111.46  -0.6944444 19078.12
##  [21,] 19100.00   19112.50   19115.97 19114.58   1.3888889 19110.76
##  [22,] 19100.00   19112.50   19115.97 19114.58   1.3888889 19115.97
##  [23,] 19100.00   19112.50   19112.50 19112.50   0.0000000 19115.97
##  [24,] 19100.00   19100.00   19084.38 19090.62  -6.2500000 19112.50
##  [25,] 19100.00   19100.00   19089.58 19093.75  -4.1666667 19084.38
##  [26,] 19100.00   19100.00   19094.79 19096.88  -2.0833333 19089.58
##  [27,] 19100.00   19100.00   19100.00 19100.00   0.0000000 19094.79
##  [28,] 19100.00   19100.00   19100.00 19100.00   0.0000000 19100.00
##  [29,] 19100.00   19100.00   19100.00 19100.00   0.0000000 19100.00
##  [30,] 19100.00   19100.00   19100.00 19100.00   0.0000000 19100.00
##  [31,] 19100.00   19100.00   19100.00 19100.00   0.0000000 19100.00
##  [32,] 19100.00   19100.00   19100.00 19100.00   0.0000000 19100.00
##  [33,] 19100.00   19100.00   19100.00 19100.00   0.0000000 19100.00
##  [34,] 19100.00   19100.00   19100.00 19100.00   0.0000000 19100.00
##  [35,] 19100.00   19100.00   19100.00 19100.00   0.0000000 19100.00
##  [36,] 19100.00   19100.00   19100.00 19100.00   0.0000000 19100.00
##  [37,] 19100.00   19100.00   19100.00 19100.00   0.0000000 19100.00
##  [38,] 19100.00   19100.00   19100.00 19100.00   0.0000000 19100.00
##  [39,] 19100.00   19100.00   19100.00 19100.00   0.0000000 19100.00
##  [40,] 19100.00   19100.00   19100.00 19100.00   0.0000000 19100.00
##  [41,] 19100.00   19100.00   19100.00 19100.00   0.0000000 19100.00
##  [42,] 19100.00   19100.00   19100.00 19100.00   0.0000000 19100.00
##  [43,] 19100.00   19100.00   19100.00 19100.00   0.0000000 19100.00
##  [44,] 19100.00   19100.00   19100.00 19100.00   0.0000000 19100.00
##  [45,] 19100.00   19100.00   19100.00 19100.00   0.0000000 19100.00
##  [46,] 19100.00   19100.00   19100.00 19100.00   0.0000000 19100.00
##  [47,] 19100.00   19100.00   19100.00 19100.00   0.0000000 19100.00
##  [48,] 19100.00   19100.00   19100.00 19100.00   0.0000000 19100.00
##  [49,] 19150.00   19112.50   19128.12 19121.88   6.2500000 19100.00
##  [50,] 19133.33   19120.83   19141.67 19133.33   8.3333333 19128.12
##  [51,] 19116.67   19125.00   19142.36 19135.42   6.9444444 19141.67
##  [52,] 19100.00   19125.00   19131.94 19129.17   2.7777778 19142.36
##  [53,] 19150.00   19125.00   19126.74 19126.04   0.6944444 19131.94
##  [54,] 19100.00   19116.67   19106.25 19110.42  -4.1666667 19126.74
##  [55,] 19100.00   19112.50   19100.35 19105.21  -4.8611111 19106.25
##  [56,] 19050.00   19100.00   19077.43 19086.46  -9.0277778 19100.35
##  [57,] 19066.67   19079.17   19040.97 19056.25 -15.2777778 19077.43
##  [58,] 19083.33   19075.00   19047.22 19058.33 -11.1111111 19040.97
##  [59,] 19100.00   19075.00   19062.85 19067.71  -4.8611111 19047.22
##  [60,] 19150.00   19100.00   19129.51 19117.71  11.8055556 19062.85
##  [61,] 19100.00   19108.33   19139.58 19127.08  12.5000000 19129.51
##  [62,] 19050.00   19100.00   19106.94 19104.17   2.7777778 19139.58
##  [63,] 19150.00   19112.50   19124.65 19119.79   4.8611111 19106.94
##  [64,] 19150.00   19112.50   19119.44 19116.67   2.7777778 19124.65
##  [65,] 19150.00   19125.00   19145.83 19137.50   8.3333333 19119.44
##  [66,] 19150.00   19150.00   19191.67 19175.00  16.6666667 19145.83
##  [67,] 19150.00   19150.00   19176.04 19165.62  10.4166667 19191.67
##  [68,] 19150.00   19150.00   19160.42 19156.25   4.1666667 19176.04
##  [69,] 19150.00   19150.00   19150.00 19150.00   0.0000000 19160.42
##  [70,] 19150.00   19150.00   19150.00 19150.00   0.0000000 19150.00
##  [71,] 19150.00   19150.00   19150.00 19150.00   0.0000000 19150.00
##  [72,] 19150.00   19150.00   19150.00 19150.00   0.0000000 19150.00
##  [73,] 19150.00   19150.00   19150.00 19150.00   0.0000000 19150.00
##  [74,] 19150.00   19150.00   19150.00 19150.00   0.0000000 19150.00
##  [75,] 19150.00   19150.00   19150.00 19150.00   0.0000000 19150.00
##  [76,] 19250.00   19175.00   19206.25 19193.75  12.5000000 19150.00
##  [77,] 19200.00   19187.50   19223.96 19209.38  14.5833333 19206.25
##  [78,] 19183.33   19195.83   19227.08 19214.58  12.5000000 19223.96
##  [79,] 19166.67   19200.00   19217.36 19210.42   6.9444444 19227.08
##  [80,] 19150.00   19175.00   19150.69 19160.42  -9.7222222 19217.36
##  [81,]       NA         NA         NA       NA          NA 19150.69
##  [82,]       NA         NA         NA       NA          NA 19140.97
##  [83,]       NA         NA         NA       NA          NA 19131.25
##  [84,]       NA         NA         NA       NA          NA 19121.53
##  [85,]       NA         NA         NA       NA          NA 19111.81
##  [86,]       NA         NA         NA       NA          NA 19102.08
##  [87,]       NA         NA         NA       NA          NA 19092.36
##  [88,]       NA         NA         NA       NA          NA 19082.64
##  [89,]       NA         NA         NA       NA          NA 19072.92
##  [90,]       NA         NA         NA       NA          NA 19063.19
##  [91,]       NA         NA         NA       NA          NA 19053.47
##  [92,]       NA         NA         NA       NA          NA 19043.75
##  [93,]       NA         NA         NA       NA          NA 19034.03
##  [94,]       NA         NA         NA       NA          NA 19024.31
##  [95,]       NA         NA         NA       NA          NA 19014.58
##  [96,]       NA         NA         NA       NA          NA 19004.86
##  [97,]       NA         NA         NA       NA          NA 18995.14
##  [98,]       NA         NA         NA       NA          NA 18985.42
##  [99,]       NA         NA         NA       NA          NA 18975.69
## [100,]       NA         NA         NA       NA          NA 18965.97
## [101,]       NA         NA         NA       NA          NA 18956.25
## [102,]       NA         NA         NA       NA          NA 18946.53
## [103,]       NA         NA         NA       NA          NA 18936.81
## [104,]       NA         NA         NA       NA          NA 18927.08
ts.plot(data1.ts, xlab="Time Period ", ylab="Harga Minyak Goreng", main= "DMA N=4 Harga Minyak Goreng")
points(data1.ts)
lines(data.gab2[,3],col="green",lwd=2)
lines(data.gab2[,6],col="red",lwd=2)
legend("topleft",c("data aktual","data pemulusan","data peramalan"), lty=8, col=c("black","green","red"), cex=0.8)

#Menghitung nilai keakuratan data latih
error_train.dma = train_ma.ts-data.ramal2[1:length(train_ma.ts)]
SSE_train.dma = sum(error_train.dma[8:length(train_ma.ts)]^2)
MSE_train.dma = mean(error_train.dma[8:length(train_ma.ts)]^2)
MAPE_train.dma = mean(abs((error_train.dma[8:length(train_ma.ts)]/train_ma.ts[8:length(train_ma.ts)])*100))

akurasi_train.dma <- matrix(c(SSE_train.dma, MSE_train.dma, MAPE_train.dma))
row.names(akurasi_train.dma)<- c("SSE", "MSE", "MAPE")
colnames(akurasi_train.dma) <- c("Akurasi m = 4")
akurasi_train.dma
##      Akurasi m = 4
## SSE   7.525367e+04
## MSE   1.030872e+03
## MAPE  1.059092e-01

SES

#membagi training dan testing
training<-data1[1:80,]
testing<-data1[81:100,]
train.ts <- ts(training$harga)
test.ts <- ts(testing$harga)
#Cara 1 (fungsi ses)
ses.1 <- ses(train.ts, h = 20, alpha = 0.2)
plot(ses.1)

ses.1
##     Point Forecast    Lo 80    Hi 80    Lo 95    Hi 95
##  81       19169.22 19136.77 19201.66 19119.59 19218.84
##  82       19169.22 19136.13 19202.30 19118.61 19219.82
##  83       19169.22 19135.50 19202.93 19117.65 19220.78
##  84       19169.22 19134.88 19203.55 19116.70 19221.73
##  85       19169.22 19134.27 19204.16 19115.77 19222.66
##  86       19169.22 19133.67 19204.76 19114.86 19223.57
##  87       19169.22 19133.09 19205.35 19113.96 19224.47
##  88       19169.22 19132.51 19205.92 19113.08 19225.36
##  89       19169.22 19131.94 19206.49 19112.21 19226.23
##  90       19169.22 19131.38 19207.05 19111.35 19227.08
##  91       19169.22 19130.83 19207.61 19110.50 19227.93
##  92       19169.22 19130.28 19208.15 19109.67 19228.76
##  93       19169.22 19129.74 19208.69 19108.85 19229.58
##  94       19169.22 19129.21 19209.22 19108.04 19230.39
##  95       19169.22 19128.69 19209.74 19107.24 19231.19
##  96       19169.22 19128.18 19210.26 19106.45 19231.98
##  97       19169.22 19127.67 19210.77 19105.67 19232.76
##  98       19169.22 19127.16 19211.27 19104.90 19233.53
##  99       19169.22 19126.66 19211.77 19104.14 19234.29
## 100       19169.22 19126.17 19212.26 19103.39 19235.05
ses.2<- ses(train.ts, h = 20, alpha = 0.7)
plot(ses.2)

ses.2
##     Point Forecast    Lo 80    Hi 80    Lo 95    Hi 95
##  81       19157.11 19124.61 19189.61 19107.41 19206.82
##  82       19157.11 19117.44 19196.78 19096.44 19217.78
##  83       19157.11 19111.38 19202.84 19087.17 19227.05
##  84       19157.11 19106.04 19208.19 19079.00 19235.23
##  85       19157.11 19101.20 19213.03 19071.60 19242.62
##  86       19157.11 19096.75 19217.48 19064.79 19249.43
##  87       19157.11 19092.60 19221.62 19058.45 19255.77
##  88       19157.11 19088.71 19225.51 19052.50 19261.72
##  89       19157.11 19085.03 19229.20 19046.87 19267.36
##  90       19157.11 19081.52 19232.70 19041.51 19272.72
##  91       19157.11 19078.17 19236.05 19036.38 19277.84
##  92       19157.11 19074.96 19239.26 19031.47 19282.75
##  93       19157.11 19071.87 19242.36 19026.74 19287.48
##  94       19157.11 19068.88 19245.34 19022.18 19292.04
##  95       19157.11 19066.00 19248.23 19017.77 19296.46
##  96       19157.11 19063.20 19251.02 19013.49 19300.74
##  97       19157.11 19060.49 19253.74 19009.33 19304.89
##  98       19157.11 19057.84 19256.38 19005.29 19308.93
##  99       19157.11 19055.27 19258.95 19001.36 19312.87
## 100       19157.11 19052.76 19261.46 18997.52 19316.70
autoplot(ses.1) +
  autolayer(fitted(ses.1), series="Fitted") +
  ylab("Membaca") + xlab("Periode")

#Cara 2 (fungsi Holtwinter)
ses1<- HoltWinters(train.ts, gamma = FALSE, beta = FALSE, alpha = 0.2)
plot(ses1)

#ramalan
ramalan1<- forecast(ses1, h=20)
ramalan1
##     Point Forecast    Lo 80    Hi 80    Lo 95    Hi 95
##  81       19169.22 19136.72 19201.71 19119.52 19218.92
##  82       19169.22 19136.08 19202.36 19118.53 19219.90
##  83       19169.22 19135.44 19202.99 19117.57 19220.87
##  84       19169.22 19134.82 19203.61 19116.62 19221.81
##  85       19169.22 19134.22 19204.22 19115.69 19222.75
##  86       19169.22 19133.62 19204.82 19114.77 19223.66
##  87       19169.22 19133.03 19205.40 19113.87 19224.56
##  88       19169.22 19132.45 19205.98 19112.99 19225.45
##  89       19169.22 19131.88 19206.55 19112.11 19226.32
##  90       19169.22 19131.32 19207.11 19111.26 19227.18
##  91       19169.22 19130.76 19207.67 19110.41 19228.02
##  92       19169.22 19130.22 19208.21 19109.58 19228.86
##  93       19169.22 19129.68 19208.75 19108.75 19229.68
##  94       19169.22 19129.15 19209.28 19107.94 19230.49
##  95       19169.22 19128.63 19209.81 19107.14 19231.29
##  96       19169.22 19128.11 19210.32 19106.35 19232.08
##  97       19169.22 19127.60 19210.83 19105.57 19232.86
##  98       19169.22 19127.09 19211.34 19104.80 19233.64
##  99       19169.22 19126.60 19211.84 19104.03 19234.40
## 100       19169.22 19126.10 19212.33 19103.28 19235.15
ses2<- HoltWinters(train.ts, gamma = FALSE, beta = FALSE, alpha = 0.7)
plot(ses2)

#ramalan
ramalan2<- forecast(ses2, h=20)
ramalan2
##     Point Forecast    Lo 80    Hi 80    Lo 95    Hi 95
##  81       19157.11 19124.61 19189.61 19107.41 19206.81
##  82       19157.11 19117.44 19196.78 19096.44 19217.78
##  83       19157.11 19111.38 19202.84 19087.17 19227.05
##  84       19157.11 19106.04 19208.19 19079.00 19235.23
##  85       19157.11 19101.20 19213.02 19071.60 19242.62
##  86       19157.11 19096.75 19217.48 19064.79 19249.43
##  87       19157.11 19092.60 19221.62 19058.46 19255.77
##  88       19157.11 19088.71 19225.51 19052.50 19261.72
##  89       19157.11 19085.03 19229.20 19046.87 19267.36
##  90       19157.11 19081.52 19232.70 19041.51 19272.72
##  91       19157.11 19078.17 19236.05 19036.39 19277.84
##  92       19157.11 19074.96 19239.26 19031.47 19282.75
##  93       19157.11 19071.87 19242.36 19026.74 19287.48
##  94       19157.11 19068.89 19245.34 19022.18 19292.04
##  95       19157.11 19066.00 19248.22 19017.77 19296.46
##  96       19157.11 19063.20 19251.02 19013.49 19300.73
##  97       19157.11 19060.49 19253.74 19009.34 19304.89
##  98       19157.11 19057.84 19256.38 19005.30 19308.93
##  99       19157.11 19055.27 19258.95 19001.36 19312.86
## 100       19157.11 19052.76 19261.46 18997.52 19316.70
#SES
ses.opt <- ses(train.ts, h = 20, alpha = NULL)
plot(ses.opt)

ses.opt
##     Point Forecast    Lo 80    Hi 80    Lo 95    Hi 95
##  81       19169.11 19137.50 19200.73 19120.77 19217.46
##  82       19169.11 19135.37 19202.86 19117.50 19220.73
##  83       19169.11 19133.36 19204.87 19114.43 19223.80
##  84       19169.11 19131.46 19206.77 19111.53 19226.70
##  85       19169.11 19129.65 19208.58 19108.76 19229.47
##  86       19169.11 19127.92 19210.31 19106.11 19232.11
##  87       19169.11 19126.26 19211.97 19103.58 19234.65
##  88       19169.11 19124.66 19213.57 19101.13 19237.10
##  89       19169.11 19123.12 19215.11 19098.77 19239.46
##  90       19169.11 19121.63 19216.60 19096.49 19241.74
##  91       19169.11 19120.18 19218.05 19094.28 19243.95
##  92       19169.11 19118.78 19219.45 19092.13 19246.10
##  93       19169.11 19117.41 19220.82 19090.04 19248.19
##  94       19169.11 19116.08 19222.15 19088.00 19250.23
##  95       19169.11 19114.78 19223.45 19086.01 19252.22
##  96       19169.11 19113.51 19224.72 19084.07 19254.16
##  97       19169.11 19112.27 19225.96 19082.18 19256.05
##  98       19169.11 19111.05 19227.18 19080.32 19257.91
##  99       19169.11 19109.87 19228.36 19078.50 19259.73
## 100       19169.11 19108.70 19229.53 19076.72 19261.51
#Lamda Optimum Holt Winter
sesopt<- HoltWinters(train.ts, gamma = FALSE, beta = FALSE,alpha = NULL)
sesopt
## Holt-Winters exponential smoothing without trend and without seasonal component.
## 
## Call:
## HoltWinters(x = train.ts, alpha = NULL, beta = FALSE, gamma = FALSE)
## 
## Smoothing parameters:
##  alpha: 0.3774873
##  beta : FALSE
##  gamma: FALSE
## 
## Coefficients:
##    [,1]
## a 19169
plot(sesopt)

#ramalan
ramalanopt<- forecast(sesopt, h=20)
ramalanopt
##     Point Forecast    Lo 80    Hi 80    Lo 95    Hi 95
##  81          19169 19137.39 19200.61 19120.66 19217.35
##  82          19169 19135.21 19202.79 19117.33 19220.68
##  83          19169 19133.17 19204.83 19114.20 19223.80
##  84          19169 19131.24 19206.77 19111.24 19226.76
##  85          19169 19129.39 19208.61 19108.43 19229.58
##  86          19169 19127.64 19210.37 19105.74 19232.27
##  87          19169 19125.95 19212.05 19103.16 19234.84
##  88          19169 19124.33 19213.68 19100.68 19237.33
##  89          19169 19122.76 19215.24 19098.28 19239.72
##  90          19169 19121.25 19216.76 19095.97 19242.04
##  91          19169 19119.78 19218.23 19093.72 19244.28
##  92          19169 19118.35 19219.65 19091.54 19246.46
##  93          19169 19116.97 19221.04 19089.42 19248.58
##  94          19169 19115.62 19222.39 19087.35 19250.65
##  95          19169 19114.30 19223.71 19085.34 19252.66
##  96          19169 19113.01 19224.99 19083.37 19254.63
##  97          19169 19111.75 19226.25 19081.45 19256.55
##  98          19169 19110.52 19227.48 19079.57 19258.44
##  99          19169 19109.32 19228.69 19077.72 19260.28
## 100          19169 19108.14 19229.87 19075.92 19262.09
#Keakuratan Metode
#Pada data training
SSE1<-ses1$SSE
MSE1<-ses1$SSE/length(train.ts)
RMSE1<-sqrt(MSE1)

akurasi1 <- matrix(c(SSE1,MSE1,RMSE1))
row.names(akurasi1)<- c("SSE", "MSE", "RMSE")
colnames(akurasi1) <- c("Akurasi lamda=0.2")
akurasi1
##      Akurasi lamda=0.2
## SSE        50272.56776
## MSE          628.40710
## RMSE          25.06805
SSE2<-ses2$SSE
MSE2<-ses2$SSE/length(train.ts)
RMSE2<-sqrt(MSE2)

akurasi2 <- matrix(c(SSE2,MSE2,RMSE2))
row.names(akurasi2)<- c("SSE", "MSE", "RMSE")
colnames(akurasi2) <- c("Akurasi lamda=0.7")
akurasi2
##      Akurasi lamda=0.7
## SSE        50160.87579
## MSE          627.01095
## RMSE          25.04019
#Cara Manual
fitted1<-ramalan1$fitted
sisaan1<-ramalan1$residuals
head(sisaan1)
## Time Series:
## Start = 1 
## End = 6 
## Frequency = 1 
## [1]  NA   0   0   0 -50  10
resid1<-training$harga-ramalan1$harga
head(resid1)
## numeric(0)
#Cara Manual
SSE.1=sum(sisaan1[2:length(train.ts)]^2)
SSE.1
## [1] 50272.57
MSE.1 = SSE.1/length(train.ts)
MSE.1
## [1] 628.4071
MAPE.1 = sum(abs(sisaan1[2:length(train.ts)]/train.ts[2:length(train.ts)])*
               100)/length(train.ts)
MAPE.1
## [1] 0.0865201
akurasi.1 <- matrix(c(SSE.1,MSE.1,MAPE.1))
row.names(akurasi.1)<- c("SSE", "MSE", "MAPE")
colnames(akurasi.1) <- c("Akurasi lamda=0.2")
akurasi.1
##      Akurasi lamda=0.2
## SSE       5.027257e+04
## MSE       6.284071e+02
## MAPE      8.652010e-02
fitted2<-ramalan2$fitted
sisaan2<-ramalan2$residuals
head(sisaan2)
## Time Series:
## Start = 1 
## End = 6 
## Frequency = 1 
## [1]  NA   0   0   0 -50  35
resid2<-training$harga-ramalan2$fitted
head(resid2)
## Time Series:
## Start = 1 
## End = 6 
## Frequency = 1 
## [1]  NA   0   0   0 -50  35
SSE.2=sum(sisaan2[2:length(train.ts)]^2)
SSE.2
## [1] 50160.88
MSE.2 = SSE.2/length(train.ts)
MSE.2
## [1] 627.0109
MAPE.2 = sum(abs(sisaan2[2:length(train.ts)]/train.ts[2:length(train.ts)])*
               100)/length(train.ts)
MAPE.2
## [1] 0.0735383
akurasi.2 <- matrix(c(SSE.2,MSE.2,MAPE.2))
row.names(akurasi.2)<- c("SSE", "MSE", "MAPE")
colnames(akurasi.2) <- c("Akurasi lamda=0.7")
akurasi.2
##      Akurasi lamda=0.7
## SSE       5.016088e+04
## MSE       6.270109e+02
## MAPE      7.353830e-02
selisih1<-ramalan1$mean-testing$harga
SSEtesting1<-sum(selisih1^2)
MSEtesting1<-SSEtesting1/length(testing)

selisih2<-ramalan2$mean-testing$harga
SSEtesting2<-sum(selisih2^2)
MSEtesting2<-SSEtesting2/length(testing)

selisihopt<-ramalanopt$mean-testing$harga
SSEtestingopt<-sum(selisihopt^2)
MSEtestingopt<-SSEtestingopt/length(testing)

akurasitesting1 <- matrix(c(SSEtesting1,SSEtesting2,SSEtestingopt))
row.names(akurasitesting1)<- c("SSE1", "SSE2", "SSEopt")
akurasitesting1
##            [,1]
## SSE1   22796.17
## SSE2   38210.01
## SSEopt 23017.89
akurasitesting2 <- matrix(c(MSEtesting1,MSEtesting2,MSEtestingopt))
row.names(akurasitesting2)<- c("MSE1", "MSE2", "MSEopt")
akurasitesting2
##            [,1]
## MSE1   11398.09
## MSE2   19105.01
## MSEopt 11508.95

DES

#Lamda=0.2 dan gamma=0.2
des.1<- HoltWinters(train.ts, gamma = FALSE, beta = 0.2, alpha = 0.2)
plot(des.1)

#ramalan
ramalandes1<- forecast(des.1, h=20)
ramalandes1
##     Point Forecast    Lo 80    Hi 80    Lo 95    Hi 95
##  81       19191.67 19158.41 19224.93 19140.80 19242.54
##  82       19194.41 19160.20 19228.62 19142.09 19246.73
##  83       19197.15 19161.70 19232.61 19142.93 19251.37
##  84       19199.89 19162.88 19236.91 19143.28 19256.51
##  85       19202.63 19163.73 19241.54 19143.13 19262.14
##  86       19205.38 19164.26 19246.49 19142.49 19268.26
##  87       19208.12 19164.47 19251.76 19141.37 19274.87
##  88       19210.86 19164.38 19257.33 19139.78 19281.93
##  89       19213.60 19164.01 19263.19 19137.76 19289.44
##  90       19216.34 19163.37 19269.31 19135.33 19297.35
##  91       19219.08 19162.47 19275.69 19132.51 19305.65
##  92       19221.82 19161.34 19282.30 19129.33 19314.32
##  93       19224.56 19159.99 19289.13 19125.81 19323.31
##  94       19227.30 19158.44 19296.17 19121.98 19332.63
##  95       19230.05 19156.68 19303.41 19117.85 19342.24
##  96       19232.79 19154.75 19310.83 19113.44 19352.14
##  97       19235.53 19152.64 19318.42 19108.76 19362.30
##  98       19238.27 19150.36 19326.18 19103.83 19372.71
##  99       19241.01 19147.93 19334.09 19098.65 19383.37
## 100       19243.75 19145.34 19342.16 19093.25 19394.25
#Lamda=0.6 dan gamma=0.3
des.2<- HoltWinters(train.ts, gamma = FALSE, beta = 0.3, alpha = 0.6)
plot(des.2)

#ramalan
ramalandes2<- forecast(des.2, h=20)
ramalandes2
##     Point Forecast    Lo 80    Hi 80    Lo 95    Hi 95
##  81       19155.39 19119.38 19191.41 19100.31 19210.47
##  82       19148.50 19102.82 19194.17 19078.64 19218.35
##  83       19141.60 19084.31 19198.89 19053.99 19229.22
##  84       19134.71 19064.23 19205.19 19026.91 19242.50
##  85       19127.81 19042.79 19212.83 18997.79 19257.83
##  86       19120.92 19020.19 19221.65 18966.86 19274.97
##  87       19114.02 18996.51 19231.53 18934.31 19293.73
##  88       19107.13 18971.87 19242.38 18900.26 19313.99
##  89       19100.23 18946.30 19254.16 18864.82 19335.64
##  90       19093.33 18919.88 19266.79 18828.06 19358.61
##  91       19086.44 18892.64 19280.24 18790.05 19382.83
##  92       19079.54 18864.62 19294.47 18750.85 19408.24
##  93       19072.65 18835.85 19309.45 18710.50 19434.80
##  94       19065.75 18806.36 19325.15 18669.04 19462.46
##  95       19058.86 18776.17 19341.55 18626.52 19491.19
##  96       19051.96 18745.30 19358.62 18582.97 19520.96
##  97       19045.07 18713.78 19376.35 18538.41 19551.72
##  98       19038.17 18681.63 19394.72 18492.88 19583.46
##  99       19031.28 18648.85 19413.71 18446.40 19616.15
## 100       19024.38 18615.46 19433.30 18398.99 19649.77
#Visually evaluate the prediction
plot(data1.ts)
lines(des.1$fitted[,1], lty=2, col="blue")
lines(ramalandes1$mean, col="red")

#Lamda dan gamma optimum
des.opt<- HoltWinters(train.ts, gamma = FALSE)
des.opt
## Holt-Winters exponential smoothing with trend and without seasonal component.
## 
## Call:
## HoltWinters(x = train.ts, gamma = FALSE)
## 
## Smoothing parameters:
##  alpha: 0.3774825
##  beta : 0
##  gamma: FALSE
## 
## Coefficients:
##    [,1]
## a 19169
## b     0
plot(des.opt)

#ramalan
ramalandesopt<- forecast(des.opt, h=20)
ramalandesopt
##     Point Forecast    Lo 80    Hi 80    Lo 95    Hi 95
##  81          19169 19137.19 19200.82 19120.35 19217.66
##  82          19169 19135.00 19203.01 19116.99 19221.01
##  83          19169 19132.94 19205.07 19113.85 19224.16
##  84          19169 19130.99 19207.01 19110.87 19227.14
##  85          19169 19129.14 19208.87 19108.04 19229.97
##  86          19169 19127.37 19210.64 19105.33 19232.67
##  87          19169 19125.67 19212.33 19102.73 19235.27
##  88          19169 19124.04 19213.97 19100.24 19237.77
##  89          19169 19122.46 19215.54 19097.83 19240.18
##  90          19169 19120.94 19217.07 19095.49 19242.51
##  91          19169 19119.46 19218.54 19093.23 19244.77
##  92          19169 19118.03 19219.98 19091.04 19246.96
##  93          19169 19116.63 19221.37 19088.91 19249.10
##  94          19169 19115.27 19222.73 19086.83 19251.18
##  95          19169 19113.94 19224.06 19084.80 19253.21
##  96          19169 19112.65 19225.35 19082.82 19255.19
##  97          19169 19111.38 19226.62 19080.88 19257.12
##  98          19169 19110.15 19227.86 19078.99 19259.01
##  99          19169 19108.93 19229.07 19077.14 19260.87
## 100          19169 19107.74 19230.26 19075.32 19262.69
#Akurasi Data Training
ssedes.train1<-des.1$SSE
msedes.train1<-ssedes.train1/length(train.ts)
sisaandes1<-ramalandes1$residuals
head(sisaandes1)
## Time Series:
## Start = 1 
## End = 6 
## Frequency = 1 
## [1]  NA  NA   0   0 -50  12
mapedes.train1 <- sum(abs(sisaandes1[3:length(train.ts)]/train.ts[3:length(train.ts)])
                      *100)/length(train.ts)

akurasides.1 <- matrix(c(ssedes.train1,msedes.train1,mapedes.train1))
row.names(akurasides.1)<- c("SSE", "MSE", "MAPE")
colnames(akurasides.1) <- c("Akurasi lamda=0.2 dan gamma=0.2")
akurasides.1
##      Akurasi lamda=0.2 dan gamma=0.2
## SSE                     5.193661e+04
## MSE                     6.492076e+02
## MAPE                    8.984544e-02
ssedes.train2<-des.2$SSE
msedes.train2<-ssedes.train2/length(train.ts)
sisaandes2<-ramalandes2$residuals
head(sisaandes2)
## Time Series:
## Start = 1 
## End = 6 
## Frequency = 1 
## [1]  NA  NA   0   0 -50  39
mapedes.train2 <- sum(abs(sisaandes2[3:length(train.ts)]/train.ts[3:length(train.ts)])
                      *100)/length(train.ts)

akurasides.2 <- matrix(c(ssedes.train2,msedes.train2,mapedes.train2))
row.names(akurasides.2)<- c("SSE", "MSE", "MAPE")
colnames(akurasides.2) <- c("Akurasi lamda=0.6 dan gamma=0.3")
akurasides.2
##      Akurasi lamda=0.6 dan gamma=0.3
## SSE                     6.083426e+04
## MSE                     7.604283e+02
## MAPE                    8.858753e-02
#Akurasi Data Testing
selisihdes1<-ramalandes1$mean-testing$harga
selisihdes1
## Time Series:
## Start = 81 
## End = 100 
## Frequency = 1 
##  [1]  41.6691557  -5.5896530  -2.8484617  -0.1072704   2.6339209   5.3751122
##  [7]   8.1163035  60.8574948  63.5986861 -33.6601226  19.0810687  21.8222600
## [13]  24.5634513  27.3046426  30.0458339  32.7870252  35.5282165  38.2694078
## [19]  41.0105991  43.7517904
SSEtestingdes1<-sum(selisihdes1^2)
MSEtestingdes1<-SSEtestingdes1/length(testing$harga)
MAPEtestingdes1<-sum(abs(selisihdes1/testing$harga)*100)/length(testing$harga)

selisihdes2<-ramalandes2$mean-testing$harga
selisihdes2
## Time Series:
## Start = 81 
## End = 100 
## Frequency = 1 
##  [1]    5.392405  -51.502915  -58.398235  -65.293554  -72.188874  -79.084193
##  [7]  -85.979513  -42.874833  -49.770152 -156.665472 -113.560791 -120.456111
## [13] -127.351431 -134.246750 -141.142070 -148.037389 -154.932709 -161.828028
## [19] -168.723348 -175.618668
SSEtestingdes2<-sum(selisihdes2^2)
MSEtestingdes2<-SSEtestingdes2/length(testing$Yt)
## Warning: Unknown or uninitialised column: `Yt`.
MAPEtestingdes2<-sum(abs(selisihdes2/testing$harga)*100)/length(testing$harga)

selisihdesopt<-ramalandesopt$mean-testing$harga
selisihdesopt
## Time Series:
## Start = 81 
## End = 100 
## Frequency = 1 
##  [1]  19.00217 -30.99783 -30.99783 -30.99783 -30.99783 -30.99783 -30.99783
##  [8]  19.00217  19.00217 -80.99783 -30.99783 -30.99783 -30.99783 -30.99783
## [15] -30.99783 -30.99783 -30.99783 -30.99783 -30.99783 -30.99783
SSEtestingdesopt<-sum(selisihdesopt^2)
MSEtestingdesopt<-SSEtestingdesopt/length(testing$harga)
MAPEtestingdesopt<-sum(abs(selisihdesopt/testing$harga)*100)/length(testing$harga)

akurasitestingdes <-
  matrix(c(SSEtestingdes1,MSEtestingdes1,MAPEtestingdes1,SSEtestingdes2,MSEtestingdes2,
           MAPEtestingdes2,SSEtestingdesopt,MSEtestingdesopt,MAPEtestingdesopt),
         nrow=3,ncol=3)
row.names(akurasitestingdes)<- c("SSE", "MSE", "MAPE")
colnames(akurasitestingdes) <- c("des ske1","des ske2","des opt")
akurasitestingdes
##          des ske1     des ske2      des opt
## SSE  2.124866e+04 2.710570e+05 2.301774e+04
## MSE  1.062433e+03          Inf 1.150887e+03
## MAPE 1.403559e-01 5.502335e-01 1.650802e-01
MSEfull <-
  matrix(c(MSEtesting1,MSEtesting2,MSEtestingopt,MSEtestingdes1,MSEtestingdes2,
           MSEtestingdesopt),nrow=3,ncol=2)
row.names(MSEfull)<- c("ske 1", "ske 2", "ske opt")
colnames(MSEfull) <- c("ses","des")
MSEfull
##              ses      des
## ske 1   11398.09 1062.433
## ske 2   19105.01      Inf
## ske opt 11508.95 1150.887

WINTER

#membagi data menjadi training dan testing
training<-data1[1:80,2]
testing<-data1[81:100,2]
training.ts<-ts(training, frequency = 7)
testing.ts<-ts(testing, frequency = 7)
#Membuat plot time series
plot(data1.ts, col="red",main="Plot semua data")
points(data1.ts)

plot(training.ts, col="blue",main="Plot data latih")
points(training.ts)

plot(testing.ts, col="green",main="Plot data uji")
points(testing.ts)

#Pemulusan dengan winter aditif 
winter1 <- HoltWinters(training.ts,alpha=0.2,beta=0.1,gamma=0.1,seasonal = "additive")
winter1$fitted
## Time Series:
## Start = c(2, 1) 
## End = c(12, 3) 
## Frequency = 7 
##               xhat    level        trend     season
##  2.000000 19157.88 19141.92 -2.239229025  18.197279
##  2.142857 19126.43 19134.77 -2.730158730  -5.612245
##  2.285714 19104.89 19130.09 -2.925442177 -22.278912
##  2.428571 19118.74 19126.19 -3.023160091  -4.421769
##  2.571429 19081.83 19119.42 -3.398014077 -34.183673
##  2.714286 19148.19 19129.65 -2.034698889  20.578231
##  2.857143 19153.70 19127.98 -1.998590857  27.721088
##  3.000000 19139.40 19125.24 -2.072589756  16.233560
##  3.142857 19113.37 19121.95 -2.193919847  -6.393379
##  3.285714 19095.62 19120.42 -2.127900081 -22.669783
##  3.428571 19111.21 19119.17 -2.040331509  -5.921185
##  3.571429 19083.89 19114.89 -2.264441992 -28.730413
##  3.714286 19134.62 19115.84 -1.942256978  20.722663
##  3.857143 19142.77 19116.98 -1.634725350  27.425093
##  4.000000 19120.05 19106.79 -2.490054129  15.748240
##  4.142857 19091.27 19100.29 -2.890979007  -6.129300
##  4.285714 19074.11 19099.14 -2.716348542 -22.319509
##  4.428571 19092.59 19101.61 -2.198513014  -6.817627
##  4.571429 19071.40 19100.89 -2.050311977 -27.441673
##  4.714286 19125.03 19104.56 -1.478263987  21.952790
##  4.857143 19120.10 19098.07 -1.978949567  24.003778
##  5.000000 19103.84 19092.08 -2.380938796  14.144540
##  5.142857 19081.04 19088.93 -2.457726652  -5.430778
##  5.285714 19067.93 19090.26 -2.078496045 -20.248167
##  5.428571 19086.93 19094.60 -1.437193857  -6.224822
##  5.571429 19069.44 19095.77 -1.175875118 -25.153481
##  5.714286 19120.09 19100.71 -0.564729458  19.950048
##  5.857143 19117.55 19096.12 -0.966588908  22.395821
##  6.000000 19104.17 19091.65 -1.317660153  13.837389
##  6.142857 19084.18 19089.50 -1.400995306  -3.913855
##  6.285714 19072.49 19091.26 -1.084618640 -17.682958
##  6.428571 19089.96 19095.68 -0.534442879  -5.179547
##  6.571429 19074.11 19097.15 -0.333681625 -22.708898
##  6.714286 19120.52 19101.99  0.184188022  18.342610
##  6.857143 19118.84 19098.07 -0.226230178  20.991536
##  7.000000 19106.98 19094.08 -0.603018654  13.504048
##  7.142857 19088.69 19092.08 -0.742639309  -2.648349
##  7.285714 19077.60 19093.60 -0.516435111 -15.482255
##  7.428571 19093.12 19097.56 -0.068464922  -4.376502
##  7.571429 19078.30 19098.87  0.069165476 -20.637419
##  7.714286 19120.48 19103.28  0.503104825  16.700937
##  7.857143 19119.26 19099.69  0.093427078  19.484382
##  8.000000 19119.58 19105.93  0.708147441  12.945566
##  8.142857 19108.63 19109.39  0.983203776  -1.743532
##  8.285714 19099.43 19111.98  1.144033384 -13.690374
##  8.428571 19110.56 19113.23  1.155419917  -3.825981
##  8.571429 19105.32 19122.28  1.944132878 -18.901662
##  8.714286 19140.06 19123.16  1.837734212  15.062226
##  8.857143 19139.96 19116.98  1.036582834  21.943263
##  9.000000 19113.31 19100.03 -0.762690672  14.045791
##  9.142857 19087.14 19089.94 -1.695572881  -1.100213
##  9.285714 19072.06 19087.48 -1.771713771 -13.644828
##  9.428571 19089.41 19091.29 -1.212966579  -0.671129
##  9.571429 19082.87 19102.20 -0.001183477 -19.327257
##  9.714286 19117.82 19105.62  0.341389229  11.857621
##  9.857143 19106.13 19092.40 -1.015077936  14.746169
## 10.000000 19110.34 19100.16 -0.137721086  10.314262
## 10.142857 19107.21 19107.95  0.655556961  -1.404777
## 10.285714 19107.27 19117.17  1.511449041 -11.409839
## 10.428571 19133.77 19127.23  2.366034972   4.176003
## 10.571429 19117.57 19132.84  2.690666162 -17.956966
## 10.714286 19151.79 19142.01  3.339217176   6.431752
## 10.857143 19166.56 19145.00  3.303499289  18.255597
## 11.000000 19161.45 19144.99  2.972378096  13.487374
## 11.142857 19150.43 19145.67  2.743398029   2.018791
## 11.285714 19143.07 19148.33  2.734717674  -7.991496
## 11.428571 19160.80 19152.45  2.873284775   5.474528
## 11.571429 19140.46 19153.16  2.657352285 -15.362762
## 11.714286 19166.87 19157.73  2.848205048   6.288880
## 11.857143 19198.65 19177.20  4.510890313  16.931112
## 12.000000 19199.09 19181.99  4.537976086  12.571454
## 12.142857 19189.58 19183.37  4.222745009   1.984070
## 12.285714 19179.34 19183.01  3.764519596  -7.437227
xhat1 <- winter1$fitted[,2]

winter1.opt<- HoltWinters(training.ts, alpha= NULL,  beta = NULL, gamma = NULL, seasonal = "additive")
winter1.opt
## Holt-Winters exponential smoothing with trend and additive seasonal component.
## 
## Call:
## HoltWinters(x = training.ts, alpha = NULL, beta = NULL, gamma = NULL,     seasonal = "additive")
## 
## Smoothing parameters:
##  alpha: 0.2557371
##  beta : 0.05555047
##  gamma: 0.2768448
## 
## Coefficients:
##             [,1]
## a   1.916987e+04
## b   2.117764e+00
## s1  1.621185e+01
## s2  7.237075e-02
## s3  1.814527e+01
## s4  1.542697e+01
## s5  1.010467e+01
## s6  4.463429e+00
## s7 -1.231679e+00
winter1.opt$fitted
## Time Series:
## Start = c(2, 1) 
## End = c(12, 3) 
## Frequency = 7 
##               xhat    level       trend      season
##  2.000000 19157.88 19141.92 -2.23922902  18.1972789
##  2.142857 19125.20 19133.41 -2.58794415  -5.6122449
##  2.285714 19103.65 19128.63 -2.70924105 -22.2789116
##  2.428571 19117.81 19124.99 -2.76102950  -4.4217687
##  2.571429 19080.48 19117.68 -3.01403389 -34.1836735
##  2.714286 19150.99 19132.44 -2.02639451  20.5782313
##  2.857143 19155.84 19130.16 -2.04050848  27.7210884
##  3.000000 19137.64 19126.63 -2.12349856  13.1395907
##  3.142857 19113.84 19123.40 -2.18472048  -7.3715087
##  3.285714 19096.76 19121.94 -2.14463363 -23.0300400
##  3.428571 19110.43 19120.62 -2.09865301  -8.0912891
##  3.571429 19093.75 19115.85 -2.24684184 -19.8591673
##  3.714286 19133.42 19115.21 -2.15803574  20.3735254
##  3.857143 19141.88 19117.29 -1.92252547  26.5174184
##  4.000000 19114.39 19104.65 -2.51752979  12.2516414
##  4.142857 19088.95 19098.46 -2.72194048  -6.7900977
##  4.285714 19073.63 19098.56 -2.56489406 -22.3631472
##  4.428571 19090.31 19102.74 -2.19033688 -10.2405875
##  4.571429 19082.40 19103.03 -2.05266815 -18.5711430
##  4.714286 19127.46 19105.48 -1.80269907  23.7893151
##  4.857143 19112.34 19096.65 -2.19283270  17.8876054
##  5.000000 19098.22 19091.30 -2.36820106   9.2869133
##  5.142857 19082.53 19089.39 -2.34289366  -4.5123307
##  5.285714 19072.49 19091.51 -2.09473800 -16.9306515
##  5.428571 19086.51 19096.45 -1.70386784  -8.2438703
##  5.571429 19081.74 19098.20 -1.51215915 -14.9456459
##  5.714286 19118.24 19101.36 -1.25278772  18.1309020
##  5.857143 19109.27 19095.44 -1.51184559  15.3441009
##  6.000000 19099.57 19091.56 -1.64358482   9.6539662
##  6.142857 19087.47 19090.02 -1.63744830  -0.9131351
##  6.285714 19078.87 19091.59 -1.45949943 -11.2615559
##  6.428571 19088.91 19095.53 -1.15931164  -5.4633693
##  6.571429 19085.03 19097.21 -1.00179432 -11.1837793
##  6.714286 19113.62 19100.04 -0.78906226  14.3735832
##  6.857143 19108.22 19095.77 -0.98259998  13.4333838
##  7.000000 19101.33 19092.68 -1.09932703   9.7429689
##  7.142857 19091.79 19091.24 -1.11815806   1.6677966
##  7.285714 19084.31 19092.22 -1.00156994  -6.9076976
##  7.428571 19091.28 19095.23 -0.77874293  -3.1787724
##  7.571429 19087.93 19096.69 -0.65481226  -8.0983599
##  7.714286 19110.20 19099.12 -0.48338358  11.5665543
##  7.857143 19107.14 19096.03 -0.62829446  11.7404001
##  8.000000 19115.81 19106.36 -0.01937440   9.4698478
##  8.142857 19114.41 19110.82  0.22958170   3.3587653
##  8.285714 19108.21 19111.63  0.26165302  -3.6758631
##  8.428571 19108.55 19109.79  0.14496961  -1.3813091
##  8.571429 19115.66 19120.53  0.73378564  -5.6119957
##  8.714286 19127.24 19117.26  0.51138185   9.4647985
##  8.857143 19131.51 19110.81  0.12440439  20.5720439
##  9.000000 19102.14 19090.09 -1.03348475  13.0806528
##  9.142857 19082.27 19079.98 -1.53737968   3.8239207
##  9.285714 19071.83 19078.72 -1.52229349  -5.3682139
##  9.428571 19090.44 19084.40 -1.12208092   7.1587502
##  9.571429 19089.40 19098.51 -0.27592311  -8.8376918
##  9.714286 19104.67 19100.95 -0.12530467   3.8521619
##  9.857143 19089.72 19086.84 -0.90201671   3.7782722
## 10.000000 19107.08 19101.35 -0.04559904   5.7722706
## 10.142857 19116.89 19112.28  0.56412130   4.0427275
## 10.285714 19122.79 19121.32  1.03446989   0.4363821
## 10.428571 19150.16 19129.31  1.42106978  19.4312386
## 10.571429 19125.46 19130.69  1.41876664  -6.6531548
## 10.714286 19132.74 19138.39  1.76746019  -7.4131003
## 10.857143 19162.78 19144.57  2.01266680  16.1995675
## 11.000000 19159.76 19143.31  1.83112338  14.6155215
## 11.142857 19155.20 19142.65  1.69249728  10.8645609
## 11.285714 19150.67 19143.01  1.61856620   6.0435426
## 11.428571 19165.46 19144.46  1.60903708  19.3978344
## 11.571429 19141.90 19142.11  1.38937114  -1.5957796
## 11.714286 19143.22 19145.57  1.50438599  -3.8566771
## 11.857143 19190.97 19174.38  3.02136613  13.5665013
## 12.000000 19195.47 19179.71  3.14964073  12.6049188
## 12.142857 19192.53 19179.76  2.97725458   9.7922806
## 12.285714 19184.64 19176.12  2.60984343   5.9053344
xhat1.opt <- winter1.opt$fitted[,2]
#Forecast
forecast1 <- predict(winter1, n.ahead = 20)
forecast1.opt <- predict(winter1.opt, n.ahead = 20)
#Plot time series
plot(training.ts,main="Winter 0.2;0.1;0.1",type="l",col="black",
     xlim=c(1,25),pch=12)
lines(xhat1,type="l",col="red")
lines(xhat1.opt,type="l",col="blue")
lines(forecast1,type="l",col="red")
lines(forecast1.opt,type="l",col="blue")
legend("topleft",c("Actual Data",expression(paste(winter1)),
                   expression(paste(winter1.opt))),cex=0.5,
       col=c("black","red","blue"),lty=1)

#Akurasi data training
SSE1<-winter1$SSE
MSE1<-winter1$SSE/length(training.ts)
RMSE1<-sqrt(MSE1)
akurasi1 <- matrix(c(SSE1,MSE1,RMSE1))
row.names(akurasi1)<- c("SSE", "MSE", "RMSE")
colnames(akurasi1) <- c("Akurasi")
akurasi1
##          Akurasi
## SSE  60409.23813
## MSE    755.11548
## RMSE    27.47936
SSE1.opt<-winter1.opt$SSE
MSE1.opt<-winter1.opt$SSE/length(training.ts)
RMSE1.opt<-sqrt(MSE1.opt)
akurasi1.opt <- matrix(c(SSE1.opt,MSE1.opt,RMSE1.opt))
row.names(akurasi1.opt)<- c("SSE1.opt", "MSE1.opt", "RMSE1.opt")
colnames(akurasi1.opt) <- c("Akurasi")
akurasi1.opt
##               Akurasi
## SSE1.opt  56837.59635
## MSE1.opt    710.46995
## RMSE1.opt    26.65464
akurasi1.train = data.frame(Model_Winter = c("Winter 1","Winter1 optimal"),
                            Nilai_SSE=c(SSE1,SSE1.opt),
                            Nilai_MSE=c(MSE1,MSE1.opt),Nilai_RMSE=c(RMSE1,RMSE1.opt))
akurasi1.train
##      Model_Winter Nilai_SSE Nilai_MSE Nilai_RMSE
## 1        Winter 1  60409.24  755.1155   27.47936
## 2 Winter1 optimal  56837.60  710.4700   26.65464
#Akurasi Data Testing
forecast1<-data.frame(forecast1)
testing.ts<-data.frame(testing.ts)
selisih1<-forecast1-testing.ts
SSEtesting1<-sum(selisih1^2)
MSEtesting1<-SSEtesting1/length(testing.ts)

forecast1.opt<-data.frame(forecast1.opt)
selisih1.opt<-forecast1.opt-testing.ts
SSEtesting1.opt<-sum(selisih1.opt^2)
MSEtesting1.opt<-SSEtesting1.opt/length(testing.ts)
#Pemulusan dengan winter multiplikatif 
winter2 <- HoltWinters(training.ts,alpha=0.2,beta=0.1,gamma=0.3,seasonal = "multiplicative")
winter2$fitted
## Time Series:
## Start = c(2, 1) 
## End = c(12, 3) 
## Frequency = 7 
##               xhat    level       trend    season
##  2.000000 19157.90 19141.92 -2.23922902 1.0009517
##  2.142857 19126.43 19134.77 -2.73004998 0.9997063
##  2.285714 19104.88 19130.09 -2.92529556 0.9988348
##  2.428571 19118.74 19126.19 -3.02298612 0.9997685
##  2.571429 19081.87 19119.42 -3.39785110 0.9982135
##  2.714286 19148.21 19129.67 -2.03280718 1.0010757
##  2.857143 19153.72 19127.99 -1.99711236 1.0014495
##  3.000000 19135.49 19125.25 -2.07142442 1.0006436
##  3.142857 19112.68 19122.75 -2.11454336 0.9995839
##  3.285714 19095.95 19121.43 -2.03480432 0.9987735
##  3.428571 19109.33 19120.21 -1.95372017 0.9995332
##  3.571429 19096.44 19116.39 -2.14047489 0.9990683
##  3.714286 19133.88 19114.96 -2.06920562 1.0010981
##  3.857143 19141.18 19116.11 -1.74717261 1.0014028
##  4.000000 19115.35 19106.14 -2.56961191 1.0006165
##  4.142857 19090.64 19100.50 -2.87641071 0.9996339
##  4.285714 19074.36 19099.50 -2.68906520 0.9988244
##  4.428571 19088.62 19101.95 -2.17567816 0.9994161
##  4.571429 19083.16 19102.05 -1.94788003 0.9991130
##  4.714286 19126.70 19103.47 -1.61073565 1.0013005
##  4.857143 19111.29 19096.53 -2.14409112 1.0008855
##  5.000000 19097.84 19092.13 -2.36972986 1.0004237
##  5.142857 19083.12 19090.19 -2.32663466 0.9997516
##  5.285714 19072.96 19091.24 -1.98894334 0.9991465
##  5.428571 19084.80 19094.66 -1.44761240 0.9995591
##  5.571429 19082.22 19096.26 -1.14340468 0.9993246
##  5.714286 19116.31 19098.67 -0.78748697 1.0009649
##  5.857143 19107.71 19094.63 -1.11342894 1.0007436
##  6.000000 19099.31 19091.97 -1.26751992 1.0004508
##  6.142857 19088.90 19090.84 -1.25370959 0.9999638
##  6.285714 19080.97 19091.81 -1.03164722 0.9994864
##  6.428571 19089.16 19094.58 -0.65090183 0.9997502
##  6.571429 19087.04 19096.10 -0.43411665 0.9995480
##  6.714286 19112.60 19098.26 -0.17474514 1.0007599
##  6.857143 19107.49 19095.57 -0.42652541 1.0006467
##  7.000000 19101.84 19093.65 -0.57624030 1.0004594
##  7.142857 19094.06 19092.70 -0.61304272 1.0001034
##  7.285714 19087.54 19093.28 -0.49428166 0.9997256
##  7.428571 19092.86 19095.27 -0.24504221 0.9998864
##  7.571429 19090.83 19096.46 -0.10219405 0.9997109
##  7.714286 19109.76 19098.19  0.08116154 1.0006015
##  7.857143 19106.76 19096.32 -0.11387182 1.0005525
##  8.000000 19113.94 19104.85  0.75052426 1.0004363
##  8.142857 19114.02 19109.48  1.13831190 1.0001780
##  8.285714 19110.08 19111.15  1.19127626 0.9998822
##  8.428571 19110.85 19110.32  0.98956149 0.9999761
##  8.571429 19117.59 19119.14  1.77252667 0.9998261
##  8.714286 19127.97 19117.39  1.42073114 1.0004789
##  8.857143 19135.03 19113.22  0.86159728 1.0010958
##  9.000000 19109.24 19097.10 -0.83711965 1.0006799
##  9.142857 19090.09 19087.75 -1.68809023 1.0002113
##  9.285714 19078.22 19084.71 -1.82329337 0.9997555
##  9.428571 19094.78 19087.24 -1.38761525 1.0004675
##  9.571429 19089.07 19096.90 -0.28371646 0.9996053
##  9.714286 19101.17 19098.80 -0.06512582 1.0001277
##  9.857143 19087.93 19088.50 -1.08841118 1.0000272
## 10.000000 19102.74 19099.82  0.15296224 1.0001446
## 10.142857 19112.94 19109.43  1.09804469 1.0001262
## 10.285714 19120.34 19117.94  1.83916501 1.0000293
## 10.428571 19150.36 19125.71  2.43238648 1.0011615
## 10.571429 19125.57 19128.07  2.42521460 0.9997426
## 10.714286 19128.43 19135.38  2.91391319 0.9994843
## 10.857143 19161.41 19142.61  3.34560606 1.0008071
## 11.000000 19160.93 19143.68  3.11755881 1.0007381
## 11.142857 19158.84 19144.61  2.89915048 1.0005915
## 11.285714 19156.16 19145.74  2.72252789 1.0004016
## 11.428571 19171.99 19147.24  2.59945288 1.0011570
## 11.571429 19148.54 19145.44  2.16012048 1.0000490
## 11.714286 19145.39 19147.89  2.18929979 0.9997548
## 11.857143 19188.03 19171.01  4.28205987 1.0006641
## 12.000000 19193.74 19177.69  4.52136792 1.0006011
## 12.142857 19193.66 19180.13  4.31338558 1.0004807
## 12.285714 19189.04 19179.04  3.77370332 1.0003244
xhat2 <- winter2$fitted[,2]

winter2.opt<- HoltWinters(training.ts, alpha= NULL,  beta = NULL, gamma = NULL, seasonal = "multiplicative")
## Warning in HoltWinters(training.ts, alpha = NULL, beta = NULL, gamma = NULL, :
## optimization difficulties: ERROR: ABNORMAL_TERMINATION_IN_LNSRCH
winter2.opt$fitted
## Time Series:
## Start = c(2, 1) 
## End = c(12, 3) 
## Frequency = 7 
##               xhat    level       trend    season
##  2.000000 19157.90 19141.92 -2.23922902 1.0009517
##  2.142857 19125.22 19133.42 -2.58787069 0.9997063
##  2.285714 19103.66 19128.65 -2.70938404 0.9988348
##  2.428571 19117.82 19125.01 -2.76141417 0.9997685
##  2.571429 19080.54 19117.70 -3.01465171 0.9982135
##  2.714286 19150.99 19132.44 -2.02610085 1.0010757
##  2.857143 19155.84 19130.16 -2.04012227 1.0014495
##  3.000000 19137.67 19126.63 -2.12302597 1.0006882
##  3.142857 19113.85 19123.40 -2.18457217 0.9996146
##  3.285714 19096.76 19121.94 -2.14450853 0.9987955
##  3.428571 19110.44 19120.62 -2.09845074 0.9995772
##  3.571429 19093.70 19115.86 -2.24677281 0.9989585
##  3.714286 19133.42 19115.22 -2.15723085 1.0010651
##  3.857143 19141.87 19117.29 -1.92190837 1.0013868
##  4.000000 19114.44 19104.70 -2.51595123 1.0006417
##  4.142857 19089.00 19098.50 -2.72097345 0.9996449
##  4.285714 19073.69 19098.59 -2.56463458 0.9988303
##  4.428571 19090.34 19102.74 -2.19036109 0.9994651
##  4.571429 19082.36 19103.02 -2.05299489 0.9990261
##  4.714286 19127.41 19105.47 -1.80218851 1.0012431
##  4.857143 19112.38 19096.68 -2.19115235 1.0009371
##  5.000000 19098.26 19091.34 -2.36692029 1.0004866
##  5.142857 19082.55 19089.41 -2.34216929 0.9997631
##  5.285714 19072.50 19091.52 -2.09418894 0.9991129
##  5.428571 19086.52 19096.45 -1.70309920 0.9995690
##  5.571429 19081.70 19098.19 -1.51146417 0.9992155
##  5.714286 19118.21 19101.35 -1.25122007 1.0009485
##  5.857143 19109.30 19095.46 -1.50973301 1.0008039
##  6.000000 19099.58 19091.58 -1.64170221 1.0005053
##  6.142857 19087.46 19090.04 -1.63576132 0.9999506
##  6.285714 19078.85 19091.60 -1.45766158 0.9994085
##  6.428571 19088.92 19095.54 -1.15707596 0.9997138
##  6.571429 19084.99 19097.21 -0.99964225 0.9994122
##  6.714286 19113.64 19100.04 -0.78623901 1.0007528
##  6.857143 19108.25 19095.78 -0.97979998 1.0007040
##  7.000000 19101.34 19092.70 -1.09685909 1.0005098
##  7.142857 19091.78 19091.26 -1.11584397 1.0000854
##  7.285714 19084.29 19092.24 -0.99903949 0.9996357
##  7.428571 19091.29 19095.25 -0.77578952 0.9998329
##  7.571429 19087.90 19096.70 -0.65198127 0.9995735
##  7.714286 19110.23 19099.14 -0.48005989 1.0006063
##  7.857143 19107.17 19096.05 -0.62535815 1.0006154
##  8.000000 19115.79 19106.34 -0.01730168 1.0004954
##  8.142857 19114.35 19110.79  0.23185688 1.0001738
##  8.285714 19108.15 19111.62  0.26481656 0.9998045
##  8.428571 19108.55 19109.80  0.14906048 0.9999265
##  8.571429 19115.59 19120.53  0.73798433 0.9997034
##  8.714286 19127.29 19117.29  0.51639073 1.0004963
##  8.857143 19131.53 19110.85  0.12888728 1.0010754
##  9.000000 19102.23 19090.20 -1.02805618 1.0006838
##  9.142857 19082.37 19080.11 -1.53292525 1.0001987
##  9.285714 19071.91 19078.82 -1.51921856 0.9997171
##  9.428571 19090.44 19084.47 -1.12000516 1.0003714
##  9.571429 19089.40 19098.54 -0.27416722 0.9995361
##  9.714286 19104.73 19100.97 -0.12355136 1.0002033
##  9.857143 19089.79 19086.89 -0.90086242 1.0001990
## 10.000000 19107.05 19101.34 -0.04561226 1.0003014
## 10.142857 19116.81 19112.25  0.56432344 1.0002091
## 10.285714 19122.68 19121.28  1.03577946 1.0000191
## 10.428571 19150.05 19129.28  1.42393111 1.0010113
## 10.571429 19125.42 19130.69  1.42320220 0.9996499
## 10.714286 19132.79 19138.39  1.77257528 0.9996149
## 10.857143 19162.76 19144.55  2.01718957 1.0008459
## 11.000000 19159.75 19143.32  1.83600922 1.0007625
## 11.142857 19155.19 19142.67  1.69761505 1.0005653
## 11.285714 19150.64 19143.04  1.62398324 1.0003122
## 11.428571 19165.47 19144.50  1.61484113 1.0010108
## 11.571429 19141.91 19142.18  1.39529902 0.9999135
## 11.714286 19143.30 19145.63  1.51017222 0.9997994
## 11.857143 19190.99 19174.36  3.02627895 1.0007091
## 12.000000 19195.46 19179.69  3.15423055 1.0006580
## 12.142857 19192.51 19179.75  2.98203887 1.0005097
## 12.285714 19184.61 19176.14  2.61511493 1.0003053
xhat2.opt <- winter2.opt$fitted[,2]
#Forecast
forecast2 <- predict(winter2, n.ahead = 20)
forecast2.opt <- predict(winter2.opt, n.ahead = 20)
#Plot time series
plot(training.ts,main="Winter 0.2;0.1;0.1",type="l",col="black",
     xlim=c(1,25),pch=12)
lines(xhat2,type="l",col="red")
lines(xhat2.opt,type="l",col="blue")
lines(forecast2,type="l",col="red")
lines(forecast2.opt,type="l",col="blue")
legend("topleft",c("Actual Data",expression(paste(winter2)),
                   expression(paste(winter2.opt))),cex=0.5,
       col=c("black","red","blue"),lty=1)

#Akurasi data training
SSE2<-winter2$SSE
MSE2<-winter2$SSE/length(training.ts)
RMSE2<-sqrt(MSE2)
akurasi1 <- matrix(c(SSE2,MSE2,RMSE2))
row.names(akurasi1)<- c("SSE2", "MSE2", "RMSE2")
colnames(akurasi1) <- c("Akurasi lamda=0.2")
akurasi1
##       Akurasi lamda=0.2
## SSE2         57394.0475
## MSE2           717.4256
## RMSE2           26.7848
SSE2.opt<-winter2.opt$SSE
MSE2.opt<-winter2.opt$SSE/length(training.ts)
RMSE2.opt<-sqrt(MSE2.opt)
akurasi1.opt <- matrix(c(SSE2.opt,MSE2.opt,RMSE2.opt))
row.names(akurasi1.opt)<- c("SSE2.opt", "MSE2.opt", "RMSE2.opt")
colnames(akurasi1.opt) <- c("Akurasi")
akurasi1.opt
##               Akurasi
## SSE2.opt  56825.19827
## MSE2.opt    710.31498
## RMSE2.opt    26.65173
akurasi2.train = data.frame(Model_Winter = c("Winter 1","winter2 optimal"),
                            Nilai_SSE=c(SSE2,SSE2.opt),
                            Nilai_MSE=c(MSE2,MSE2.opt),Nilai_RMSE=c(RMSE2,RMSE2.opt))
akurasi2.train
##      Model_Winter Nilai_SSE Nilai_MSE Nilai_RMSE
## 1        Winter 1  57394.05  717.4256   26.78480
## 2 winter2 optimal  56825.20  710.3150   26.65173
#Akurasi Data Testing
forecast2<-data.frame(forecast2)
testing.ts<-data.frame(testing.ts)
selisih2<-forecast2-testing.ts
SSEtesting2<-sum(selisih2^2)
MSEtesting2<-SSEtesting2/length(testing.ts)

forecast2.opt<-data.frame(forecast2.opt)
selisih2.opt<-forecast2.opt-testing.ts
SSEtesting2.opt<-sum(selisih2.opt^2)
MSEtesting2.opt<-SSEtesting2.opt/length(testing.ts)
MSEtesting2.opt
## [1] 11027.53