- Fixed predict method to address changes required by Matrix 1.6.2
- Reduced default number of knots used for zero-order and first-order basis
expansions as follows:
base_num_knots_0set to 20, used to be 200base_num_knots_1set to 10, used to be 50
- Added multivariate outcome prediction
- Fixed bug with
prediction_bounds(afit_halargument infit_controllist), which would error when it was specified as a numeric vector. Also, added a check to assert this argument is correctly specified, and tests to ensure a numeric vector of bounds is provided. - Simplified
fit_controllist arguments infit_hal. Users can still specify additional arguments tocv.glmnetandglmnetin this list. - Defined
weightsas a formal argument infit_hal, opposed to an optional argument infit_control, to facilitate specification and avoid confusion. This increases flexibility with SuperLearner wrapperSL.hal9001as well;fit_controlcan now be customized withSL.hal9001.
- Version bump for CRAN resubmission following archiving.
- Version bump for CRAN resubmission following archiving.
- Minor adjustments to speed up unit tests and examples.
- Version bump for CRAN resubmission.
As of September 2021:
- Minor change to how binning is performed when
num_knots = 1, ensuring that the minimal number of knots is chosen whennum_knots = 1. This results in HAL agreeing with (main terms)glmnetwhensmoothness_orders = 1andnum_knots = 1. - Revised formula interface with enhanced capabilities, allowing specifciation
of penalization factors, smoothness_orders, and the number of knots for each
variable, for every single term separately using the new
hfunction. It is possible to specify, e.g.,h(X) + h(W)which will generate and concatenate the two basis function terms.
As of April 2021:
- The default of
fit_halis now a first order smoothed HAL with binning. - Updated documentation for
formula_hal,fit_halandpredict; and addedfit_controlandformula_controllists for arguments. Moved much of the text to details sections, and shortened the argument descriptions. - Updated
summaryto support higher-order HAL fit interpretations. - Added checks to
fit_halfor missingness and dimensionality correspondence betweenX,Y, andX_unpenalized. These checks lead to quickly-produced errors, opposed to enumerating the basis list and then lettingglmneterror on something trivial like this. - Modified formula interface in
fit_hal, soformulais now provided directly tofit_halandformula_halis run withinfit_hal. Due to these changes, it no longer made sense forformula_halto acceptdata, so it now takes as inputX. Also, theformula_fit_halfunction was removed as it is no longer needed. - Support for the custom lasso procedure implemented in
Rcpphas been discontinued. Accordingly, the"lassi"option and argumentfit_typehave been removed fromfit_hal. - Re-added
lambda.min.ratioas afit_controlargument tofit_hal. We've seen that not settinglambda.min.ratioinglmnetcan lead to nolambdavalues that fit the data sufficiently well, so it seems appropriate to override theglmnetdefault.
As of February 2021:
- Support higher order HAL via the new
smoothness_ordersargumentsmoothness_ordersis a vector of length 1 or lengthncol(X).- If
smoothness_ordersis of length 1 then its values are recycled to form a vector of lengthncol(X). - Given such a vector of length
ncol(X), the ith element gives the level of smoothness for the variable corresponding to the ith column inX.
- Degree-dependant binning. Higher order terms are binned more coarsely; the
num_knotsargument is a vector up tomax_degreecontrolling the degree-specific binning. - Adds
formula_halwhich allows a formula specification of a HAL model.
As of November 2020:
- Allow support for Poisson family to
glmnet(). - Begins consideration of supporting arbitrary
stats::family()objects to be passed through to calls toglmnet(). - Simplifies output of
fit_hal()by unifying the redundanthal_lassoandglmnet_lassoslots into the newlasso_fitslot. - Cleans up of methods throughout and improves documentation, reducing a few
redundancies for cleaner/simpler code in
summary.hal9001. - Adds link to DOI of the published Journal of Open Source Software paper in
DESCRIPTION.
As of September 2020:
- Adds a
summarymethod for interpreting HAL regressions (#64). - Adds a software paper for publication in the Journal of Open Source Software (#71).
As of June 2020:
- Address bugs/inconsistencies reported in the prediction method when trying to specify a value of lambda not included in initial fitting.
- Addresses a bug arising from a silent failure in
glmnetin which it ignores the argumentlambda.min.ratiowhenfamily = "gaussian"is not set. - Adds a short software paper for submission to JOSS.
- Minor documentation updates.
As of March 2020
- First CRAN release.