class statsmodels.sandbox.regression.gmm.NonlinearIVGMM(endog, exog, instrument, func, **kwds)[source]

Class for non-linear instrumental variables estimation wusing GMM

The model is assumed to have the following moment condition

E[ z * (y - f(X, beta)] = 0

Where y is the dependent endogenous variable, x are the explanatory variables and z are the instruments. Variables in x that are exogenous need also be included in z. f is a nonlinear function.

Notation Warning: our name exog stands for the explanatory variables, and includes both exogenous and explanatory variables that are endogenous, i.e. included endogenous variables


endog : array_like

dependent endogenous variable

exog : array_like

explanatory, right hand side variables, including explanatory variables that are endogenous.

instruments : array_like

Instrumental variables, variables that are exogenous to the error in the linear model containing both included and excluded exogenous variables

func : callable

function for the mean or conditional expectation of the endogenous variable. The function will be called with parameters and the array of explanatory, right hand side variables, func(params, exog)


This class uses numerical differences to obtain the derivative of the objective function. If the jacobian of the conditional mean function, func is available, then it can be used by subclassing this class and defining a method jac_func.

TODO: check required signature of jac_error and jac_func


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
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
jac_error(params, weights[, args, centered, ...])
jac_func(params, weights[, args, centered, ...])
momcond_mean(params) mean of moment conditions,
predict(params[, exog])
score(params, weights, **kwds)
score_cu(params[, epsilon, centered])