class_docstr: Factor results class
  
  For result summary, scree/loading plots and factor rotations
  
  Parameters
  ----------
  factor : Factor
      Fitted Factor class
  
  Attributes
  ----------
  uniqueness : ndarray
      The uniqueness (variance of uncorrelated errors unique to
      each variable)
  communality : ndarray
      1 - uniqueness
  loadings : ndarray
      Each column is the loading vector for one factor
  loadings_no_rot : ndarray
      Unrotated loadings, not available under maximum likelihood
      analysis.
  eigenvals : ndarray
      The eigenvalues for a factor analysis obtained using
      principal components; not available under ML estimation.
  n_comp : int
      Number of components (factors)
  nbs : int
      Number of observations
  fa_method : str
      The method used to obtain the decomposition, either 'pa' for
      'principal axes' or 'ml' for maximum likelihood.
  df : int
      Degrees of freedom of the factor model.
  
  Notes
  -----
  Under ML estimation, the default rotation (used for `loadings`) is
  condition IC3 of Bai and Li (2012).  Under this rotation, the
  factor scores are iid and standardized.  If `G` is the canonical
  loadings and `U` is the vector of uniquenesses, then the
  covariance matrix implied by the factor analysis is `GG' +
  diag(U)`.
  
  Status: experimental, Some refactoring will be necessary when new
      features are added.
class_docstr_tok: ["Factor","results","class","For","result","summary",",","scree\/loading","plots","and","factor","rotations","Parameters","--","--","--","--","--","factor",":","Factor","Fitted","Factor","class","Attributes","--","--","--","--","--","uniqueness",":","ndarray","The","uniqueness","(","variance","of","uncorrelated","errors","unique","to","each","variable",")","communality",":","ndarray","1","-","uniqueness","loadings",":","ndarray","Each","column","is","the","loading","vector","for","one","factor","loadings_no_rot",":","ndarray","Unrotated","loadings",",","not","available","under","maximum","likelihood","analysis",".","eigenvals",":","ndarray","The","eigenvalues","for","a","factor","analysis","obtained","using","principal","components",";","not","available","under","ML","estimation",".","n_comp",":","int","Number","of","components","(","factors",")","nbs",":","int","Number","of","observations","fa_method",":","str","The","method","used","to","obtain","the","decomposition",",","either","'pa","'","for","'principal","axes","'","or","'ml","'","for","maximum","likelihood",".","df",":","int","Degrees","of","freedom","of","the","factor","model",".","Notes","--","--","-","Under","ML","estimation",",","the","default","rotation","(","used","for","`","loadings","`",")","is","condition","IC3","of","Bai","and","Li","(","2012",")",".","Under","this","rotation",",","the","factor","scores","are","iid","and","standardized",".","If","`","G","`","is","the","canonical","loadings","and","`","U","`","is","the","vector","of","uniquenesses",",","then","the","covariance","matrix","implied","by","the","factor","analysis","is","`","GG","'","+","diag","(","U",")","`",".","Status",":","experimental",",","Some","refactoring","will","be","necessary","when","new","features","are","added","."]
docstr: Compute factor scoring coefficient matrix
  
  The coefficient matrix is not cached.
  
  Parameters
  ----------
  method : 'bartlett' or 'regression'
      Method to use for factor scoring.
      'regression' can be abbreviated to `reg`
  
  Returns
  -------
  coeff_matrix : ndarray
      matrix s to compute factors f from a standardized endog ys.
      ``f = ys dot s``
  
  Notes
  -----
  The `regression` method follows the Stata definition.
  Method bartlett and regression are verified against Stats.
  Two unofficial methods, 'ols' and 'gls', produce similar factor scores
  but are not verified.
  
  See Also
  --------
  statsmodels.multivariate.factor.FactorResults.factor_scoring
docstr_tok: ["Compute","factor","scoring","coefficient","matrix","The","coefficient","matrix","is","not","cached",".","Parameters","--","--","--","--","--","method",":","'bartlett","'","or","'regression'","Method","to","use","for","factor","scoring",".","'regression","'","can","be","abbreviated","to","`","reg","`","Returns","--","--","--","-","coeff_matrix",":","ndarray","matrix","s","to","compute","factors","f","from","a","standardized","endog","ys",".","``","f","=","ys","dot","s","``","Notes","--","--","-","The","`","regression","`","method","follows","the","Stata","definition",".","Method","bartlett","and","regression","are","verified","against","Stats",".","Two","unofficial","methods",",","'ols","'","and","'gls","'",",","produce","similar","factor","scores","but","are","not","verified",".","See","Also","--","--","--","--","statsmodels.multivariate.factor.FactorResults.factor_scoring"]
code: def factor_score_params(self, method="bartlett"):
      """
      Compute factor scoring coefficient matrix
  
      The coefficient matrix is not cached.
  
      Parameters
      ----------
      method : 'bartlett' or 'regression'
          Method to use for factor scoring.
          'regression' can be abbreviated to `reg`
  
      Returns
      -------
      coeff_matrix : ndarray
          matrix s to compute factors f from a standardized endog ys.
          ``f = ys dot s``
  
      Notes
      -----
      The `regression` method follows the Stata definition.
      Method bartlett and regression are verified against Stats.
      Two unofficial methods, 'ols' and 'gls', produce similar factor scores
      but are not verified.
  
      See Also
      --------
      statsmodels.multivariate.factor.FactorResults.factor_scoring
      """
      L = self.loadings
      T = self.rotation_matrix.T
      # TODO: check row versus column convention for T
      uni = 1 - self.communality  # self.uniqueness
  
      if method == "bartlett":
          s_mat = (
              np.linalg.inv(L.T.dot(L / (uni[:, None])))
              .dot(L.T / uni)
              .T
          )
      elif method.startswith("reg"):
          corr = self.model.corr
          corr_f = self._corr_factors()
          # if orthogonal then corr_f is just eye
          s_mat = corr_f.dot(L.T.dot(np.linalg.inv(corr))).T
      elif method == "ols":
          # not verified
          corr = self.model.corr
          corr_f = self._corr_factors()
          s_mat = corr_f.dot(np.linalg.pinv(L)).T
      elif method == "gls":
          # not verified
          # s_mat = np.linalg.inv(1*np.eye(L.shape[1]) + L.T.dot(L/(uni[:,None])))
          corr = self.model.corr
          corr_f = self._corr_factors()
          s_mat = np.linalg.inv(
              np.linalg.inv(corr_f) + L.T.dot(L / (uni[:, None]))
          )
          s_mat = s_mat.dot(L.T / uni).T
      else:
          raise ValueError(
              'method not available, use "bartlett ' + 'or "regression"'
          )
      return s_mat
  
imports: import warnings
  import numpy
  from numpy.linalg import eigh, inv, norm, matrix_rank
  import pandas
  from scipy.optimize import minimize
  from statsmodels.tools.decorators import cache_readonly
  from statsmodels.base.model import Model
  from statsmodels.iolib import summary2
  from statsmodels.graphics.utils import _import_mpl
  from .factor_rotation import rotate_factors, promax
label_desc: Use image node_id 5 for calling the FactorResults obj's underlying member method code with example usage: obj.factor_score_params(method) and returns: s_mat