class_docstr: Class to hold results from fitting an DynamicFactor model.
  
  Parameters
  ----------
  model : DynamicFactor instance
      The fitted model instance
  
  Attributes
  ----------
  specification : dictionary
      Dictionary including all attributes from the DynamicFactor model
      instance.
  coefficient_matrices_var : ndarray
      Array containing autoregressive lag polynomial coefficient matrices,
      ordered from lowest degree to highest.
  
  See Also
  --------
  statsmodels.tsa.statespace.kalman_filter.FilterResults
  statsmodels.tsa.statespace.mlemodel.MLEResults
class_docstr_tok: ["Class","to","hold","results","from","fitting","an","DynamicFactor","model",".","Parameters","--","--","--","--","--","model",":","DynamicFactor","instance","The","fitted","model","instance","Attributes","--","--","--","--","--","specification",":","dictionary","Dictionary","including","all","attributes","from","the","DynamicFactor","model","instance",".","coefficient_matrices_var",":","ndarray","Array","containing","autoregressive","lag","polynomial","coefficient","matrices",",","ordered","from","lowest","degree","to","highest",".","See","Also","--","--","--","--","statsmodels.tsa.statespace.kalman_filter.FilterResults","statsmodels.tsa.statespace.mlemodel.MLEResults"]
docstr: Plot the coefficients of determination
  
  Parameters
  ----------
  endog_labels : bool, optional
      Whether or not to label the endogenous variables along the x-axis
      of the plots. Default is to include labels if there are 5 or fewer
      endogenous variables.
  fig : Figure, optional
      If given, subplots are created in this figure instead of in a new
      figure. Note that the grid will be created in the provided
      figure using `fig.add_subplot()`.
  figsize : tuple, optional
      If a figure is created, this argument allows specifying a size.
      The tuple is (width, height).
  
  Notes
  -----
  
  Produces a `k_factors` x 1 plot grid. The `i`th plot shows a bar plot
  of the coefficients of determination associated with factor `i`. The
  endogenous variables are arranged along the x-axis according to their
  position in the `endog` array.
  
  See Also
  --------
  coefficients_of_determination
code: def plot_coefficients_of_determination(
      self, endog_labels=None, fig=None, figsize=None
  ):
      """
      Plot the coefficients of determination
  
      Parameters
      ----------
      endog_labels : bool, optional
          Whether or not to label the endogenous variables along the x-axis
          of the plots. Default is to include labels if there are 5 or fewer
          endogenous variables.
      fig : Figure, optional
          If given, subplots are created in this figure instead of in a new
          figure. Note that the grid will be created in the provided
          figure using `fig.add_subplot()`.
      figsize : tuple, optional
          If a figure is created, this argument allows specifying a size.
          The tuple is (width, height).
  
      Notes
      -----
  
      Produces a `k_factors` x 1 plot grid. The `i`th plot shows a bar plot
      of the coefficients of determination associated with factor `i`. The
      endogenous variables are arranged along the x-axis according to their
      position in the `endog` array.
  
      See Also
      --------
      coefficients_of_determination
      """
      from statsmodels.graphics.utils import _import_mpl, create_mpl_fig
  
      _import_mpl()
      fig = create_mpl_fig(fig, figsize)
  
      spec = self.specification
  
      # Should we label endogenous variables?
      if endog_labels is None:
          endog_labels = spec.k_endog <= 5
  
      # Plot the coefficients of determination
      coefficients_of_determination = self.coefficients_of_determination
      plot_idx = 1
      locations = np.arange(spec.k_endog)
      for coeffs in coefficients_of_determination.T:
          # Create the new axis
          ax = fig.add_subplot(spec.k_factors, 1, plot_idx)
          ax.set_ylim((0, 1))
          ax.set(title="Factor %i" % plot_idx, ylabel=r"$R^2$")
          bars = ax.bar(locations, coeffs)
  
          if endog_labels:
              width = bars[0].get_width()
              ax.xaxis.set_ticks(locations + width / 2)
              ax.xaxis.set_ticklabels(self.model.endog_names)
          else:
              ax.set(xlabel="Endogenous variables")
              ax.xaxis.set_ticks([])
  
          plot_idx += 1
  
      return fig
  
imports: import numpy
  from .mlemodel import MLEModel, MLEResults, MLEResultsWrapper
  from .tools import is_invertible, prepare_exog, constrain_stationary_univariate, unconstrain_stationary_univariate, constrain_stationary_multivariate, unconstrain_stationary_multivariate
  from statsmodels.multivariate.pca import PCA
  from statsmodels.regression.linear_model import OLS
  from statsmodels.tsa.vector_ar.var_model import VAR
  from statsmodels.tsa.arima.model import ARIMA
  from statsmodels.tools.tools import Bunch
  from statsmodels.tools.data import _is_using_pandas
  from statsmodels.tsa.tsatools import lagmat
  from statsmodels.tools.decorators import cache_readonly
  import statsmodels.base.wrapper
  from statsmodels.compat.pandas import Appender
label_desc: Use image node_id 4 for calling the DynamicFactorResults obj's underlying member method code with example usage: obj.plot_coefficients_of_determination(endog_labels, fig, figsize) and returns: fig