class_docstr: generic moment tests or conditional moment tests for Quasi-MLE
  
  This is a generic class based on Tauchen 1985
  
  The main method is `chisquare` which returns the result of the
  conditional moment test.
  
  Warning: name of class and of methods will likely be changed
  
  Parameters
  ----------
  score : ndarray, 1-D
      moment condition used in estimation, score of log-likelihood function
  score_deriv : ndarray
      derivative of score function with respect to the parameters that are
      estimated. This is the Hessian in quasi-maximum likelihood
  moments : ndarray, 1-D
      moments that are tested to be zero. They do not need to be derived
      from a likelihood function.
  moments_deriv : ndarray
      derivative of the moment function with respect to the parameters that
      are estimated
  cov_moments : ndarray
      An estimate for the joint (expected) covariance of score and test
      moments. This can be a heteroscedasticity or correlation robust
      covariance estimate, i.e. the inner part of a sandwich covariance.
code: def __init__(
      self, score, score_deriv, moments, moments_deriv, cov_moments
  ):
      self.score = score
      self.score_deriv = score_deriv
      self.moments = moments
      self.moments_deriv = moments_deriv
      self.cov_moments_all = cov_moments
  
      self.k_moments_test = moments.shape[-1]
      self.k_params = score.shape[-1]
      self.k_moments_all = self.k_params + self.k_moments_test
  
imports: import warnings
  import numpy
  from scipy import stats
  from statsmodels.tools.decorators import cache_readonly
  from statsmodels.regression.linear_model import OLS
label_desc: Use image node_id 1 to create a new CMTTauchen object  with example: obj = CMTTauchen(score, score_deriv, moments, moments_deriv, cov_moments)