Date and Date-Time Variable
It's a requirement to have a date or date-time variable as a predictor.
The fit() interface accepts date and date-time features and handles them internally.
Seasonal Period Specification
The period can be non-seasonal (seasonal_period = 1 or "none") or
yearly seasonal (e.g. For monthly time stamps, seasonal_period = 12, seasonal_period = "12 months", or seasonal_period = "yearly").
There are 3 ways to specify:
seasonal_period = "auto": A seasonal period is selected based on the periodicity of the data (e.g. 12 if monthly)
seasonal_period = 12: A numeric frequency. For example, 12 is common for monthly data
seasonal_period = "1 year": A time-based phrase. For example, "1 year" would convert to 12 for monthly data.
Univariate (No xregs, Exogenous Regressors):
For univariate analysis, you must include a date or date-time feature. Simply use:
Formula Interface (recommended): fit(y ~ date) will ignore xreg's.
XY Interface: fit_xy(x = data[,"date"], y = data$y) will ignore xreg's.
Multivariate (xregs, Exogenous Regressors)
The tbats engine cannot accept Xregs.
The stlm_ets engine cannot accept Xregs.
The stlm_arima engine can accept Xregs
The xreg parameter is populated using the fit() or fit_xy() function:
Only factor, ordered factor, and numeric data will be used as xregs.
Date and Date-time variables are not used as xregs
character data should be converted to factor.
Xreg Example: Suppose you have 3 features:
y (target)
date (time stamp),
month.lbl (labeled month as a ordered factor).
The month.lbl is an exogenous regressor that can be passed to the seasonal_reg() using
fit():
fit(y ~ date + month.lbl) will pass month.lbl on as an exogenous regressor.
fit_xy(data[,c("date", "month.lbl")], y = data$y) will pass x, where x is a data frame containing month.lbl
and the date feature. Only month.lbl will be used as an exogenous regressor.
Note that date or date-time class values are excluded from xreg.