Description Usage Arguments Value Examples
View source: R/forecast_univariate.R
A function to estimate univariate forecasts out-of-sample. Methods available include all forecast
methods from the forecast
package. See package website for most up-to-date list of available models.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | forecast_univariate(
Data,
forecast.dates,
methods,
horizon,
recursive = TRUE,
rolling.window = NA,
freq,
outlier.clean = FALSE,
outlier.variables = NULL,
outlier.bounds = c(0.05, 0.95),
outlier.trim = FALSE,
outlier.cross_section = FALSE,
impute.missing = FALSE,
impute.method = "kalman",
impute.variables = NULL,
impute.verbose = FALSE,
parallel.dates = NULL,
return.models = FALSE,
return.data = FALSE
)
|
Data |
data.frame: data frame of variable to forecast and a date column; may alternatively be a |
forecast.dates |
date: dates forecasts are created |
methods |
string: models to estimate forecasts |
horizon |
int: number of periods to forecast |
recursive |
boolean: use sequential one-step-ahead forecast if TRUE, use direct projections if FALSE |
rolling.window |
int: size of rolling window, NA if expanding window is used |
freq |
string: time series frequency; day, week, month, quarter, year |
outlier.clean |
boolean: if TRUE then clean outliers |
outlier.variables |
string: vector of variables to purge of outliers, default is all but 'date' column |
outlier.bounds |
double: vector of winsorizing minimum and maximum bounds, c(min percentile, max percentile) |
outlier.trim |
boolean: if TRUE then replace outliers with NA instead of winsorizing bound |
outlier.cross_section |
boolean: if TRUE then remove outliers based on cross-section (row-wise) instead of historical data (column-wise) |
impute.missing |
boolean: if TRUE then impute missing values |
impute.method |
string: select which method to use from the imputeTS package; 'interpolation', 'kalman', 'locf', 'ma', 'mean', 'random', 'remove','replace', 'seadec', 'seasplit' |
impute.variables |
string: vector of variables to impute missing values, default is all numeric columns |
impute.verbose |
boolean: show start-up status of impute.missing.routine |
parallel.dates |
int: the number of cores available for parallel estimation |
return.models |
boolean: if TRUE then return list of models estimated each forecast.date |
return.data |
boolean: if True then return list of information.set for each forecast.date |
data.frame with a row for each forecast by model and forecasted date
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | # simple time series
A = c(1:100) + rnorm(100)
date = seq.Date(from = as.Date('2000-01-01'), by = 'month', length.out = 100)
Data = data.frame(date = date, A)
# estiamte univariate forecasts
forecast.uni =
forecast_univariate(
Data = Data,
forecast.dates = tail(Data$date,5),
method = c('naive','auto.arima', 'ets'),
horizon = 1,
recursive = FALSE,
# information set
rolling.window = NA,
freq = 'month',
# data prep
outlier.clean = TRUE,
impute.missing = TRUE)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.