- Adding citation for variable importance paper.
- Added function to calculate variable importance for L0-penalized
regression via the
VariableImportance()
function along with a way to generate p-values based on variable importance viaVariableImporance.boot()
- Added new heuristic methods for performing variable selection
- fast backward elimination
- double backward elimination
- fast double backward elimination
- Adding ability to use family objects with
BranchGLM()
andVariableSelection()
- Adding multiple new utility functions for BranchGLM objects
- Fixing behavior of
BranchGLM()
andVariableSelection()
when a data argument is not supplied - Changing the estimate of dispersion parameter that is used to
calculate standard errors to be consistent with
lm()
andglm()
- Adding plot method for BranchGLM objects
- Fixing another very small bug in branch and bound algorithms
- Fixing bug in log-likelihood calculation for gaussian models when the number of observations is odd
- Fixing a small bug with parallel computation for forward and switch branch and bound algorithms.
- Modifying stepwise variable selection algorithms to return the whole
solution path which can now be accessed with
predict()
orcoef()
and can be plotted withplot()
- Updating all documentation and adding more tests
- Fixing a couple of bugs
- Updating predict functions to include na.action and to better handle offset variables.
- The
VariableSelection()
function now returns the coefficients as part of the selection process, sofit()
doesn’t need to be used for every call tocoef()
orpredict()
. - Adding new cols arguments to
plot.summary.BranchGLMVS()
andplot.BranchGLMVS()
to allow for control over the colors
- Adding new cex arguments to
plot.summary.BranchGLMVS()
andplot.BranchGLMVS()
to allow for more control over text size - Fixing bug in the “variables” plot from
plot.summary.BranchGLMVS()
that resulted in one of the variables being removed - Fixing bug in root-finding algorithm for finding confidence intervals
with
confint.BranchGLM()
- Adding multiple new arguments to
plot.summary.BranchGLMVS()
andplot.BranchGLMVS()
- Changing estimate of dispersion for gaussian GLMs to be the MLE instead of the unbiased estimator
- Adding keepintercept argument to
VariableSelection()
to specify whether the intercept should be kept or not - Removing standard errors and p-values from output of
fit()
since these are biased due to the variable selection process
- Fixing bug in
VariableSelection()
when using formulas of the formy ~ . - variable
- Changing default type for
VariableSelection()
to be “branch and bound” - Adding vcov and confint methods for
BranchGLM
objects - Adding plot method for objects resulting from
confint.BranchGLM()
- Adding coef and predict methods for
BranchGLMVS
objects - Fixing bug that caused the switch branch and bound type in
VariableSelection()
to be slower
- Fixing bug in
VariableSelection()
when using the switch branch and bound method where duplicate models are returned - Fixing bug in
VariableSelection()
when using the switch branch and bound method or branch and bound method where factor variables were handled incorrectly - No longer allowing models that failed to converge to be one of the top
models in the
VariableSelection()
function
- Added the following features to the
VariableSelection()
function- Finding the top k models according to the metric via the bestmodels argument
- Finding all models with a metric value within k of the best metric value via the cutoff argument
- Added HQIC as a possible metric, HQIC is the Hannan-Quinn information criterion
- Added summary method for
BranchGLMVS
objects along with the following functionsplot.summary.BranchGLMVS()
for plotting results from variable selectionfit.summary.BranchGLMVS()
which can be used to get aBranchGLM
object for one of the best models found
- Improving efficiency for the “branch and bound” and “switch branch and
bound” methods in the
VariableSelection()
function. - Fixed bug related to initial values in the
VariableSelection()
function.
- The
VariableSelection()
function should now properly handle interaction terms.
- Updated GLM fitting to use backtracking line search with strong Wolfe conditions instead of Armijo-Goldstein condition to find step size.
- Adding new variable selection types for
VariableSelection()
which are called “backward branch and bound” and “switch branch and bound”. These methods are similar to the regular branch and bound method, but sometimes they can be much faster. - Added predict method for
BranchGLMVS
objects.
- Introducing new function
BranchGLM.fit()
which is similar toglm.fit()
, it fits GLMs when given the design matrix X and the outcome vector Y. Can be faster than calling BranchGLM if X and Y are readily available. - Fixing number of models fit that are reported by stepwise selection
procedures when using parallel computation via the
VariableSelection()
function. - Fixing SEs and p-values for gaussian and gamma GLMs.
- Fixing number of observations returned from
VariableSelection()
function in the presence of missing values
- Fixing multiple different bugs
- Speeding up linear regression fitting, especially for large models
- Fixing multiple different bugs
- Adding NEWS.md
- Minimized repeated work for linear regression, so it should now be much faster
- Added gamma regression along with some additional link functions
- Additional arguments added to
BranchGLM()
to reduce memory usage if desired - Fixed print statement for
BranchGLMVS
objects when parallel computation was employed