Analisis Forecasting Data Time Series Pada Data Harian Sicepat

Forecasting Data Time Series

Penjelasan Time Series

Forecasting adalah suatu metode yang digunakan untuk perencanaan yang efektif dan efisien terhadap ketidakpastian masa depan. Data time series adalah data yang direkam pada interval waktu tertentu secara konsisten. Data time series dapat menunjukkan bagaimana perubahan pada variabel dari waktu ke waktu. Adapun frekuensi yang waktu yang membentuk data time series dapat berupa tahun, kuartal, bulan, hari, jam, menit, ataupun detik. Asalkan data tersebut terurut dan tersimpan dalam urutan waktu, maka data tersebut merupakan data time series. Perbedaan paling dasar antara time series dengan regresi yaitu, pada regresi untuk memprediksi suatu nilai Y dipengaruhi oleh faktor-faktor seperti x1,x2,..,xn. Sementara pada time series, dalam memprediksi suatu nilai Y dipengaruhi oleh nilai Y itu sendiri pada masa lampau (Yt−1). Dalam mendeskripsikan data time series, kita bisa mendecompose data.

Dekomposisi Data Time Series

Dekomposisi digunakan untuk menguraikan komponen-komponen yang ada pada data time series. Jika pada hasil decompose, trend masih membetuk sebuah pola maka dapat dicurigai masih ada seasonality yang belum ditangkap. Seharusnya trend cenderung naik atau cendurung turun. Terdapat 4 teknik dalam mendecompose data time series, yaitu: 1. Base (level) yaitu nilai-nilai data apabila jika serial data diubah ke dalam satu garis lurus. 2. Trend yaitu kemiringan yang terbentuk dari data time series, dapat berupa penurunan atau kenaikan. 3. Seasonality yaitu pola unik yang terbentuk di suatu interval waktu berdasarkan pola/faktor musiman. seasonality dapat terjadi karena suatu bulan di setiap tahunnya, suatu hari di setiap bulannya, atau bahkan suatu jam di dalam satu hari. 4. Residual/Noise (Error) yaitu variasi dari data yang tidak dapat dijelaskan. Namun, tidak semua time series memiliki 4 unsur di atas. Terdapat pula data time series yang tidak memiliki pola musiman (seasonality) dan trend. Komponen-komponen yang membentuk data time series dapat mengungkapkan sifat trend/seasonality. Yaitu:

  1. Additive model yaitu setiap data yang ada merupakan total dari komponen yang ada, dan dirumuskan sebagai: y = base + trend + seasonality + reasidual
  2. Multiplicative model yaitu setiap pengamatan data adalah adalah multiple/perkalian dari komponen yang ada. Dirumuskan sebagai: y = base x trend x seasonality x residual Time series data adalah tipe data yang memerlukan gabungan analisis menggunakan gambar. Oleh karena itu sewaktu kita memilih model time series (untuk analisis ataupun prediksi), kita perlu memplot data tersebut untuk mendapatkan pola kasar dari data yang ada.

Teks alternatif

Teks alternatif

Karakteristik Data Time Series

Syarat yang harus dipenuhi sebelum melakukan forecasting data time series, yaitu:

  1. Data harus terurut berdasarkan periode waktu
  2. Tidak boleh ada waktu atau periode yang terlewat/kosong
  3. Data tidak boleh ada yang null/missing

Jika terdapat waktu yang kosong/data yang null, maka data time series harus ditangani terlebih dahulu sebelum masuk ke pemodelan.

Membentuk Object Time Series

Membentuk data time series di R dapat dilakukan dengan menggunakan fungsi ts() dengan parameter sebagai berikut: ts(data,start,frequency)

  1. data yaitu data yang akan dimodelkan/diprediksi
  2. start yaitu awal periode data yang akan dimodelkan
  3. frequency yaitu pola berulang dari data

Frekuensi dari data time series, dapat berupa: - data jam -> pola harian -> freq = 24 - data harian -> pola mingguan -> freq = 7 - data harian -> pola weekday -> freq = 5 - data jam -> pola mingguan -> freq = 247 - data bulanan -> pola tahunan -> freq = 12 - data bulanan -> pola kuartalan -> freq = 124 - data tahunan -> pola tahunan -> freq = 1

Teks alternatif

Pemodelan Time Series

Persiapan Data

