Estimation and inference from generalized linear models based on various methods for bias reduction and maximum penalized likelihood with powers of the Jeffreys prior as penalty. The 'brglmFit' fitting method can achieve reduction of estimation bias by solving either the mean bias-reducing adjusted score equations in Firth (1993)

**brglm2** provides tools for the estimation and inference from generalized linear models using various methods for bias reduction (Kosmidis, 2014). Reduction of estimation bias is achieved by solving either the mean-bias reducing adjusted score equations in Firth (1993) and Kosmidis & Firth (2009) or the median-bias reducing adjusted score equations in Kenne et al (2016), or through the direct subtraction of an estimate of the bias of the maximum likelihood estimator from the maximum likelihood estimates as prescribed in Cordeiro and McCullagh (1991)

In the special case of generalized linear models for binomial and multinomial responses, the adjusted score equations return estimates with improved frequentist properties, that are also always finite, even in cases where the maximum likelihood estimates are infinite (e.g. complete and quasi-complete separation).

**brglm2** also provides *pre-fit* and *post-fit* methods for the detection of separation and of infinite maximum likelihood estimates in binomial response generalized linear models (see `?detect_separation`

and `?check_infinite_estimates`

).

Install the development version from github:

# install.packages("devtools")devtools::install_github("ikosmidis/brglm2")

The workhorse function in **brglm2** is
`brglmFit`

,
which can be passed directly to the `method`

argument of the `glm`

function. `brglmFit`

implements a quasi Fisher
scoring procedure,
whose special cases result in a range of explicit and implicit bias
reduction methods for generalized linear models.

The iteration vignette and the paper
**arXiv:1710.11217** present the
iteration and give mathematical details for the bias-reducing
adjustments to the score functions for generalized linear models.

The classification of bias reduction methods into explicit and implicit is as given in Kosmidis (2014).

**brglm2** was presented by Ioannis Kosmidis at the useR! 2016 international R User conference at University of Stanford on 16 June 2016. The presentation was titled "Reduced-bias inference in generalized linear models" and can be watched online at this link.

Motivation, details and discussion on the methods that **brglm2** implements are provided in

Kosmidis, I, Kenne Pagui, E C, Sartori N. (2017). Mean and median bias reduction in generalized linear models. *arXiv*, **arXiv:1710.11217**

- 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 in`brglmControl`

- 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`

and`quasibinomial`

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`

,`summary`

and so on) - Added
`predict`

methods for`brmultinom`

and`bracl`

@ Added`residuals`

methods for`brmultinom`

and`bracl`

(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 for`brmultinom`

objects - 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 adrress for Ioannis Kosmidis in brglmFit

- brmultinom returns a fitted values matrix that respects the dimension of data
- Fixed bug on condition for NA dispersion for models with 0 df resid

- Eliminated errors from markdown chunks in multinomial vignette

- Compatibility with new version of enrichwith

- New email for Ioannis Kosmidis

- Added
`type = AS_mixed`

as 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 uknown dispersion `check_infinite_estimates`

now accepts`brmultinom`

objects- Added
`singular.ok`

argument to`brglmFit`

and`detect_separation`

methods in line with the update of`glm.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`slowit`

did nothing; now included in iteration

- The
`detect_separation`

`method`

for the`glm`

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