statsmodels.sandbox.regression.gmm.GMM.fit

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_params (array (optional)) – starting value for parameters ub minimization. If None then fitstart method is called for the starting values.
  • maxiter (int 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_weights (None 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_method (string, defines method for robust) –

    Options here are similar to statsmodels.stats.robust_covariance default is heteroscedasticity consistent, HC0

    currently 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_method (string, default is 'bfgs') – numerical optimization method. Currently not all optimizers that are available in LikelihoodModels are connected.
  • optim_args (dict) – keyword arguments for the numerical optimizer.
Returns:

results – this is also attached as attribute results

Return type:

instance of GMMResults

Notes

Warning: One-step 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.