data <- read.csv("D:/R/Time Series/Data Revenue & Package 2019-2022.csv", header = TRUE)
data_test <- read.csv("D:/R/Time Series/Data Testing Revenue & Package 2023.csv", header = TRUE)
head(data)
##      periode volume  berat    revenue
## 1 2019-01-01   6977   9944  170791867
## 2 2019-01-02  84942 107525 1871073643
## 3 2019-01-03  88100 113901 2010054726
## 4 2019-01-04  78848 104473 1885235390
## 5 2019-01-05  58016  78511 1471371663
## 6 2019-01-06  12541  15967  287919254

Terdapat 4 variabel dari data tersebut, yang terdiri dari variable periode, volume, berat, revenue. Namun pada pemodelan ini hanya akan digunakan variable periode dan volume. Data yang digunakan adalah data Volume Sicepat selama 4,1 tahun periode 01 Januari 2019 - 12 Januari 2023. Pertama, perlu dicek terlebih dahulu apakah terdapat null pada variable volume dan tanggal yang kosong pada variable periode.

data <- data %>% 
  mutate(date = ymd(periode))

range(data$date)
## [1] "2019-01-01" "2023-01-12"
colSums(is.na(data))
## periode  volume   berat revenue    date 
##       0       0       0       0       0

Hasil pengecekan menunjukan tidak terdapat NA pada data, dan tidak terdapat data dengan tanggal yang hilang. Sehingga data sudah memenuhi persayaratan dan dapat dilakukan pemodelan.

Pembentukan Data Time Series

Data yang akan dimodelkan terlebih dahulu harus diubah menjadi data dengan tipe time series.

