statsmodels.sandbox.regression.gmm.GMM.fit¶
method

GMM.
fit
(start_params=None, maxiter=10, inv_weights=None, weights_method='cov', wargs=(), has_optimal_weights=True, optim_method='bfgs', optim_args=None)[source]¶ Estimate parameters using GMM and return GMMResults
TODO: weight and covariance arguments still need to be made consistent with similar options in other models, see RegressionResult.get_robustcov_results
 Parameters
 start_paramsarray (optional)
starting value for parameters ub minimization. If None then fitstart method is called for the starting values.
 maxiterint or ‘cue’
Number of iterations in iterated GMM. The onestep estimate can be obtained with maxiter=0 or 1. If maxiter is large, then the iteration will stop either at maxiter or on convergence of the parameters (TODO: no options for convergence criteria yet.) If maxiter == ‘cue’, the the continuously updated GMM is calculated which updates the weight matrix during the minimization of the GMM objective function. The CUE estimation uses the onestep parameters as starting values.
 inv_weightsNone or ndarray
inverse of the starting weighting matrix. If inv_weights are not given then the method start_weights is used which depends on the subclass, for IV subclasses inv_weights = z’z where z are the instruments, otherwise an identity matrix is used.
 weights_methodstring, defines method for robust
Options here are similar to
statsmodels.stats.robust_covariance
default is heteroscedasticity consistent, HC0currently available methods are
cov : HC0, optionally with degrees of freedom correction
hac :
iid : untested, only for Z*u case, IV cases with u as error indep of Z
ac : not available yet
cluster : not connected yet
others from robust_covariance
 wargs`tuple or dict,
required and optional arguments for weights_method
centered : bool, indicates whether moments are centered for the calculation of the weights and covariance matrix, applies to all weight_methods
ddof : int degrees of freedom correction, applies currently only to cov
maxlag : int number of lags to include in HAC calculation , applies only to hac
others not yet, e.g. groups for cluster robust
 has_optimal_weights: If true, then the calculation of the covariance
matrix assumes that we have optimal GMM with \(W = S^{1}\). Default is True. TODO: do we want to have a different default after onestep?
 optim_methodstring, default is ‘bfgs’
numerical optimization method. Currently not all optimizers that are available in LikelihoodModels are connected.
 optim_argsdict
keyword arguments for the numerical optimizer.
 Returns
 resultsinstance of GMMResults
this is also attached as attribute results
Notes
Warning: Onestep estimation, maxiter either 0 or 1, still has problems (at least compared to Stata’s gmm). By default it uses a heteroscedasticity robust covariance matrix, but uses the assumption that the weight matrix is optimal. See options for cov_params in the results instance.
The same options as for weight matrix also apply to the calculation of the estimate of the covariance matrix of the parameter estimates.