AI Forecast Operator
The AI Forecast Operator uses historical time series data to generate forecasts for future trends.
This operator simplifies and quickens the data science process by automating model selection, hyperparameter tuning, and feature identification for a specific prediction task.
kind: operator
type: forecast
version: v1
spec:
datetime_column:
name: ds
historical_data:
url: https://raw.githubusercontent.com/facebook/prophet/main/examples/example_yosemite_temps.csv
horizon: 3
target_column: y
This example is extended in various ways throughout this documentation. However, all parameters beyond those shown are optional.
For more information, see the Forecasting section of the ADS documentation.
Modeling Options
- Prophet
- ARIMA
- LightGBM
- NeuralProphet
- AutoTS
AutoTS isn't a single modeling framework but a combination of many. AutoTS algorithms include (v0.6.15): ConstantNaive, LastValueNaive, AverageValueNaive, GLS, GLM, ETS, ARIMA, FBProphet, RollingRegression, GluonTS, SeasonalNaive, UnobservedComponents, VECM, DynamicFactor, MotifSimulation, WindowRegression, VAR, DatepartRegression, UnivariateRegression, UnivariateMotif, MultivariateMotif, NVAR, MultivariateRegression, SectionalMotif, Theta, ARDL, NeuralProphet, DynamicFactorMQ, PytorchForecasting, ARCH, RRVAR, MAR, TMF, LATC, KalmanStateSpace, MetricMotif, Cassandra, SeasonalityMotif, MLEnsemble, PreprocessingRegression, FFT, BallTreeMultivariateMotif, TiDE, NeuralForecast, DMD.
Auto-Select
For users new to forecasting, the Operator also has an auto-select option. This is the most computationally expensive option as it splits the training data into several validation sets, evaluates each framework, and tries to decide the best one. However, auto-select doesn't guarantee to find the best model and isn't recommended as the default configuration for end-users because of its complexity.
Specify the Model
kind: operator
type: forecast
version: v1
spec:
datetime_column:
name: ds
historical_data:
url: https://raw.githubusercontent.com/facebook/prophet/main/examples/example_yosemite_temps.csv
horizon: 3
model: <INSERT_MODEL_NAME_HERE>
target_column: y
Evaluation and Explanation
As an enterprise AI solution, the Operator ensures that the evaluation and explanation of forecasts are as critical as the forecasts themselves.
Reporting
- A summary of the input data.
- A visualization of the forecast.
- A listing of major trends.
- An explanation (using SHAP values) of extra features.
- A table of metrics.
- A copy of the configuration YAML file.
Metrics
- MAPE
- RMSE
- SMAPE
- MSE
kind: operator
type: forecast
version: v1
spec:
datetime_column:
name: ds
historical_data:
url: https://raw.githubusercontent.com/facebook/prophet/main/examples/example_yosemite_temps.csv
horizon: 3
model: prophet
target_column: y
metric: rmse
Explanations
kind: operator
type: forecast
version: v1
spec:
datetime_column:
name: ds
historical_data:
url: https://raw.githubusercontent.com/facebook/prophet/main/examples/example_pedestrians_covid.csv
additional_data:
url: additional_data.csv
horizon: 3
model: prophet
target_column: y
generate_explanations: True
``` formatted YAML ```
- FAST_APPROXIMATE (default)
- Generated SHAP values are typically within 1% of the true values and require 1% of the time.
- BALANCED
- Generated SHAP values are typically within 0.1% of the true values and require 10% of the time.
- HIGH_ACCURACY
- Generates the true SHAP values at full precision.
kind: operator
type: forecast
version: v1
spec:
datetime_column:
name: ds
historical_data:
url: https://raw.githubusercontent.com/facebook/prophet/main/examples/example_yosemite_temps.csv
horizon: 3
model: prophet
target_column: y
generate_explanations: True
explanations_accuracy_mode: BALANCED
The previous example doesn't generate explanations because of no extra data. The SHAP values are 100% for the feature
y
.