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 __init__(
      self,
      data,
      team_1,
      team_2,
      family,
      score_diff,
      gradient_only=False,
  ):
      # Initialize TSM object
      super(GASRank, self).__init__("GASRank")
  
      self.gradient_only = gradient_only
      self.z_no = 2
      self.max_lag = 0
      self._z_hide = (
          0  # Whether to cutoff variance latent variables from results
      )
      self.supported_methods = ["MLE", "PML", "Laplace", "M-H", "BBVI"]
      self.default_method = "MLE"
      self.multivariate_model = False
  
      self.home_id, self.away_id = self._create_ids(
          data[team_1].values, data[team_2].values
      )
      self.team_strings = sorted(
          list(set(np.append(data[team_1].values, data[team_2].values)))
      )
      self.team_dict = dict(
          zip(self.team_strings, range(len(self.team_strings)))
      )
      self.home_count, self.away_count = self._match_count()
      self.max_team = max(np.max(self.home_id), np.max(self.away_id))
      self.original_dataframe = data
      (
          self.data,
          self.data_name,
          self.is_pandas,
          self.index,
      ) = dc.data_check(data, score_diff)
      self.data = self.data.astype(np.float)
      self.data_original = self.data.copy()
      self.data_length = self.data.shape[0]
  
      self._create_latent_variables()
  
      self.family = family
  
      (
          self.model_name2,
          self.link,
          self.scale,
          self.shape,
          self.skewness,
          self.mean_transform,
          _,
      ) = self.family.setup()
      self.model_name = self.model_name2 + "GAS Rank "
  
      for no, i in enumerate(self.family.build_latent_variables()):
          self.latent_variables.add_z(i[0], i[1], i[2])
          self.latent_variables.z_list[2 + no].start = i[3]
      self.latent_variables.z_list[0].start = self.mean_transform(
          np.mean(self.data)
      )
  
      self._model = self._model_one_components
      self._model_abilities = self._model_abilities_one_components
      self.plot_abilities = self.plot_abilities_one_components
      self.predict = self.predict_one_component
  
      self.family_z_no = len(self.family.build_latent_variables())
      self.z_no = len(self.latent_variables.z_list)
  
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 1 to create a new GASRank object from inherited base classes: tsm with example: obj = GASRank(data, team_1, team_2, family, score_diff, gradient_only)