class_docstr: Aggregation Algorithm
  
  Parameters
  ----------
  learning_rate : float
      Learning rate for the Aggregation algorithm
  
  loss_type : string
      'absolute' or 'squared'
  
  match_window : int
      (default: 10) how many of the observations at the end of a model time 
      series to assess whether the data being used in each model is the same
code: def __init__(
      self, learning_rate=1.0, loss_type="absolute", match_window=10
  ):
      self.learning_rate = learning_rate
      self.data = []
      self.model_list = []
      self.model_names = []
      self.match_window = match_window
      self.model_predictions_is = []
      self.model_predictions = []
  
      if loss_type == "absolute":
          self.loss_type = self.absolute_loss
          self.loss_name = "Absolute Loss"
      elif loss_type == "squared":
          self.loss_type = self.squared_loss
          self.loss_name = "Squared Loss"
      else:
          raise ValueError("Unidentified loss type entered!")
  
      self.supported_models = [
          "EGARCH",
          "EGARCHM",
          "EGARCHMReg",
          "GARCH",
          "LMEGARCH",
          "LMSEGARCH",
          "SEGARCH",
          "SEGARCHM",
          "GAS",
          "ARIMA",
          "ARIMAX",
          "GASLLEV",
          "GASLLT",
          "GASReg",
          "GASX",
          "GPNARX",
          "LLEV",
          "LLT",
          "DynReg",
      ]
  
file_path: pyflux/pyflux/ensembles/mixture_of_experts.py
imports: import pandas
  import numpy
label_desc: Use image node_id 1 to create a new Aggregate object  with example: obj = Aggregate(learning_rate, loss_type, match_window)