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 cov_params_all(self):
      m_deriv = np.zeros((self.k_moments_all, self.k_moments_all))
      m_deriv[: self.k_params, : self.k_params] = self.score_deriv
      m_deriv[self.k_params :, : self.k_params] = self.moments_deriv
      m_deriv[self.k_params :, self.k_params :] = np.eye(
          self.k_moments_test
      )
  
      m_deriv_inv = np.linalg.inv(m_deriv)
      cov = m_deriv_inv.dot(
          self.cov_moments_all.dot(m_deriv_inv.T)
      )  # K_inv J K_inv
      return cov
  
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 2 for calling the CMTTauchen obj's underlying member method code with example usage: obj.cov_params_all() and returns: cov