set.seed(34)
aus_retail_series <- aus_retail %>%
filter(`Series ID` == sample(aus_retail$`Series ID`,1))
#retail <- aus_retail
lambda <- aus_retail_series %>%
features(Turnover, features = guerrero) %>%
pull(lambda_guerrero)
transform <- box_cox(aus_retail_series$Turnover,lambda)
ggarrange(autoplot(aus_retail_series,Turnover)+labs(title="Time Series of aus_retail Turnover")+theme(plot.title = element_text(hjust = 0.5)),autoplot(aus_retail_series,transform)+labs(title="Box-Cox Transformed Turnover Series")+theme(plot.title = element_text(hjust = 0.5)),ncol=1)
#lambda
#aus_retail_series <- data.frame(aus_retail_series$Month,aus_retail_series$Turnover)
#aus_retail_series <- ts(aus_retail_series$Turnover, start = c(year(aus_retail_series$Month),month(aus_retail_series$Month)),frequency=12)
aus_retail_diff <- aus_retail_series %>%
mutate(Turnover_d1 = c(0,diff(transform)))
#autoplot(aus_retail_diff,Turnover_d1)
aus_retail_diff <- aus_retail_diff %>%
mutate(Turnover_d2 = c(0,diff(Turnover_d1)))
#autoplot(aus_retail_diff,Turnover_d2)
ggarrange(autoplot(aus_retail_series,transform)+labs(title="Box-Cox Transformed Turnover Series")+theme(plot.title = element_text(hjust = 0.5)),autoplot(aus_retail_diff,Turnover_d1)+labs(title="First Order Differencing")+theme(plot.title = element_text(hjust = 0.5)),autoplot(aus_retail_diff,Turnover_d2)+labs(title="Second Order Differencing")+theme(plot.title = element_text(hjust = 0.5)),ncol = 1)
aus_retail_diff %>%
gg_tsdisplay(Turnover_d1,plot_type = "partial")
## Time Series Display of Second Order Differencing
aus_retail_diff %>%
gg_tsdisplay(Turnover_d2,plot_type = "partial")
## Model Creation and Evaluation
#aus_retail_series <- data.frame(aus_retail_series$Month,aus_retail_series$Turnover)
#aus_retail_series <- ts(aus_retail_series$Turnover, start = c(year(aus_retail_series$Month),month(aus_retail_series$Month)),frequency=12)
aus_retail_series$Country <- "Australia"
aus_retail_series <- as_tsibble(aus_retail_series[,-c(1,2,3)])
fit <- aus_retail_series %>%
model(arima012 = ARIMA(Turnover ~ pdq(0,1,2)),
arima110 = ARIMA(Turnover ~ pdq(1,1,0)),
stepwise = ARIMA(Turnover),
search = ARIMA(Turnover, stepwise=FALSE))
fit_summary <- data.frame(rbind(c("arima012",0,1,2),c("arima110",1,1,0),c("stepwise",0,1,2),c("search",0,1,2)))
colnames(fit_summary) <- c("Model","p","d","q")
kbl(fit_summary, longtable = T, booktabs = T, caption = "Parameters of Each Model") %>%
kable_styling(latex_options = c("repeat_header"))
glance(fit) %>%
arrange(AICc) %>%
select(.model:BIC)