Chronos: add forecaster alg choose guide and some cleaning for how to guide (#7139)
* fix format * fix * update * update
This commit is contained in:
parent
925874b2cd
commit
56e94eda59
4 changed files with 82 additions and 10 deletions
|
|
@ -203,6 +203,7 @@ subtrees:
|
|||
- file: doc/Chronos/Howto/how_to_export_torchscript_files
|
||||
- file: doc/Chronos/Howto/how_to_preprocess_my_data
|
||||
- file: doc/Chronos/Howto/how_to_process_data_in_production_environment
|
||||
- file: doc/Chronos/Howto/how_to_choose_forecasting_alg
|
||||
- file: doc/Chronos/QuickStart/index
|
||||
title: "Tutorials"
|
||||
subtrees:
|
||||
|
|
|
|||
|
|
@ -0,0 +1,48 @@
|
|||
# Choose proper forecasting model
|
||||
|
||||
How to choose a forecasting model among so many built-in models (or build one by yourself) in Chronos? That's a common question when users want to build their first forecasting model. Different forecasting models are more suitable for different data and different metrics(accuracy or performances).
|
||||
|
||||
The flowchart below is designed to guide our users which forecasting model to try on your own data. Click on the blocks in the chart below to see its documentation/examples.
|
||||
|
||||
```eval_rst
|
||||
.. note::
|
||||
|
||||
Following flowchart may need some time to load.
|
||||
```
|
||||
|
||||
|
||||
```eval_rst
|
||||
.. mermaid::
|
||||
|
||||
flowchart TD
|
||||
StartPoint[I want to build a forecasting model]
|
||||
StartPoint-- always start from --> TCN[TCNForecaster]
|
||||
TCN -- performance is not satisfying --> TCN_OPT[Make sure optimizations are deploied]
|
||||
TCN_OPT -- further performance improvement is needed --> SER[Performance-awared Hyperparameter Optimization]
|
||||
SER -- only 1 step to be predicted --> LSTMForecaster
|
||||
SER -- only 1 var to be predicted --> NBeatsForecaster
|
||||
LSTMForecaster -- does not work --> CUS[customized model]
|
||||
NBeatsForecaster -- does not work --> CUS[customized model]
|
||||
|
||||
TCN -- accuracy is not satisfying --> Tune[Hyperparameter Optimization]
|
||||
Tune -- only 1 step to be predicted --> LSTMForecaster2[LSTMForecaster]
|
||||
LSTMForecaster2 -- does not work --> AutoformerForecaster
|
||||
Tune -- more than 1 step to be predicted --> AutoformerForecaster
|
||||
AutoformerForecaster -- does not work --> Seq2SeqForecaster
|
||||
Seq2SeqForecaster -- does not work --> CUS[customized model]
|
||||
|
||||
click TCN "https://bigdl.readthedocs.io/en/latest/doc/Chronos/Overview/forecasting.html#tcnforecaster"
|
||||
click LSTMForecaster "https://bigdl.readthedocs.io/en/latest/doc/Chronos/Overview/forecasting.html#lstmforecaster"
|
||||
click LSTMForecaster2 "https://bigdl.readthedocs.io/en/latest/doc/Chronos/Overview/forecasting.html#lstmforecaster"
|
||||
click NBeatsForecaster "https://bigdl.readthedocs.io/en/latest/doc/Chronos/Overview/forecasting.html#nbeatsforecaster"
|
||||
click Seq2SeqForecaster "https://bigdl.readthedocs.io/en/latest/doc/Chronos/Overview/forecasting.html#seq2seqforecaster"
|
||||
click AutoformerForecaster "https://bigdl.readthedocs.io/en/latest/doc/Chronos/Overview/forecasting.html#AutoformerForecaster"
|
||||
|
||||
click TCN_OPT "https://bigdl.readthedocs.io/en/latest/doc/Chronos/Overview/speed_up.html"
|
||||
click SER "https://github.com/intel-analytics/BigDL/blob/main/python/chronos/example/hpo/muti_objective_hpo_with_builtin_latency_tutorial.ipynb"
|
||||
click Tune "https://bigdl.readthedocs.io/en/latest/doc/Chronos/Howto/how_to_tune_forecaster_model.html"
|
||||
click CUS "https://bigdl.readthedocs.io/en/latest/doc/Chronos/Overview/speed_up.html"
|
||||
|
||||
classDef Model fill:#FFF,stroke:#0f29ba,stroke-width:1px;
|
||||
class TCN,LSTMForecaster,NBeatsForecaster,LSTMForecaster2,AutoformerForecaster,Seq2SeqForecaster Model;
|
||||
```
|
||||
|
|
@ -2,33 +2,46 @@ Chronos How-to Guides
|
|||
=========================
|
||||
How-to guides are bite-sized, executable examples where users could check when meeting with some specific topic during the usage.
|
||||
|
||||
Install
|
||||
Installation
|
||||
-------------------------
|
||||
|
||||
* `Install Chronos on Windows <windows_guide.html>`__
|
||||
* `Use Chronos in container(docker) <docker_guide_single_node.html>`__
|
||||
|
||||
Data Processing
|
||||
-------------------------
|
||||
* `Preprocess my data <how_to_preprocess_my_data.html>`__
|
||||
|
||||
|
||||
Forecasting
|
||||
-------------------------
|
||||
|
||||
Develop a forecaster
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
* `Choose a forecaster algorithm <how_to_choose_forecasting_alg.html>`__
|
||||
* `Create a forecaster <how_to_create_forecaster.html>`__
|
||||
* `Train forecaster on single node <how_to_train_forecaster_on_one_node.html>`__
|
||||
* `Save and load a forecaster <how_to_save_and_load_forecaster.html>`__
|
||||
* `Tune forecaster on single node <how_to_tune_forecaster_model.html>`__
|
||||
* `Speed up inference of forecaster through ONNXRuntime <how_to_speedup_inference_of_forecaster_through_ONNXRuntime.html>`__
|
||||
* `Speed up inference of forecaster through OpenVINO <how_to_speedup_inference_of_forecaster_through_OpenVINO.html>`__
|
||||
* `Evaluate a forecaster <how_to_evaluate_a_forecaster.html>`__
|
||||
* `Use forecaster to predict future data <how_to_use_forecaster_to_predict_future_data.html>`__
|
||||
* `Generate confidence interval for prediction <how_to_generate_confidence_interval_for_prediction.html>`__
|
||||
|
||||
Speed up a forecaster
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
* `Speed up inference of forecaster through ONNXRuntime <how_to_speedup_inference_of_forecaster_through_ONNXRuntime.html>`__
|
||||
* `Speed up inference of forecaster through OpenVINO <how_to_speedup_inference_of_forecaster_through_OpenVINO.html>`__
|
||||
|
||||
Persist a forecaster
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
* `Save and load a forecaster <how_to_save_and_load_forecaster.html>`__
|
||||
* `Export the ONNX model files to disk <how_to_export_onnx_files.html>`__
|
||||
* `Export the OpenVINO model files to disk <how_to_export_openvino_files.html>`__
|
||||
* `Export the TorchScript model files to disk <how_to_export_torchscript_files.html>`__
|
||||
* `Preprocess my data <how_to_preprocess_my_data.html>`__
|
||||
|
||||
Benchmark
|
||||
-------------------------
|
||||
Benchmark a forecaster
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
* `Use Chronos benchmark tool <how_to_use_benchmark_tool.html>`__
|
||||
|
||||
Deployment
|
||||
-------------------------
|
||||
Deploy a forecaster
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
* `A whole workflow in production environment after my forecaster is developed <how_to_process_data_in_production_environment.html>`__
|
||||
|
|
|
|||
|
|
@ -29,7 +29,8 @@ Besides, _Chronos_ also provides **benchmark tool** to benchmark forecasting per
|
|||
| ----------------- | ----- | ------------- | ---------- | ------- | ----------- | ----------- | ----------- | ----------- | ----------- | ----------- |
|
||||
| LSTM | RR | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | pytorch/tf2 |
|
||||
| Seq2Seq | RR | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | pytorch/tf2 |
|
||||
| TCN | RR | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | pytorch |
|
||||
| TCN | RR | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | pytorch/tf2 |
|
||||
| Autoformer | RR | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | pytorch |
|
||||
| NBeats | RR | ❌ | ✅ | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ | pytorch |
|
||||
| MTNet | RR | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ✳️\*\* | tf2 |
|
||||
| TCMF | TS | ✅ | ✅ | ✅ | ✳️\* | ❌ | ❌ | ❌ | ❌ | pytorch |
|
||||
|
|
@ -258,6 +259,15 @@ View Stock Prediction [notebook][stock_prediction_prophet] and [ProphetForecaste
|
|||
|
||||
Neural basis expansion analysis for interpretable time series forecasting ([N-BEATS](https://arxiv.org/abs/1905.10437)) is a deep neural architecture based on backward and forward residual links and a very deep stack of fully-connected layers. Nbeats can solve univariate time series point forecasting problems, being interpretable, and fast to train.
|
||||
|
||||
[NBeatsForecaster API Doc](../../PythonAPI/Chronos/forecasters.html#nbeatsforecaster) for more details.
|
||||
|
||||
<span id="AutoformerForecaster"></span>
|
||||
##### 3.9 AutoformerForecaster
|
||||
|
||||
Autoformer: Decomposition Transformers with Auto-Correlation for Long-Term Series Forecasting ([Autoformer](https://arxiv.org/abs/2106.13008)) is a Transformer based neural network that could reach SOTA results on many datasets.
|
||||
|
||||
[AutoformerForecaster API Doc](../../PythonAPI/Chronos/forecasters.html#autoformerforecaster) for more details.
|
||||
|
||||
#### 4. Use Auto forecasting model
|
||||
Auto forecasting models are designed to be used exactly the same as Forecasters. The only difference is that you can set hp search function to the hyperparameters and the `.fit()` method will search the best hyperparameter setting.
|
||||
```python
|
||||
|
|
|
|||
Loading…
Reference in a new issue