class_docstr: Class to hold results from fitting a state space model.
  
  Parameters
  ----------
  model : MLEModel instance
      The fitted model instance
  params : ndarray
      Fitted parameters
  
  Attributes
  ----------
  model : Model instance
      A reference to the model that was fit.
  nobs : float
      The number of observations used to fit the model.
  params : ndarray
      The parameters of the model.
class_docstr_tok: ["Class","to","hold","results","from","fitting","a","state","space","model",".","Parameters","--","--","--","--","--","model",":","MLEModel","instance","The","fitted","model","instance","params",":","ndarray","Fitted","parameters","Attributes","--","--","--","--","--","model",":","Model","instance","A","reference","to","the","model","that","was","fit",".","nobs",":","float","The","number","of","observations","used","to","fit","the","model",".","params",":","ndarray","The","parameters","of","the","model","."]
code: def _cov_params_approx(
      self, approx_complex_step=True, approx_centered=False
  ):
      evaluated_hessian = self.nobs_effective * self.model.hessian(
          params=self.params,
          transformed=True,
          includes_fixed=True,
          method="approx",
          approx_complex_step=approx_complex_step,
          approx_centered=approx_centered,
      )
      # TODO: Case with "not approx_complex_step" is not hit in
      # tests as of 2017-05-19
  
      if len(self.fixed_params) > 0:
          mask = np.ix_(
              self._free_params_index, self._free_params_index
          )
          if len(self.fixed_params) < self.k_params:
              (tmp, singular_values) = pinv_extended(
                  evaluated_hessian[mask]
              )
          else:
              tmp, singular_values = np.nan, [np.nan]
          neg_cov = np.zeros_like(evaluated_hessian) * np.nan
          neg_cov[mask] = tmp
      else:
          (neg_cov, singular_values) = pinv_extended(evaluated_hessian)
  
      self.model.update(
          self.params, transformed=True, includes_fixed=True
      )
      if self._rank is None:
          self._rank = np.linalg.matrix_rank(np.diag(singular_values))
      return -neg_cov
  
imports: from collections import OrderedDict
  import contextlib
  import warnings
  import numpy
  import pandas
  from scipy.stats import norm
  from statsmodels.base.data import PandasData
  from statsmodels.tools.decorators import cache_readonly
  from statsmodels.tools.eval_measures import aic, aicc, bic, hqic
  from statsmodels.tools.sm_exceptions import PrecisionWarning
  from statsmodels.tools.numdiff import _get_epsilon, approx_fprime, approx_fprime_cs, approx_hess_cs
  from statsmodels.tools.tools import pinv_extended
  import statsmodels.tsa.base.tsa_model
  from statsmodels.tsa.statespace.tools import _safe_cond
label_desc: Use image node_id 17 for calling the StateSpaceMLEResults obj's underlying member method code with example usage: obj._cov_params_approx(approx_complex_step, approx_centered) and returns: unknown