Estimation and inference from generalized linear models based on various methods for bias reduction. 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 and . `brglmFit`

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

The iteration vignette describes the iteration and gives the 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.

- 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