| create_model | R Documentation |
This function trains a model from the historical values of a time series using an autoregressive approach: the targets are the historical values and the features of the targets their lagged values.
create_model(
timeS,
lags = NULL,
method = c("knn", "lm", "rt", "mt", "bagging", "rf", "xgboost"),
trend = c("additive", "multiplicative", "differences", "none"),
nfd = -1,
transform_features = TRUE,
...
)
timeS |
A time series of class |
lags |
An integer vector, in increasing order, expressing the lags used
as autoregressive variables. If the default value ( |
method |
A string indicating the method used for training and forecasting. Allowed values are:
See details for a brief explanation of the models. It is also possible to use your own regression model, in that case a function explaining how to build your model must be provided, see the vignette for further details. |
trend |
A character indicating the type of preprocessing applied to the time series in order to deal with trending series, see the vignette for details. |
nfd |
In the case that the parameter |
transform_features |
A logical value indicating whether the training features are also transformed if the additive or multiplicative transformation has been used as preprocessing to deal with trending series. |
... |
Parameters for the underlying function that builds the model. If no parameters are provided, the model is normally fitted with its default parameters. See details for the functions used to train the models. |
The functions used to build and train the model are:
KNN: In this case no model is built and the function FNN::knn.reg() is
used to predict the future values of the time series. By default, k is equal
to 3.
Linear models: Function stats::lm() to build the model and the method
stats::predict.lm() associated with the trained model to forecast the future
values of the time series.
Regression trees: Function rpart::rpart() to build the model and the
method rpart::predict.rpart() associated with the trained model to forecast
the future values of the time series.
Model trees: Function Cubist::cubist() to build the model and the
method Cubist::predict.cubist() associated with the trained model to
forecast the future values of the time series. By default, the parameter
committees is set to 5.
Bagging: Function ipred::bagging() to build the model and the
method ipred::predict.regbagg() associated with the trained model to
forecast the future values of the time series.
Random forest: Function ranger::ranger() to build the model and the
method ranger::predict.ranger() associated with the trained model to
forecast the future values of the time series.
Extreme gradient boosting: Function xgboost::xgboost() to build the model and the
method xgboost::predict.xgboost() associated with the trained model to
forecast the future values of the time series.
An S3 object of class utsf, basically a list with, at least, the
following components:
ts |
The time series being forecast. |
features |
A data frame with the features of the training set. The column names of the data frame indicate the autoregressive lags. |
targets |
A vector with the targets of the training set. |
lags |
An integer vector with the autoregressive lags. |
model |
The regression model used recursively to make the forecast. |
## Build model using k-nearest neighbors
create_model(AirPassengers, method = "knn")
## Using k-nearest neighbors changing the default k value
create_model(AirPassengers, method = "knn", k = 5)
## Using your own regression model
# Function to build the regression model
my_knn_model <- function(X, y, param) {
structure(list(X = X, y = y), class = "my_knn")
}
# Function to predict a new example
predict.my_knn <- function(object, new_value) {
FNN::knn.reg(train = object$X, test = new_value, y = object$y)$pred
}
create_model(AirPassengers, method = my_knn_model)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.