# Membuat Data Time Series
volume_ts <- ts(data[,2], start = c(2019,1), frequency = 365)
volume_ts
## Time Series:
## Start = c(2019, 1) 
## End = c(2023, 9) 
## Frequency = 365 
##    [1]    6977   84942   88100   78848   58016   12541  100160   83468   81068
##   [10]   80450   74765   54728   11900   97486   84253   81269   80485   77976
##   [19]   59595   10790  102764   91940   88321   83542   84689   62771   13867
##   [28]  118678   97777   92492   87372   90727   68546   14891  116401   35375
##   [37]  113507   98413   92473   69727   13762  127853  103463   95642   89724
##   [46]   86388   64926   12187  116945   96469   88006   94530   83555   61969
##   [55]   11963  114561  100399   98662  102777  102611   73013   12486  133697
##   [64]  100998   92470   40279  115116   68397   13930  118701   94989   87292
##   [73]   86636   83434   57334   10462  100362   84306   82114   79257   80141
##   [82]   57758   10743  107600   89504   89871   94369   90542   65079   14256
##   [91]  115703  102945   37030  123802   95866   67091   13159  123205  106367
##  [100]   93989   94791   94791   68959   15671  125822  100686   20901  111530
##  [109]   39891   81027   14326  123136   98675   97933  101359  100794   76941
##  [118]   16840  144739  122295   45664  138251  114513   83706   19859  145957
##  [127]  130240  134659  132134  137440  103237   31228  183795  151670  145972
##  [136]  148130  173089  148037   41935  200706  169432  140283  168824  189594
##  [145]  179448   67777  248281  207936  179075  113784  125536   52252   25420
##  [154]   29383   14831    2512    5065   11866   16547   12535   88144   82327
##  [163]   85978   86811   88384   71621   19122  142782  123080  115297  112625
##  [172]  107831   86607   20546  165653  135831  143803  135683  125897   94038
##  [181]   24092  171666  152952  147306  139865  129792  105803   28830  209770
##  [190]  160461  150618  144197  143262  111054   25264  199446  155362  159042
##  [199]  156631  147109  111777   26476  206794  157980  155292  154069  157753
##  [208]  120715   27901  228660  181020  178055  184316  170865  132731   19102
##  [217]  200182  183043  184006  193857  200328  140930   19477  220616  178180
##  [226]  178427  172109  165099   56424   40452  293432  198469  176552  178410
##  [235]  166749  125866   29475  257099  206453  198491  199049  199339  149561
##  [244]   42466  285006  239398  223366  214875  192017  155441   36593  308560
##  [253]  285427  248031  218704  193980  141364   33346  268145  208102  194030
##  [262]  192227  190347  140120   34133  256621  198673  190979  189121  192630
##  [271]  163034   45118  291797  240473  243232  236803  231300  173854   39443
##  [280]  294300  229149  216680  265285  283935  196042   49435  308266  234409
##  [289]  226631  212703  203292  162748   38228  303435  230902  211536  206320
##  [298]  201098  179886   45133  353321  283083  286561  291029  276610  223634
##  [307]   65309  416000  319552  310243  287047  270932  131401   63410  515525
##  [316]  455045  344890  292547  263451  203668   48115  377619  281842  261370
##  [325]  256344  238183  186207   43794  354673  295909  284885  279012  266672
##  [334]  216303   58859  435112  341456  325399  308092  293664  238151   65572
##  [343]  434031  338992  321375  532326  567470  372529  106441  466646  342447
##  [352]  328601  300676  289658  236424   52497  402458  286177  105622  374971
##  [361]  280385  244836   69399  373207  201418   33892  297430  314493  268185
##  [370]   81364  457886  363439  322449  313095  303643  256561   66048  449597
##  [379]  337501  309522  293682  288113  233991   57484  406616  319565  297219
##  [388]  278276  261523   95894   73403  489141  372630  339366  318909  299144
##  [397]  245768   79260  511174  368442  314985  340966  293217  223135   58551
##  [406]  400017  338752  283054  262424  254769  194729   49380  365530  340480
##  [415]  331686  307558  266173  207552   52631  389037  253838  329534  313311
##  [424]  319264  256943   80322  518017  444911  442397  384943  347199  270874
##  [433]   59531  483289  354138  347330  333325  322849  261334   75163  452734
##  [442]  349057  334788  317442  322637  283584   83940  434535  348213  185135
##  [451]  410721  370011  352261  113424  483465  367058  375375  368599  364919
##  [460]  377562  142237  579417  436946  407679  397330  218311  437235  140094
##  [469]  580983  455233  420606  398327  426034  374819  174418  546231  396166
##  [478]  394713  379598  374305  363520  138665  608964  492897  469550  457833
##  [487]  315621  527444  172012  696324  629698  650461  413863  624566  483779
##  [496]  187997  809654  737866  638374  559126  593981  586605  235844  650501
##  [505]  360700  260993   41799      32       3  376772  436841  450710  453962
##  [514]  405042  152360  420704  634735  526092  494425  462471  634122  322478
##  [523]  935423  665764  529337  486879  462184  397471  130647  641777  491441
##  [532]  475585  457551  434765  381656  125590  621024  493999  461865  471305
##  [541]  477866  427926  145818  691228  567827  569614  569752  544036  469710
##  [550]  157083  735307  750531  754525  570852  514523  409921  129946  652992
##  [559]  488984  460878  447443  429469  375510  130653  646362  475053  460949
##  [568]  446404  435224  407872  154220  742100  631783  551857  529333  127646
##  [577]  530591  156453  729158  566836  530040  477847  469937  486606  239383
##  [586]  712022  575079  515930  511368  515871  449491  168653  370285 1060985
##  [595]  720610  356316  658165  514728  173486  765451  684908  733474  657410
##  [604]  657424  569145  200641  959600  791333  756073  703888  660387  561067
##  [613]  201087  926025  730085 1055623 1167378  833189  606759  222713  851110
##  [622]  682408  597141  550460  524634  456840  162613  739036  682810  634795
##  [631]  594779  642809  615187  215770 1020911  842959  759422  738036  710903
##  [640]  622317  231295  999520  784533  662832  577403  561022  706547  420650
##  [649] 1034254  824007  728260  703958  693947  579282  212565  879160  713697
##  [658]  682613  645404  595314  535680  248642 1000639  790738  738975  431411
##  [667]  779685  607870  263238  941541  802319  758198  708950  676645  563237
##  [676]  235921  881900  747683 1233426 1273118  851716  614101  254743  791579
##  [685]  680055  632868  586653  557740  479219  203342  736741  656115  780884
##  [694]  893330  724665  608192  262970  898254  794137  771677  746921  708496
##  [703]  609621  281390  935254  806779  602980  778673  720742 1101739  895761
##  [712] 1429174 1076055  944409  869737  803425  696093  307655  991244  848674
##  [721]  789363  717816  421700  861145  352587 1037204  834262  757784  561891
##  [730]  295356  975577  499267 1146288  950224  841867  797463  736725  635399
##  [739]  303456  910933  812022  757813  717043  668372  581688  266651  844259
##  [748]  744147  684104  650520  617262  540546  247270  864367  895022  796928
##  [757]  730643  698813  613690  305719  925061 1048770 1214752 1032055  896867
##  [766]  771929  355575 1120578  922310  758054  681918  358907  642541  308079
##  [775]  912396  782985  739342  688078  640928  541555  265355  808547  742681
##  [784]  693315  776497  879305  728950  352478  980479  920067 1064080 1103872
##  [793]  941840  730930  357397  956739  872744 1297731  585693  980133  801272
##  [802]  345061 1096289  986318 1015362  961785  905227  808509  344393 1195380
##  [811]  967016  891502  959626 1006826  858287  365698 1276752 1075767  990304
##  [820] 1004143  632286 1006198  682565 1907280 1471995 1190687 1025010  838756
##  [829]  682404  280495 1027459  884693  900316  925437  906740  858149  407522
##  [838] 1247149 1049735  950900  966121 1297264 1264089  479548 1307328  994483
##  [847]  971919  969225 1179952  994836  580808 1549001 1300333 1663487 1796700
##  [856] 1284632 1020410  486620  747305  169679     375  185427  214146  882596
##  [865]  980515 1004593  976225  936562  822134  343901 1228799 1298009  907914
##  [874] 1314877 1057727  907305  387541 1376045  747425 1177818 1005267  906495
##  [883]  811823  718398 2083475 1468825 1113648  977444  893810  779627  312908
##  [892] 1202388  991622  924885  885985  854243  770644  323296 1204929  979397
##  [901]  919557  918969 1086595 1109492  463293 1292347 1032444  944357 1003876
##  [910] 1023235  950621  466310 1370569 1140241 1511773 1607922 1271282 1046480
##  [919]  485488 1335983 1111774 1055640 1004176  968068  888201  403484 1251373
##  [928]  361661 1192722  967558  955746  896036  542434 1780158 1387680 1254763
##  [937] 1132430 1101227 1013616  474444 1555471 1273476 1225239 1138438 1106695
##  [946] 1022416  820475 2092926 1436549  918956 1520310 1276765 1091220  488643
##  [955] 1452884  820497 1917608 1351770 1106087  985330  462604 1414111 1142851
##  [964] 1293423 1452943 1111455  980006  470183 1443675 1234856 1236202 1229140
##  [973] 1177996 1066321  533733 1484270 1293998 1140350 1720961 2262447 1595566
##  [982]  688443 1476640 1215108 1055764  935569  863549  764652  352646 1055997
##  [991]  827863  766933  714772  714910  802817  407304 1112268  856904  798707
## [1000]  765182  785140  834926  397102 1280669 1108685 1124492 1083719 1012679
## [1009]  863772  988221 2855074 2233044 1614965 1271757 1032425  841564  386753
## [1018] 1259832 1209846  734062 1131000  997144  851612  389665 1459769 1577478
## [1027] 1285069 1168725 1116403  970752  482061 1482688 1412909 1344744 1230958
## [1036] 1102714  942751  435667 1438671 1302261 1247890 2199741 2737430 1904688
## [1045]  816557 1542459 1280894 1138476 1069009  972335  862595  378600 1304898
## [1054] 1169321 1063613 1362095 1583737 1161636  519517 1629261 1397570 1279053
## [1063] 1123533 1002918  892441  368694 1285181 1217111 1032982 1049287 1108843
## [1072]  958747 1257984 2866347 2012707 1428141 1179481 1067390  927924  396965
## [1081] 1459055 1463272 1195444 1054098  960756  625687  567634 1822898 1425671
## [1090] 1148449 1085064  882334  540246  923880 2415893 1726081 1451365 1272631
## [1099] 1164157 1022667  421160 1681813 1391540 1260913 1182525 1066224  948329
## [1108]  393650 1573839 1186284 1065489  988366  892157  766749  325940 1229123
## [1117] 1333696 1406324 1167066 1018831  893348  413787 1384040  597902 1933184
## [1126] 1976083 1390536 1111800  494486 1584800 1268462 1213386 1223979 1161297
## [1135] 1025836  453766 1506816 1154819 1049932 1115868 1061161  956140  434286
## [1144] 1436906 1150085 1037847 1002591 1252733 1339851  597542 1097265 1656755
## [1153] 1304747 1225374 2086704 1377464  571159 1584544 1271782 1212212 1192617
## [1162] 1134684  991213  429837 1429205 1465431 1531519 1190573  966984  805395
## [1171]  330993 1204719  926190  918744  891675 1157275 1152096  488264 1444390
## [1180] 1074039  949948  938893 1114893 1046744  565182 2118964 2327167 1785661
## [1189] 1469411 1318898 1281063  707541 1791705 1580338 1463771 1353286  968496
## [1198] 1325783  658135 1704310 1548003 1769799 1799431 1440983 1303917  760207
## [1207] 2125111 1901126 1448882 1031088  644707  332951     101      49    1089
## [1216]  636929  960428 1272981 1111606  596139 1622097 1521775 1361682 1280618
## [1225] 1129210  908179  406592  847848 1365091 1254484 1091869 1025738  871283
## [1234]  420737 1305630 1140436 1415945 1058348 1446222 1138970  586566 1480800
## [1243] 1217182  749153 1227989 1069017  940800  473755 1814384 1968260 1551863
## [1252] 1207028 1130042 1005547  481723 1432373 1200816 1109742 1012743  948337
## [1261]  834408  383933 1277148 1124053 1020485  955206  898761 1115565  610698
## [1270] 1645647 1350407 1151868 1092409 1078460  926387  429296 1347226 1153283
## [1279] 1052858 1546437 1593051  964268  330376 1442770 1199560 1064534  960550
## [1288]  897645  782376  355946 1229844 1038676  942445  885975  826363  731518
## [1297]  330083 1405057 1292264 1034273  934155  910864  596895  382410 1436959
## [1306] 1175705 1074393 1008049  863181  804611  392344 1702147 1743448 1297191
## [1315] 1055749  927818  810261  357266 1174766  960890  484632 1348905  996840
## [1324]  753556  337041 1148665  944412  857058 1093168 1145046  891877  396890
## [1333] 1324236 1074295  980716 1002356  949182  782275  344931 1216781 1024612
## [1342]  906053  881980 1476555 1544580  634873 1463255 1083965  944619  863514
## [1351]  818538  711351  300588 1144445  876144  797693  743988  719104  661884
## [1360]  389332 1391123 1130636 1055095  975687  903591  788783  330245 1157734
## [1369]  915260  863978  782472  742173  487453  351077 1620735 1539816 1110807
## [1378]  909793  753869  621130  264736 1041173  831828  768613  743101  682869
## [1387]  585866  242023  979250  962507  965345  876658  797351  689104  301272
## [1396] 1138353  915147  794692  725172  677595  605226  253970  984420  773405
## [1405]  769177  761287 1110330 1061889  386990 1037747  761875  695665  633968
## [1414]  573818  495505  201424  813853  631748  588341  555523  695093  687018
## [1423]  290269 1023437  834355  773981  756184  763572  650713  290657 1054729
## [1432]  870612  796187  675026  672990  606972  249059 1358276 1238655  880731
## [1441]  673929  572577  482464  171566  753151  570820  533562  502364  497000
## [1450]  433156  190734  930048  761210  653428  596132  518991  351566  143666
## [1459] 1021083  857401  708520  655426  600668  505451  196722  852717  709323
## [1468]  654272  616674
data_test_ts <- ts(data_test[,1], start = c(2023,1), frequency = 365) # frequency yang digunakan adalah 365 karena akan digunakan forecasting data harian untuk melihat pola data dalam tahunan
data_test_ts
## Time Series:
## Start = c(2023, 1) 
## End = c(2023, 12) 
## Frequency = 365 
##  [1]  1/1/2023  1/2/2023  1/3/2023  1/4/2023  1/5/2023  1/6/2023  1/7/2023
##  [8]  1/8/2023  1/9/2023 1/10/2023 1/11/2023 1/12/2023

