class_docstr: Inherits time series methods from TSM class.
  
  **** GENERALIZED AUTOREGRESSIVE SCORE (GAS) RANK MODELS ****
  
  Parameters
  ----------
  data : pd.DataFrame
      Field to specify the univariate time series data that will be used.
  
  team_1 : str (pd.DataFrame)        
      Specifies which column contains the home team
  
  team_2 : str (pd.DataFrame)        
      Specifies which column contains the away team
  
  family : GAS family object
      Which distribution to use, e.g. GASNormal()
  
  score_diff : str (pd.DataFrame)        
      Specifies which column contains the score
  
  gradient_only : Boolean (default: True)
      If true, will only use gradient rather than second-order terms
      to construct the modified score.
class_docstr_tok: ["Inherits","time","series","methods","from","TSM","class",".","*","*","*","*","GENERALIZED","AUTOREGRESSIVE","SCORE","(","GAS",")","RANK","MODELS","*","*","*","*","Parameters","--","--","--","--","--","data",":","pd.DataFrame","Field","to","specify","the","univariate","time","series","data","that","will","be","used",".","team_1",":","str","(","pd.DataFrame",")","Specifies","which","column","contains","the","home","team","team_2",":","str","(","pd.DataFrame",")","Specifies","which","column","contains","the","away","team","family",":","GAS","family","object","Which","distribution","to","use",",","e.g",".","GASNormal","(",")","score_diff",":","str","(","pd.DataFrame",")","Specifies","which","column","contains","the","score","gradient_only",":","Boolean","(","default",":","True",")","If","true",",","will","only","use","gradient","rather","than","second-order","terms","to","construct","the","modified","score","."]
code: def plot_abilities_two_components(
      self, team_ids, component_id=0, **kwargs
  ):
      import matplotlib.pyplot as plt
      import seaborn as sns
  
      figsize = kwargs.get("figsize", (15, 5))
  
      if component_id == 0:
          name_strings = self.team_strings
          name_dict = self.team_dict
      else:
          name_strings = self.team_strings_2
          name_dict = self.team_dict_2
  
      if self.latent_variables.estimated is False:
          raise Exception("No latent variables estimated!")
      else:
          plt.figure(figsize=figsize)
  
          if type(team_ids) == type([]):
              if type(team_ids[0]) == str:
                  for team_id in team_ids:
                      plt.plot(
                          np.trim_zeros(
                              self._model_abilities(
                                  self.latent_variables.get_z_values()
                              )[component_id].T[name_dict[team_id]],
                              trim="b",
                          ),
                          label=name_strings[name_dict[team_id]],
                      )
              else:
                  for team_id in team_ids:
                      plt.plot(
                          np.trim_zeros(
                              self._model_abilities(
                                  self.latent_variables.get_z_values()
                              )[component_id].T[team_id],
                              trim="b",
                          ),
                          label=name_strings[team_id],
                      )
          else:
              if type(team_ids) == str:
                  plt.plot(
                      np.trim_zeros(
                          self._model_abilities(
                              self.latent_variables.get_z_values()
                          )[component_id].T[name_dict[team_ids]],
                          trim="b",
                      ),
                      label=name_strings[name_dict[team_ids]],
                  )
              else:
                  plt.plot(
                      np.trim_zeros(
                          self._model_abilities(
                              self.latent_variables.get_z_values()
                          )[component_id].T[team_ids],
                          trim="b",
                      ),
                      label=name_strings[team_ids],
                  )
          plt.legend()
          plt.ylabel("Power")
          plt.xlabel("Games")
          plt.show()
  
imports: import sys
  import numpy
  import pandas
  import scipy.stats
  import scipy.special
  from ..None import families
  from ..None import tsm
  from ..None import data_check
  from .scores import *
  from .gas_core_recursions import gas_recursion
label_desc: Use image node_id 15 for calling the GASRank obj's underlying member method code with example usage: obj.plot_abilities_two_components(team_ids, component_id) without return types