A <- ts(c(2008,1520,1695,2076,1725,2184,2591,2627,2590,2975,2349,2800,1926,1870,2327,2273,2418,2596,2578,3146,2656,2386),
start = c(2015, 1), frequency = 12)
plot(A)
seasonplot(A,ylab="Demand", xlab="Month",
main="Seasonal plot: SS06CLR96130 Demand",
year.labels=TRUE, year.labels.left=TRUE, col=1:20, pch=19)
monthplot(A,ylab="Demand",xlab="Month",xaxt="n",
main="Seasonal deviation plot: Demand for SS06CLR96130")
ggseasonplot(A, year.labels=TRUE, continuous=TRUE)
ets(A)
## ETS(M,N,N)
##
## Call:
## ets(y = A)
##
## Smoothing parameters:
## alpha = 0.6001
##
## Initial states:
## l = 1860.8398
##
## sigma: 0.1573
##
## AIC AICc BIC
## 332.2923 333.6256 335.5654
fit1 <- ets(A)
fit2 <- ets(A,model= "MNN")
deviance <- 2*c(logLik(fit1) - logLik(fit2))
df <- attributes(logLik(fit1))$df - attributes(logLik(fit2))$df
#P value
1-pchisq(deviance,df)
## [1] 1
ses(A)
## Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
## Nov 2016 2535.761 2074.232 2997.290 1829.913 3241.608
## Dec 2016 2535.761 1998.709 3072.813 1714.411 3357.111
## Jan 2017 2535.761 1932.569 3138.952 1613.259 3458.263
## Feb 2017 2535.761 1872.997 3198.525 1522.151 3549.370
## Mar 2017 2535.761 1818.355 3253.167 1438.583 3632.939
## Apr 2017 2535.761 1767.590 3303.932 1360.944 3710.577
## May 2017 2535.761 1719.977 3351.544 1288.128 3783.394
## Jun 2017 2535.761 1674.995 3396.527 1219.333 3852.189
## Jul 2017 2535.761 1632.249 3439.273 1153.958 3917.563
## Aug 2017 2535.761 1591.436 3480.086 1091.541 3979.981
holt(A)
## Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
## Nov 2016 2647.055 2190.039 3104.070 1948.110 3345.999
## Dec 2016 2687.676 2176.920 3198.433 1906.542 3468.811
## Jan 2017 2728.298 2168.922 3287.674 1872.806 3583.790
## Feb 2017 2768.919 2164.806 3373.033 1845.008 3692.831
## Mar 2017 2809.541 2163.767 3455.315 1821.915 3797.167
## Apr 2017 2850.163 2165.242 3535.084 1802.667 3897.659
## May 2017 2890.784 2168.822 3612.747 1786.638 3994.931
## Jun 2017 2931.406 2174.198 3688.614 1773.356 4089.456
## Jul 2017 2972.028 2181.130 3762.925 1762.454 4181.601
## Aug 2017 3012.649 2189.427 3835.871 1753.640 4271.659
train = A[1:16]
test = A[18:22]
arma_fit <- auto.arima(train)
arma_forecast <- forecast(arma_fit, h = 5)
arma_fit_accuracy <- accuracy(arma_forecast, test)
arma_fit; arma_forecast; arma_fit_accuracy
## Series: train
## ARIMA(0,1,0)
##
## sigma^2 estimated as 175894: log likelihood=-111.87
## AIC=225.73 AICc=226.04 BIC=226.44
## Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
## 17 2273 1735.521 2810.479 1450.9968 3095.003
## 18 2273 1512.890 3033.110 1110.5119 3435.488
## 19 2273 1342.059 3203.941 849.2486 3696.751
## 20 2273 1198.042 3347.958 628.9935 3917.006
## 21 2273 1071.160 3474.840 434.9449 4111.055
## ME RMSE MAE MPE MAPE MASE
## Training set 16.688 406.0795 327.438 -0.9825736 15.42751 0.9378595
## Test set 399.400 473.0626 399.400 14.2357518 14.23575 1.1439756
## ACF1
## Training set -0.3998153
## Test set NA
plot(arma_forecast, ylim=c(0,3500))
lines(A[1:22])
Afit1 <- meanf(A,h=3)
Afit2 <- rwf(A,h=3)
Afit3 <- snaive(A,h=3)
plot(Afit1, plot.conf=FALSE,
main="Forecasts for SS06CLR96130")
lines(Afit2$mean,col=2)
lines(Afit3$mean,col=3)
lines(A)
legend("topleft", lty=1, col=c(4,2,3),
legend=c("Mean method","Naive method","Seasonal naive method"))
cycle(A)
## Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
## 2015 1 2 3 4 5 6 7 8 9 10 11 12
## 2016 1 2 3 4 5 6 7 8 9 10
boxplot(A~cycle(A))
B <- ts(c(347,296,566,820,919,1379,1159,1132,1119,1238,904,699,512,471,744,789,943,1341,973,1255,1146,1045),
start = c(2015, 1), frequency = 12)
plot(B)
seasonplot(B,ylab="Demand for SS02CLR7284", xlab="Month",
main="Seasonal plot: SS02CLR7284 Demand",
year.labels=TRUE, year.labels.left=TRUE, col=1:20, pch=19)
monthplot(B,ylab="Demand for SS02CLR7284",xlab="Month",xaxt="n",
main="Seasonal deviation plot: Demand for SS02CLR7284")
ggseasonplot(B, col =rainbow(12), year.labels=TRUE )
ets(B)
## ETS(A,N,N)
##
## Call:
## ets(y = B)
##
## Smoothing parameters:
## alpha = 0.9375
##
## Initial states:
## l = 345.0608
##
## sigma: 224.0872
##
## AIC AICc BIC
## 312.1325 313.4658 315.4056
fitB1 <- ets(B)
fitB2 <- ets(B,model= "ANN")
Bdeviance <- 2*c(logLik(fitB1) - logLik(fitB2))
Bdf <- attributes(logLik(fitB1))$Bdf - attributes(logLik(fitB2))$Bdf
#P value
1-pchisq(Bdeviance,Bdf)
## numeric(0)
ses(B)
## Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
## Nov 2016 1051.699 764.5195 1338.878 612.49595 1490.901
## Dec 2016 1051.699 658.0952 1445.302 449.73410 1653.663
## Jan 2017 1051.699 574.8596 1528.538 322.43625 1780.961
## Feb 2017 1051.699 504.1338 1599.264 214.27047 1889.127
## Mar 2017 1051.699 441.5519 1661.845 118.55971 1984.838
## Apr 2017 1051.699 384.8172 1718.580 31.79149 2071.606
## May 2017 1051.699 332.5445 1770.853 -48.15267 2151.550
## Jun 2017 1051.699 283.8221 1819.575 -122.66725 2226.065
## Jul 2017 1051.699 238.0118 1865.386 -192.72796 2296.125
## Aug 2017 1051.699 194.6467 1908.751 -259.04919 2362.447
holt(B)
## Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
## Nov 2016 1090.214 806.2442 1374.183 655.9199 1524.507
## Dec 2016 1123.110 738.2210 1507.999 534.4731 1711.747
## Jan 2017 1156.007 691.6196 1620.394 445.7879 1866.226
## Feb 2017 1188.903 656.7512 1721.056 375.0468 2002.760
## Mar 2017 1221.800 629.5743 1814.026 316.0689 2127.531
## Apr 2017 1254.697 607.9421 1901.451 265.5710 2243.822
## May 2017 1287.593 590.5522 1984.634 221.5609 2353.626
## Jun 2017 1320.490 576.5437 2064.436 182.7224 2458.257
## Jul 2017 1353.387 565.3128 2141.460 148.1317 2558.641
## Aug 2017 1386.283 556.4160 2216.150 117.1109 2655.455
Btrain = B[1:17]
Btest = B[18:22]
arma_fitB <- auto.arima(Btrain)
arma_forecastB <- forecast(arma_fitB, h = 5)
arma_fit_accuracyB <- accuracy(arma_forecastB, Btest)
arma_fitB; arma_forecastB; arma_fit_accuracyB
## Series: Btrain
## ARIMA(1,0,0) with non-zero mean
##
## Coefficients:
## ar1 intercept
## 0.7741 773.8272
## s.e. 0.1493 183.4112
##
## sigma^2 estimated as 45047: log likelihood=-114.6
## AIC=235.19 AICc=237.04 BIC=237.69
## Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
## 18 904.7760 632.7753 1176.777 488.7868 1320.765
## 19 875.1885 531.2223 1219.155 349.1376 1401.240
## 20 852.2863 471.6651 1232.908 270.1764 1434.396
## 21 834.5587 433.5774 1235.540 221.3107 1447.807
## 22 820.8366 408.1373 1233.536 189.6675 1452.006
## ME RMSE MAE MPE MAPE MASE
## Training set 28.63611 199.3679 170.9552 -4.034152 24.95735 0.9939253
## Test set 294.47076 319.1494 294.4708 24.659695 24.65970 1.7120393
## ACF1
## Training set 0.1876903
## Test set NA
plot(arma_forecastB, ylim=c(0,2000))
lines(B[1:21])
B2 <- window(B, start = 2015.0, end = 2016-.10)
Bfit1 <- meanf(B2,h=3)
Bfit2 <- rwf(B2,h=3)
Bfit3 <- snaive(B2,h=3)
plot(Bfit1, plot.conf=FALSE,
main="Forecasts for SS02CLR7284")
lines(Bfit2$mean,col=2)
lines(Bfit3$mean,col=3)
lines(B)
legend("topleft", lty=1, col=c(4,2,3),
legend=c("Mean method","Naive method","Seasonal naive method"))
B3 <- window(B, start = 2016-.9)
accuracy(Bfit1, B3)
## ME RMSE MAE MPE MAPE MASE
## Training set -3.101788e-14 343.9700 284.2479 -27.47691 50.78155 NaN
## Test set -3.374242e+02 351.7149 337.4242 -64.85603 64.85603 NaN
## ACF1 Theil's U
## Training set 0.67722275 NA
## Test set -0.08016487 3.58262
accuracy(Bfit2, B3)
## ME RMSE MAE MPE MAPE MASE
## Training set 55.7000 231.6102 184.7000 5.571573 20.91266 NaN
## Test set -343.3333 357.3877 343.3333 -65.940723 65.94072 NaN
## ACF1 Theil's U
## Training set -0.13113737 NA
## Test set -0.08016487 3.633793
accuracy(Bfit3, B3)
## ME RMSE MAE MPE MAPE MASE ACF1
## Training set NaN NaN NaN NaN NaN NaN NA
## Test set 157.6667 244.6664 221 24.1251 37.57167 NaN -0.03240473
## Theil's U
## Training set NA
## Test set 1.290728
cycle(B)
## Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
## 2015 1 2 3 4 5 6 7 8 9 10 11 12
## 2016 1 2 3 4 5 6 7 8 9 10
plot(aggregate(B, FUN= mean))
boxplot(B~cycle(B))
C <- ts(c(316,300,294,321,238,415,652,424,469,414,637,612,605,487,478,575,682,784,653,903,612,590),
start = c(2015, 1), frequency = 12)
plot(C)
seasonplot(C,ylab="Demand", xlab="Month",
main="Seasonal plot: SS06S6T100144 Demand",
year.labels=TRUE, year.labels.left=TRUE, col=1:20, pch=19)
D <- ts(c(219,179,321,389,299,488,449,509,499,561,466,373,262,337,408,437,420,704,492,726,768,519),
start = c(2015, 1), frequency = 12)
plot(D)
seasonplot(D,ylab="Demand", xlab="Month",
main="Seasonal plot: SS05CLR96130 Demand",
year.labels=TRUE, year.labels.left=TRUE, col=1:20, pch=19)
E <- ts(c(211,253,410,449,408,450,441,462,470,396,468,544,293,415,467,402,490,598,501,380,529,439), start = c(2015, 1), frequency = 12)
plot(E)
seasonplot(E,ylab="Demand for SS10CLR96130
", xlab="Month",
main="Seasonal plot: SS10CLR96130
Demand",
year.labels=TRUE, year.labels.left=TRUE, col=1:20, pch=19)
monthplot(E,ylab="Demand for SS10CLR96130",xlab="Month",xaxt="n",
main="Seasonal deviation plot: Demand for SS10CLR96130")
ets(E)
## ETS(A,N,N)
##
## Call:
## ets(y = E)
##
## Smoothing parameters:
## alpha = 0.3318
##
## Initial states:
## l = 318.1382
##
## sigma: 85.5996
##
## AIC AICc BIC
## 269.7889 271.1222 273.0620
fitE1 <- ets(E)
fitE2 <- ets(E,model= "ANN")
Edeviance <- 2*c(logLik(fitE1) - logLik(fitE2))
Edf <- attributes(logLik(fitE1))$df - attributes(logLik(fitE2))$df
#P value
1-pchisq(Edeviance,Edf)
## [1] 1
ses(E)
## Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
## Nov 2016 467.6267 357.9264 577.3269 299.8546 635.3988
## Dec 2016 467.6267 352.0666 583.1867 290.8928 644.3605
## Jan 2017 467.6267 346.4900 588.7634 282.3641 652.8893
## Feb 2017 467.6267 341.1590 594.0944 274.2111 661.0423
## Mar 2017 467.6267 336.0438 599.2095 266.3881 668.8653
## Apr 2017 467.6267 331.1202 604.1332 258.8580 676.3954
## May 2017 467.6267 326.3680 608.8853 251.5902 683.6631
## Jun 2017 467.6267 321.7707 613.4827 244.5592 690.6942
## Jul 2017 467.6267 317.3138 617.9395 237.7430 697.5103
## Aug 2017 467.6267 312.9854 622.2680 231.1232 704.1301
holt(E)
## Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
## Nov 2016 509.2207 404.5578 613.8836 349.1526 669.2888
## Dec 2016 518.1872 411.6010 624.7735 355.1776 681.1968
## Jan 2017 527.1538 418.6763 635.6312 361.2518 693.0557
## Feb 2017 536.1203 425.7822 646.4585 367.3727 704.8680
## Mar 2017 545.0869 432.9170 657.2568 373.5378 716.6359
## Apr 2017 554.0534 440.0793 668.0275 379.7451 728.3617
## May 2017 563.0199 447.2680 678.7719 385.9927 740.0472
## Jun 2017 571.9865 454.4818 689.4912 392.2786 751.6944
## Jul 2017 580.9530 461.7196 700.1865 398.6012 763.3049
## Aug 2017 589.9196 468.9803 710.8588 404.9589 774.8802
Dtrain = E[1:17]
Dtest = B[18:22]
arma_fitE <- auto.arima(Dtrain)
arma_forecastE <- forecast(arma_fitE, h = 5)
arma_fit_accuracyE <- accuracy(arma_forecastE, Dtest)
arma_fitE; arma_forecastE; arma_fit_accuracyE
## Series: Dtrain
## ARIMA(0,0,0) with non-zero mean
##
## Coefficients:
## intercept
## 413.4706
## s.e. 20.3243
##
## sigma^2 estimated as 7461: log likelihood=-99.41
## AIC=202.81 AICc=203.67 BIC=204.48
## Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
## 18 413.4706 302.7729 524.1683 244.173 582.7681
## 19 413.4706 302.7729 524.1683 244.173 582.7681
## 20 413.4706 302.7729 524.1683 244.173 582.7681
## 21 413.4706 302.7729 524.1683 244.173 582.7681
## 22 413.4706 302.7729 524.1683 244.173 582.7681
## ME RMSE MAE MPE MAPE
## Training set 8.694148e-14 83.79886 61.32872 -6.003141 18.69726
## Test set 7.385294e+02 750.59769 738.52941 63.616141 63.61614
## MASE ACF1
## Training set 0.8466432 0.2133822
## Test set 10.1954017 NA
plot(arma_forecastE, ylim = c(0,600))
lines(E[1:22])
E2 <- window(E, start = 2015.0, end = 2016-.11)
Efit1 <- meanf(E2,h=3)
Efit2 <- rwf(E2,h=3)
Efit3 <- snaive(E2,h=3)
plot(Efit1, plot.conf=FALSE,
main="Forecasts for SS10CLR96130")
lines(Efit2$mean,col=2)
lines(Efit3$mean,col=3)
lines(E)
legend("topleft", lty=1, col=c(4,2,3),
legend=c("Mean method","Naive method","Seasonal naive method"))
E3 <- window(E, start = 2016-.10)
accuracy(Efit1, E3)
## ME RMSE MAE MPE MAPE MASE
## Training set 1.033706e-14 83.89959 62.71074 -6.809876 20.55774 NaN
## Test set 1.569697e+01 103.67875 88.12121 -2.562439 22.15573 NaN
## ACF1 Theil's U
## Training set 0.4616378 NA
## Test set -0.4906199 0.3295924
boxplot(E~cycle(E))
F <- ts(c(248,307,364,390,384,429,622,498,485,423,291,320,325,465,440,416,475,509,642,677,437,414), start = c(2015,1), frequency = 12)
plot(F)
seasonplot(F, ylab = "Demand for SS12CLR102130", xlab="Month", main = "Seasonal Plot:SS12CLR102130 Demand", year.labels = TRUE, year.labels.left = TRUE, col = 1:20, pch= 19)
monthplot(F,ylab="Demand for SS12CLR102130",xlab="Month",xaxt="n",
main="Seasonal deviation plot: Demand for SS12CLR102130")
ets(F)
## ETS(M,N,N)
##
## Call:
## ets(y = F)
##
## Smoothing parameters:
## alpha = 0.9999
##
## Initial states:
## l = 239.0873
##
## sigma: 0.2017
##
## AIC AICc BIC
## 268.3714 269.7047 271.6445
fitF1 <- ets(F)
fitF2 <- ets(E,model= "MNN")
Fdeviance <- 2*c(logLik(fitF1) - logLik(fitF2))
Fdf <- attributes(logLik(fitF1))$df - attributes(logLik(fitF2))$df
#P value
1-pchisq(Fdeviance,Fdf)
## [1] 0
ses(F)
## Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
## Nov 2016 414.0023 295.88825 532.1164 233.36243 594.6422
## Dec 2016 414.0023 246.97226 581.0324 158.55188 669.4528
## Jan 2017 414.0023 209.43657 618.5681 101.14600 726.8587
## Feb 2017 414.0023 177.79213 650.2125 52.75001 775.2547
## Mar 2017 414.0023 149.91264 678.0920 10.11200 817.8927
## Apr 2017 414.0023 124.70755 703.2971 -28.43586 856.4405
## May 2017 414.0023 101.52901 726.4757 -63.88438 891.8891
## Jun 2017 414.0023 79.95490 748.0498 -96.87913 924.8838
## Jul 2017 414.0023 59.69202 768.3126 -127.86852 955.8732
## Aug 2017 414.0023 40.52690 787.4778 -157.17906 985.1837
holt(F)
## Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
## Nov 2016 421.4852 303.2307 539.7397 240.630616 602.3398
## Dec 2016 428.5318 262.3759 594.6878 174.418199 682.6455
## Jan 2017 435.5785 232.5163 638.6407 125.021615 746.1353
## Feb 2017 442.6251 208.3956 676.8546 84.401933 800.8482
## Mar 2017 449.6717 187.9554 711.3880 49.411096 849.9323
## Apr 2017 456.7183 170.1347 743.3019 18.426479 895.0102
## May 2017 463.7649 154.3014 773.2285 -9.518679 937.0486
## Jun 2017 470.8116 140.0429 801.5803 -35.055509 976.6786
## Jul 2017 477.8582 127.0720 828.6444 -58.623003 1014.3394
## Aug 2017 484.9048 115.1796 854.6300 -80.541122 1050.3507
train = F[1:17]
test = F[18:22]
arma_fitF <- auto.arima(train)
arma_forecastF <- forecast(arma_fitF, h = 5)
arma_fit_accuracyF <- accuracy(arma_forecastF, test)
arma_fitF; arma_forecastF; arma_fit_accuracyF
## Series: train
## ARIMA(1,0,0) with non-zero mean
##
## Coefficients:
## ar1 intercept
## 0.5843 398.6892
## s.e. 0.2118 40.4605
##
## sigma^2 estimated as 6271: log likelihood=-97.59
## AIC=201.18 AICc=203.02 BIC=203.68
## Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
## 18 443.2754 341.7922 544.7585 288.0703 598.4804
## 19 424.7396 307.2042 542.2749 244.9847 604.4944
## 20 413.9096 291.3750 536.4443 226.5091 601.3102
## 21 407.5820 283.3868 531.7772 217.6419 597.5222
## 22 403.8850 279.1280 528.6420 213.0856 594.6844
## ME RMSE MAE MPE MAPE MASE
## Training set 6.843314 74.38391 49.78856 -1.662938 12.73923 0.7974144
## Test set 117.121675 156.01672 117.12168 18.957986 18.95799 1.8758226
## ACF1
## Training set 0.01261003
## Test set NA
plot(arma_forecastF, ylim=c(0,800))
lines(F[1:22])
F2 <- window(F, start = 2015.0, end = 2016.11)
Ffit1 <- meanf(F2,h=3)
Ffit2 <- rwf(F2,h=3)
Ffit3 <- snaive(F2,h=3)
plot(Ffit1, plot.conf=FALSE,
main="Forecasts for SS12CLR102130")
lines(Ffit2$mean,col=2)
lines(Ffit3$mean,col=3)
lines(F)
legend("topleft", lty=1, col=c(4,2,3),
legend=c("Mean method","Naive method","Seasonal naive method"))
F3 <- window(F, start = 2016-.11)
accuracy(Ffit1, F3)
## ME RMSE MAE MPE MAPE MASE
## Training set 0.00000 95.93432 77.57143 -5.827745 20.60699 0.6601824
## Test set 47.16667 53.02437 47.16667 10.366726 10.36673 0.4014184
## ACF1 Theil's U
## Training set 0.4926580 NA
## Test set -0.4347469 1.275623
accuracy(Ffit2, F3)
## ME RMSE MAE MPE MAPE MASE
## Training set 16.69231 89.44057 68.53846 2.662357 16.379364 0.5833061
## Test set -21.33333 32.28002 28.00000 -5.118467 6.521976 0.2382979
## ACF1 Theil's U
## Training set -0.03774026 NA
## Test set -0.43474694 0.7497556
accuracy(Ffit3, F3)
## ME RMSE MAE MPE MAPE MASE
## Training set 117.50000 124.28395 117.50000 28.83540 28.83540 1.0000000
## Test set 64.33333 70.07853 64.33333 14.22687 14.22687 0.5475177
## ACF1 Theil's U
## Training set -0.5000000 NA
## Test set -0.6342926 1.491177
cycle(F)
## Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
## 2015 1 2 3 4 5 6 7 8 9 10 11 12
## 2016 1 2 3 4 5 6 7 8 9 10
boxplot(F~cycle(F))
SS03LOE7284
G <- ts(c(185,218,183,281,331,434,428,375,473,536,333,292,259,193,281,299,190,292,365,522,457,398), start = c(2015,1), frequency = 12)
plot(G)
seasonplot(G, ylab = "Demand for SS03LOE7284", xlab="Month", main = "Seasonal Plot:SS03LOE7284 Demand", year.labels = TRUE, year.labels.left = TRUE, col = 1:20, pch= 19)
monthplot(G,ylab="Demand for SS03LOE7284",xlab="Month",xaxt="n",
main="Seasonal deviation plot: Demand for SS03LOE7284")
ets(G)
## ETS(M,N,N)
##
## Call:
## ets(y = G)
##
## Smoothing parameters:
## alpha = 0.8357
##
## Initial states:
## l = 176.0304
##
## sigma: 0.2749
##
## AIC AICc BIC
## 268.5982 269.9315 271.8713
fitG1 <- ets(G)
fitG2 <- ets(G,model= "MNN")
Gdeviance <- 2*c(logLik(fitG1) - logLik(fitG2))
Gdf <- attributes(logLik(fitG1))$df - attributes(logLik(fitG2))$df
#P value
1-pchisq(Gdeviance,Gdf)
## [1] 1
ses(G)
## Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
## Nov 2016 398.0059 289.46295 506.5489 232.003762 564.0081
## Dec 2016 398.0059 244.51069 551.5012 163.255212 632.7567
## Jan 2017 398.0059 210.01657 585.9953 110.501010 685.5109
## Feb 2017 398.0059 180.93633 615.0755 66.026625 729.9852
## Mar 2017 398.0059 155.31596 640.6959 26.843649 769.1682
## Apr 2017 398.0059 132.15328 663.8586 -8.580615 804.5925
## May 2017 398.0059 110.85293 685.1589 -41.156680 837.1685
## Jun 2017 398.0059 91.02702 704.9848 -71.477806 867.4897
## Jul 2017 398.0059 72.40608 723.6058 -99.956075 895.9679
## Aug 2017 398.0059 54.79393 741.2179 -126.891525 922.9034
holt(G)
## Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
## Nov 2016 411.8178 303.4316 520.2039 246.055484 577.5801
## Dec 2016 424.5662 272.3902 576.7422 191.833131 657.2993
## Jan 2017 437.3146 251.3849 623.2443 152.959718 721.6695
## Feb 2017 450.0630 235.6231 664.5030 122.105381 778.0207
## Mar 2017 462.8115 223.2253 702.3976 96.396080 829.2269
## Apr 2017 475.5599 213.2226 737.8972 74.349557 876.7702
## May 2017 488.3083 205.0371 771.5795 55.082371 921.5343
## Jun 2017 501.0567 198.2918 803.8217 38.017653 964.0958
## Jul 2017 513.8052 192.7241 834.8862 22.754083 1004.8563
## Aug 2017 526.5536 188.1429 864.9643 8.999124 1044.1081
Gtrain = G[1:17]
Gtest = G[18:22]
arma_fitG <- auto.arima(Gtrain)
arma_forecastG <- forecast(arma_fitG, h = 5)
arma_fit_accuracyG <- accuracy(arma_forecastG, Gtest)
arma_fitG; arma_forecastG; arma_fit_accuracyG
## Series: Gtrain
## ARIMA(1,0,0) with non-zero mean
##
## Coefficients:
## ar1 intercept
## 0.7006 284.5187
## s.e. 0.1740 57.3136
##
## sigma^2 estimated as 6567: log likelihood=-98.11
## AIC=202.22 AICc=204.07 BIC=204.72
## Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
## 18 218.2958 114.4392 322.1524 59.46084 377.1307
## 19 238.1207 111.3099 364.9316 44.18030 432.0612
## 20 252.0108 115.3355 388.6860 42.98394 461.0376
## 21 261.7426 120.4768 403.0083 45.69520 477.7899
## 22 268.5610 125.0955 412.0264 49.14951 487.9725
## ME RMSE MAE MPE MAPE MASE
## Training set 5.779648 76.12357 64.51311 -4.196434 22.1108 0.9409387
## Test set 159.053838 172.80323 159.05384 37.394595 37.3946 2.3198372
## ACF1
## Training set 0.07272019
## Test set NA
plot(arma_forecastG, ylim=c(0,800))
lines(G[1:22])
G2 <- window(G, start = 2015.0, end = 2016.11)
Gfit1 <- meanf(G2,h=3)
Gfit2 <- rwf(G2,h=3)
Gfit3 <- snaive(G2,h=3)
plot(Gfit1, plot.conf=FALSE,
main="Forecasts for SS03LOE7284")
lines(Gfit2$mean,col=2)
lines(Gfit3$mean,col=3)
lines(G)
legend("topleft", lty=1, col=c(4,2,3),
legend=c("Mean method","Naive method","Seasonal naive method"))
G3 <- window(G, start = 2016-.11)
accuracy(Gfit1, G3)
## ME RMSE MAE MPE MAPE MASE
## Training set -1.624494e-14 109.37254 92.78571 -12.54988 32.68849 1.874459
## Test set -6.626190e+01 81.65086 66.26190 -30.96216 30.96216 1.338624
## ACF1 Theil's U
## Training set 0.6247581 NA
## Test set -0.2624394 1.222961
accuracy(Gfit2, G3)
## ME RMSE MAE MPE MAPE MASE
## Training set 0.6153846 83.10327 67.84615 -2.713622 21.37886 1.370629
## Test set 63.6666667 79.55920 65.66667 21.729761 22.78239 1.326599
## ACF1 Theil's U
## Training set 0.05774866 NA
## Test set -0.26243939 1.019517
accuracy(Gfit3, G3)
## ME RMSE MAE MPE MAPE MASE
## Training set 24.500000 55.23133 49.50000 7.80903 20.76240 1.00000
## Test set -8.333333 99.68116 85.66667 -11.10500 38.36868 1.73064
## ACF1 Theil's U
## Training set -0.50000000 NA
## Test set -0.02342665 1.285759
cycle(G)
## Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
## 2015 1 2 3 4 5 6 7 8 9 10 11 12
## 2016 1 2 3 4 5 6 7 8 9 10
boxplot(G~cycle(G))
SS06S6A100144 269,151,152,149,134,212,246,165,232,382,358,336,194,232,272,288,289,239,248,284,298,398
SS04CLR96130 118,101,153,181,233,273,318,298,298,356,298,197,145,143,217,208,243,311,349,306,251,236
SS06LOE96130 105,199,176,180,255,264,244,179,271,245,162,339,225,125,309,130,192,230,236,323,168,192
SS06MCL96130 155,142,180,181,196,216,235,239,205,210,171,201,221,169,235,182,209,239,249,385,274,217
SS02LOE7284 64,45,97,195,192,257,235,250,275,256,208,134,102,82,173,146,232,263,215,262,261,248
SS10SHG96130 119,125,153,184,175,204,213,150,154,134,148,58,19,29,29,27,42,155,143,184,210,180
SS03S6T7284 48,52,1,78,70,110,125,176,155,130,167,95,19,126,137,150,158,150,210,233,148
SS03S6A7284 51,28,55,76,96,135,75,92,118,247,156,94,96,71,141,86,124,96,107,104,113,170
SS06S7T100144 79,19,99,78,96,30,50,109,41,46,97,255,175,140,134,193,85,178,50,144,68,111
SS06STP96130 85,41,75,72,59,135,250,84,130,144,139,94,157,52,70,52,56,73,89,123,139,143
SS06GRY96130 56,33,187,76,67,73,68,87,113,234,102,108,42,49,99,56,57,42,4,0,112,190
SS05LOE96130 19,38,56,53,62,88,56,96,66,29,152,22,85,98,112,0,78,132,131,139,114,78
SS03AHT7284 211,253,410,449,408,450,441,462,470,396,468,544,293,415,467,402,490,598,501,380,529,439
SS06BRN96130 61,89,48,72,60,52,88,99,114,65,61,95,71,33,90,41,54,61,83,92,99,120
SS05S6T96130 28,37,42,36,40,58,84,77,56,78,66,72,81,77,97,135,82,95,75,85,66,141
SS04LOE96130 30,12,41,42,71,69,79,76,89,110,66,68,31,40,45,57,73,76,92,125,72,68
SS10STP96130 28,29,32,49,63,84,55,70,70,92,62,49,42,69,79,71,85,72,93,52,43
SS12STP96130 12,32,27,43,56,60,51,31,40,52,39,29,47,42,62,54,107,81,96,112,110,60
SS06STC96130 30,5,93,245,34,56,56,45,40,2,0,0,28,19,92,54,55,98,63,16,48,63
SS06LCL4080 53,30,29,44,68,63,67,56,73,54,28,48,39,64,36,22,55,91,44,44,10,24
SS06GRN96130 39,16,16,42,80,38,24,24,31,24,40,166,50,30,47,74,24,11,25,27,46,63
SS05S6A96130 5,9,23,8,49,54,58,47,49,103,26,47,33,35,32,35,45,44,67,74,44,59
SS12SHG96130 225,26,48,47,33,56,48,58,81,48,56,30,15,24,30,16,16,39,41,58,53,46
SS03BRN7284 0,70,226,23,20,37,65,42,36,46,62,59,13,35,59,32,0,0,0,0,0
SS05BRN96130 17,19,28,21,31,25,56,32,49,36,34,23,25,34,39,39,74,65,40,47,35
SS06FRS96130 34,24,35,16,17,58,28,38,20,56,17,22,16,18,22,23,18,78,56,117,36,43
SS06LCL4884 8,18,28,34,23,20,44,36,64,44,28,28,38,40,36,29,43,47,27,45,24,15
SS05BRN96130 17,19,28,21,31,25,57,56,32,49,36,34,23,25,34,39,39,74,65,40,47,35
SS06S7A100144 12,14,20,6,22,16,20,17,16,29,12,28,19,41,24,37,33,20,6,59,23,40