-
mdyplFit()returns Pearson residuals based on the original responses. -
Fixed a bug that would cause an error when
summary.mdyplFit()was called withhd_correction = TRUEin the presence of aliased parameters. -
Fixed a bug on reported state evolution function values when
init_iter = "only".
-
summary.mdyplFit()getssolve_se_dotsargument to enable passing further arguments to the...ofsolve_se(). -
Various improvements in the internals of
solve_se(). -
sloe()ignores leverage1observations, when estimating the contaminated signal strength. -
...inplrtest()is further arguments to be passedsummary.mdyplFit(). -
Added the method
solve_se_ridge()(not exported) for solving the state evolution equations for logistic ridge regression without intercept. -
Documentation updates and fixes.
-
Provides
mdyplFit()method for theglm()function, which estimates logistic regression models using maximum Diaconis-Ylvisaker prior penalized likelihood, and associated methods. Corrections to estimates, estimated standard errors, z statistics, and so on, can be applied using the developments Sterzinger and Kosmidis (2024, doi:10.48550/arXiv.2311.07419) by settinghd_correction = TRUEin the calls to thesummary()andconfint()methods for"mdyplFit"objects. -
Added
add1()anddrop1()methods formdyplFitobjects. -
Added
MultipleFeaturesdata set, which is a subset of Duin (1998, doi:10.24432/C5HC70), as analyzed in Sterzinger and Kosmidis (2024, doi:10.48550/arXiv.2311.07419). -
Documentation updates and documentation of new methods.
-
Added
add1()anddrop1()methods forbrglmFitobjects, so thatstep()does not default to the methods forglmobjects (which would return nonsense results); thanks to jamiahuswalton@github (#33) for reporting the issue. -
Sane staring values, graceful failing, updates to optimization procedure, and improvements to methods for
brnb(); thanks to cperk@github (#31) for reporting issues withbrnb()when infinite ML estimates are encountered.
- Documentation updates
-
Convergence of the
brglm_fititerations is now determined if the L^Inf norm of the step size (rather than the L^1 as it was previously) of the quasi-Fisher scoring procedure is less thanepsilon(see?brglm_controlfor the definition ofepsilon). This is more natural asepsilonthen determines directly the precision of the reported estimates and does not depend on their number. -
brglm_control()now checks that the supplied value ofmax_step_factoris numeric and greater or equal to1. If not, then it is set to the default value of12. -
Vignette updates
- Added the
enzymesandhepatitisdata sets (from the pmlr) to support examples and tests.
- The
expo()method forbrglmFitandglmobjects estimates the exponential of parameters of generalized linear models with maximum likelihood or various mean and median bias reduction methods (see?expofor details). Theexpo()method is particularly useful for computing (corrected) estimates of the multiplicative impact of a unit increase on a covariate on the mean of a Poisson log-linear model (family = poisson("log")inglm()) while adjusting for other covariates, the odds ratio associated with a unit increase on a covariate in a logistic regression model (family = binomial("logit")inglm()) while adjusting for other covariates, the relative risk associated with a unit increase on a covariate in a relative risk regression model (family = binomial("log")inglm()) while adjusting for other covariates, among others.
- Fixed a bug where the dispersion in the resulting object would not be transformed even if
transformation != "identity"whentypeisMLorAS_medianorAS_mixed.
-
Moved unit tests to tinytest.
-
Moved documentation to markdown markup through roxygen2.
-
New vignette titled "Estimating the exponential of regression parameters using brglm2", to demonstrate the
expo()method. -
Various documentation fixes.
- Housekeeping.
- Removed lpSolveAPI from imports.
- Fixed a bug when predicting from
braclobjects with non-identifiable parameters.
-
Work on output consistently from
print()methods forsummary.XYZobjects; estimator type is now printed and other fixes. -
Enriched warning when algorithm does not converge with more informative text.
-
Documentation fixes and updates
brnb()allows fitting negative binomial regression models using implicit and explicit bias reduction methods. See vignettes for a case study.simulate()method for objects of classbrmultinomandbraclordinal_superiority()method to estimate Agresti and Kateri (2017)'s ordinal superiority measures, and compute bias corrections for those.
- Fixed a bug that would return an error when
Wald.ratios = TRUEinsummary.brmultinom. - Fixed bug in
vcov.braclthat would return an error if the"bracl"object was computed usingbracl()withparallel = TRUEand one covariate. - Fixed a bug in
bracl()related to the handling or zero weights that could result in hard-to-traceback errors. - Fixed a bug in
bracl()that could cause errors in fits with one covariate. brglmFit()iteration returns last estimates that worked if iteration fails.
- Documentation and example updates.
- Fixed bug where
confint()was not returning anything when applied to objects of classbrmultinom. - Fixed bug where and error could result when the
controlglm(). argument was specified using the output frombrglmControl()orbrglm_control().
- added
check_aliasingoption inbrglmControl()to tellbrglm_fit()to skip (check_aliasing = TRUE) or not (check_aliasing = FALSE) rank deficiency checks (through a QR decomposition of the model matrix), saving some computational effort.
- updated DOI links in documentation and some http -> https fixes.
- Fixed bug that resulted in
NAcoefficients whenbrglmFit()was called with a vectorxor anxwith no column names.
confintmethod forbrmulitnomobjects
- Updated reference to Kenne Pagui et al (2017).q
- Updated reference to Kosmidis and Firth (2020).
- Fixed issues with references.
- Updated documentation.
vcov.brglmFit()now usesvcov.summary.glm()and supports thecompleteargument for controlling whether the variance covariance matrix should include rows and columns for aliased parameters.- Deprecated
detect_sepration()andcheck_infinite_estimates(), which will be removed from brglm2 at version 0.8. New versions ofdetect_sepration()andcheck_infinite_estimates()are now maintained in the detectseparation R package. - Fixed typos in NEWS.
- Fixed bug in AIC reported by
print.summary()forbrmultinomandbraclobjects. detect_separation()now handles one-column model matrices correctly.
- Documentation improvements and typo fixes.
brglmFit()can now do maximum penalized likelihood with powers of the Jeffreys prior as penalty (type = "MPL_Jeffreys) for all supported generalized linear models. See the help files ofbrglmControl()andbrglmFit()for details.
- Documentation updates and improvements.
- Updated vignettes to include maximum penalized likelihood with powers of the Jeffreys prior as penalty.
- New examples in
?brglmFit.
print.brmultinom()is now exported, sobraclandbrmultinomobjects print correctly.
- Added
response_adjustmentargument inbrglmControl()to allow for more fine-tuning of the starting values whenbrglmFit()is called withstart = NULL.
- Documentation updates and improvements.
- Added Kosmidis et al (2019) in the description file.
- Added tests for
brglmControl().
- Fixed typos in vignettes and documentation.
- Added ORCHID for Ioannis Kosmidis in DESCRIPTION.
brglmFit()now works as expected with custom link functions (mean and median bias reduction).brglmFit()respects the specification of the transformation argument inbrglmControl().- Fixed bug in the computation of the QR decomposition under aliasing
in
brglmFit(). - Other minor bug fixes and performance improvements.
- Protection against use of
quasi(),quasibinomial()andquasibinomial()families and documentation update.
- Added
bracl()for fitting adjacent category logit models for ordinal responses using maximum likelihood, mean bias reduction, and median bias reduction and associated methods (logLik,summaryand so on). - Added
predict()methods forbrmultinomandbraclobjects. Addedresiduals()methods forbrmultinomandbraclobjects (residuals of the equivalent Poisson log-linear model) - Added the
mis()link functions for accounting for misclassification in binomial response models (Neuhaus, 1999, Biometrika).
- Improved
summary()method forbrmultinomobjects. - Better starting values for null fits.
- Added references to arxiv:1804.04085 in documentation.
- Updated reference to Kenne Pagui et al (2017).
- Improved documentation examples.
- Removed warning about observations with non-positive weights from brmultinom.
- Updated email address for Ioannis Kosmidis in brglmFit.
- brmultinom returns a fitted values matrix that respects the dimension of data.
- Fixed bug on condition for
NAdispersion for models with0df resid.
- Eliminated errors from markdown chunks in multinomial vignette.
- Compatibility with new version of enrichwith.
- New email for Ioannis Kosmidis.
- Added
type = AS_mixedas an option to use mean-bias reducing score functions for the regression parameters and median-bias reducing score functions for the dispersion in models with unknown dispersion. check_infinite_estimates()now acceptsbrmultinomobjects.- Added
singular.okargument tobrglmFit()anddetect_separation()methods in line with the update ofglm.fit().
- less strict tolerance in
brglm_control(). - Updates to help files.
- Fixed typos in iteration vignette.
- Added URL and bugreports in Description.
- Added new tests.
brglmControl()is now exported.slowitdid nothing; now included in iteration.
- The
detect_separation()method for theglm()function can be used to check for separation in binomial response settings without fitting the model. This relies on a port of Kjell Konis'safeBinaryRegression:::separator()function (see ?detect_separation). - brglm2 provides estimation via median-bias reducing score
functions with
type = "AS_median". - brglm2 provides camel and underscored aliases for basic methods
(
brglmFit(),brglm_fit(),detectSeparation(),detect_separation(),brglm_control(),brglmControl(),detectSeparationControl(),detect_separation_control(),checkInfiniteEstimates(),check_infinite_estimates()).
- Minor enhancements in the codebase.
- The inverse expected information matrix is computed internally using
cho2inv(). - Internal changes to have more meaningful variable names.
- Renamed detect_infinite* to check_infinite.
- Fixed typo in
$f_{Y_i}(y)$ in iteration vignette (thanks to Eugene Clovis Kenne Pagui for spotting),
- First release.