class_docstr: HINT
  
  The Hierarchical Mixture Networks (HINT) are a highly modular framework that
  combines SoTA neural forecast architectures with a task-specialized mixture
  probability and advanced hierarchical reconciliation strategies. This powerful
  combination allows HINT to produce accurate and coherent probabilistic forecasts.
  
  HINT's incorporates a `TemporalNorm` module into any neural forecast architecture,
  the module normalizes inputs into the network's non-linearities operating range
  and recomposes its output's scales through a global skip connection, improving
  accuracy and training robustness. HINT ensures the forecast coherence via bootstrap
  sample reconciliation that restores the aggregation constraints into its base samples.
  
  Available reconciliations:<br>
  - BottomUp<br>
  - MinTraceOLS<br>
  - MinTraceWLS<br>
  - Identity
  
  **Parameters:**<br>
  `h`: int, Forecast horizon. <br>
  `model`: NeuralForecast model, instantiated model class from [architecture collection](https://nixtla.github.io/neuralforecast/models.pytorch.html).<br>
  `S`: np.ndarray, dumming matrix of size (`base`, `bottom`) see HierarchicalForecast's [aggregate method](https://nixtla.github.io/hierarchicalforecast/utils.html#aggregate).<br>
  `reconciliation`: str, HINT's reconciliation method from ['BottomUp', 'MinTraceOLS', 'MinTraceWLS'].<br>
  `alias`: str, optional,  Custom name of the model.<br>
class_docstr_tok: ["HINT","The","Hierarchical","Mixture","Networks","(","HINT",")","are","a","highly","modular","framework","that","combines","SoTA","neural","forecast","architectures","with","a","task-specialized","mixture","probability","and","advanced","hierarchical","reconciliation","strategies",".","This","powerful","combination","allows","HINT","to","produce","accurate","and","coherent","probabilistic","forecasts",".","HINT","'s","incorporates","a","`","TemporalNorm","`","module","into","any","neural","forecast","architecture",",","the","module","normalizes","inputs","into","the","network","'s","non-linearities","operating","range","and","recomposes","its","output","'s","scales","through","a","global","skip","connection",",","improving","accuracy","and","training","robustness",".","HINT","ensures","the","forecast","coherence","via","bootstrap","sample","reconciliation","that","restores","the","aggregation","constraints","into","its","base","samples",".","Available","reconciliations",":","<","br",">","-","BottomUp","<","br",">","-","MinTraceOLS","<","br",">","-","MinTraceWLS","<","br",">","-","Identity","*","*","Parameters",":","*","*","<","br",">","`","h","`",":","int",",","Forecast","horizon",".","<","br",">","`","model","`",":","NeuralForecast","model",",","instantiated","model","class","from","[","architecture","collection","]","(","https",":","\/\/nixtla.github.io\/neuralforecast\/models.pytorch.html",")",".","<","br",">","`","S","`",":","np.ndarray",",","dumming","matrix","of","size","(","`","base","`",",","`","bottom","`",")","see","HierarchicalForecast","'s","[","aggregate","method","]","(","https",":","\/\/nixtla.github.io\/hierarchicalforecast\/utils.html","#","aggregate",")",".","<","br",">","`","reconciliation","`",":","str",",","HINT","'s","reconciliation","method","from","[","'BottomUp","'",",","'MinTraceOLS","'",",","'MinTraceWLS","'","]",".","<","br",">","`","alias","`",":","str",",","optional",",","Custom","name","of","the","model.","<","br",">"]
docstr: HINT.fit
  
  HINT trains on the entire hierarchical dataset, by minimizing a composite log likelihood objective.
  HINT framework integrates `TemporalNorm` into the neural forecast architecture for a scale-decoupled
  optimization that robustifies cross-learning the hierachy's series scales.
  
  **Parameters:**<br>
  `dataset`: NeuralForecast's `TimeSeriesDataset` see details [here](https://nixtla.github.io/neuralforecast/tsdataset.html)<br>
  `val_size`: int, size of the validation set, (default 0).<br>
  `test_size`: int, size of the test set, (default 0).<br>
  `random_seed`: int, random seed for the prediction.<br>
  
  **Returns:**<br>
  `self`: A fitted base `NeuralForecast` model.<br>
docstr_tok: ["HINT.fit","HINT","trains","on","the","entire","hierarchical","dataset",",","by","minimizing","a","composite","log","likelihood","objective",".","HINT","framework","integrates","`","TemporalNorm","`","into","the","neural","forecast","architecture","for","a","scale-decoupled","optimization","that","robustifies","cross-learning","the","hierachy","'s","series","scales",".","*","*","Parameters",":","*","*","<","br",">","`","dataset","`",":","NeuralForecast","'s","`","TimeSeriesDataset","`","see","details","[","here","]","(","https",":","\/\/nixtla.github.io\/neuralforecast\/tsdataset.html",")","<","br",">","`","val_size","`",":","int",",","size","of","the","validation","set",",","(","default","0",")",".","<","br",">","`","test_size","`",":","int",",","size","of","the","test","set",",","(","default","0",")",".","<","br",">","`","random_seed","`",":","int",",","random","seed","for","the","prediction.","<","br",">","*","*","Returns",":","*","*","<","br",">","`","self","`",":","A","fitted","base","`","NeuralForecast","`","model.","<","br",">"]
code: def fit(self, dataset, val_size=0, test_size=0, random_seed=None):
      """HINT.fit
  
      HINT trains on the entire hierarchical dataset, by minimizing a composite log likelihood objective.
      HINT framework integrates `TemporalNorm` into the neural forecast architecture for a scale-decoupled
      optimization that robustifies cross-learning the hierachy's series scales.
  
      **Parameters:**<br>
      `dataset`: NeuralForecast's `TimeSeriesDataset` see details [here](https://nixtla.github.io/neuralforecast/tsdataset.html)<br>
      `val_size`: int, size of the validation set, (default 0).<br>
      `test_size`: int, size of the test set, (default 0).<br>
      `random_seed`: int, random seed for the prediction.<br>
  
      **Returns:**<br>
      `self`: A fitted base `NeuralForecast` model.<br>
      """
      self.model.fit(
          dataset=dataset,
          val_size=val_size,
          test_size=test_size,
          random_seed=random_seed,
      )
  
      # Added attributes for compatibility with NeuralForecast core
      self.futr_exog_list = self.model.futr_exog_list
      self.hist_exog_list = self.model.hist_exog_list
      self.stat_exog_list = self.model.stat_exog_list
  
file_path: neuralforecast/neuralforecast/models/hint.py
imports: from typing import Optional
  import numpy
  import torch
label_desc: Use image node_id 3 for calling the HINT obj's underlying member method code with example usage: obj.fit(dataset, val_size, test_size, random_seed) without return types