[Chronos] Add normalization and decomposition for tf forecasters #6806
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
1. Why the change?
Refer to #6405
Inspired by the methods mentioned in Are Transformers Effective for Time Series Forecasting?, adding new extensions to tcn model. And the experiment results on the three datasets (electricity, nyc_taxi and others) demonstrate the effectiveness of the added extensions.
2. User API changes
:param dummy_encoder: bool, no encoder is applied if True, which will turn TCNForecaster to a Linear Model. If True, input_feature_num should equals to output_feature_num.
:param normalization: bool, Specify if to use normalization trick to alleviate distribution shift. It first subtractes the last value
of the sequence and add back after the model forwarding.
:param decomposition_kernel_size: int, Specify the kernel size in moving average. The decomposition method will be applied if and only if decomposition_kernel_size is greater than 1, which first decomposes the raw sequence into a trend component by a moving average kernel and a remainder(seasonal) component. Then, two models are applied to each component and sum up the two outputs to get the final prediction. This value defaults to 0.
3. Summary of the change
Add dd new tricks for tf forecasters.
4. How to test?