linearmodels.panel.model.FamaMacBeth

class linearmodels.panel.model.FamaMacBeth(dependent: PanelData | ndarray | DataArray | DataFrame | Series, exog: PanelData | ndarray | DataArray | DataFrame | Series, *, weights: PanelData | ndarray | DataArray | DataFrame | Series | None = None, check_rank: bool = True)[source]

Pooled coefficient estimator for panel data

Parameters:
dependent: PanelData | ndarray | DataArray | DataFrame | Series

Dependent (left-hand-side) variable (time by entity)

exog: PanelData | ndarray | DataArray | DataFrame | Series

Exogenous or right-hand-side variables (variable by time by entity).

weights: PanelData | ndarray | DataArray | DataFrame | Series | None = None

Weights to use in estimation. Assumes residual variance is proportional to inverse of weight to that the residual time the weight should be homoskedastic.

Notes

The model is given by

\[y_{it}=\beta^{\prime}x_{it}+\epsilon_{it}\]

The Fama-MacBeth estimator is computed by performing T regressions, one for each time period using all available entity observations. Denote the estimate of the model parameters as \(\hat{\beta}_t\). The reported estimator is then

\[\hat{\beta} = T^{-1}\sum_{t=1}^T \hat{\beta}_t\]

While the model does not explicitly include time-effects, the implementation based on regressing all observation in a single time period is “as-if” time effects are included.

Parameter inference is made using the set of T parameter estimates with either the standard covariance estimator or a kernel-based covariance, depending on cov_type.

Methods

fit([cov_type, debiased, bandwidth, kernel])

Estimate model parameters

from_formula(formula, data, *[, weights, ...])

Create a model from a formula

predict(params, *[, exog, data, eval_env, ...])

Predict values for additional data

reformat_clusters(clusters)

Reformat cluster variables

Properties

formula

Formula used to construct the model

has_constant

Flag indicating the model a constant or implicit constant

not_null

Locations of non-missing observations