statsmodels.sandbox.regression.gmm.GMM

class statsmodels.sandbox.regression.gmm.GMM(endog, exog, instrument, k_moms=None, k_params=None, missing='none', **kwds)[source]

Class for estimation by Generalized Method of Moments

needs to be subclassed, where the subclass defined the moment conditions momcond

Parameters
endogndarray

endogenous variable, see notes

exogndarray

array of exogenous variables, see notes

instrumentndarray

array of instruments, see notes

nmomsNone or int

number of moment conditions, if None then it is set equal to the number of columns of instruments. Mainly needed to determine the shape or size of start parameters and starting weighting matrix.

kwdsanything

this is mainly if additional variables need to be stored for the calculations of the moment conditions

Notes

The GMM class only uses the moment conditions and does not use any data directly. endog, exog, instrument and kwds in the creation of the class instance are only used to store them for access in the moment conditions. Which of this are required and how they are used depends on the moment conditions of the subclass.

Warning:

Options for various methods have not been fully implemented and are still missing in several methods.

TODO: currently onestep (maxiter=0) still produces an updated estimate of bse and cov_params.

Attributes
resultsinstance of GMMResults

currently just a storage class for params and cov_params without it’s own methods

bseproperty

return bse

Methods

calc_weightmatrix(moms[, weights_method, …])

calculate omega or the weighting matrix

fit([start_params, maxiter, inv_weights, …])

Estimate parameters using GMM and return GMMResults

fitgmm(start[, weights, optim_method, …])

estimate parameters using GMM

fitgmm_cu(start[, optim_method, optim_args])

estimate parameters using continuously updating GMM

fititer(start[, maxiter, start_invweights, …])

iterative estimation with updating of optimal weighting matrix

from_formula(formula, data[, subset, drop_cols])

Create a Model from a formula and dataframe.

gmmobjective(params, weights)

objective function for GMM minimization

gmmobjective_cu(params[, weights_method, wargs])

objective function for continuously updating GMM minimization

gradient_momcond(params[, epsilon, centered])

gradient of moment conditions

momcond_mean(params)

mean of moment conditions,

predict(params[, exog])

After a model has been fit predict returns the fitted values.

score(params, weights[, epsilon, centered])

Score

score_cu(params[, epsilon, centered])

Score cu

set_param_names(param_names[, k_params])

set the parameter names in the model

start_weights([inv])

Create identity matrix for starting weights

Methods

calc_weightmatrix(moms[, weights_method, …])

calculate omega or the weighting matrix

fit([start_params, maxiter, inv_weights, …])

Estimate parameters using GMM and return GMMResults

fitgmm(start[, weights, optim_method, …])

estimate parameters using GMM

fitgmm_cu(start[, optim_method, optim_args])

estimate parameters using continuously updating GMM

fititer(start[, maxiter, start_invweights, …])

iterative estimation with updating of optimal weighting matrix

from_formula(formula, data[, subset, drop_cols])

Create a Model from a formula and dataframe.

gmmobjective(params, weights)

objective function for GMM minimization

gmmobjective_cu(params[, weights_method, wargs])

objective function for continuously updating GMM minimization

gradient_momcond(params[, epsilon, centered])

gradient of moment conditions

momcond_mean(params)

mean of moment conditions,

predict(params[, exog])

After a model has been fit predict returns the fitted values.

score(params, weights[, epsilon, centered])

Score

score_cu(params[, epsilon, centered])

Score cu

set_param_names(param_names[, k_params])

set the parameter names in the model

start_weights([inv])

Create identity matrix for starting weights

Properties

endog_names

Names of endogenous variables.

exog_names

Names of exogenous variables.

results_class