## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(collapse = TRUE, comment = "#>", fig.width = 7, fig.height = 4)

## -----------------------------------------------------------------------------
library(foresightr)

## -----------------------------------------------------------------------------
path <- system.file("extdata", "piaui_revenue.csv", package = "foresightr")
data <- read.csv(path, comment.char = "#")
# BRL million, monthly from March 2017
icms <- ts(data$icms / 1e6, start = c(2017, 3), frequency = 12)

## -----------------------------------------------------------------------------
bt <- backtest(icms)
bt

## -----------------------------------------------------------------------------
head(bt$forecast)
autoplot(bt)

## -----------------------------------------------------------------------------
head(bt$candidates[[bt$best]]$accuracy)

## -----------------------------------------------------------------------------
total_forecast(bt, 6)

## -----------------------------------------------------------------------------
fit <- fit_model(model_auto_arima(), log(icms))
fit$details$order
fit$details$seasonal_order
exp(predict(fit, 6))

## -----------------------------------------------------------------------------
mine <- list(
  with_name(model_seasonal_naive(), "same_month"),
  model_log(model_airline()),
  model_ensemble(candidates_default(), weighting = "stacked")
)
backtest(icms, mine, origins = 24, horizon = 6)$ranking[, c("name", "score")]

## -----------------------------------------------------------------------------
d <- decompose_stl(log(icms), seasonal_window = 13)
d
autoplot(d)

