Learn R Programming

brglm2 (version 0.9.2)

expo.brglmFit: Estimate the exponential of parameters of generalized linear models using various methods

Description

The expo() method uses the supplied "brglmFit" or "glm" object to estimate the exponential of parameters of generalized linear models with maximum likelihood or various mean and median bias reduction methods. expo() is 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") in glm()) while adjusting for other covariates, the odds ratio associated with a unit increase on a covariate in a logistic regression model (family = binomial("logit") in glm()) 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") in glm()) while adjusting for other covariates, among others.

Usage

# S3 method for brglmFit
expo(
  object,
  type = c("correction*", "correction+", "Lylesetal2012", "AS_median", "ML"),
  level = 0.95
)

# S3 method for glm expo( object, type = c("correction*", "correction+", "Lylesetal2012", "AS_median", "ML"), level = 0.95 )

Value

a list inheriting from class "brglmFit_expo" with components coef (the estimates of the exponentiated regression parameters), se (the corresponding estimated standard errors for the exponentiated parameters), ci

(confidence intervals of level level for the exponentiated parameters), and type for the type of correction that has been requested.

Arguments

object

an object of class "brglmFit" or "glm".

type

the type of correction to be used. The available options are "correction*" (explicit mean bias correction with a multiplicative adjustment), "correction*" (explicit mean bias correction with an additive adjustment), "Lylesetal2012" (explicit median bias correction using the multiplicative adjustment in Lyles et al., 2012), "AS_median" (median bias reduction), and "ML" (maximum likelihood). See Details.

level

the confidence level required. Default is 0.95.

Author

Ioannis Kosmidis [aut, cre] ioannis.kosmidis@warwick.ac.uk

Details

The supported methods through the type argument are:

  • "ML": the estimates of the exponentiated parameters are \(\exp(\hat\theta_j)\), where \(\theta_j\) is the maximum likelihood estimates for the \(j\)th regression parameter.

  • "correction*": the estimates of the exponentiated parameters are \(\exp(\hat\theta_j) / (1 + \hat{v}_j / 2)\), where \(\hat\theta_j\) is the estimate of the \(j\)th regression parameter using type = "AS_mixed" in brglmFit().

  • "correction+": the estimates of the exponentiated parameters are \(\exp(\hat\theta_j) (1 - \hat{v}_j / 2)\), where \(\hat\theta_j\) is the estimate of the \(j\)th regression parameter using type = "AS_mixed" in brglmFit().

  • "Lylesetal2012": the estimates of the exponentiated parameters are \(\exp(\hat\theta_j) exp(- \hat{v}_j / 2)\), where \(\hat\theta_j\) is the estimate of the \(j\)th regression parameter using type = "AS_mixed" in brglmFit(). This estimator has been proposed in Lyles et al. (2012).

  • "AS_median": the estimates of the exponentiated parameters are \(\exp(\hat\theta_j)\), where \(\hat\theta_j\) is the estimate of the \(j\)th regression parameter using type = "AS_median" in brglmFit().

"correction*" and "correction+" are based on multiplicative and additive adjustments, respectively, of the exponential of a reduced-bias estimator (like the ones coming from brglmFit() with type = "AS_mixed", type = "AS_mean", and type = "correction"). The form of those adjustments results from the expression of the first-term in the mean bias expansion of the exponential of a reduced-bias estimator. See, for example, Di Caterina & Kosmidis (2019, expression 12) for the general form of the first-term of the mean bias of a smooth transformation of a reduced-bias estimator.

The estimators from "correction+", "correction*", "Lylesetal2012" have asymptotic mean bias of order smaller than than of the maximum likelihood estimator. The estimators from "AS_median" are asymptotically closed to being median unbiased than the maximum likelihood estimator is.

Estimated standard errors are computed using the delta method, where both the Jacobin and the information matrix are evaluated at the logarithm of the estimates of the exponentiated parameters.

Confidence intervals results by taking the exponential of the limits of standard Wald-type intervals computed at the logarithm of the estimates of the exponentiated parameters.

References

Di Caterina C, Kosmidis I (2019). Location-Adjusted Wald Statistics for Scalar Parameters. Computational Statistics & Data Analysis, 138, 126-142. tools:::Rd_expr_doi("10.1016/j.csda.2019.04.004").

Kosmidis I, Kenne Pagui E C, Sartori N (2020). Mean and median bias reduction in generalized linear models. Statistics and Computing, 30, 43-59. tools:::Rd_expr_doi("10.1007/s11222-019-09860-6").

Cordeiro G M, McCullagh P (1991). Bias correction in generalized linear models. Journal of the Royal Statistical Society. Series B (Methodological), 53, 629-643. tools:::Rd_expr_doi("10.1111/j.2517-6161.1991.tb01852.x").

Lyles R H, Guo Y, Greenland S (2012). Reducing bias and mean squared error associated with regression-based odds ratio estimators. Journal of Statistical Planning and Inference, 142 3235–3241. tools:::Rd_expr_doi("10.1016/j.jspi.2012.05.005").

See Also

brglm_fit() and and brglm_control()

Examples

Run this code

## The lizards example from ?brglm::brglm
lizardsML <- glm(cbind(grahami, opalinus) ~ height + diameter +
                 light + time, family = binomial(logit), data = lizards,
                 method = "glm.fit")
# Get estimates, standard errors, and confidence intervals of odds
# ratios with various methods
expo(lizardsML, type = "ML")
expo(lizardsML, type = "correction*")
expo(lizardsML, type = "Lylesetal2012")
expo(lizardsML, type = "correction+")
expo(lizardsML, type = "AS_median")

## Example from ?glm
## Dobson (1990) Page 93: Randomized Controlled Trial :
counts <- c(18,17,15,20,10,20,25,13,12)
outcome <- gl(3,1,9)
treatment <- gl(3,3)
glm.D93 <- glm(counts ~ outcome + treatment, family = poisson())
expo(glm.D93, type = "correction*")

Run the code above in your browser using DataLab