LATIHAN 1 MPDW
Tugas Praktikum 1 MPDW
Ghonniyu Hiban Saputra - G1401221012
Setiap kelompok mencari satu gugus data yang menarik dan terbaru (minimal 500 periode data), data ini dibagi ke setiap anggota. Setiap anggota melakukan eksplorasi kemudian mengerjakan pemulusan dengan SMA, DMA, DES, SES, Winter.
Pengumpulan tugas dilakukan ke github pribadi. File yang dikumpulkan file data (excel/csv), Rmd dan HTML. Upload data keseluruhan ke github kelompok (link github kelompok jangan lupa input ke excel)
Penjelasan Topik
Kunjungan Pengunjung Internasional ke Indonesia (Soekarno Hatta) 2022-2024 Data Harian
Berdasarkan pembagian topik yang telah dibagi oleh dosen pengampu, didapatkan kelompok kami mendapatkan topik pariwisata. Dari hal tersebut kami telah mencari beberapa referensi dan didapatkan data kunjungan pengunjung internasional ke Indonesia dari sumber SIASATI. Data diambil dari rentang waktu 1 Agustus 2022 hingga 1 Agustus 2024 (Didasarkan dari syarat minimum periode dan data terbaru).
Library
## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
## 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
Impor Data
#install.packages("rio") #install jika belum ada
library(rio)
data8 <- read.csv("C:/Users/Ghonniyu/Downloads/Data_1.csv")
data8$Intern <- as.double(data8$Intern)
data8
## Periode Intern
## 1 1 9664
## 2 2 8294
## 3 3 9970
## 4 4 10082
## 5 5 9585
## 6 6 8774
## 7 7 12043
## 8 8 9974
## 9 9 8948
## 10 10 9184
## 11 11 9433
## 12 12 9556
## 13 13 8064
## 14 14 9108
## 15 15 8820
## 16 16 8790
## 17 17 10211
## 18 18 9814
## 19 19 10365
## 20 20 9342
## 21 21 12249
## 22 22 10541
## 23 23 10734
## 24 24 10203
## 25 25 10524
## 26 26 11733
## 27 27 9741
## 28 28 13118
## 29 29 10814
## 30 30 10130
## 31 31 10776
## 32 32 12230
## 33 33 12516
## 34 34 10776
## 35 35 13812
## 36 36 12192
## 37 37 11463
## 38 38 11731
## 39 39 12282
## 40 40 13124
## 41 41 10084
## 42 42 15315
## 43 43 12223
## 44 44 10871
## 45 45 13146
## 46 46 13357
## 47 47 13030
## 48 48 10476
## 49 49 15220
## 50 50 11780
## 51 51 11115
## 52 52 12820
## 53 53 13413
## 54 54 12449
## 55 55 10582
## 56 56 14518
## 57 57 13287
## 58 58 11280
## 59 59 13465
## 60 60 13488
## 61 61 14142
## 62 62 11241
## 63 63 15067
## 64 64 13662
## 65 65 13385
## 66 66 14326
## 67 67 14200
## 68 68 13736
## 69 69 13244
## 70 70 16787
## 71 71 13617
## 72 72 13110
## 73 73 14668
## 74 74 14244
## 75 75 14692
## 76 76 11996
## 77 77 15665
## 78 78 14095
## 79 79 13774
## 80 80 13701
## 81 81 13484
## 82 82 14153
## 83 83 12820
## 84 84 15269
## 85 85 14379
## 86 86 12438
## 87 87 13586
## 88 88 14062
## 89 89 13457
## 90 90 12262
## 91 91 15564
## 92 92 13145
## 93 93 13943
## 94 94 13415
## 95 95 13699
## 96 96 14491
## 97 97 13344
## 98 98 14680
## 99 99 13694
## 100 100 12729
## 101 101 13120
## 102 102 13847
## 103 103 15661
## 104 104 13642
## 105 105 15485
## 106 106 13907
## 107 107 13016
## 108 108 13526
## 109 109 12577
## 110 110 15001
## 111 111 14079
## 112 112 15721
## 113 113 13654
## 114 114 13468
## 115 115 13530
## 116 116 14265
## 117 117 14884
## 118 118 12610
## 119 119 15031
## 120 120 14041
## 121 121 13587
## 122 122 14455
## 123 123 13407
## 124 124 13944
## 125 125 13009
## 126 126 15197
## 127 127 13517
## 128 128 12654
## 129 129 14826
## 130 130 14145
## 131 131 15797
## 132 132 14028
## 133 133 16255
## 134 134 13962
## 135 135 12314
## 136 136 13609
## 137 137 14141
## 138 138 13803
## 139 139 12212
## 140 140 14851
## 141 141 12397
## 142 142 12070
## 143 143 13326
## 144 144 13920
## 145 145 14020
## 146 146 12232
## 147 147 12737
Eksplorasi Data
Melihat data menggunakan fungsi View()
, struktur data
menggunakan fungsi str()
, dan dimensi data menggunakan
fungsi dim()
.
## 'data.frame': 147 obs. of 2 variables:
## $ Periode: int 1 2 3 4 5 6 7 8 9 10 ...
## $ Intern : num 9664 8294 9970 10082 9585 ...
## [1] 147 2
Mengubah data agar terbaca sebagai data deret waktu dengan fungsi
ts()
.
## Time Series:
## Start = 1
## End = 147
## Frequency = 1
## [1] 9664 8294 9970 10082 9585 8774 12043 9974 8948 9184 9433 9556
## [13] 8064 9108 8820 8790 10211 9814 10365 9342 12249 10541 10734 10203
## [25] 10524 11733 9741 13118 10814 10130 10776 12230 12516 10776 13812 12192
## [37] 11463 11731 12282 13124 10084 15315 12223 10871 13146 13357 13030 10476
## [49] 15220 11780 11115 12820 13413 12449 10582 14518 13287 11280 13465 13488
## [61] 14142 11241 15067 13662 13385 14326 14200 13736 13244 16787 13617 13110
## [73] 14668 14244 14692 11996 15665 14095 13774 13701 13484 14153 12820 15269
## [85] 14379 12438 13586 14062 13457 12262 15564 13145 13943 13415 13699 14491
## [97] 13344 14680 13694 12729 13120 13847 15661 13642 15485 13907 13016 13526
## [109] 12577 15001 14079 15721 13654 13468 13530 14265 14884 12610 15031 14041
## [121] 13587 14455 13407 13944 13009 15197 13517 12654 14826 14145 15797 14028
## [133] 16255 13962 12314 13609 14141 13803 12212 14851 12397 12070 13326 13920
## [145] 14020 12232 12737
Menampilkan ringkasan data
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 8064 11732 13326 12776 14034 16787
Membuat plot data deret waktu
ts.plot(data8.ts, xlab="Time Period ", ylab="Penumpang Internasional",
main = "Time Series Plot")
points(data8.ts)
SMA & DMA
Pembagian Data
Pembagian data latih dan data uji dilakukan dengan perbandingan 80% data latih dan 20% data uji.
Eksplorasi Data
Eksplorasi data dilakukan pada keseluruhan data, data latih serta data uji menggunakan plot data deret waktu.
Eksplorasi data juga dapat dilakukan menggunakan package
ggplot2
dengan terlebih dahulu memanggil library
package ggplot2
.
#Eksplorasi dengan GGPLOT
library(ggplot2)
ggplot() +
geom_line(data = training_ma, aes(x = Periode, y = Intern, col = "Data Latih")) +
geom_line(data = testing_ma, aes(x = Periode, y = Intern, col = "Data Uji")) +
labs(x = "Periode Waktu", y = "Penumpang", 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))
Single Moving Average (SMA)
Pemulusan menggunakan metode SMA dilakukan dengan fungsi
SMA()
. Dalam hal ini akan dilakukan pemulusan dengan
parameter m=4
.
## Time Series:
## Start = 1
## End = 118
## Frequency = 1
## [1] NA NA NA 9502.50 9482.75 9602.75 10121.00 10094.00
## [9] 9934.75 10037.25 9384.75 9280.25 9059.25 9040.25 8887.00 8695.50
## [17] 9232.25 9408.75 9795.00 9933.00 10442.50 10624.25 10716.50 10931.75
## [25] 10500.50 10798.50 10550.25 11279.00 11351.50 10950.75 11209.50 10987.50
## [33] 11413.00 11574.50 12333.50 12324.00 12060.75 12299.50 11917.00 12150.00
## [41] 11805.25 12701.25 12686.50 12123.25 12888.75 12399.25 12601.00 12502.25
## [49] 13020.75 12626.50 12147.75 12733.75 12282.00 12449.25 12316.00 12740.50
## [57] 12709.00 12416.75 13137.50 12880.00 13093.75 13084.00 13484.50 13528.00
## [65] 13338.75 14110.00 13893.25 13911.75 13876.50 14491.75 14346.00 14189.50
## [73] 14545.50 13909.75 14178.50 13900.00 14149.25 14112.00 13882.50 14308.75
## [81] 13763.50 13778.00 13539.50 13931.50 14155.25 13726.50 13918.00 13616.25
## [89] 13385.75 13341.75 13836.25 13607.00 13728.50 14016.75 13550.50 13887.00
## [97] 13737.25 14053.50 14052.25 13611.75 13555.75 13347.50 13839.25 14067.50
## [105] 14658.75 14673.75 14012.50 13983.50 13256.50 13530.00 13795.75 14344.50
## [113] 14613.75 14230.50 14093.25 13729.25 14036.75 13822.25
Data pemulusan pada periode ke-t selanjutnya digunakan sebagai nilai peramalan pada periode ke t+1 sehingga hasil peramalan 1 periode kedepan adalah sebagai berikut.
## [1] NA NA NA NA 9502.50 9482.75 9602.75 10121.00
## [9] 10094.00 9934.75 10037.25 9384.75 9280.25 9059.25 9040.25 8887.00
## [17] 8695.50 9232.25 9408.75 9795.00 9933.00 10442.50 10624.25 10716.50
## [25] 10931.75 10500.50 10798.50 10550.25 11279.00 11351.50 10950.75 11209.50
## [33] 10987.50 11413.00 11574.50 12333.50 12324.00 12060.75 12299.50 11917.00
## [41] 12150.00 11805.25 12701.25 12686.50 12123.25 12888.75 12399.25 12601.00
## [49] 12502.25 13020.75 12626.50 12147.75 12733.75 12282.00 12449.25 12316.00
## [57] 12740.50 12709.00 12416.75 13137.50 12880.00 13093.75 13084.00 13484.50
## [65] 13528.00 13338.75 14110.00 13893.25 13911.75 13876.50 14491.75 14346.00
## [73] 14189.50 14545.50 13909.75 14178.50 13900.00 14149.25 14112.00 13882.50
## [81] 14308.75 13763.50 13778.00 13539.50 13931.50 14155.25 13726.50 13918.00
## [89] 13616.25 13385.75 13341.75 13836.25 13607.00 13728.50 14016.75 13550.50
## [97] 13887.00 13737.25 14053.50 14052.25 13611.75 13555.75 13347.50 13839.25
## [105] 14067.50 14658.75 14673.75 14012.50 13983.50 13256.50 13530.00 13795.75
## [113] 14344.50 14613.75 14230.50 14093.25 13729.25 14036.75 13822.25
Selanjutnya akan dilakukan peramalan sejumlah data uji yaitu 29 periode. Pada metode SMA, hasil peramalan 29 periode ke depan akan bernilai sama dengan hasil peramalan 1 periode kedepan. Dalam hal ini akan dilakukan pengguabungan data aktual train, data hasil pemulusan dan data hasil ramalan 29 periode kedepan.
data.gab<-cbind(aktual=c(train_ma.ts,rep(NA,29)),pemulusan=c(data.sma,rep(NA,29)),ramalan=c(data.ramal,rep(data.ramal[length(data.ramal)],28)))
data.gab #forecast 29 periode ke depan
## aktual pemulusan ramalan
## [1,] 9664 NA NA
## [2,] 8294 NA NA
## [3,] 9970 NA NA
## [4,] 10082 9502.50 NA
## [5,] 9585 9482.75 9502.50
## [6,] 8774 9602.75 9482.75
## [7,] 12043 10121.00 9602.75
## [8,] 9974 10094.00 10121.00
## [9,] 8948 9934.75 10094.00
## [10,] 9184 10037.25 9934.75
## [11,] 9433 9384.75 10037.25
## [12,] 9556 9280.25 9384.75
## [13,] 8064 9059.25 9280.25
## [14,] 9108 9040.25 9059.25
## [15,] 8820 8887.00 9040.25
## [16,] 8790 8695.50 8887.00
## [17,] 10211 9232.25 8695.50
## [18,] 9814 9408.75 9232.25
## [19,] 10365 9795.00 9408.75
## [20,] 9342 9933.00 9795.00
## [21,] 12249 10442.50 9933.00
## [22,] 10541 10624.25 10442.50
## [23,] 10734 10716.50 10624.25
## [24,] 10203 10931.75 10716.50
## [25,] 10524 10500.50 10931.75
## [26,] 11733 10798.50 10500.50
## [27,] 9741 10550.25 10798.50
## [28,] 13118 11279.00 10550.25
## [29,] 10814 11351.50 11279.00
## [30,] 10130 10950.75 11351.50
## [31,] 10776 11209.50 10950.75
## [32,] 12230 10987.50 11209.50
## [33,] 12516 11413.00 10987.50
## [34,] 10776 11574.50 11413.00
## [35,] 13812 12333.50 11574.50
## [36,] 12192 12324.00 12333.50
## [37,] 11463 12060.75 12324.00
## [38,] 11731 12299.50 12060.75
## [39,] 12282 11917.00 12299.50
## [40,] 13124 12150.00 11917.00
## [41,] 10084 11805.25 12150.00
## [42,] 15315 12701.25 11805.25
## [43,] 12223 12686.50 12701.25
## [44,] 10871 12123.25 12686.50
## [45,] 13146 12888.75 12123.25
## [46,] 13357 12399.25 12888.75
## [47,] 13030 12601.00 12399.25
## [48,] 10476 12502.25 12601.00
## [49,] 15220 13020.75 12502.25
## [50,] 11780 12626.50 13020.75
## [51,] 11115 12147.75 12626.50
## [52,] 12820 12733.75 12147.75
## [53,] 13413 12282.00 12733.75
## [54,] 12449 12449.25 12282.00
## [55,] 10582 12316.00 12449.25
## [56,] 14518 12740.50 12316.00
## [57,] 13287 12709.00 12740.50
## [58,] 11280 12416.75 12709.00
## [59,] 13465 13137.50 12416.75
## [60,] 13488 12880.00 13137.50
## [61,] 14142 13093.75 12880.00
## [62,] 11241 13084.00 13093.75
## [63,] 15067 13484.50 13084.00
## [64,] 13662 13528.00 13484.50
## [65,] 13385 13338.75 13528.00
## [66,] 14326 14110.00 13338.75
## [67,] 14200 13893.25 14110.00
## [68,] 13736 13911.75 13893.25
## [69,] 13244 13876.50 13911.75
## [70,] 16787 14491.75 13876.50
## [71,] 13617 14346.00 14491.75
## [72,] 13110 14189.50 14346.00
## [73,] 14668 14545.50 14189.50
## [74,] 14244 13909.75 14545.50
## [75,] 14692 14178.50 13909.75
## [76,] 11996 13900.00 14178.50
## [77,] 15665 14149.25 13900.00
## [78,] 14095 14112.00 14149.25
## [79,] 13774 13882.50 14112.00
## [80,] 13701 14308.75 13882.50
## [81,] 13484 13763.50 14308.75
## [82,] 14153 13778.00 13763.50
## [83,] 12820 13539.50 13778.00
## [84,] 15269 13931.50 13539.50
## [85,] 14379 14155.25 13931.50
## [86,] 12438 13726.50 14155.25
## [87,] 13586 13918.00 13726.50
## [88,] 14062 13616.25 13918.00
## [89,] 13457 13385.75 13616.25
## [90,] 12262 13341.75 13385.75
## [91,] 15564 13836.25 13341.75
## [92,] 13145 13607.00 13836.25
## [93,] 13943 13728.50 13607.00
## [94,] 13415 14016.75 13728.50
## [95,] 13699 13550.50 14016.75
## [96,] 14491 13887.00 13550.50
## [97,] 13344 13737.25 13887.00
## [98,] 14680 14053.50 13737.25
## [99,] 13694 14052.25 14053.50
## [100,] 12729 13611.75 14052.25
## [101,] 13120 13555.75 13611.75
## [102,] 13847 13347.50 13555.75
## [103,] 15661 13839.25 13347.50
## [104,] 13642 14067.50 13839.25
## [105,] 15485 14658.75 14067.50
## [106,] 13907 14673.75 14658.75
## [107,] 13016 14012.50 14673.75
## [108,] 13526 13983.50 14012.50
## [109,] 12577 13256.50 13983.50
## [110,] 15001 13530.00 13256.50
## [111,] 14079 13795.75 13530.00
## [112,] 15721 14344.50 13795.75
## [113,] 13654 14613.75 14344.50
## [114,] 13468 14230.50 14613.75
## [115,] 13530 14093.25 14230.50
## [116,] 14265 13729.25 14093.25
## [117,] 14884 14036.75 13729.25
## [118,] 12610 13822.25 14036.75
## [119,] NA NA 13822.25
## [120,] NA NA 13822.25
## [121,] NA NA 13822.25
## [122,] NA NA 13822.25
## [123,] NA NA 13822.25
## [124,] NA NA 13822.25
## [125,] NA NA 13822.25
## [126,] NA NA 13822.25
## [127,] NA NA 13822.25
## [128,] NA NA 13822.25
## [129,] NA NA 13822.25
## [130,] NA NA 13822.25
## [131,] NA NA 13822.25
## [132,] NA NA 13822.25
## [133,] NA NA 13822.25
## [134,] NA NA 13822.25
## [135,] NA NA 13822.25
## [136,] NA NA 13822.25
## [137,] NA NA 13822.25
## [138,] NA NA 13822.25
## [139,] NA NA 13822.25
## [140,] NA NA 13822.25
## [141,] NA NA 13822.25
## [142,] NA NA 13822.25
## [143,] NA NA 13822.25
## [144,] NA NA 13822.25
## [145,] NA NA 13822.25
## [146,] NA NA 13822.25
## [147,] NA NA 13822.25
Adapun plot data deret waktu dari hasil peramalan yang dilakukan adalah sebagai berikut.
ts.plot(data8.ts, xlab="Time Period ", ylab="Intern", main= "SMA N=4 Data Intern")
points(data8.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)
Selanjutnya perhitungan akurasi dilakukan dengan ukuran akurasi Sum Squares Error (SSE), Mean Square Error (MSE) dan Mean Absolute Percentage Error (MAPE). Perhitungan akurasi dilakukan baik pada data latih maupun pada data uji.
#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 1.673611e+08
## MSE 1.468080e+06
## MAPE 7.516130e+00
Dalam hal ini nilai MAPE data latih pada metode pemulusan SMA kurang dari 10%, nilai ini dapat dikategorikan sebagai nilai akurasi yang sangat baik. Selanjutnya dilakukan perhitungan nilai MAPE data uji pada metode pemulusan SMA.
#Menghitung nilai keakuratan data uji
error_test.sma = test_ma.ts-data.gab[119:147,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 3.232945e+07
## MSE 1.114809e+06
## MAPE 6.039559e+00
Perhitungan akurasi menggunakan data latih menghasilkan nilai MAPE yang kurang dari 10% sehingga nilai akurasi ini dapat dikategorikan sangat baik
Double Moving Average (DMA)
Metode pemulusan Double Moving Average (DMA) pada dasarnya mirip dengan SMA. Namun demikian, metode ini lebih cocok digunakan untuk pola data trend. Proses pemulusan dengan rata rata dalam metode ini dilakukan sebanyak 2 kali.
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:29
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,29)), pemulusan1 = c(data.sma,rep(NA,29)),pemulusan2 = c(data.dma, rep(NA,29)),At = c(At, rep(NA,29)), Bt = c(Bt,rep(NA,29)),ramalan = c(data.ramal2, f[-1]))
data.gab2
## aktual pemulusan1 pemulusan2 At Bt ramalan
## [1,] 9664 NA NA NA NA NA
## [2,] 8294 NA NA NA NA NA
## [3,] 9970 NA NA NA NA NA
## [4,] 10082 9502.50 NA NA NA NA
## [5,] 9585 9482.75 NA NA NA NA
## [6,] 8774 9602.75 NA NA NA NA
## [7,] 12043 10121.00 10860.583 10564.750 295.833333 NA
## [8,] 9974 10094.00 10542.125 10362.875 179.250000 10860.583
## [9,] 8948 9934.75 9929.125 9931.375 -2.250000 10542.125
## [10,] 9184 10037.25 10021.417 10027.750 -6.333333 9929.125
## [11,] 9433 9384.75 8588.188 8906.812 -318.625000 10021.417
## [12,] 9556 9280.25 8648.583 8901.250 -252.666667 8588.188
## [13,] 8064 9059.25 8424.042 8678.125 -254.083333 8648.583
## [14,] 9108 9040.25 8788.792 8889.375 -100.583333 8424.042
## [15,] 8820 8887.00 8587.521 8707.312 -119.791667 8788.792
## [16,] 8790 8695.50 8320.500 8470.500 -150.000000 8587.521
## [17,] 10211 9232.25 9679.750 9500.750 179.000000 8320.500
## [18,] 9814 9408.75 9996.875 9761.625 235.250000 9679.750
## [19,] 10365 9795.00 10648.542 10307.125 341.416667 9996.875
## [20,] 9342 9933.00 10500.917 10273.750 227.166667 10648.542
## [21,] 12249 10442.50 11355.312 10990.188 365.125000 10500.917
## [22,] 10541 10624.25 11333.521 11049.812 283.708333 11355.312
## [23,] 10734 10716.50 11195.562 11003.938 191.625000 11333.521
## [24,] 10203 10931.75 11353.417 11184.750 168.666667 11195.562
## [25,] 10524 10500.50 10179.250 10307.750 -128.500000 11353.417
## [26,] 11733 10798.50 10901.312 10860.188 41.125000 10179.250
## [27,] 9741 10550.25 10308.583 10405.250 -96.666667 10901.312
## [28,] 13118 11279.00 12107.229 11775.938 331.291667 10308.583
## [29,] 10814 11351.50 11945.979 11708.188 237.791667 12107.229
## [30,] 10130 10950.75 10813.875 10868.625 -54.750000 11945.979
## [31,] 10776 11209.50 11229.188 11221.312 7.875000 10813.875
## [32,] 12230 10987.50 10758.646 10850.188 -91.541667 11229.188
## [33,] 12516 11413.00 11867.688 11685.812 181.875000 10758.646
## [34,] 10776 11574.50 12038.458 11852.875 185.583333 11867.688
## [35,] 13812 12333.50 13594.125 13089.875 504.250000 12038.458
## [36,] 12192 12324.00 13011.917 12736.750 275.166667 13594.125
## [37,] 11463 12060.75 12040.021 12048.312 -8.291667 13011.917
## [38,] 11731 12299.50 12374.604 12344.562 30.041667 12040.021
## [39,] 12282 11917.00 11528.146 11683.688 -155.541667 12374.604
## [40,] 13124 12150.00 12221.979 12193.188 28.791667 11528.146
## [41,] 10084 11805.25 11409.104 11567.562 -158.458333 12221.979
## [42,] 15315 12701.25 13631.042 13259.125 371.916667 11409.104
## [43,] 12223 12686.50 13271.083 13037.250 233.833333 13631.042
## [44,] 10871 12123.25 11780.229 11917.438 -137.208333 13271.083
## [45,] 13146 12888.75 13370.104 13177.562 192.541667 11780.229
## [46,] 13357 12399.25 12190.604 12274.062 -83.458333 13370.104
## [47,] 13030 12601.00 12764.229 12698.938 65.291667 12190.604
## [48,] 10476 12502.25 12342.979 12406.688 -63.708333 12764.229
## [49,] 15220 13020.75 13670.646 13410.688 259.958333 12342.979
## [50,] 11780 12626.50 12524.625 12565.375 -40.750000 13670.646
## [51,] 11115 12147.75 11436.812 11721.188 -284.375000 12524.625
## [52,] 12820 12733.75 12903.021 12835.312 67.708333 11436.812
## [53,] 13413 12282.00 12006.167 12116.500 -110.333333 12903.021
## [54,] 12449 12449.25 12526.021 12495.312 30.708333 12006.167
## [55,] 10582 12316.00 12100.583 12186.750 -86.166667 12526.021
## [56,] 14518 12740.50 13229.771 13034.062 195.708333 12100.583
## [57,] 13287 12709.00 12967.854 12864.312 103.541667 13229.771
## [58,] 11280 12416.75 12202.062 12287.938 -85.875000 12967.854
## [59,] 13465 13137.50 13781.771 13524.062 257.708333 12202.062
## [60,] 13488 12880.00 13036.979 12974.188 62.791667 13781.771
## [61,] 14142 13093.75 13446.667 13305.500 141.166667 13036.979
## [62,] 11241 13084.00 13142.646 13119.188 23.458333 13446.667
## [63,] 15067 13484.50 14066.062 13833.438 232.625000 13142.646
## [64,] 13662 13528.00 13912.062 13758.438 153.625000 14066.062
## [65,] 13385 13338.75 13305.312 13318.688 -13.375000 13912.062
## [66,] 14326 14110.00 14934.479 14604.688 329.791667 13305.312
## [67,] 14200 13893.25 14186.167 14069.000 117.166667 14934.479
## [68,] 13736 13911.75 14075.604 14010.062 65.541667 14186.167
## [69,] 13244 13876.50 13757.542 13805.125 -47.583333 14075.604
## [70,] 16787 14491.75 15239.146 14940.188 298.958333 13757.542
## [71,] 13617 14346.00 14661.833 14535.500 126.333333 15239.146
## [72,] 13110 14189.50 14128.771 14153.062 -24.291667 14661.833
## [73,] 14668 14545.50 14799.354 14697.812 101.541667 14128.771
## [74,] 14244 13909.75 13346.521 13571.812 -225.291667 14799.354
## [75,] 14692 14178.50 14132.979 14151.188 -18.208333 13346.521
## [76,] 11996 13900.00 13510.938 13666.562 -155.625000 14132.979
## [77,] 15665 14149.25 14340.708 14264.125 76.583333 13510.938
## [78,] 14095 14112.00 14157.104 14139.062 18.041667 14340.708
## [79,] 13774 13882.50 13668.438 13754.062 -85.625000 14157.104
## [80,] 13701 14308.75 14634.792 14504.375 130.416667 13668.438
## [81,] 13484 13763.50 13341.521 13510.312 -168.791667 14634.792
## [82,] 14153 13778.00 13519.354 13622.812 -103.458333 13341.521
## [83,] 12820 13539.50 13026.271 13231.562 -205.291667 13519.354
## [84,] 15269 13931.50 14228.792 14109.875 118.916667 13026.271
## [85,] 14379 14155.25 14662.229 14459.438 202.791667 14228.792
## [86,] 12438 13726.50 13540.354 13614.812 -74.458333 14662.229
## [87,] 13586 13918.00 13893.312 13903.188 -9.875000 13540.354
## [88,] 14062 13616.25 13220.000 13378.500 -158.500000 13893.312
## [89,] 13457 13385.75 12925.958 13109.875 -183.916667 13220.000
## [90,] 12262 13341.75 12968.938 13118.062 -149.125000 12925.958
## [91,] 15564 13836.25 14321.667 14127.500 194.166667 12968.938
## [92,] 13145 13607.00 13714.188 13671.312 42.875000 14321.667
## [93,] 13943 13728.50 13895.375 13828.625 66.750000 13714.188
## [94,] 13415 14016.75 14382.792 14236.375 146.416667 13895.375
## [95,] 13699 13550.50 13258.521 13375.312 -116.791667 14382.792
## [96,] 14491 13887.00 14039.188 13978.312 60.875000 13258.521
## [97,] 13344 13737.25 13636.208 13676.625 -40.416667 14039.188
## [98,] 14680 14053.50 14464.229 14299.938 164.291667 13636.208
## [99,] 13694 14052.25 14251.833 14172.000 79.833333 14464.229
## [100,] 12729 13611.75 13191.854 13359.812 -167.958333 14251.833
## [101,] 13120 13555.75 13118.146 13293.188 -175.041667 13191.854
## [102,] 13847 13347.50 12856.979 13053.188 -196.208333 13118.146
## [103,] 15661 13839.25 14257.062 14089.938 167.125000 12856.979
## [104,] 13642 14067.50 14675.833 14432.500 243.333333 14257.062
## [105,] 15485 14658.75 15792.917 15339.250 453.666667 14675.833
## [106,] 13907 14673.75 15280.312 15037.688 242.625000 15792.917
## [107,] 13016 14012.50 13444.792 13671.875 -227.083333 15280.312
## [108,] 13526 13983.50 13402.458 13634.875 -232.416667 13444.792
## [109,] 12577 13256.50 12048.062 12531.438 -483.375000 13402.458
## [110,] 15001 13530.00 13253.958 13364.375 -110.416667 12048.062
## [111,] 14079 13795.75 14052.938 13950.062 102.875000 13253.958
## [112,] 15721 14344.50 15365.854 14957.312 408.541667 14052.938
## [113,] 13654 14613.75 15518.333 15156.500 361.833333 15365.854
## [114,] 13468 14230.50 14204.458 14214.875 -10.416667 15518.333
## [115,] 13530 14093.25 13714.500 13866.000 -151.500000 14204.458
## [116,] 14265 13729.25 13000.188 13291.812 -291.625000 13714.500
## [117,] 14884 14036.75 14060.604 14051.062 9.541667 13000.188
## [118,] 12610 13822.25 13658.708 13724.125 -65.416667 14060.604
## [119,] NA NA NA NA NA 13658.708
## [120,] NA NA NA NA NA 13593.292
## [121,] NA NA NA NA NA 13527.875
## [122,] NA NA NA NA NA 13462.458
## [123,] NA NA NA NA NA 13397.042
## [124,] NA NA NA NA NA 13331.625
## [125,] NA NA NA NA NA 13266.208
## [126,] NA NA NA NA NA 13200.792
## [127,] NA NA NA NA NA 13135.375
## [128,] NA NA NA NA NA 13069.958
## [129,] NA NA NA NA NA 13004.542
## [130,] NA NA NA NA NA 12939.125
## [131,] NA NA NA NA NA 12873.708
## [132,] NA NA NA NA NA 12808.292
## [133,] NA NA NA NA NA 12742.875
## [134,] NA NA NA NA NA 12677.458
## [135,] NA NA NA NA NA 12612.042
## [136,] NA NA NA NA NA 12546.625
## [137,] NA NA NA NA NA 12481.208
## [138,] NA NA NA NA NA 12415.792
## [139,] NA NA NA NA NA 12350.375
## [140,] NA NA NA NA NA 12284.958
## [141,] NA NA NA NA NA 12219.542
## [142,] NA NA NA NA NA 12154.125
## [143,] NA NA NA NA NA 12088.708
## [144,] NA NA NA NA NA 12023.292
## [145,] NA NA NA NA NA 11957.875
## [146,] NA NA NA NA NA 11892.458
## [147,] NA NA NA NA NA 11827.042
Hasil pemulusan menggunakan metode DMA divisualisasikan sebagai berikut
ts.plot(data8.ts, xlab="Time Period ", ylab="Intern", main= "DMA N=4 Data Intern")
points(data8.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)
Selanjutnya perhitungan akurasi dilakukan baik pada data latih maupun data uji. Perhitungan akurasi dilakukan dengan ukuran akurasi SSE, MSE dan MAPE.
#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 2.261636e+08
## MSE 2.037510e+06
## MAPE 9.272174e+00
Perhitungan akurasi pada data latih menggunakan nilai MAPE menghasilkan nilai MAPE yang kurang dari 10% sehingga dikategorikan sangat baik. Selanjutnya, perhitungan nilai akurasi dilakukan pada data uji.
#Menghitung nilai keakuratan data uji
error_test.dma = test_ma.ts-data.gab2[119:147,6]
SSE_test.dma = sum(error_test.dma^2)
MSE_test.dma = mean(error_test.dma^2)
MAPE_test.dma = mean(abs((error_test.dma/test_ma.ts*100)))
akurasi_test.dma <- matrix(c(SSE_test.dma, MSE_test.dma, MAPE_test.dma))
row.names(akurasi_test.dma)<- c("SSE", "MSE", "MAPE")
colnames(akurasi_test.dma) <- c("Akurasi m = 4")
akurasi_test.dma
## Akurasi m = 4
## SSE 5.947034e+07
## MSE 2.050701e+06
## MAPE 7.731725e+00
Perhitungan akurasi menggunakan data latih menghasilkan nilai MAPE yang kurang dari 10% sehingga nilai akurasi ini dapat dikategorikan sebagai sangat baik.
Perbandingan SMA vs DMA
Baik pada data latih (training) maupun data uji (testing), berdasarkan nilai MAPE yang didapatkan metode SMA lebih baik dibandingkan dengan metode DMA
SES & DES
Pembagian Data
Pembagian data latih dan data uji dilakukan dengan perbandingan 80% data latih dan 20% data uji.
Eksplorasi
Eksplorasi dilakukan dengan membuat plot data deret waktu untuk keseluruhan data, data latih, dan data uji.
Eksplorasi data juga dapat dilakukan menggunakan
package ggplot2
 .