Cek Dekomposisi Data

Pertama akan dilakukan drop pada kolom yang tidak digunakan.

# Menghapus kolom revenue dan berat
data_clean <- within(data, {
  berat <- NULL 
  revenue <- NULL
})
data_clean <-  data_clean %>% 
  mutate(date = ymd(periode))
data_clean <- data_clean[,-1]

range(data_clean$date)
## [1] "2019-01-01" "2023-01-12"
summary(data_clean$volume)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##       3  240473  600668  656237  990304 2866347
sd(data_clean$volume)
## [1] 476923.6

Selanjutnya adalah pembagian data training dan testing. Data training yang digunakan merupakan data 3 tahun 11 bulan. Sementara data bulan Desember sampai 12 Januari 2023 akan digunakan sebagai data testing.

# Membagi Data Training dan Data Testing
data_train <- head(volume_ts, 1426)
data_test <- tail(volume_ts, length(volume_ts)-length(data_train))

# Dekomposisi Time Series
data_train%>% decompose() %>% autoplot()

Dari hasil dekomposisi diketahui bahwa data memiliki pola additive dan musiman. Metode peramalan deret waktu yang akan digunakan berdasarkan pola data tersebut adalah Holt’s Winters Exponential (Triple Exponential Smoothing) dan Seasonal Arima. Selain dengan kedua pemodelan tersebut, akan pula diuji menggunakan pemodelan STLM (Seasonal Trend with Loess Model).

