feglm {alpaca} | R Documentation |
Efficiently fit glm's with high-dimensional k
-way fixed effects
Description
feglm
can be used to fit generalized linear models with many high-dimensional fixed
effects. The estimation procedure is based on unconditional maximum likelihood and can be
interpreted as a “weighted demeaning” approach that combines the work of Gaure (2013) and
Stammann et. al. (2016). For technical details see Stammann (2018). The routine is well suited
for large data sets that would be otherwise infeasible to use due to memory limitations.
Remark: The term fixed effect is used in econometrician's sense of having intercepts for each level in each category.
Usage
feglm(
formula = NULL,
data = NULL,
family = binomial(),
weights = NULL,
beta.start = NULL,
eta.start = NULL,
control = NULL
)
Arguments
formula |
an object of class |
data |
an object of class |
family |
a description of the error distribution and link function to be used in the model.
Similar to |
weights |
an optional string with the name of the 'prior weights' variable in |
beta.start |
an optional vector of starting values for the structural parameters in the linear
predictor. Default is |
eta.start |
an optional vector of starting values for the linear predictor. |
control |
a named list of parameters for controlling the fitting process. See
|
Details
If feglm
does not converge this is often a sign of linear dependence between
one or more regressors and a fixed effects category. In this case, you should carefully inspect
your model specification.
Value
The function feglm
returns a named list of class "feglm"
.
References
Gaure, S. (2013). "OLS with Multiple High Dimensional Category Variables". Computational Statistics and Data Analysis, 66.
Marschner, I. (2011). "glm2: Fitting generalized linear models with convergence problems". The R Journal, 3(2).
Stammann, A., F. Heiss, and D. McFadden (2016). "Estimating Fixed Effects Logit Models with Large Panel Data". Working paper.
Stammann, A. (2018). "Fast and Feasible Estimation of Generalized Linear Models with High-Dimensional k-Way Fixed Effects". ArXiv e-prints.
Examples
# Generate an artificial data set for logit models
library(alpaca)
data <- simGLM(1000L, 20L, 1805L, model = "logit")
# Fit 'feglm()'
mod <- feglm(y ~ x1 + x2 + x3 | i + t, data)
summary(mod)