class_docstr: Inherits time series methods from TSM class.
  
  **** GENERALIZED AUTOREGRESSIVE SCORE LOCAL LEVEL 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: Makes forecast with the estimated model
  
  Parameters
  ----------
  h : int (default : 5)
      How many steps ahead would you like to forecast?
  
  past_values : int (default : 20)
      How many past observations to show on the forecast graph?
  
  intervals : Boolean
      Would you like to show prediction intervals for the forecast?
  
  Returns
  ----------
  - Plot of the forecast
docstr_tok: ["Makes","forecast","with","the","estimated","model","Parameters","--","--","--","--","--","h",":","int","(","default",":","5",")","How","many","steps","ahead","would","you","like","to","forecast","?","past_values",":","int","(","default",":","20",")","How","many","past","observations","to","show","on","the","forecast","graph","?","intervals",":","Boolean","Would","you","like","to","show","prediction","intervals","for","the","forecast","?","Returns","--","--","--","--","--","-","Plot","of","the","forecast"]
code: def plot_predict(self, h=5, past_values=20, intervals=True, **kwargs):
      """Makes forecast with the estimated model
  
      Parameters
      ----------
      h : int (default : 5)
          How many steps ahead would you like to forecast?
  
      past_values : int (default : 20)
          How many past observations to show on the forecast graph?
  
      intervals : Boolean
          Would you like to show prediction intervals for the forecast?
  
      Returns
      ----------
      - Plot of the forecast
      """
      import matplotlib.pyplot as plt
      import seaborn as sns
  
      figsize = kwargs.get("figsize", (10, 7))
  
      if self.latent_variables.estimated is False:
          raise Exception("No latent variables estimated!")
      else:
          theta, Y, scores = self._model(
              self.latent_variables.get_z_values()
          )
          date_index = self.shift_dates(h)
  
          if self.latent_variables.estimation_method in ["M-H"]:
              sim_vector = self._sim_prediction_bayes(h, 15000)
              error_bars = []
  
              for pre in range(5, 100, 5):
                  error_bars.append(
                      np.insert(
                          [np.percentile(i, pre) for i in sim_vector],
                          0,
                          Y[-1],
                      )
                  )
  
              forecasted_values = np.insert(
                  [np.mean(i) for i in sim_vector], 0, Y[-1]
              )
              plot_values = np.append(
                  Y[-1 - past_values : -2], forecasted_values
              )
              plot_index = date_index[-h - past_values :]
  
          else:
              t_z = self.transform_z()
              mean_values = self._mean_prediction(
                  theta, Y, scores, h, t_z
              )
  
              if self.model_name2 == "Skewt":
                  (
                      model_scale,
                      model_shape,
                      model_skewness,
                  ) = self._get_scale_and_shape(t_z)
                  m1 = (
                      np.sqrt(model_shape)
                      * sp.gamma((model_shape - 1.0) / 2.0)
                  ) / (np.sqrt(np.pi) * sp.gamma(model_shape / 2.0))
                  forecasted_values = (
                      mean_values[-h:]
                      + (model_skewness - (1.0 / model_skewness))
                      * model_scale
                      * m1
                  )
              else:
                  forecasted_values = mean_values[-h:]
  
              if intervals is True:
                  sim_values = self._sim_prediction(
                      theta, Y, scores, h, t_z, 15000
                  )
              else:
                  sim_values = self._sim_prediction(
                      theta, Y, scores, h, t_z, 2
                  )
  
              (
                  error_bars,
                  forecasted_values,
                  plot_values,
                  plot_index,
              ) = self._summarize_simulations(
                  mean_values, sim_values, date_index, h, past_values
              )
  
          plt.figure(figsize=figsize)
          if intervals == True:
              alpha = [0.15 * i / float(100) for i in range(50, 12, -2)]
              for count, pre in enumerate(error_bars):
                  plt.fill_between(
                      date_index[-h - 1 :],
                      error_bars[count],
                      error_bars[-count - 1],
                      alpha=alpha[count],
                  )
          plt.plot(plot_index, plot_values)
          plt.title("Forecast for " + self.data_name)
          plt.xlabel("Time")
          plt.ylabel(self.data_name)
          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 .gas_core_recursions import gas_llev_recursion
label_desc: Use image node_id 19 for calling the GASLLEV obj's underlying member method code with example usage: obj.plot_predict(h, past_values, intervals) without return types