Pemodelan

Holt’s Winters Exponential (Triple Exponential Smoothing)

Metode Holt’s Winters Exponential (Triple Exponential Smoothing) disebut sebagai metode forecasting yang tepat digunakan untuk data yang memiliki efek trend dan seasonal.

# Pemodelan Holt's Winter Exponential
model_hoW <- HoltWinters(data_train)
# Evaluasi Model
model_how_forecast <- forecast(object = model_hoW, h = 43)

volume_ts %>% autoplot(series = "data_train")+
  autolayer(data_test, series = "data_test") +
  autolayer(model_how_forecast$mean, series = "forecast")

accuracy(model_how_forecast$mean, x = data_test)
##                ME     RMSE      MAE       MPE     MAPE      ACF1 Theil's U
## Test set -5740.13 202983.1 161562.1 -18.35968 35.08705 0.2321578 0.4624416

Seasonal ARIMA (SARIMA)

Sebelum dilakukan pemodelan menggunakan seasoanal Arima, perlu dilakukan pengujian untuk mengetahui kestasioneran data. Adapun hipotesis yang diberikan adalah:

H0 : data tidak stasioner H1 : data stasioner

# Cek Kestasioneran Data
acf(data_train,lag.max = 2000)

#Cek kestasioneran data dengan ADF-Test dengan hipotesis sebagai berikut:
#H0 : Data tidak stasioner
#H1 : Data stasioner
adf.test(data_train) 
## 
##  Augmented Dickey-Fuller Test
## 
## data:  data_train
## Dickey-Fuller = -5.946, Lag order = 11, p-value = 0.01
## alternative hypothesis: stationary

Hasil menunjukkan bahwa P−value hasil uji ADF-Test lebih kecil dari alpha=0.05, sehingga terima H0. Artinya, pada taraf nyata 5% cukup bukti untuk menyatakan bahwa data yang digunakan telah stasioner.

tsdisplay(data_train, lag.max = 36)

Fungsi tsdisplay digunakan untuk menentukan kemungkinan ordo ARIMA yang dapat dibentuk, dimana: - tails off: garis saat lag ke-1 mengalami penurunan yang lambat. - cuts off lag: garis saat lag ke-1 mengalami penurunan yang cepat. Namun penentuan ordo ARIMA juga dapat dilakukan dengan auto.arima. Parameter yang dibutuhkan adalah peubah yang digunakan untk pemodelan (y) dan tipe pemodelan yang digunakan, Seasonal = TRUE untuk seasonal ARIMA.

# Model Arima
model_arima_auto <- auto.arima(y = data_train, seasonal = TRUE)
model_arima_auto
## Series: data_train 
## ARIMA(5,1,2) with drift 
## 
## Coefficients:
##           ar1     ar2     ar3      ar4     ar5      ma1      ma2     drift
##       -0.5371  0.2001  0.0123  -0.0938  0.1360  -0.1019  -0.8463  509.2655
## s.e.   0.0301  0.0310  0.0310   0.0307  0.0277   0.0155   0.0146  294.4678
## 
## sigma^2 = 7.214e+10:  log likelihood = -19833.38
## AIC=39684.75   AICc=39684.88   BIC=39732.11

Model Arima yang sesuai digunakan berdasarkan auto.arima adalah ARIMA(5,1,2)

arima_auto_forecast <- forecast(object = model_arima_auto, h = 43)
plot(arima_auto_forecast)

volume_ts %>% autoplot(series = "Data Train")+
  autolayer(data_test, series = "Data Test") +
  autolayer(arima_auto_forecast$mean, series = "forecast")

accuracy(arima_auto_forecast$mean, x = data_test)
##               ME     RMSE      MAE       MPE     MAPE      ACF1 Theil's U
## Test set -152191 302428.8 244607.9 -59.85775 68.32563 0.2024243 0.4601618

