# BILOT AI-jack ARIMA-module
# (c) Bilot Oy 2020
# Any user is free to modify this software for their
# own needs, bearing in mind that it comes with no warranty.
#' Function for training ARIMA time series model
#'
#' @param df data object
#' @param set config object
#' @param model_id autogenerated model_id
#'
#' @return #' a list containing model details ("arima_model"),
#' its coefficients ("arima_coeff"), evaluation on known data ("arima_eval"),
#' as well as a future forecast ("arima_forecast")
#'
#' @export
ts_arima <- function(df, set, model_id){
library(timetk)
library(tidyquant)
library(sweep)
library(forecast)
X <- df
X[,1] <- as.Date(dmy(X[,1]))
X <- tibble::as_tibble(X)
X <- tk_ts(X, start = set$ts$arima$start, freq = set$ts$arima$freq)
if (has_timetk_idx(X)){
fit_arima <- auto.arima(X)
ts_coef <- sw_tidy(fit_arima)
ts_metr <- sw_glance(fit_arima)
ts_eval <- sw_augment(fit_arima, timetk_idx = TRUE)
ts_fcast <- forecast(fit_arima, h = set$ts$arima$h)
}else{
stop("Dataset doesn't have a time series index.")
}
return(
list(
arima_model = fit_arima,
arima_coeff = ts_coef,
arima_eval = ts_eval,
arima_forecast = ts_fcast,
arima_metr = ts_metr,
)
)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.