Learn R Programming

logistf (version 1.26.0)

flic: FLIC - Firth's logistic regression with intercept correction

Description

flic implements Firth's bias-reduced penalized-likelihood logistic regression with intercept correction.

Usage

flic(...)

# S3 method for default flic( formula, data, model = TRUE, control, modcontrol, weights, offset, na.action, ... )

# S3 method for logistf flic(lfobject, model = TRUE, ...)

Value

A flic object with components:

coefficients

The coefficients of the parameter in the fitted model.

predict

A vector with the predicted probability of each observation.

linear.predictors

A vector with the linear predictor of each observation.

var

The variance-covariance-matrix of the parameters.

prob

The p-values of the specific parameters.

ci.lower

The lower confidence limits of the parameter.

ci.upper

The upper confidence limits of the parameter.

call

The call object.

alpha

The significance level: 0.95.

method

depending on the fitting method 'Penalized ML' or Standard ML'.} \item{method.ci}{the method in calculating the confidence intervals, i.e. profile likelihood' or `Wald', depending on the argument pl and plconf.

df

The number of degrees of freedom in the model.

loglik

A vector of the (penalized) log-likelihood of the restricted and the full models.

n

The number of observations.

formula

The formula object.

control

a copy of the control parameters.

modcontrol

a copy of the modcontrol parameters.

terms

the model terms (column names of design matrix).

model

if requested (the default), the model frame used.

Arguments

...

Further arguments passed to the method or logistf-call.

formula

A formula object, with the response on the left of the operator, and the model terms on the right. The response must be a vector with 0 and 1 or FALSE and TRUE for the outcome, where the higher value (1 or TRUE) is modeled.

data

If using with formula, a data frame containing the variables in the model.

model

If TRUE the corresponding components of the fit are returned.

control

Controls iteration parameter. Taken from logistf-object when specified. Otherwise default is control= logistf.control().

modcontrol

Controls additional parameter for fitting. Taken from logistf-object when specified. Otherwise default is logistf.mod.control().

weights

specifies case weights. Each line of the input data set is multiplied by the corresponding element of weights

offset

a priori known component to be included in the linear predictor

na.action

a function which indicates what should happen when the data contain NAs

lfobject

A fitted logistf object.

Methods (by class)

  • flic(default): With formula and data

  • flic(logistf): With logistf object

Details

FLIC is a simple modification of Firth's logistic regression which provides average predicted probabilities equal to the observed proportion of events, while preserving the ability to deal with separation.

In general the average predicted probability in Firth's logistic regression is not equal to the observed proportion of events. Because the determinant of the Fisher-Information matrix is maximized for \(\pi_i = \frac{1}{2}\) it is concluded that Firth's penalization tends to push the predicted probabilities towards one-half compared with ML-estimation. FLIC first applies Firth's logistic regression and then corrects the intercept such that the predicted probabilities become unbiased while keeping all other coefficients constant. The following generic methods are available for flic's output object: print, summary, coef, confint, anova, extractAIC, add1, drop1, profile, terms, nobs, predict. Furthermore, forward and backward functions perform convenient variable selection. Note that anova, extractAIC, add1, drop1, forward and backward are based on penalized likelihood ratio tests.

References

Puhr R, Heinze G, Nold M, Lusa L, Geroldinger A (2017). Firth's logistic regression with rare events: accurate effect estimates and predictions? Statistics in Medicine 36: 2302-2317.

See Also

logistf for Firth's bias-Reduced penalized-likelihood logistic regression.

Examples

Run this code
#With formula and data:
data(sex2)
flic(case ~ age + oc + vic + vicl + vis + dia, sex2)

#With a logistf object:
lf <- logistf(formula = case ~ age + oc + vic + vicl + vis + dia, data = sex2)
flic(lf)

Run the code above in your browser using DataLab