View source: R/greedy_smimodel.R
| greedy.fit | R Documentation |
Function to perform a greedy search over a given grid of penalty parameter
combinations (lambda0, lambda2), and fits a single SMI model with the best
(lowest validation set MSE) penalty parameter combination. If the optimal
combination lies on the edge of the grid, the penalty parameters are adjusted
by ±10%, and a second round of grid search is performed.This is a helper
function designed to be called from greedy_smimodel.
greedy.fit(
data,
val.data,
yvar,
neighbour = 0,
family = gaussian(),
index.vars,
initialise = c("ppr", "additive", "linear", "multiple", "userInput"),
num_ind = 5,
num_models = 5,
seed = 123,
index.ind = NULL,
index.coefs = NULL,
s.vars = NULL,
linear.vars = NULL,
nlambda = 100,
lambda.min.ratio = 1e-04,
refit = TRUE,
M = 10,
max.iter = 50,
tol = 0.001,
tolCoefs = 0.001,
TimeLimit = Inf,
MIPGap = 1e-04,
NonConvex = -1,
verbose = list(solver = FALSE, progress = FALSE),
parallel = FALSE,
workers = NULL,
exclude.trunc = NULL,
recursive = FALSE,
recursive_colRange = NULL
)
data |
Training data set on which models will be trained. Must be a data
set of class |
val.data |
Validation data set. (The data set on which the penalty
parameter selection will be performed.) Must be a data set of class
|
yvar |
Name of the response variable as a character string. |
neighbour |
|
family |
A description of the error distribution and link function to be
used in the model (see |
index.vars |
A |
initialise |
The model structure with which the estimation process
should be initialised. The default is |
num_ind |
If |
num_models |
If |
seed |
If |
index.ind |
If |
index.coefs |
If |
s.vars |
A |
linear.vars |
A |
nlambda |
The number of values for lambda0 (penalty parameter for L0 penalty) - default is 100. |
lambda.min.ratio |
Smallest value for lambda0, as a fraction of lambda0.max (data derived). |
refit |
Whether to refit the model combining training and validation
sets after parameter tuning. If |
M |
Big-M value used in MIP. |
max.iter |
Maximum number of MIP iterations performed to update index coefficients for a given model. |
tol |
Tolerance for the objective function value (loss) of MIP. |
tolCoefs |
Tolerance for coefficients. |
TimeLimit |
A limit for the total time (in seconds) expended in a single MIP iteration. |
MIPGap |
Relative MIP optimality gap. |
NonConvex |
The strategy for handling non-convex quadratic objectives or non-convex quadratic constraints in Gurobi solver. |
verbose |
A named list controlling verbosity options. Defaults to
|
parallel |
The option to use parallel processing in fitting SMI models for different penalty parameter combinations. |
workers |
If |
exclude.trunc |
The names of the predictor variables that should not be
truncated for stable predictions as a character string. (Since the
nonlinear functions are estimated using splines, extrapolation is not
desirable. Hence, if any predictor variable in |
recursive |
Whether to obtain recursive forecasts or not (default -
|
recursive_colRange |
If |
A list that contains six elements:
initial |
A list of
information of the model initialisation. (For descriptions of the list
elements see |
best |
A list of
information of the final optimised model. (For descriptions of the list
elements see |
best_lambdas |
Selected penalty parameter combination. |
lambda0_seq |
Sequence of values for lambda0 used to construct the initial grid. |
lambda2_seq |
Sequence of values for lambda2 used to construct the initial grid. |
searched |
A |
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.