linearmodels.panel.model.RandomEffects.from_formula¶
-
classmethod RandomEffects.from_formula(formula: str, data: PanelData | ndarray | DataArray | DataFrame | Series, *, weights: PanelData | ndarray | DataArray | DataFrame | Series | None =
None
, check_rank: bool =True
) RandomEffects [source]¶ Create a model from a formula
- Parameters:¶
- formula: str¶
Formula to transform into model. Conforms to formulaic formula rules.
- data: PanelData | ndarray | DataArray | DataFrame | Series¶
Data structure that can be coerced into a PanelData. In most cases, this should be a multi-index DataFrame where the level 0 index contains the entities and the level 1 contains the time.
- 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 times the weight should be homoskedastic.
- check_rank: bool =
True
¶ Flag indicating whether to perform a rank check on the exogenous variables to ensure that the model is identified. Skipping this check can reduce the time required to validate a model specification. Results may be numerically unstable if this check is skipped and the matrix is not full rank.
- Returns:¶
Model specified using the formula
- Return type:¶
Notes
Unlike standard formula syntax, it is necessary to explicitly include a constant using the constant indicator (1)
Examples
>>> from linearmodels import RandomEffects >>> from linearmodels.panel import generate_panel_data >>> panel_data = generate_panel_data() >>> mod = RandomEffects.from_formula("y ~ 1 + x1", panel_data.data) >>> res = mod.fit()