library(ggplot2)
ggplot() +
geom_line(data = training, aes(x = Periode, y = Intern, col = "Data Latih")) +
geom_line(data = testing, aes(x = Periode, y = Intern, col = "Data Uji")) +
labs(x = "Periode Waktu", y = "Membaca", 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))
SES (Simple Exponential Smoothing)
Pemulusan dengan metode SES dapat dilakukan dengan dua fungsi
dari packages berbeda, yaitu (1)
fungsi ses()
 dari packages forecast
 dan
(2)
fungsi HoltWinters
 dari packages stats
 .
Kasus di bawah merupakan contoh inisialisasi nilai parameter λ dengan
nilai alpha
 0,2 dan 0,7 dan banyak periode data yang akan
diramalkan adalah sebanyak 29 periode. Selanjutnya akan digunakan
fungsi HoltWinters()
 dengan nilai inisialisasi parameter
dan panjang periode peramalan yang sama dengan
fungsi ses()
 .
## Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
## 119 13857.41 12287.33 15427.48 11456.18 16258.63
## 120 13857.41 12256.23 15458.58 11408.63 16306.19
## 121 13857.41 12225.73 15489.08 11361.98 16352.83
## 122 13857.41 12195.79 15519.02 11316.19 16398.63
## 123 13857.41 12166.38 15548.43 11271.21 16443.61
## 124 13857.41 12137.47 15577.34 11226.99 16487.82
## 125 13857.41 12109.04 15605.77 11183.51 16531.30
## 126 13857.41 12081.07 15633.75 11140.73 16574.08
## 127 13857.41 12053.52 15661.29 11098.61 16616.21
## 128 13857.41 12026.40 15688.42 11057.12 16657.69
## 129 13857.41 11999.67 15715.15 11016.24 16698.58
## 130 13857.41 11973.31 15741.50 10975.93 16738.88
## 131 13857.41 11947.32 15767.49 10936.19 16778.62
## 132 13857.41 11921.68 15793.13 10896.97 16817.84
## 133 13857.41 11896.38 15818.43 10858.27 16856.54
## 134 13857.41 11871.40 15843.42 10820.07 16894.74
## 135 13857.41 11846.73 15868.09 10782.34 16932.48
## 136 13857.41 11822.35 15892.46 10745.06 16969.75
## 137 13857.41 11798.27 15916.54 10708.23 17006.59
## 138 13857.41 11774.46 15940.35 10671.82 17042.99
## 139 13857.41 11750.93 15963.89 10635.82 17078.99
## 140 13857.41 11727.65 15987.16 10600.22 17114.59
## 141 13857.41 11704.62 16010.19 10565.01 17149.80
## 142 13857.41 11681.84 16032.97 10530.17 17184.64
## 143 13857.41 11659.30 16055.52 10495.69 17219.12
## 144 13857.41 11636.98 16077.83 10461.56 17253.25
## 145 13857.41 11614.89 16099.93 10427.77 17287.04
## 146 13857.41 11593.01 16121.80 10394.31 17320.50
## 147 13857.41 11571.34 16143.47 10361.17 17353.65
## Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
## 119 13217.76 11288.281 15147.24 10266.877 16168.64
## 120 13217.76 10862.531 15572.99 9615.748 16819.77
## 121 13217.76 10502.743 15932.78 9065.499 17370.02
## 122 13217.76 10185.346 16250.18 8580.083 17855.44
## 123 13217.76 9898.159 16537.36 8140.868 18294.65
## 124 13217.76 9633.912 16801.61 7736.737 18698.78
## 125 13217.76 9387.854 17047.67 7360.423 19075.10
## 126 13217.76 9156.677 17278.84 7006.868 19428.65
## 127 13217.76 8937.969 17497.55 6672.383 19763.14
## 128 13217.76 8729.906 17705.62 6354.180 20081.34
## 129 13217.76 8531.072 17904.45 6050.088 20385.43
## 130 13217.76 8340.336 18095.19 5758.384 20677.14
## 131 13217.76 8156.784 18278.74 5477.665 20957.86
## 132 13217.76 7979.660 18455.86 5206.777 21228.74
## 133 13217.76 7808.332 18627.19 4944.753 21490.77
## 134 13217.76 7642.267 18793.25 4690.778 21744.74
## 135 13217.76 7481.006 18954.52 4444.152 21991.37
## 136 13217.76 7324.157 19111.36 4204.271 22231.25
## 137 13217.76 7171.375 19264.15 3970.611 22464.91
## 138 13217.76 7022.359 19413.16 3742.712 22692.81
## 139 13217.76 6876.845 19558.68 3520.166 22915.35
## 140 13217.76 6734.595 19700.93 3302.615 23132.91
## 141 13217.76 6595.401 19840.12 3089.735 23345.79
## 142 13217.76 6459.073 19976.45 2881.239 23554.28
## 143 13217.76 6325.440 20110.08 2676.866 23758.66
## 144 13217.76 6194.350 20241.17 2476.381 23959.14
## 145 13217.76 6065.662 20369.86 2279.570 24155.95
## 146 13217.76 5939.249 20496.27 2086.238 24349.28
## 147 13217.76 5814.995 20620.53 1896.207 24539.31
#Cara 2 (fungsi Holtwinter)
ses1<- HoltWinters(train.ts, gamma = FALSE, beta = FALSE, alpha = 0.2)
plot(ses1)
## Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
## 119 13857.41 12304.16 15410.65 11481.92 16232.89
## 120 13857.41 12273.40 15441.41 11434.87 16279.94
## 121 13857.41 12243.22 15471.59 11388.73 16326.09
## 122 13857.41 12213.60 15501.21 11343.43 16371.39
## 123 13857.41 12184.51 15530.31 11298.93 16415.89
## 124 13857.41 12155.91 15558.90 11255.19 16459.62
## 125 13857.41 12127.78 15587.03 11212.17 16502.64
## 126 13857.41 12100.11 15614.71 11169.85 16544.96
## 127 13857.41 12072.86 15641.95 11128.18 16586.63
## 128 13857.41 12046.02 15668.79 11087.13 16627.68
## 129 13857.41 12019.58 15695.23 11046.69 16668.12
## 130 13857.41 11993.51 15721.30 11006.82 16707.99
## 131 13857.41 11967.80 15747.01 10967.50 16747.31
## 132 13857.41 11942.43 15772.38 10928.71 16786.11
## 133 13857.41 11917.40 15797.41 10890.42 16824.39
## 134 13857.41 11892.69 15822.13 10852.62 16862.19
## 135 13857.41 11868.28 15846.53 10815.30 16899.52
## 136 13857.41 11844.17 15870.65 10778.42 16936.39
## 137 13857.41 11820.34 15894.47 10741.98 16972.83
## 138 13857.41 11796.79 15918.02 10705.96 17008.85
## 139 13857.41 11773.50 15941.31 10670.35 17044.46
## 140 13857.41 11750.48 15964.33 10635.14 17079.68
## 141 13857.41 11727.70 15987.11 10600.30 17114.51
## 142 13857.41 11705.16 16009.65 10565.83 17148.98
## 143 13857.41 11682.86 16031.95 10531.72 17183.09
## 144 13857.41 11660.78 16054.03 10497.96 17216.85
## 145 13857.41 11638.92 16075.89 10464.53 17250.28
## 146 13857.41 11617.28 16097.53 10431.43 17283.38
## 147 13857.41 11595.84 16118.97 10398.64 17316.17
## Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
## 119 13217.76 11288.814 15146.71 10267.692 16167.83
## 120 13217.76 10863.182 15572.34 9616.743 16818.78
## 121 13217.76 10503.493 15932.03 9066.646 17368.88
## 122 13217.76 10186.184 16249.34 8581.364 17854.16
## 123 13217.76 9899.076 16536.45 8142.271 18293.25
## 124 13217.76 9634.902 16800.62 7738.251 18697.27
## 125 13217.76 9388.912 17046.61 7362.042 19073.48
## 126 13217.76 9157.799 17277.72 7008.584 19426.94
## 127 13217.76 8939.151 17496.37 6674.192 19761.33
## 128 13217.76 8731.146 17704.38 6356.076 20079.45
## 129 13217.76 8532.367 17903.15 6052.069 20383.45
## 130 13217.76 8341.684 18093.84 5760.445 20675.08
## 131 13217.76 8158.182 18277.34 5479.803 20955.72
## 132 13217.76 7981.107 18454.41 5208.990 21226.53
## 133 13217.76 7809.827 18625.69 4947.039 21488.48
## 134 13217.76 7643.807 18791.71 4693.134 21742.39
## 135 13217.76 7482.591 18952.93 4446.576 21988.95
## 136 13217.76 7325.785 19109.74 4206.762 22228.76
## 137 13217.76 7173.045 19262.48 3973.166 22462.36
## 138 13217.76 7024.071 19411.45 3745.330 22690.19
## 139 13217.76 6878.597 19556.92 3522.846 22912.68
## 140 13217.76 6736.387 19699.13 3305.354 23130.17
## 141 13217.76 6597.231 19838.29 3092.534 23342.99
## 142 13217.76 6460.940 19974.58 2884.095 23551.43
## 143 13217.76 6327.345 20108.18 2679.779 23755.74
## 144 13217.76 6196.291 20239.23 2479.349 23956.17
## 145 13217.76 6067.638 20367.88 2282.592 24152.93
## 146 13217.76 5941.260 20494.26 2089.313 24346.21
## 147 13217.76 5817.040 20618.48 1899.335 24536.19
Nilai parameter α dari kedua fungsi dapat dioptimalkan menyesuaikan
dari error-nya paling minimumnya. Caranya adalah dengan membuat
parameter α= NULL
 .
## Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
## 119 13880.33 12313.92 15446.74 11484.71 16275.95
## 120 13880.33 12291.30 15469.36 11450.11 16310.54
## 121 13880.33 12268.99 15491.67 11416.00 16344.66
## 122 13880.33 12246.99 15513.66 11382.36 16378.30
## 123 13880.33 12225.29 15535.37 11349.16 16411.50
## 124 13880.33 12203.86 15556.80 11316.39 16444.27
## 125 13880.33 12182.70 15577.95 11284.04 16476.62
## 126 13880.33 12161.81 15598.85 11252.08 16508.58
## 127 13880.33 12141.17 15619.49 11220.51 16540.15
## 128 13880.33 12120.76 15639.90 11189.31 16571.35
## 129 13880.33 12100.59 15660.06 11158.46 16602.20
## 130 13880.33 12080.65 15680.01 11127.96 16632.70
## 131 13880.33 12060.93 15699.73 11097.80 16662.86
## 132 13880.33 12041.42 15719.24 11067.96 16692.70
## 133 13880.33 12022.11 15738.55 11038.43 16722.23
## 134 13880.33 12003.00 15757.66 11009.20 16751.45
## 135 13880.33 11984.09 15776.57 10980.27 16780.38
## 136 13880.33 11965.36 15795.30 10951.63 16809.03
## 137 13880.33 11946.81 15813.85 10923.26 16837.39
## 138 13880.33 11928.44 15832.22 10895.17 16865.49
## 139 13880.33 11910.24 15850.42 10867.33 16893.33
## 140 13880.33 11892.20 15868.46 10839.75 16920.91
## 141 13880.33 11874.33 15886.33 10812.42 16948.24
## 142 13880.33 11856.62 15904.04 10785.33 16975.33
## 143 13880.33 11839.06 15921.60 10758.47 17002.18
## 144 13880.33 11821.65 15939.01 10731.85 17028.81
## 145 13880.33 11804.38 15956.27 10705.44 17055.21
## 146 13880.33 11787.26 15973.40 10679.26 17081.40
## 147 13880.33 11770.28 15990.38 10653.29 17107.37
#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.1703016
## beta : FALSE
## gamma: FALSE
##
## Coefficients:
## [,1]
## a 13880.51
## Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
## 119 13880.51 12337.82 15423.21 11521.16 16239.87
## 120 13880.51 12315.61 15445.42 11487.19 16273.83
## 121 13880.51 12293.71 15467.32 11453.70 16307.33
## 122 13880.51 12272.10 15488.92 11420.66 16340.37
## 123 13880.51 12250.79 15510.24 11388.06 16372.97
## 124 13880.51 12229.75 15531.28 11355.88 16405.14
## 125 13880.51 12208.97 15552.06 11324.11 16436.92
## 126 13880.51 12188.45 15572.58 11292.73 16468.30
## 127 13880.51 12168.18 15592.85 11261.72 16499.31
## 128 13880.51 12148.14 15612.89 11231.07 16529.95
## 129 13880.51 12128.33 15632.70 11200.78 16560.25
## 130 13880.51 12108.74 15652.29 11170.82 16590.20
## 131 13880.51 12089.37 15671.66 11141.20 16619.83
## 132 13880.51 12070.21 15690.82 11111.89 16649.14
## 133 13880.51 12051.24 15709.79 11082.88 16678.15
## 134 13880.51 12032.47 15728.56 11054.17 16706.85
## 135 13880.51 12013.89 15747.14 11025.76 16735.27
## 136 13880.51 11995.49 15765.54 10997.62 16763.41
## 137 13880.51 11977.27 15783.76 10969.75 16791.28
## 138 13880.51 11959.22 15801.81 10942.15 16818.88
## 139 13880.51 11941.34 15819.69 10914.81 16846.22
## 140 13880.51 11923.63 15837.40 10887.71 16873.32
## 141 13880.51 11906.07 15854.96 10860.86 16900.17
## 142 13880.51 11888.67 15872.36 10834.25 16926.78
## 143 13880.51 11871.41 15889.61 10807.86 16953.17
## 144 13880.51 11854.31 15906.72 10781.70 16979.33
## 145 13880.51 11837.35 15923.68 10755.76 17005.27
## 146 13880.51 11820.53 15940.50 10730.03 17031.00
## 147 13880.51 11803.84 15957.19 10704.52 17056.51
Setelah dilakukan peramalan, akan dilakukan perhitungan keakuratan hasil peramalan. Perhitungan akurasi ini dilakukan baik pada data latih dan data uji.
Akurasi Data Latih
#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 1.741566e+08
## MSE 1.475904e+06
## RMSE 1.214868e+03
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 263020704.28
## MSE 2228989.02
## RMSE 1492.98
#Cara Manual
training<-data.frame(training)
fitted1<-ramalan1$fitted
sisaan1<-ramalan1$residuals
head(sisaan1)
## Time Series:
## Start = 1
## End = 6
## Frequency = 1
## [1] NA -1370.00 580.00 576.00 -36.20 -839.96
## Time Series:
## Start = 1
## End = 6
## Frequency = 1
## [1] NA -1370.00 580.00 576.00 -36.20 -839.96
## [1] 174156638
## [1] 1475904
MAPE.1 = sum(abs(sisaan1[2:length(train.ts)]/train.ts[2:length(train.ts)])*
100)/length(train.ts)
MAPE.1
## [1] 7.405894
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 1.741566e+08
## MSE 1.475904e+06
## MAPE 7.405894e+00
## Time Series:
## Start = 1
## End = 6
## Frequency = 1
## [1] NA -1370.000 1265.000 491.500 -349.550 -915.865
## Time Series:
## Start = 1
## End = 6
## Frequency = 1
## [1] NA -1370.000 1265.000 491.500 -349.550 -915.865
## [1] 263020704
## [1] 2228989
MAPE.2 = sum(abs(sisaan2[2:length(train.ts)]/train.ts[2:length(train.ts)])*
100)/length(train.ts)
MAPE.2
## [1] 9.292902
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 2.630207e+08
## MSE 2.228989e+06
## MAPE 9.292902e+00
Berdasarkan nilai SSE, MSE, RMSE, dan MAPE di antara kedua parameter, nilai parameter λ=0,2menghasilkan akurasi yang lebih baik dibanding λ=0,7 . Hal ini dilihat dari nilai masing-masing ukuran akurasi yang lebih kecil. Berdasarkan nilai MAPE-nya, hasil ini dapat dikategorikan sebagai peramalan sangat baik.
Akurasi Data Uji
selisih1<-ramalan1$mean-testing$Intern
SSEtesting1<-sum(selisih1^2)
MSEtesting1<-SSEtesting1/length(testing)
selisih2<-ramalan2$mean-testing$Intern
SSEtesting2<-sum(selisih2^2)
MSEtesting2<-SSEtesting2/length(testing)
selisihopt<-ramalanopt$mean-testing$Intern
SSEtestingopt<-sum(selisihopt^2)
MSEtestingopt<-SSEtestingopt/length(testing)
akurasitesting1 <- matrix(c(SSEtesting1,SSEtesting2,SSEtestingopt))
row.names(akurasitesting1)<- c("SSE1", "SSE2", "SSEopt")
akurasitesting1
## [,1]
## SSE1 32460799
## SSE2 41284173
## SSEopt 32586178
akurasitesting2 <- matrix(c(MSEtesting1,MSEtesting2,MSEtestingopt))
row.names(akurasitesting2)<- c("MSE1", "MSE2", "MSEopt")
akurasitesting2
## [,1]
## MSE1 16230400
## MSE2 20642086
## MSEopt 16293089
## ME RMSE MAE MPE MAPE MASE
## Training set 211.6163 1217.154 935.4261 0.9455281 7.428549 0.6852209
## Test set -105.1008 1060.029 822.7064 -1.3493389 6.050482 0.6026512
## ACF1
## Training set -0.2874066
## Test set NA
Berdasarkan nilai SSE, MSE, RMSE, dan MAPE di antara kedua parameter, nilai parameter λ=0,2 menghasilkan akurasi yang lebih baik dibanding λ=0,7 . Hal ini dilihat dari nilai masing-masing ukuran akurasi yang lebih kecil. Berdasarkan nilai MAPE-nya, hasil ini dapat dikategorikan sebagai peramalan sangat baik.
DES (Double Exponential Smoothing)
#Lamda=0.2 dan gamma=0.2
des.1<- HoltWinters(train.ts, gamma = FALSE, beta = 0.2, alpha = 0.2)
plot(des.1)
## Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
## 119 13885.41 11878.741 15892.09 10816.4714 16954.36
## 120 13849.41 11785.751 15913.07 10693.3163 17005.50
## 121 13813.40 11674.621 15952.18 10542.4198 17084.38
## 122 13777.39 11544.298 16010.49 10362.1688 17192.62
## 123 13741.39 11394.350 16088.42 10151.9039 17330.87
## 124 13705.38 11224.884 16185.88 9911.7887 17498.97
## 125 13669.37 11036.421 16302.33 9642.6201 17696.13
## 126 13633.37 10829.762 16436.97 9345.6229 17921.11
## 127 13597.36 10605.866 16588.85 9022.2657 18172.45
## 128 13561.35 10365.759 16756.95 8674.1143 18448.59
## 129 13525.35 10110.460 16940.23 8302.7287 18747.96
## 130 13489.34 9840.942 17137.74 7909.5977 19069.08
## 131 13453.33 9558.109 17348.55 7496.1022 19410.56
## 132 13417.32 9262.782 17571.87 7063.5000 19771.15
## 133 13381.32 8955.702 17806.93 6612.9232 20149.71
## 134 13345.31 8637.532 18053.09 6145.3838 20545.24
## 135 13309.30 8308.859 18309.75 5661.7826 20956.83
## 136 13273.30 7970.207 18576.39 5162.9208 21383.67
## 137 13237.29 7622.043 18852.54 4649.5111 21825.07
## 138 13201.28 7264.782 19137.78 4122.1886 22280.38
## 139 13165.28 6898.795 19431.76 3581.5206 22749.03
## 140 13129.27 6524.414 19734.12 3028.0155 23230.52
## 141 13093.26 6141.939 20044.59 2462.1304 23724.39
## 142 13057.26 5751.638 20362.87 1884.2780 24230.23
## 143 13021.25 5353.757 20688.74 1294.8320 24747.67
## 144 12985.24 4948.517 21021.97 694.1326 25276.35
## 145 12949.23 4536.123 21362.35 82.4902 25815.98
## 146 12913.23 4116.759 21709.70 -539.8107 26366.27
## 147 12877.22 3690.597 22063.84 -1172.5083 26926.95
#Lamda=0.6 dan gamma=0.3
des.2<- HoltWinters(train.ts, gamma = FALSE, beta = 0.3, alpha = 0.6)
plot(des.2)
## Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
## 119 13218.417 11163.05818 15273.78 10075.01680 16361.82
## 120 13007.734 10401.07235 15614.40 9021.18878 16994.28
## 121 12797.052 9527.80290 16066.30 7797.16715 17796.94
## 122 12586.369 8564.16189 16608.58 6434.93414 18737.80
## 123 12375.686 7523.99364 17227.38 4955.66281 19795.71
## 124 12165.003 6416.60814 17913.40 3373.59157 20956.41
## 125 11954.320 5248.55593 18660.08 1698.73861 22209.90
## 126 11743.638 4024.67649 19462.60 -61.49472 23548.77
## 127 11532.955 2748.70505 20317.20 -1901.39590 24967.31
## 128 11322.272 1423.63199 21220.91 -3816.39153 26460.94
## 129 11111.589 51.92377 22171.25 -5802.70949 28025.89
## 130 10900.906 -1364.33585 23166.15 -7857.16292 29658.98
## 131 10690.224 -2823.35201 24203.80 -9977.00685 31357.45
## 132 10479.541 -4323.55422 25282.64 -12159.83939 33118.92
## 133 10268.858 -5863.55050 26401.27 -14403.53173 34941.25
## 134 10058.175 -7442.09392 27558.44 -16706.17682 36822.53
## 135 9847.492 -9058.05746 28753.04 -19066.05105 38761.04
## 136 9636.810 -10710.41479 29984.03 -21481.58477 40755.20
## 137 9426.127 -12398.22523 31250.48 -23951.33935 42803.59
## 138 9215.444 -14120.62179 32551.51 -26473.98884 44904.88
## 139 9004.761 -15876.80151 33886.32 -29048.30522 47057.83
## 140 8794.078 -17666.01758 35254.17 -31673.14631 49261.30
## 141 8583.396 -19487.57271 36654.36 -34347.44575 51514.24
## 142 8372.713 -21340.81374 38086.24 -37070.20458 53815.63
## 143 8162.030 -23225.12691 39549.19 -39840.48416 56164.54
## 144 7951.347 -25139.93396 41042.63 -42657.40009 58560.09
## 145 7740.664 -27084.68867 42566.02 -45520.11701 61001.45
## 146 7529.982 -29058.87392 44118.84 -48427.84408 63487.81
## 147 7319.299 -31061.99917 45700.60 -51379.83105 66018.43
Selanjutnya jika ingin membandingkan plot data latih dan data uji adalah sebagai berikut.
#Visually evaluate the prediction
plot(data8.ts)
lines(des.1$fitted[,1], lty=2, col="blue")
lines(ramalandes1$mean, col="red")
Untuk mendapatkan nilai parameter optimum dari DES, argumen
alpha
dan beta
dapat dibuat NULL
seperti berikut.
## Holt-Winters exponential smoothing with trend and without seasonal component.
##
## Call:
## HoltWinters(x = train.ts, gamma = FALSE)
##
## Smoothing parameters:
## alpha: 0.2720662
## beta : 0.3608
## gamma: FALSE
##
## Coefficients:
## [,1]
## a 13833.10232
## b -98.37677
## Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
## 119 13734.73 11896.45541 15573.00 10923.3340 16546.12
## 120 13636.35 11676.13852 15596.56 10638.4659 16634.23
## 121 13537.97 11396.99332 15678.95 10263.6277 16812.32
## 122 13439.60 11058.74327 15820.45 9798.3964 17080.79
## 123 13341.22 10665.11201 16017.32 9248.4668 17433.97
## 124 13242.84 10221.55368 16264.13 8622.1804 17863.50
## 125 13144.46 9733.67543 16555.25 7928.1125 18360.82
## 126 13046.09 9206.48147 16885.69 7173.9165 18918.26
## 127 12947.71 8644.15620 17251.27 6365.9917 19529.43
## 128 12849.33 8050.10232 17648.57 5509.5422 20189.13
## 129 12750.96 7427.06527 18074.85 4608.7668 20893.15
## 130 12652.58 6777.26710 18527.89 3667.0638 21638.10
## 131 12554.20 6102.52238 19005.89 2687.2083 22421.20
## 132 12455.83 5404.33049 19507.32 1671.4935 23240.16
## 133 12357.45 4683.94638 20030.96 621.8386 24093.06
## 134 12259.07 3942.43411 20575.71 -460.1291 24978.28
## 135 12160.70 3180.70717 21140.69 -1573.0124 25894.41
## 136 12062.32 2399.55898 21725.08 -2715.5979 26840.24
## 137 11963.94 1599.68611 22328.20 -3886.8204 27814.71
## 138 11865.57 781.70606 22949.43 -5085.7354 28816.87
## 139 11767.19 -53.82887 23588.21 -6311.4983 29845.88
## 140 11668.81 -906.42082 24244.05 -7563.3477 30900.97
## 141 11570.44 -1775.61777 24916.49 -8840.5922 31981.47
## 142 11472.06 -2661.00672 25605.13 -10142.6002 33086.72
## 143 11373.68 -3562.20812 26309.57 -11468.7913 34216.16
## 144 11275.31 -4478.87145 27029.48 -12818.6293 35369.24
## 145 11176.93 -5410.67141 27764.53 -14191.6169 36545.48
## 146 11078.55 -6357.30493 28514.41 -15587.2904 37744.40
## 147 10980.18 -7318.48857 29278.84 -17005.2164 38965.57
Selanjutnya akan dilakukan perhitungan akurasi pada data latih maupun data uji dengan ukuran akurasi SSE, MSE dan MAPE.
Akurasi Data Latih
#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 3046.000 3796.960 3636.850 3049.287
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 2.915428e+08
## MSE 2.470702e+06
## MAPE 1.004219e+01
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 3046.0000 2152.1200 798.1864 -201.0606
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 2.961596e+08
## MSE 2.509827e+06
## MAPE 9.995788e+00
Hasil akurasi dari data latih didapatkan skenario 2 dengan lamda=0.6 dan gamma=0.3 memiliki hasil yang lebih baik. Namun untuk kedua skenario dapat dikategorikan peramalan sangat baik berdasarkan nilai MAPE-nya.
Akurasi Data Uji
## Time Series:
## Start = 119
## End = 147
## Frequency = 1
## [1] -1145.58510 -191.59203 226.40104 -677.60590 334.38717 -238.61976
## [7] 660.37331 -1563.63362 80.35944 907.35251 -1300.65442 -655.66135
## [13] -2343.66828 -610.67522 -2873.68215 -616.68908 995.30399 -335.70294
## [19] -903.70988 -601.71681 953.27626 -1721.73067 696.26240 987.25546
## [25] -304.75147 -934.75840 -1070.76533 681.22774 140.22080
SSEtestingdes1<-sum(selisihdes1^2)
MSEtestingdes1<-SSEtestingdes1/length(testing$Intern)
MAPEtestingdes1<-sum(abs(selisihdes1/testing$Intern)*100)/length(testing$Yt)
selisihdes2<-ramalandes2$mean-testing$Intern
selisihdes2
## Time Series:
## Start = 119
## End = 147
## Frequency = 1
## [1] -1812.5827 -1033.2655 -789.9483 -1868.6311 -1031.3139 -1778.9967
## [7] -1054.6795 -3453.3623 -1984.0451 -1331.7279 -3714.4107 -3244.0935
## [13] -5106.7763 -3548.4591 -5986.1419 -3903.8247 -2466.5075 -3972.1903
## [19] -4714.8731 -4587.5559 -3207.2387 -6056.9215 -3813.6043 -3697.2871
## [25] -5163.9699 -5968.6527 -6279.3355 -4702.0183 -5417.7011
SSEtestingdes2<-sum(selisihdes2^2)
MSEtestingdes2<-SSEtestingdes2/length(testing$Intern)
MAPEtestingdes2<-sum(abs(selisihdes2/testing$Intern)*100)/length(testing$Intern)
selisihdesopt<-ramalandesopt$mean-testing$Intern
selisihdesopt
## Time Series:
## Start = 119
## End = 147
## Frequency = 1
## [1] -1296.27446 -404.65123 -49.02800 -1015.40478 -65.78155 -701.15832
## [7] 135.46490 -2150.91187 -569.28865 195.33458 -2075.04219 -1492.41897
## [13] -3242.79574 -1572.17251 -3897.54929 -1702.92606 -153.30283 -1546.67961
## [19] -2177.05638 -1937.43316 -444.80993 -3182.18670 -826.56348 -597.94025
## [25] -1952.31702 -2644.69380 -2843.07057 -1153.44735 -1756.82412
SSEtestingdesopt<-sum(selisihdesopt^2)
MSEtestingdesopt<-SSEtestingdesopt/length(testing$Yt)
MAPEtestingdesopt<-sum(abs(selisihdesopt/testing$Intern)*100)/length(testing$Intern)
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 32576223 4.390165e+08 9.157162e+07
## MSE 1123318 1.513850e+07 Inf
## MAPE Inf 2.540248e+01 1.012763e+01
Perbandingan SES dan DES
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 16230400 1123318
## ske 2 20642086 15138502
## ske opt 16293089 Inf
Kedua metode dapat dibandingkan dengan menggunakan ukuran akurasi yang sama. Contoh di atas adalah perbandingan kedua metode dengan ukuran akurasi MSE. Hasilnya didapatkan metode DES lebih baik dibandingkan metode SES dilihat dari MSE yang lebih kecil nilainya.
Pemulusan Data Musiman (WINTER)
Melakukan pembagian data dan mengubahnya menjadi data deret waktu.
#membagi data menjadi training dan testing
training<-data8[1:118,2]
testing<-data8[119:147,2]
training.ts<-ts(training, frequency = 21)
testing.ts<-ts(testing, frequency = 21)
Kemudian akan dilakukan eskplorasi dengan plot data deret waktu sebagai berikut.
Metode Holt-Winter untuk peramalan data musiman menggunakan tiga persamaan pemulusan yang terdiri atas persamaan untuk level \((L_t)\), trend \((B_t)\), dan komponen seasonal / musiman \((S_t)\) dengan parameter pemulusan berupa \(\alpha\), \(\beta\), dan \(\gamma\). Metode Holt-Winter musiman terbagi menjadi dua, yaitu metode aditif dan metode multiplikatif. Perbedaan persamaan dan contoh datanya adalah sebagai berikut.
Pemulusan data musiman dengan metode Winter dilakukan menggunakan
fungsi HoltWinters()
dengan memasukkan argumen tambahan,
yaitu gamma()
dan seasonal()
. Arguman
seasonal()
diinisialisasi menyesuaikan jenis musiman,
aditif atau multiplikatif.
Winter Aditif
Perhitungan dengan model aditif dilakukan jika plot data asli menunjukkan fluktuasi musiman yang relatif stabil (konstan).
Pemulusan
#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(6, 13)
## Frequency = 21
## xhat level trend season
## 2.000000 9843.905 9330.276 98.935361 414.693878
## 2.047619 10148.249 9568.630 112.877260 466.741497
## 2.095238 9729.849 9798.658 124.592281 -193.401361
## 2.142857 10055.534 10017.880 134.055310 -96.401361
## 2.190476 11341.081 10245.629 143.424627 952.027211
## 2.238095 9451.442 10467.437 151.263016 -1167.258503
## 2.285714 12971.027 10676.612 157.054182 2137.360544
## 2.333333 10738.891 10863.061 159.993649 -284.163265
## 2.380952 10100.028 11038.076 161.495827 -1099.544218
## 2.428571 10878.784 11205.566 162.095271 -488.877551
## 2.476190 11917.505 11347.105 160.039588 410.360544
## 2.523810 11818.770 11569.643 166.289488 82.836735
## 2.571429 10530.259 11875.379 180.234094 -1525.353741
## 2.619048 11797.461 12104.761 185.148907 -492.448980
## 2.666667 12116.761 12692.818 225.439684 -801.496599
## 2.714286 12226.468 12933.305 226.944464 -933.782313
## 2.761905 13660.402 13007.556 211.675113 441.170068
## 2.809524 12999.418 12833.351 173.087082 -7.020408
## 2.857143 13525.673 12862.955 158.738726 503.979592
## 2.904762 12516.758 12941.359 150.705266 -575.306122
## 2.952381 14963.447 12605.512 102.050107 2255.884354
## 3.000000 13357.416 12777.873 109.081168 470.461473
## 3.047619 13260.066 12660.071 86.392851 513.601583
## 3.095238 12151.713 12268.651 38.611539 -155.549246
## 3.142857 12505.693 12506.120 58.497275 -58.924093
## 3.190476 13793.783 12734.878 75.523415 983.380769
## 3.238095 11573.799 12657.645 60.247761 -1144.093841
## 3.285714 14685.743 12498.333 38.291775 2149.118416
## 3.333333 12414.299 12643.476 48.976906 -278.154555
## 3.380952 11504.738 12565.594 36.290932 -1097.146440
## 3.428571 12055.333 12523.937 28.496171 -497.100284
## 3.476190 13184.516 12705.366 43.789517 435.360143
## 3.523810 12981.827 12794.853 48.359194 138.615160
## 3.571429 11268.655 12736.647 37.702652 -1505.694491
## 3.619048 12329.702 12637.018 23.969558 -331.285873
## 3.666667 12370.905 13098.647 67.735519 -795.477478
## 3.714286 12440.800 13349.602 86.057410 -994.859717
## 3.761905 13553.159 13203.499 62.841419 286.817946
## 3.809524 13245.373 13248.709 61.078245 -64.413835
## 3.857143 13896.089 13358.313 65.930776 471.845753
## 3.904762 12774.348 13473.426 70.848994 -769.926758
## 3.952381 15561.796 13237.605 40.182039 2284.008599
## 4.000000 13588.822 13178.828 30.286126 379.708206
## 4.047619 13577.976 13223.750 31.749682 322.476332
## 4.095238 13168.788 13216.904 27.890170 -76.006303
## 4.142857 13536.452 13476.237 51.034410 9.180467
## 4.190476 14646.564 13659.981 64.305378 922.278155
## 4.238095 12356.350 13542.173 46.094092 -1231.917785
## 4.285714 16021.504 13765.797 63.847099 2191.858938
## 4.333333 13733.002 13982.744 79.157029 -328.898452
## 4.380952 12987.212 14038.700 76.836980 -1128.325481
## 4.428571 13783.461 14140.095 79.292742 -435.926903
## 4.476190 14946.918 14396.296 96.983525 453.638853
## 4.523810 14531.610 14352.696 82.925165 95.988990
## 4.571429 12993.205 14467.699 86.132972 -1560.626867
## 4.619048 14264.358 14354.391 66.188875 -156.222027
## 4.666667 14072.720 14700.708 94.201723 -722.189915
## 4.714286 13806.289 14799.366 94.647325 -1087.723680
## 4.761905 15261.322 14887.555 94.001535 279.765249
## 4.809524 14687.284 14669.492 62.795094 -45.003709
## 4.857143 15021.879 14491.631 38.729418 491.518624
## 4.904762 13485.342 14356.584 21.351843 -892.594580
## 4.952381 16497.338 14244.868 8.045010 2244.424950
## 5.000000 14376.286 14007.245 -16.521748 385.562428
## 5.047619 14281.837 13991.266 -16.467468 307.038285
## 5.095238 13569.258 13606.031 -53.344212 16.570657
## 5.142857 13565.291 13556.036 -53.009371 62.264340
## 5.190476 14408.726 13602.368 -43.075184 849.433008
## 5.238095 12145.932 13368.948 -62.109704 -1160.905754
## 5.285714 15523.362 13330.052 -59.788351 2253.098657
## 5.333333 12881.237 13278.391 -58.975589 -338.178648
## 5.380952 12099.965 13272.168 -53.700322 -1118.502434
## 5.428571 13205.071 13587.075 -16.839627 -365.163771
## 5.476190 13996.985 13612.221 -12.641051 397.405416
## 5.523810 13630.202 13539.983 -18.600753 108.820217
## 5.571429 12051.753 13693.541 -1.384795 -1640.403255
## 5.619048 13930.896 13950.606 24.460136 -44.170635
## 5.666667 13443.922 14124.887 39.442226 -720.407508
## 5.714286 13168.482 14214.345 44.443791 -1090.306839
## 5.761905 14361.486 14170.892 35.654153 154.939484
## 5.809524 13827.807 13958.249 10.824434 -141.266412
## 5.857143 14406.129 13972.912 11.208288 422.008322
## 5.904762 13325.579 14235.095 36.305710 -945.821912
## 5.952381 16523.477 14334.685 42.634139 2146.157920
## 6.000000 14577.268 14169.624 21.864602 385.779546
## 6.047619 14225.425 14057.435 8.459248 159.531308
## 6.095238 13826.190 13824.009 -15.729255 17.910023
## 6.142857 13828.510 13748.242 -21.733047 102.001088
## 6.190476 14202.738 13476.207 -46.763241 773.294928
## 6.238095 12406.677 13589.096 -30.798008 -1151.620341
## 6.285714 16151.760 13892.762 2.648444 2256.349702
## 6.333333 13486.214 13809.259 -5.966764 -317.077580
## 6.380952 12863.178 13836.849 -2.611050 -971.059651
## 6.428571 13616.318 13955.202 9.485384 -348.369467
## 6.476190 14328.750 13947.424 7.759020 373.566608
## 6.523810 14126.601 13942.433 6.484027 177.684046
## 6.571429 12585.005 14100.397 21.632003 -1537.023530
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.2575123
## beta : 0.03257547
## gamma: 0.4307181
##
## Coefficients:
## [,1]
## a 14204.01706
## b 20.97563
## s1 698.83970
## s2 -530.11364
## s3 -1395.84746
## s4 -654.05853
## s5 -397.33287
## s6 619.57166
## s7 -1392.09581
## s8 1413.07454
## s9 -18.27592
## s10 -837.60339
## s11 -31.91415
## s12 -177.98483
## s13 668.51831
## s14 -708.33212
## s15 2084.64484
## s16 -406.53618
## s17 -639.03838
## s18 -333.69611
## s19 160.16478
## s20 470.06594
## s21 -1564.15459
## Time Series:
## Start = c(2, 1)
## End = c(6, 13)
## Frequency = 21
## xhat level trend season
## 2.000000 9843.905 9330.276 98.935361 414.693878
## 2.047619 10180.246 9608.722 104.783001 466.741497
## 2.095238 9772.130 9856.103 109.428212 -193.401361
## 2.142857 10093.127 10076.486 113.042602 -96.401361
## 2.190476 11369.168 10300.483 116.657017 952.027211
## 2.238095 9463.282 10510.832 119.709056 -1167.258503
## 2.285714 12961.456 10702.057 122.038715 2137.360544
## 2.333333 10703.596 10864.407 123.351900 -284.163265
## 2.380952 10040.923 11016.190 124.278034 -1099.544218
## 2.428571 10799.554 11163.406 125.025260 -488.877551
## 2.476190 11817.554 11282.366 124.827678 410.360544
## 2.523810 11724.528 11513.403 128.287516 82.836735
## 2.571429 10455.078 11845.505 134.926849 -1525.353741
## 2.619048 11708.243 12063.073 137.618931 -492.448980
## 2.666667 12096.205 12742.435 155.266476 -801.496599
## 2.714286 12144.658 12922.370 156.070059 -933.782313
## 2.761905 13494.427 12902.905 150.351914 441.170068
## 2.809524 12727.692 12599.153 135.559258 -7.020408
## 2.857143 13255.741 12619.941 131.820537 503.979592
## 2.904762 12273.246 12717.836 130.715416 -575.306122
## 2.952381 14653.029 12284.794 112.350741 2255.884354
## 3.000000 13323.141 12567.611 117.903739 637.626876
## 3.047619 13154.723 12402.214 108.675111 643.833579
## 3.095238 11956.713 11922.803 89.517906 -55.607867
## 3.142857 12459.464 12318.577 99.494343 41.393113
## 3.190476 13824.603 12649.198 107.023399 1068.381870
## 3.238095 11573.515 12551.601 100.357805 -1078.443563
## 3.285714 14647.910 12369.335 91.151205 2187.423847
## 3.333333 12454.901 12607.806 95.950230 -248.855719
## 3.380952 11549.193 12529.961 90.288765 -1071.057265
## 3.428571 12098.677 12508.440 86.646501 -496.410079
## 3.476190 13415.796 12780.836 92.697384 542.261956
## 3.523810 13301.440 12872.814 92.673933 335.951894
## 3.571429 11408.775 12745.974 85.523170 -1422.721920
## 3.619048 12877.519 12618.592 78.587696 180.338655
## 3.666667 12441.112 13119.624 92.349012 -770.861128
## 3.714286 12377.466 13429.800 99.444815 -1151.778484
## 3.761905 13214.093 13246.634 90.238627 -122.778992
## 3.809524 13344.273 13401.484 92.343381 -149.553863
## 3.857143 14086.236 13530.839 93.549044 461.848429
## 3.904762 12457.331 13638.748 94.016825 -1275.433318
## 3.952381 15970.942 13419.544 83.813529 2467.584521
## 4.000000 13632.611 13270.581 76.230733 285.798524
## 4.047619 13344.350 13354.380 76.477268 -86.507732
## 4.095238 13842.873 13441.325 76.818266 324.729666
## 4.142857 14051.853 13642.555 80.871014 328.427691
## 4.190476 14657.955 13761.575 82.113754 814.265559
## 4.238095 12251.222 13606.274 74.379859 -1429.432132
## 4.285714 16389.395 13936.307 82.707860 2370.379849
## 4.333333 13742.755 14121.403 86.043208 -464.691027
## 4.380952 13050.138 14175.063 84.988300 -1209.913424
## 4.428571 14095.228 14275.466 85.490461 -265.728743
## 4.476190 15140.116 14508.453 90.295208 541.367898
## 4.523810 14514.104 14367.987 82.778065 63.339218
## 4.571429 12893.719 14496.575 84.270359 -1687.127069
## 4.619048 15131.381 14349.672 76.739769 704.969350
## 4.666667 14144.698 14563.825 81.216075 -500.343700
## 4.714286 13210.291 14632.244 80.799182 -1502.751341
## 4.761905 14901.194 14858.205 85.527899 -42.538260
## 4.809524 14606.538 14634.668 75.459967 -103.589640
## 4.857143 14966.786 14421.060 66.043461 479.681913
## 4.904762 12672.341 14277.544 59.216950 -1664.419526
## 4.952381 16613.742 14374.785 60.455596 2178.501173
## 5.000000 14433.325 14088.953 49.175117 295.197313
## 5.047619 14099.350 14124.139 48.719404 -73.507682
## 5.095238 14259.058 13745.040 34.783025 479.234965
## 5.142857 14011.445 13606.502 29.137022 375.805381
## 5.190476 14197.641 13648.658 29.561110 519.421770
## 5.238095 12398.904 13487.495 23.348182 -1111.938879
## 5.285714 15995.324 13475.589 22.199750 2497.535247
## 5.333333 12900.391 13386.717 18.581556 -504.907889
## 5.380952 12298.153 13468.289 20.633481 -1190.769237
## 5.428571 13864.367 13912.490 34.431421 -82.554588
## 5.476190 14116.654 13831.204 30.661865 254.787484
## 5.523810 13901.704 13754.315 27.158342 120.230795
## 5.571429 11991.106 13933.224 32.101699 -1974.220122
## 5.619048 15232.786 14313.713 43.450566 875.622181
## 5.666667 13737.391 14214.814 38.813476 -516.237162
## 5.714286 12958.428 14242.454 38.449489 -1322.475702
## 5.761905 13831.984 14221.823 36.524912 -426.363908
## 5.809524 13642.975 14075.003 30.552372 -462.580604
## 5.857143 14409.789 14158.095 32.263852 219.430854
## 5.904762 12938.123 14512.561 42.759738 -1617.197881
## 5.952381 16533.691 14736.578 48.664275 1748.448878
## 6.000000 14832.882 14515.191 39.867244 277.823903
## 6.047619 13743.920 14316.632 32.100402 -604.812366
## 6.095238 14451.267 14161.284 25.994181 263.989099
## 6.142857 14359.216 13949.011 18.232496 391.973141
## 6.190476 13794.145 13508.301 3.282223 282.562696
## 6.238095 12680.047 13822.363 13.406025 -1155.721235
## 6.285714 16580.754 14196.016 25.141258 2359.596718
## 6.333333 13591.008 13999.760 17.929137 -426.681167
## 6.380952 13387.626 14033.910 18.457550 -664.742314
## 6.428571 13865.934 14073.065 19.131777 -226.263559
## 6.476190 14143.225 14005.690 16.313769 121.220636
## 6.523810 14379.387 14053.363 17.335293 308.689271
## 6.571429 12680.650 14200.642 21.568281 -1541.560669
Peramalan
Plot Deret Waktu
#Plot time series
plot(training.ts,main="Winter 0.2;0.1;0.1",type="l",col="black",
xlim=c(1,8),pch=10)
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 Latih
#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 7.846649e+07
## MSE 6.649703e+05
## RMSE 8.154571e+02
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 6.952043e+07
## MSE1.opt 5.891562e+05
## RMSE1.opt 7.675651e+02
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 78466493 664970.3 815.4571
## 2 Winter1 optimal 69520428 589156.2 767.5651
Akurasi Data Uji
## fit
## 1 14164.92
## 2 13470.89
## 3 13067.96
## 4 14271.18
## 5 14097.96
## 6 14782.22
## 7 13361.44
## 8 16367.16
## 9 14658.37
## 10 14411.12
## 11 14364.37
## 12 14394.49
## 13 15251.90
## 14 13419.04
## 15 16680.90
## 16 14177.48
## 17 13580.60
## 18 14170.13
## 19 14916.00
## 20 14807.94
## 21 13056.77
## 22 14629.69
## 23 13935.66
## 24 13532.73
## 25 14735.95
## 26 14562.73
## 27 15246.99
## 28 13826.21
## 29 16831.93
## testing.ts
## 1 15031
## 2 14041
## 3 13587
## 4 14455
## 5 13407
## 6 13944
## 7 13009
## 8 15197
## 9 13517
## 10 12654
## 11 14826
## 12 14145
## 13 15797
## 14 14028
## 15 16255
## 16 13962
## 17 12314
## 18 13609
## 19 14141
## 20 13803
## 21 12212
## 22 14851
## 23 12397
## 24 12070
## 25 13326
## 26 13920
## 27 14020
## 28 12232
## 29 12737
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)
MSEtesting1.opt
## [1] 32186062
Winter Multiplikatif
Model multiplikatif digunakan cocok digunakan jika plot data asli menunjukkan fluktuasi musiman yang bervariasi.
Pemulusan
#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(6, 13)
## Frequency = 21
## xhat level trend season
## 2.000000 9819.903 9330.276 98.935361 1.0414342
## 2.047619 10127.930 9567.693 112.783504 1.0462223
## 2.095238 9745.577 9796.335 124.369382 0.9823473
## 2.142857 10069.159 10013.833 133.682234 0.9922783
## 2.190476 11317.416 10239.191 142.849854 1.0900955
## 2.238095 9491.150 10458.288 150.474571 0.8946519
## 2.285714 12952.454 10664.617 156.059985 1.1970096
## 2.333333 10748.572 10848.337 158.825971 0.9765070
## 2.380952 10109.921 11020.563 160.166014 0.9042273
## 2.428571 10879.769 11185.170 160.610137 0.9589265
## 2.476190 11906.480 11324.138 158.445858 1.0369164
## 2.523810 11801.736 11544.984 164.685900 1.0078624
## 2.571429 10110.338 11851.408 178.859745 0.8404084
## 2.619048 11741.140 12188.682 194.701134 0.9481367
## 2.666667 11964.135 12820.211 238.383866 0.9161886
## 2.714286 12065.414 13108.336 243.358065 0.9036616
## 2.761905 14052.228 13218.367 230.025342 1.0449002
## 2.809524 13178.414 13004.096 185.595684 0.9991450
## 2.857143 13850.588 13010.255 167.652063 1.0510461
## 2.904762 12428.786 13039.648 153.826066 0.9420405
## 2.952381 15692.369 12695.663 104.045054 1.2259943
## 3.000000 13600.070 12738.147 97.888916 1.0595225
## 3.047619 13420.407 12576.095 71.894764 1.0610704
## 3.095238 12109.740 12167.454 23.841275 0.9933103
## 3.142857 12481.230 12399.944 44.706062 1.0029394
## 3.190476 13944.946 12619.290 62.170127 1.0996325
## 3.238095 11307.972 12515.051 45.529194 0.9002746
## 3.285714 14891.696 12375.754 27.046576 1.2006720
## 3.333333 12214.372 12457.487 32.515251 0.9779319
## 3.380952 11240.196 12401.168 23.631769 0.9046581
## 3.428571 11880.625 12397.122 20.863958 0.9567272
## 3.476190 13207.141 12614.358 40.501225 1.0436419
## 3.523810 13023.171 12694.309 44.446237 1.0223268
## 3.571429 10805.202 12626.429 33.213607 0.8535155
## 3.619048 12469.854 12607.341 27.983429 0.9869041
## 3.666667 12075.019 13050.390 69.489919 0.9203605
## 3.714286 12033.094 13383.250 95.827004 0.8927238
## 3.761905 13416.900 13310.359 78.955186 1.0020602
## 3.809524 13244.417 13398.915 79.915214 0.9826088
## 3.857143 14126.134 13528.409 84.873095 1.0376729
## 3.904762 12300.051 13616.340 85.178895 0.8977144
## 3.952381 16488.041 13465.575 61.584508 1.2188842
## 4.000000 13775.457 13293.988 38.267423 1.0332428
## 4.047619 13490.292 13310.294 36.071286 1.0107840
## 4.095238 13538.097 13325.532 33.987904 1.0133670
## 4.142857 13830.361 13515.022 49.538101 1.0195953
## 4.190476 14817.938 13637.067 56.788796 1.0820866
## 4.238095 11963.016 13493.883 36.791540 0.8841404
## 4.285714 16760.616 13820.444 65.768476 1.2069970
## 4.333333 13531.464 13890.584 66.205653 0.9695255
## 4.380952 12669.541 13974.435 67.970154 0.9022344
## 4.428571 13856.641 14140.042 77.733884 0.9745997
## 4.476190 15166.888 14384.277 94.383989 1.0475339
## 4.523810 14543.334 14302.459 76.763787 1.0114131
## 4.571429 12304.449 14408.621 79.703553 0.8492665
## 4.619048 14844.099 14415.685 72.439661 1.0245700
## 4.666667 13883.493 14648.368 88.463968 0.9420948
## 4.714286 13077.004 14781.733 92.954108 0.8791448
## 4.761905 15186.303 15033.250 108.810345 1.0029218
## 4.809524 14729.987 14845.865 79.190836 0.9869301
## 4.857143 15285.408 14672.559 53.941086 1.0379526
## 4.904762 12778.684 14508.299 32.121046 0.8788387
## 4.952381 17400.732 14549.823 33.061276 1.1932298
## 5.000000 14666.623 14225.579 -2.669168 1.0311970
## 5.047619 14284.717 14167.126 -8.247591 1.0088876
## 5.095238 14124.057 13792.789 -44.856558 1.0273586
## 5.142857 13942.506 13643.187 -55.331126 1.0261006
## 5.190476 14410.185 13611.146 -53.002043 1.0628435
## 5.238095 12062.033 13378.779 -70.938548 0.9063854
## 5.285714 16041.540 13351.965 -66.526135 1.2074528
## 5.333333 12751.006 13206.340 -74.436015 0.9709945
## 5.380952 11959.722 13213.056 -66.320756 0.9097104
## 5.428571 13399.181 13582.760 -22.718344 0.9881371
## 5.476190 13974.795 13563.243 -22.398157 1.0320475
## 5.523810 13646.602 13487.399 -27.742779 1.0138894
## 5.571429 11492.963 13626.222 -11.086167 0.8441313
## 5.619048 14622.037 14053.702 32.770453 1.0380197
## 5.666667 13361.768 14097.641 33.887257 0.9455289
## 5.714286 12679.893 14201.802 40.914687 0.8902720
## 5.761905 13994.273 14253.749 42.017887 0.9789102
## 5.809524 13668.266 14117.145 24.155727 0.9665494
## 5.857143 14479.181 14178.285 27.854121 1.0192200
## 5.904762 12743.448 14438.046 51.044777 0.8795202
## 5.952381 17086.902 14693.418 71.477551 1.1572653
## 6.000000 14914.390 14488.053 43.793291 1.0263245
## 6.047619 14025.893 14335.536 24.162266 0.9767540
## 6.095238 14409.705 14152.913 3.483721 1.0178936
## 6.142857 14362.911 13982.763 -13.879689 1.0282076
## 6.190476 14193.765 13621.499 -48.618026 1.0457444
## 6.238095 12461.342 13727.266 -33.179549 0.9099798
## 6.285714 16845.176 14049.624 2.374154 1.1987744
## 6.333333 13545.495 13864.444 -16.381266 0.9781510
## 6.380952 13090.590 13870.248 -14.162700 0.9447538
## 6.428571 13768.460 13935.981 -6.173096 0.9884171
## 6.476190 14247.005 13881.557 -10.998191 1.0271399
## 6.523810 14262.152 13874.063 -10.647792 1.0287618
## 6.571429 12247.910 13984.308 1.441452 0.8757421
xhat2 <- winter2$fitted[,2]
winter2.opt<- HoltWinters(training.ts, alpha= NULL, beta = NULL, gamma = NULL, seasonal = "multiplicative")
winter2.opt$fitted
## Time Series:
## Start = c(2, 1)
## End = c(6, 13)
## Frequency = 21
## xhat level trend season
## 2.000000 9819.903 9330.276 98.935361 1.0414342
## 2.047619 10140.153 9587.237 104.922167 1.0462223
## 2.095238 9756.216 9821.704 109.829934 0.9823473
## 2.142857 10070.728 10035.335 113.762413 0.9922783
## 2.190476 11305.450 10253.351 117.712064 1.0900955
## 2.238095 9466.921 10460.577 121.103288 0.8946519
## 2.285714 12898.198 10651.599 123.752129 1.1970096
## 2.333333 10685.525 10817.259 125.339823 0.9765070
## 2.380952 10036.112 10972.626 126.477390 0.9042273
## 2.428571 10788.091 11122.801 127.375160 0.9589265
## 2.476190 11794.473 11247.298 127.266137 1.0369164
## 2.523810 11692.536 11470.425 130.897798 1.0078624
## 2.571429 10022.505 11787.793 137.962223 0.8404084
## 2.619048 11639.416 12130.380 145.714400 0.9481367
## 2.666667 11878.007 12799.061 165.526902 0.9161886
## 2.714286 11938.540 13042.805 168.490156 0.9036616
## 2.761905 13850.292 13091.193 163.940119 1.0449002
## 2.809524 12927.577 12792.237 146.403352 0.9991450
## 2.857143 13592.120 12791.176 140.816676 1.0510461
## 2.904762 12215.730 12830.344 136.965715 0.9420405
## 2.952381 15408.611 12450.857 117.399971 1.2259943
## 3.000000 13608.128 12550.830 116.739779 1.0742493
## 3.047619 13384.872 12373.295 105.591224 1.0726014
## 3.095238 12050.621 11943.987 85.326609 1.0017714
## 3.142857 12516.753 12278.867 94.780906 1.0115653
## 3.190476 14032.110 12563.223 101.962930 1.1079277
## 3.238095 11371.396 12458.756 94.142373 0.9058782
## 3.285714 14968.412 12327.312 85.596052 1.2058748
## 3.333333 12317.235 12460.524 87.399987 0.9816154
## 3.380952 11354.035 12423.016 82.667855 0.9079100
## 3.428571 12005.625 12445.596 80.391433 0.9584574
## 3.476190 13492.624 12719.906 87.738010 1.0534821
## 3.523810 13371.205 12790.394 87.084506 1.0383403
## 3.571429 11064.368 12674.777 79.405213 0.8675090
## 3.619048 12983.791 12627.279 74.597500 1.0221947
## 3.666667 12169.314 13044.423 87.574805 0.9266918
## 3.714286 11990.156 13407.263 98.003213 0.8878133
## 3.761905 13046.530 13322.709 91.087042 0.9726203
## 3.809524 13295.546 13511.991 94.807142 0.9771253
## 3.857143 14231.208 13651.750 96.510124 1.0351279
## 3.904762 11990.457 13728.591 95.764978 0.8673429
## 3.952381 16770.423 13627.148 88.293789 1.2227402
## 4.000000 13816.097 13397.494 76.248372 1.0254090
## 4.047619 13254.581 13439.445 74.949005 0.9807751
## 4.095238 14175.100 13544.742 76.098761 1.0406919
## 4.142857 14290.767 13653.934 77.352484 1.0407449
## 4.190476 14792.231 13711.382 76.598405 1.0728352
## 4.238095 11916.385 13563.285 68.085856 0.8741883
## 4.285714 17077.474 13977.976 81.216945 1.2146838
## 4.333333 13559.117 14004.616 79.149292 0.9627481
## 4.380952 12752.784 14097.487 79.669131 0.8995305
## 4.428571 14155.578 14267.788 83.102724 0.9863902
## 4.476190 15296.053 14469.453 87.594443 1.0507661
## 4.523810 14502.516 14328.541 78.937492 1.0065964
## 4.571429 12363.598 14450.440 80.565106 0.8508426
## 4.619048 15575.781 14432.402 76.829527 1.0735084
## 4.666667 14066.249 14528.199 77.548121 0.9630626
## 4.714286 12700.665 14612.561 77.806246 0.8645574
## 4.761905 14853.369 14973.708 88.540578 0.9861322
## 4.809524 14625.229 14795.548 78.436654 0.9832758
## 4.857143 15151.476 14609.095 68.401339 1.0322930
## 4.904762 12242.704 14456.745 60.038221 0.8433482
## 4.952381 17204.333 14673.012 65.956912 1.1672684
## 5.000000 14706.291 14360.567 51.621224 1.0204065
## 5.047619 14171.671 14338.985 48.847936 0.9849760
## 5.095238 14657.847 13986.127 33.629338 1.0455137
## 5.142857 14333.368 13785.780 24.765194 1.0378568
## 5.190476 14308.603 13750.871 22.504429 1.0388596
## 5.238095 12454.080 13586.286 15.416586 0.9156265
## 5.285714 16357.361 13553.825 13.602752 1.2056346
## 5.333333 12949.093 13417.244 7.913061 0.9645394
## 5.380952 12273.991 13471.513 9.669217 0.9104536
## 5.428571 13950.714 13899.560 25.519408 1.0018409
## 5.476190 14082.889 13803.039 20.895940 1.0187323
## 5.523810 13925.001 13737.932 17.637729 1.0123173
## 5.571429 11676.991 13883.174 22.472015 0.8397302
## 5.619048 15495.330 14358.717 39.636542 1.0761876
## 5.666667 13744.099 14225.446 33.085971 0.9639210
## 5.714286 12791.847 14246.671 32.636583 0.8958311
## 5.761905 13611.315 14263.296 32.029998 0.9521514
## 5.809524 13483.421 14177.559 27.568432 0.9491940
## 5.857143 14354.368 14292.548 30.880330 1.0021601
## 5.904762 12617.838 14620.995 42.153597 0.8605136
## 5.952381 16612.904 14934.779 52.444285 1.1084711
## 6.000000 14953.259 14754.995 43.646338 1.0104481
## 6.047619 13588.296 14562.325 34.693537 0.9308953
## 6.095238 14654.013 14456.709 29.377926 1.0115922
## 6.142857 14668.136 14231.594 19.736481 1.0292468
## 6.190476 13948.563 13787.637 2.169533 1.0115126
## 6.238095 12767.164 14027.268 11.165721 0.9094436
## 6.285714 16979.364 14367.643 23.637762 1.1798369
## 6.333333 13749.930 14147.863 14.415917 0.9708840
## 6.380952 13627.375 14139.728 13.561596 0.9628415
## 6.428571 13914.428 14115.512 12.130398 0.9849080
## 6.476190 14139.197 14038.561 8.755557 1.0065408
## 6.523810 14509.716 14075.842 9.836228 1.0301042
## 6.571429 12627.026 14168.603 12.977849 0.8903821
Peramalan
Plot Deret Waktu
#Plot time series
plot(training.ts,main="Winter 0.2;0.1;0.1",type="l",col="black",
xlim=c(1,8),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 Latih
#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 8.895926e+07
## MSE2 7.538920e+05
## RMSE2 8.682696e+02
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 8.222085e+07
## MSE2.opt 6.967869e+05
## RMSE2.opt 8.347376e+02
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 88959259 753892.0 868.2696
## 2 winter2 optimal 82220851 696786.9 834.7376
Akurasi Data Uji
#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] 23164032
Perbadingan winter aditif dan winter multiplikatif
Berdasarkan nilai MSE yang didapatkan metode winter muliplikatif lebih cocok digunakan dibandingkan winter aditif.