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