linearmodels.iv.model.IVLIML.from_formula¶
-
static IVLIML.from_formula(formula: str, data: DataFrame, *, weights: IVData | ndarray | DataArray | DataFrame | Series | None =
None
, fuller: float =0
, kappa: int | float | None =None
) IVLIML [source]¶ - Parameters:¶
- formula: str¶
Formula modified for the IV syntax described in the notes section
- data: DataFrame¶
DataFrame containing the variables used in the formula
- weights: IVData | ndarray | DataArray | DataFrame | Series | None =
None
¶ Observation weights used in estimation
- fuller: float =
0
¶ Fuller’s alpha to modify LIML estimator. Default returns unmodified LIML estimator.
- kappa: int | float | None =
None
¶ Parameter value for k-class estimation. If not provided, computed to produce LIML parameter estimate.
- Returns:¶
Model instance
- Return type:¶
Notes
The IV formula modifies the standard formula syntax to include a block of the form [endog ~ instruments] which is used to indicate the list of endogenous variables and instruments. The general structure is dependent ~ exog [endog ~ instruments] and it must be the case that the formula expressions constructed from blocks dependent ~ exog endog and dependent ~ exog instruments are both valid formulas.
A constant must be explicitly included using ‘1 +’ if required.
Examples
>>> import numpy as np >>> from linearmodels.datasets import wage >>> from linearmodels.iv import IVLIML >>> data = wage.load() >>> formula = "np.log(wage) ~ 1 + exper + exper ** 2 + brthord + [educ ~ sibs]" >>> mod = IVLIML.from_formula(formula, data)