## Libraries
library(fastDummies)
library(lubridate)
##
## Attaching package: 'lubridate'
## The following objects are masked from 'package:base':
##
## date, intersect, setdiff, union
library(caret)
## Loading required package: ggplot2
## Loading required package: lattice
library(generics)
##
## Attaching package: 'generics'
## The following object is masked from 'package:caret':
##
## train
## The following object is masked from 'package:lubridate':
##
## as.difftime
## The following objects are masked from 'package:base':
##
## as.difftime, as.factor, as.ordered, intersect, is.element, setdiff,
## setequal, union
library(tsibble)
##
## Attaching package: 'tsibble'
## The following object is masked from 'package:lubridate':
##
## interval
## The following objects are masked from 'package:base':
##
## intersect, setdiff, union
library(dplyr)
##
## Attaching package: 'dplyr'
## The following object is masked from 'package:generics':
##
## explain
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(fpp3)
## ── Attaching packages ──────────────────────────────────────────── fpp3 0.4.0 ──
## ✓ tibble 3.1.6 ✓ feasts 0.2.2
## ✓ tidyr 1.2.0 ✓ fable 0.3.1
## ✓ tsibbledata 0.4.0
## ── Conflicts ───────────────────────────────────────────────── fpp3_conflicts ──
## x lubridate::date() masks base::date()
## x dplyr::filter() masks stats::filter()
## x tsibble::intersect() masks generics::intersect(), base::intersect()
## x tsibble::interval() masks lubridate::interval()
## x dplyr::lag() masks stats::lag()
## x fabletools::MAE() masks caret::MAE()
## x fabletools::RMSE() masks caret::RMSE()
## x tsibble::setdiff() masks generics::setdiff(), base::setdiff()
## x tsibble::union() masks generics::union(), base::union()
library(modeest)
library(forecast)
## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
## Registered S3 method overwritten by 'forecast':
## method from
## predict.default statip
##
## Attaching package: 'forecast'
## The following object is masked from 'package:modeest':
##
## naive
## The following objects are masked from 'package:generics':
##
## accuracy, forecast
library(latex2exp)
library(seasonal)
##
## Attaching package: 'seasonal'
## The following object is masked from 'package:tibble':
##
## view
## Data Set
data <- read.csv("//Users//kevinclifford//Downloads//Alcohol_Sales.csv", header=TRUE)
data$Sales <- data$S4248SM144NCEN
data$S4248SM144NCEN <- NULL
ts <- ts(data$Sales, frequency = 12, start=c(1992))
plot(ts)

## ETS Models
fit1 <- ets(ts)
fit1
## ETS(M,Ad,M)
##
## Call:
## ets(y = ts)
##
## Smoothing parameters:
## alpha = 0.0805
## beta = 0.0232
## gamma = 1e-04
## phi = 0.9592
##
## Initial states:
## l = 4199.083
## b = 3.4466
## s = 1.1642 1.0362 1.0338 0.9829 1.0534 1.0081
## 1.106 1.0665 0.9754 0.9758 0.8275 0.7702
##
## sigma: 0.0455
##
## AIC AICc BIC
## 5672.314 5674.549 5740.422
plot(fit1)

accuracy(fit1)
## ME RMSE MAE MPE MAPE MASE ACF1
## Training set 53.45892 364.3906 285.5164 0.5004852 3.657119 0.6753521 -0.2918586
fit2 <- ets(ts, model = "MMN")
fit2
## ETS(M,M,N)
##
## Call:
## ets(y = ts, model = "MMN")
##
## Smoothing parameters:
## alpha = 0.0483
## beta = 1e-04
##
## Initial states:
## l = 3867.483
## b = 1.0038
##
## sigma: 0.1167
##
## AIC AICc BIC
## 6279.935 6280.123 6298.854
plot(fit2)

accuracy(fit2)
## ME RMSE MAE MPE MAPE MASE ACF1
## Training set -18.07675 984.4089 718.7374 -1.472371 9.635964 1.70008 0.04005326
fit3 <- ets(ts, model= "AAN")
fit3
## ETS(A,A,N)
##
## Call:
## ets(y = ts, model = "AAN")
##
## Smoothing parameters:
## alpha = 0.0021
## beta = 0.0021
##
## Initial states:
## l = 3947.0438
## b = 5.8871
##
## sigma: 984.0213
##
## AIC AICc BIC
## 6365.289 6365.477 6384.208
plot(fit3)

accuracy(fit3)
## ME RMSE MAE MPE MAPE MASE ACF1
## Training set 74.85369 977.9471 737.7172 -0.3414784 9.806208 1.744974 0.06439954
fe <- forecast(fit1, 12)
acc <- accuracy(fe, data$Sales[1:12])
acc
## ME RMSE MAE MPE MAPE MASE
## Training set 53.45892 364.3906 285.5164 0.5004852 3.657119 0.312568
## Test set -9484.70207 9600.8980 9484.7021 -228.2510458 228.251046 10.383342
## ACF1
## Training set -0.2918586
## Test set NA
plot(fe, main="MMN")
