FSA {rFSA} | R Documentation |
FSA: Feasible Solution Algorithm
Description
A function using a Feasible Solution Algorithm to find a set of feasible solutions for a statistical model of a specific form that could include mth-order interactions (Note that these solutions are optimal in the sense that no one swap to any of the variables will increase the criterion function.)
Usage
FSA(
formula,
data,
fitfunc = lm,
fixvar = NULL,
quad = FALSE,
m = 2,
numrs = 1,
cores = 1,
interactions = T,
criterion = AIC,
minmax = "min",
checkfeas = NULL,
var4int = NULL,
min.nonmissing = 1,
return.models = FALSE,
fix.formula = NULL,
...
)
lmFSA(...)
glmFSA(...)
Arguments
formula |
an object of class "formula" (or one that can be coerced to that class): a symbolic description of the model to be fitted. |
data |
a data frame, list or environment (or object coercible by as.data.frame to a data frame) containing the variables in the model. |
fitfunc |
the method that should be used to fit the model. For Example: lm, glm, or other methods that rely on formula, data, and other inputs. |
fixvar |
variable(s) to fix in the model. Usually a covariate that should always be included (Example: Age, Sex). Will still consider it with interactions. Default is NULL. |
quad |
Include quadratic terms or not. Logical. |
m |
order of terms to include. If interactions is set to TRUE then m is the order of interactions to be considered. For Subset selection (interaction=F), m is the size of the subset to examine. Defaults to 2. |
numrs |
number of random starts to perform. |
cores |
number of cores to use while running. Note: Windows can only use 1 core. See mclapply for details. If function detects a Windows user it will automatically set cores=1. |
interactions |
whether to include interactions in model. Defaults to TRUE. |
criterion |
which criterion function to either maximize or minimize. For linear models one can use: r.squared, adj.r.squared, cv5.lmFSA (5 Fold Cross Validation error), cv10.lmFSA (10 Fold Cross Validation error), apress (Allen's Press Statistic), int.p.val (Interaction P-value), AIC, BIC. |
minmax |
whether to minimize or maximize the criterion function |
checkfeas |
vector of variables that could be a feasible solution. These variables will be used as the last random start. |
var4int |
specification of which variables to check for marginal feasiblilty. Default is NULL |
min.nonmissing |
the combination of predictors will be ignored unless this many of observations are not missing |
return.models |
bool value to specify whether return all the fitted models which have been checked |
fix.formula |
... |
... |
other arguments passed to fitfunc. |
Value
matrix of results
Functions
-
FSA
: find best set of variables for statistical models -
lmFSA
: alias forFSA(fitfunc=lm,...)
-
glmFSA
: alias forFSA(fitfunc=glm,...)
Examples
N <- 10 #number of obs
P <- 100 #number of variables
data <- data.frame(matrix(rnorm(N*(P+1)), nrow = N, ncol = P+1))
sln <- FSA(formula = "X101~1", data = data, cores = 1, m = 2,
interactions = FALSE, criterion = AIC, minmax = "min",
numrs = 10)
sln