brglmControl()
provides default values and sanity checking for
the various constants that control the iteration and generally the
behaviour of brglmFit()
.
When trace = TRUE
, calls to cat()
produce the output for each
iteration. Hence, options(digits = *)
can be used to increase
the precision.
When check_aliasing = TRUE
(default), a QR decomposition of the
model matrix is computed to check for aliasing. If the model matrix
is known to be of full rank, then check_aliasing = FALSE
avoids
the extra computational overhead of an additional QR decomposition,
which can be substantial for large model matrices. However, setting
check_aliasing = FALSE
tells brglmFit()
that the model matrix
is full rank, and hard to trace back errors will result if it is
rank deficient.
transformation
sets the transformation of the dispersion
parameter for which the bias reduced estimates are computed. Can be
one of "identity"
, "sqrt"
, "inverse"
, "log"
and
"inverseSqrt"
. Custom transformations are accommodated by
supplying a list of two expressions (transformation and inverse
transformation). See the examples for more details.
The value of response_adjustment
is only relevant if brglmFit()
is called with start = NULL
, and family
is binomial()
or
poisson()
. For those models, an initial maximum likelihood fit is
obtained on adjusted data to provide starting values for the
iteration in brglmFit()
. The value of response_adjustment
governs how the data is adjusted. Specifically, if family
is
binomial()
, then the responses and totals are adjusted by
response_adjustment
and 2 * response_adjustment
, respectively;
if family
is poisson()
, then the responses are adjusted by and
response_adjustment
. response_adjustment = NULL
(default)
is equivalent to setting it to
"number of parameters" / "number of observations"
.
When type = "AS_mixed"
(default), mean bias reduction is used for
the regression parameters, and median bias reduction for the
dispersion parameter, if that is not fixed. This adjustment has
been developed based on equivariance arguments (see, Kosmidis et
al, 2020, Section 4) in order to produce regression parameter
estimates that are invariant to arbitrary contrasts, and estimates
for the dispersion parameter that are invariant to arbitrary
non-linear transformations. type = "AS_mixed"
and type = "AS_mean"
return the same results if brglmFit()
is called with
family
binomial()
or poisson()
(i.e. families with fixed
dispersion).
When type = "MPL_Jeffreys"
, brglmFit()
will maximize the
penalized log-likelihood $$l(\beta, \phi) + a\log \det i(\beta,
\phi)$$ where \(i(\beta,
\phi)\) is the expected information matrix about the
regression parameters \(\beta\) and the dispersion parameter
\(\phi\). See, vignette("iteration", "brglm2")
for more
information. The argument a
controls the amount of penalization
and its default value is a = 1/2
, corresponding to maximum
penalized likelihood using a Jeffreys-prior penalty. See, Kosmidis
& Firth (2021) for proofs and discussion about the finiteness and
shrinkage properties of the maximum penalized likelihood estimators
for binomial-response generalized linear models.
The estimates from type = "AS_mean"
and type = "MPL_Jeffreys"
with a = 1/2
(default) are identical for
Poisson log-linear models and logistic regression models, i.e. for
binomial and Poisson regression models with canonical links. See,
Firth (1993) for details.
brglm_control()
is an alias to brglmControl()
.