class_docstr: Inherits time series methods from TSM class.
  
  **** GENERALIZED AUTOREGRESSIVE SCORE LOCAL LINEAR TREND MODELS ****
  
  Parameters
  ----------
  data : pd.DataFrame or np.array
      Field to specify the univariate time series data that will be used.
  
  integ : int (default : 0)
      Specifies how many time to difference the time series.
  
  target : str (pd.DataFrame) or int (np.array)
      Specifies which column name or array index to use. By default, first
      column/array will be selected as the dependent variable.
  
  dist : str
      Which distribution to use
docstr: Simulates a h-step ahead mean prediction
  
  Parameters
  ----------
  theta : np.array
      The past predicted values
  
  theta_t : np.array
      The past local linear trend
  
  Y : np.array
      The past data
  
  scores : np.array
      The past scores
  
  h : int
      How many steps ahead for the prediction
  
  t_params : np.array
      A vector of (transformed) latent variables
  
  simulations : int
      How many simulations to perform
  
  Returns
  ----------
  Matrix of simulations
docstr_tok: ["Simulates","a","h-step","ahead","mean","prediction","Parameters","--","--","--","--","--","theta",":","np.array","The","past","predicted","values","theta_t",":","np.array","The","past","local","linear","trend","Y",":","np.array","The","past","data","scores",":","np.array","The","past","scores","h",":","int","How","many","steps","ahead","for","the","prediction","t_params",":","np.array","A","vector","of","(","transformed",")","latent","variables","simulations",":","int","How","many","simulations","to","perform","Returns","--","--","--","--","--","Matrix","of","simulations"]
code: def _sim_prediction(
      self, theta, theta_t, Y, scores, h, t_params, simulations
  ):
      """Simulates a h-step ahead mean prediction
  
      Parameters
      ----------
      theta : np.array
          The past predicted values
  
      theta_t : np.array
          The past local linear trend
  
      Y : np.array
          The past data
  
      scores : np.array
          The past scores
  
      h : int
          How many steps ahead for the prediction
  
      t_params : np.array
          A vector of (transformed) latent variables
  
      simulations : int
          How many simulations to perform
  
      Returns
      ----------
      Matrix of simulations
      """
  
      (
          model_scale,
          model_shape,
          model_skewness,
      ) = self._get_scale_and_shape(t_params)
  
      sim_vector = np.zeros([simulations, h])
  
      for n in range(0, simulations):
          Y_exp = Y.copy()
          theta_exp = theta.copy()
          theta_t_exp = theta_t.copy()
          scores_exp = scores.copy()
  
          # (TODO: vectorize the inner construction here)
          for t in range(0, h):
              new_value1 = (
                  theta_t_exp[-1]
                  + theta_exp[-1]
                  + t_params[0] * scores_exp[-1]
              )
              new_value2 = (
                  theta_t_exp[-1] + t_params[1] * scores_exp[-1]
              )
  
              if self.model_name2 == "Exponential":
                  rnd_value = self.family.draw_variable(
                      1.0 / self.link(new_value1),
                      model_scale,
                      model_shape,
                      model_skewness,
                      1,
                  )[0]
              else:
                  rnd_value = self.family.draw_variable(
                      self.link(new_value1),
                      model_scale,
                      model_shape,
                      model_skewness,
                      1,
                  )[0]
  
              Y_exp = np.append(Y_exp, [rnd_value])
              theta_exp = np.append(
                  theta_exp, [new_value1]
              )  # For indexing consistency
              theta_t_exp = np.append(theta_t_exp, [new_value2])
              scores_exp = np.append(
                  scores_exp, scores[np.random.randint(scores.shape[0])]
              )  # expectation of score is zero
  
          sim_vector[n] = Y_exp[-h:]
  
      return np.transpose(sim_vector)
  
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 .gas_core_recursions import gas_llt_recursion
label_desc: Use image node_id 12 for calling the GASLLT obj's underlying member method code with example usage: obj._sim_prediction(theta, theta_t, Y, scores, h, t_params, simulations) and returns: np