estimation.feglm_.Feglm
estimation.feglm_.Feglm(self,
FixestFormula,
data,
ssc_dict,
drop_singletons,
drop_intercept,
weights,
weights_type,
collin_tol,
fixef_tol,
lookup_demeaned_data,
tol,
maxiter,
solver,=True,
store_data=True,
copy_data=False,
lean=None,
sample_split_var=None,
sample_split_value=None,
separation_check=0,
context )
Abstract base class for the estimation of a fixed-effects GLM model.
Methods
Name | Description |
---|---|
get_fit | Fit the GLM model via iterated weighted least squares. |
predict | Return predicted values from regression model. |
prepare_model_matrix | Prepare model inputs for estimation. |
residualize | Residualize v and X by flist using weights. |
to_array | Turn estimation DataFrames to np arrays. |
get_fit
estimation.feglm_.Feglm.get_fit()
Fit the GLM model via iterated weighted least squares.
All equations in the code refer to Stammann ‘Fast and Feasible Estimation of Generalized Linear Models with High-Dimensional k-way fixed effects’: https://arxiv.org/pdf/1707.01815
predict
estimation.feglm_.Feglm.predict(=None,
newdata=1e-06,
atol=1e-06,
btoltype='link',
)
Return predicted values from regression model.
Return a flat np.array with predicted values of the regression model. If new fixed effect levels are introduced in newdata
, predicted values for such observations will be set to NaN.
Parameters
Name | Type | Description | Default |
---|---|---|---|
newdata | Union[None, pd.DataFrame] | A pd.DataFrame with the new data, to be used for prediction. If None (default), uses the data used for fitting the model. | None |
atol | Float | Stopping tolerance for scipy.sparse.linalg.lsqr(). See https://docs.scipy.org/doc/ scipy/reference/generated/scipy.sparse.linalg.lsqr.html | 1e-6 |
btol | Float | Another stopping tolerance for scipy.sparse.linalg.lsqr(). See https://docs.scipy.org/doc/ scipy/reference/generated/scipy.sparse.linalg.lsqr.html | 1e-6 |
type | str | The type of prediction to be computed. Can be either “response” (default) or “link”. If type=“response”, the output is at the level of the response variable, i.e., it is the expected predictor E(Y|X). If “link”, the output is at the level of the explanatory variables, i.e., the linear predictor X @ beta. | 'link' |
atol | Float | Stopping tolerance for scipy.sparse.linalg.lsqr(). See https://docs.scipy.org/doc/scipy/reference/generated/scipy.sparse.linalg.lsqr.html | 1e-6 |
btol | Float | Another stopping tolerance for scipy.sparse.linalg.lsqr(). See https://docs.scipy.org/doc/scipy/reference/generated/scipy.sparse.linalg.lsqr.html | 1e-6 |
Returns
Name | Type | Description |
---|---|---|
np.ndarray | A flat array with the predicted values of the regression model. |
prepare_model_matrix
estimation.feglm_.Feglm.prepare_model_matrix()
Prepare model inputs for estimation.
residualize
estimation.feglm_.Feglm.residualize(v, X, flist, weights, tol)
Residualize v and X by flist using weights.
to_array
estimation.feglm_.Feglm.to_array()
Turn estimation DataFrames to np arrays.