Seasonal Trend with Loess Model (SLTM)

STL secara konsep akan melakukan smoothing terhadap data tetangga setiap masing-masing observasi dengan memberikan bobot yang lebih berat terhadap data yang dekat dengan observed data. Kekurangan dari STL hanya bisa melakukan decompose pada additive data, apabila terdapat multiplicative data dapat menggunakan transformasi log()[^12].

Untuk memodelkan hasil STL, kita bisa menerapkan STLM(Seasonal Trend with Loess Model) dimana kita bisa menerapkan metode exponential smoothing (ETS) dan ARIMA. Selain itu, STLM dapat digunakan sebagai alternative cara untuk menangkap seasonal yang belum bisa ditangkap oleh metode ETS dan ARIMA biasa.

# Model STLM
model_stlm <- stlm(y = data_train, s.window = 43, method = "ets")
model_stlm_forecast <- forecast(model_stlm, h = 43)

volume_ts %>% autoplot(series = "Data Training")+
  autolayer(data_test, series = "Data Testing") +
  autolayer(model_stlm_forecast$mean, series = "forecast")

accuracy(model_stlm_forecast$mean, x = data_test)
##                 ME     RMSE      MAE       MPE     MAPE         ACF1 Theil's U
## Test set -103697.3 268814.9 226974.1 -40.07887 52.79543 -0.009535782 0.5291987

Model Terbaik

Pemilihan model terbaik didasarkan pada akurasi. Akurasi yang digunakan adalah MAPE (Mean Absolut Percentage Error) dan RMSE (Root Mean Squared Error). RMSE dan MAPE sama-sama bagus. Alasan digunakan RMSE adalah karena RMSE lebih sensitif pada data pencilan (amatan yang nilainya jauh dari rata-rata) Alasan RMSE Lebih Baik dari MAE. Sementara itu, MAPE memberikan nilai presentase sehingga lebih mudah untuk diinterpretasikan Alasan RMSE dan MAPE bagus. Model yang memberikan nilai RMSE dan MAPE terkecil adalah model Holt’s Winters Exponential.

Hasil <- data.frame(
   Forecast  = model_how_forecast$mean,
   Volume_Real = data_test
)
Selisih = with(Hasil, Volume_Real - Forecast)
Hasil_Forecast <- data.frame(Hasil, Selisih)
Hasil_Forecast
##    Forecast Volume_Real     Selisih
## 1  673994.6      756184   82189.426
## 2  718787.1      763572   44784.941
## 3  647451.4      650713    3261.575
## 4  509398.0      290657 -218740.978
## 5  699605.1     1054729  355123.932
## 6  758801.8      870612  111810.241
## 7  720744.3      796187   75442.745
## 8  636086.5      675026   38939.489
## 9  706891.9      672990  -33901.871
## 10 654061.5      606972  -47089.506
## 11 476235.3      249059 -227176.320
## 12 806146.8     1358276  552129.170
## 13 960996.6     1238655  277658.377
## 14 863278.1      880731   17452.865
## 15 899705.9      673929 -225776.882
## 16 952378.0      572577 -379801.035
## 17 745461.5      482464 -262997.473
## 18 510638.3      171566 -339072.284
## 19 681743.8      753151   71407.246
## 20 736597.7      570820 -165777.740
## 21 709345.2      533562 -175783.241
## 22 597199.0      502364  -94834.982
## 23 651291.9      497000 -154291.946
## 24 576698.6      433156 -143542.573
## 25 382332.4      190734 -191598.354
## 26 616249.8      930048  313798.150
## 27 676053.5      761210   85156.454
## 28 536319.5      653428  117108.471
## 29 623446.7      596132  -27314.747
## 30 628470.4      518991 -109479.431
## 31 542964.3      351566 -191398.272
## 32 351727.6      143666 -208061.629
## 33 601135.3     1021083  419947.689
## 34 657879.7      857401  199521.347
## 35 529985.5      708520  178534.523
## 36 615819.8      655426   39606.151
## 37 679137.1      600668  -78469.136
## 38 599736.7      505451  -94285.693
## 39 424326.7      196722 -227604.700
## 40 600018.3      852717  252698.732
## 41 706011.9      709323    3311.100
## 42 616069.1      654272   38202.856
## 43 544586.3      616674   72087.715

Berdasarkan hasil