class_docstr: Inherits time series methods from TSM class.
  
  **** VECTOR AUTOREGRESSION (VAR) MODELS ****
  
  Parameters
  ----------
  data : pd.DataFrame or np.array
      Field to specify the time series data that will be used.
  
  lags : int
      Field to specify how many lag terms the model will have. 
  
  integ : int (default : 0)
      Specifies how many time to difference the dependent variables.
  
  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.
  
  use_ols_covariance : Boolean
      If true use OLS covariance; if false use estimated covariance
class_docstr_tok: ["Inherits","time","series","methods","from","TSM","class",".","*","*","*","*","VECTOR","AUTOREGRESSION","(","VAR",")","MODELS","*","*","*","*","Parameters","--","--","--","--","--","data",":","pd.DataFrame","or","np.array","Field","to","specify","the","time","series","data","that","will","be","used",".","lags",":","int","Field","to","specify","how","many","lag","terms","the","model","will","have",".","integ",":","int","(","default",":","0",")","Specifies","how","many","time","to","difference","the","dependent","variables",".","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",".","use_ols_covariance",":","Boolean","If","true","use","OLS","covariance",";","if","false","use","estimated","covariance"]
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 varaibles estimated!")
      else:
          # Retrieve data, dates and (transformed) latent variables
          mu, Y = self._model(self.latent_variables.get_z_values())
          date_index = self.shift_dates(h)
          t_params = self.transform_z()
  
          # Expectation
          exps = self._forecast_mean(h, t_params, Y, None, None)
  
          # Simulation
          sim_vector = np.array(
              [np.zeros([15000, h]) for i in range(self.ylen)]
          )
          for it in range(0, 15000):
              exps_sim = self._forecast_mean(
                  h, t_params, Y, "Cov", None
              )
              for variable in range(self.ylen):
                  sim_vector[variable][it, :] = exps_sim[variable][-h:]
  
          for variable in range(0, exps.shape[0]):
              test = np.transpose(sim_vector[variable])
              (
                  error_bars,
                  forecasted_values,
                  plot_values,
                  plot_index,
              ) = self._summarize_simulations(
                  exps[variable], test, 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 :],
                          forecasted_values - pre,
                          forecasted_values + pre,
                          alpha=alpha[count],
                      )
              plt.plot(plot_index, plot_values)
              plt.title("Forecast for " + self.data_name[variable])
              plt.xlabel("Time")
              plt.ylabel(self.data_name[variable])
              plt.show()
  
imports: import sys
  import numpy
  import pandas
  import scipy.stats
  import datetime
  from ..None import families
  from ..None import output
  from ..None import tests
  from ..None import tsm
  from ..None import data_check
  from .var_recursions import create_design_matrix, custom_covariance_matrix, var_likelihood
label_desc: Use image node_id 15 for calling the VAR obj's underlying member method code with example usage: obj.plot_predict(h, past_values, intervals) without return types