Skip to content

[ENH] Add NBeatsForecaster to aeon.forecasting.deep_learning #3356

@lucifer4073

Description

@lucifer4073

Describe the feature or idea you want to propose

Add a deep learning forecaster based on the N-BEATS architecture [Oreshkin et al., 2019 (https://arxiv.org/abs/1905.10437).

Describe your proposed solution

Add NBeatsForecaster to aeon/forecasting/deep_learning/_nbeats.py.

Since N-BEATS produces the full horizon in a single forward pass, it should inherit from BaseDeepForecaster and SeriesToSeriesForecastingMixin.

class NBeatsForecaster(BaseDeepForecaster, SeriesToSeriesForecastingMixin):
    def __init__(self, window, horizon, stacks, ...): ...
    def build_model(self, input_shape) -> tf.keras.Model: ...
    def _fit(self, y, exog=None) -> self: ...
    def _predict(self, y=None, exog=None) -> np.ndarray: ...
    def _series_to_series_forecast(self, y, prediction_horizon, exog=None) -> np.ndarray: ...

Describe alternatives you've considered, if relevant

N/A

Additional context

N/A

Metadata

Metadata

Assignees

Labels

enhancementNew feature, improvement request or other non-bug code enhancementforecastingForecasting package

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions