class_docstr: Class to build a VAR model
      
class_docstr_tok: ["Class","to","build","a","VAR","model"]
docstr: Automatically build a VAR Model
  
  Since it automatically builds a VAR model, you need to give it a Criteria (scoring) to optimize
  on. You can give it any of the following metrics as scoring options:
      AIC, BIC, Deviance, Log-likelihood.
  You can give the highest order values for p and q. Default is set to 3 for both.
docstr_tok: ["Automatically","build","a","VAR","Model","Since","it","automatically","builds","a","VAR","model",",","you","need","to","give","it","a","Criteria","(","scoring",")","to","optimize","on",".","You","can","give","it","any","of","the","following","metrics","as","scoring","options",":","AIC",",","BIC",",","Deviance",",","Log-likelihood",".","You","can","give","the","highest","order","values","for","p","and","q",".","Default","is","set","to","3","for","both","."]
code: def __init__(
      self, scoring, forecast_period=2, p_max=3, q_max=3, verbose=0
  ):
      """
      Automatically build a VAR Model
  
      Since it automatically builds a VAR model, you need to give it a Criteria (scoring) to optimize
      on. You can give it any of the following metrics as scoring options:
          AIC, BIC, Deviance, Log-likelihood.
      You can give the highest order values for p and q. Default is set to 3 for both.
      """
      super().__init__(
          scoring=scoring,
          forecast_period=forecast_period,
          verbose=verbose,
      )
      self.p_max = p_max
      self.q_max = q_max
      self.best_p = None
      self.best_d = None
      self.best_q = None
  
imports: import pdb
  from typing import Optional
  import warnings
  import itertools
  import operator
  import copy
  import numpy
  import pandas
  from pandas.core.generic import NDFrame
  import dask
  import dask.dataframe
  import matplotlib.pyplot
  import seaborn
  from statsmodels.tsa.statespace.varmax import VARMAX
  from sklearn.model_selection import TimeSeriesSplit
  from ...utils import print_dynamic_rmse
  from ...models.ar_based.param_finder import find_lowest_pq
  from ..build_base import BuildBase
label_desc: Use image node_id 1 to create a new BuildVAR object from inherited base classes: BuildBase with example: obj = BuildVAR(scoring, forecast_period, p_max, q_max, verbose)