--- title: M4 Ensemble keywords: fastai sidebar: home_sidebar nb_path: "nbs/models_nbeats__ensemble.ipynb" ---
{% raw %}
{% endraw %} {% raw %}
# from google.colab import drive
# drive.mount('/content/drive')
# os.chdir('./drive/MyDrive/nixtlats')
# print(os.getcwd())
{% endraw %} {% raw %}
# !pip install torchinfo
# !pip install fastcore
# !pip install s3fs
# !pip install patool
# !pip install --upgrade pandas==1.2.4
# !pip install --upgrade requests==2.25.1
{% endraw %} {% raw %}
{% endraw %} {% raw %}
{% endraw %} {% raw %}

class Yearly[source]

Yearly()

Yearly()

{% endraw %} {% raw %}

class Quarterly[source]

Quarterly()

Quarterly()

{% endraw %} {% raw %}

class Monthly[source]

Monthly()

Monthly()

{% endraw %} {% raw %}
{% endraw %} {% raw %}

print_models_list(frequencies:list, table_width:int)

Print out models for given frequencies.

Parameters

frequencies: list List of given frequencies for every model. table_width: int Number of character for each line in table.

{% endraw %} {% raw %}
{% endraw %}

Loaders

{% raw %}

create_loaders_M4[source]

create_loaders_M4(Y_df:DataFrame, S_df:DataFrame, hparams:dict, num_workers:int)

Creates loaders for M4 dataset.

Parameters

Y_df: pd.DataFrame Target time series with columns ['unique_id', 'ds', 'y']. S_df: pd.DataFrame Static exogenous variables with columns ['unique_id', 'ds'] and static variables. hparams: Dictionary Hyperparameters for model. num_workers: int How many subprocesses to use for data loading.

Returns

train_loader: TimeSeriesLoader Time series loader for train dataset. valid_loader: TimeSeriesLoader Time series loader for validation dataset.

{% endraw %} {% raw %}
{% endraw %}

NBEATS Ensemble

{% raw %}

NBEATS_instantiate[source]

NBEATS_instantiate(hparams:dict)

Creates NBEATS model with given hyperparameters.

Parameters

hparams: Dictionary Hyperparameters for NBEATS model.

Returns

model: NBEATS NBEATS model object.

{% endraw %} {% raw %}
{% endraw %} {% raw %}

show_tensorboard[source]

show_tensorboard(logs_path:str, model_path:str)

Opens tensorboard.

Parameters

logs_path: str Path to log directory. model_path: str Path to models directory.

{% endraw %} {% raw %}
{% endraw %} {% raw %}

class NBEATSEnsemble[source]

NBEATSEnsemble(use_gpus:bool=False, gpus:int=None, auto_select_gpus:bool=False)

{% endraw %} {% raw %}
{% endraw %}

Ensemble Experiments

{% raw %}
# val_freq_steps = 2
# tensorboard_logs = True
# NUM_WORKERS = 4

# frequencies = [Yearly]
# print_models_list(frequencies=frequencies, table_width=75)
{% endraw %} {% raw %}
#                           gpus=-1 if torch.cuda.is_available() else None, 
#                           auto_select_gpus=True if torch.cuda.is_available() else False)

# forecasts = ensemble.fit(frequencies=frequencies,
#                          loader=TimeSeriesLoader,  
#                          val_freq_steps=val_freq_steps,
#                          tensorboard_logs=tensorboard_logs,
#                          logs_path=LOGS_PATH,
#                          num_workers=NUM_WORKERS)
{% endraw %} {% raw %}
 
{% endraw %}