Forecast Jobs

Forecast Jobs uses machine learning models to deliver highly accurate forecasts.

Amazon Forecast uses machine learning to combine time series data with additional variables to build forecasts. Amazon Forecast requires no machine learning experience to get started. You only need to provide historical data, plus any additional data that you believe may impact your forecasts.

For example, the demand for a particular color of a shirt may change with the seasons and store location. This complex relationship is hard to determine on its own, but machine learning is ideally suited to recognize it. Once you provide your data, Amazon Forecast will automatically examine it, identify what is meaningful, and produce a forecasting model capable of making predictions that are up to 50% more accurate than looking at time series data alone.

Create

Amorphic supports 7 different types of Forecast Jobs.

Below is an example of how to create a forecast job

Create Forecast Job
Forecast Job Name
Name of the forecast job
Forecast Job Type

Type of the forecast job. As of now only one of Retail, Custom, Inventory planning, EC2 capacity, Work force,

Web traffic and Metrics is allowed.
Description
Description of forecast job.
Forecast Jobs have four components
  • Foreccast Datasets
  • Forecast Predictor Configuration
  • Forecast Versions
  • Forecast Inferences

Forecast Datasets

There can be three types of datasets associated with a Forecast Job. Below are the forecast dataset types:
  • TARGET_TIME_SERIES
  • ITEM_METADATA
  • RELATED_TIME_SERIES

A Forecast Dataset is created using Amorphic Dataset. When a forecast dataset is created the Amorphic dataset associated with it needs to have files in it.

TARGET_TIME_SERIES is a mandatory Dataset in Forecast Job to create versions and inferences. Based on Forecast Job type the schema for Forecast Datasets vary.

There is an option to delete the dataset to give user a chance to change the Amorphic Dataset. Below is an example of how a forecast dataset is created

Create Forecast Dataset
Description
Description for the forecast dataset
Dataset Type
Should be one of RELATED_TIME_SERIES, TARGET_TIME_SERIES and ITEM_METADATA. A forecast job can have only one dataset of each type.
Data Frequency
Frequency at which entries are registered in the dataset files. Should be one of Yearly, Monthly, Weekly, Daily, Hourly, 30min, 15min, 10min, 5min, 1min.
Dataset
Amorphic Dataset name which will be associated with the forecast dataset.
Timestamp Format
Timestamp format followed by data in the dataset files.
Schema
Schema of the dataset. Specify the attributes in the same order as they appear in dataset files. Attributes have to be of one of the following types string, integer, float and timestamp. Required attributes based on job type will be validated while creation of the dataset.

Forecast Predictor Configuration

Predictor configuration is where the algorithm to be used and the parameters that are required by the algorithm are configured.

Below example shows the creation of a predictor configuration for algorithm ARIMA with default parameters.

Create Predictor Configuration
Forecast Predictor Name
Name for predictor configuration in Amorphic
Description
Description for predictor configuration
Forecast Horizon
How far into the future to predict data at the specified forecast frequency.
Perform Auto ML
Boolean set to True when user wants forecast to select right algorithm for data
Algorithm
Algorithm when Perform Auto ML is set to False. It has to be one of ARIMA, ETS, NPTS, Prophet and Deep_AR_Plus
Default Parameters
When user wants to select default parameters for the selected Algorithm.
Input Data Config

A JSON object which consists of list of supplementary features. As of now only supported feature is holiday calendar.

{
    "Name": "holiday",
    "Value": "country_code"
}
where country_code is one of:
  • “AU” : Australia
  • “DE” : Germany
  • “JP” : Japan
  • “US” : United States
  • “UK” : United Kingdom
Forecast Frequency
The frequency of predictions in a forecast. Should be one of Yearly, Monthly, Weekly, Daily, Hourly, 30min, 15min, 10min, 5min, 1min. The frequency must be greater than or equal to the TARGET_TIME_SERIES dataset frequency. When a RELATED_TIME_SERIES dataset is provided, the frequency must be equal to the RELATED_TIME_SERIES dataset frequency.
Forecast Dimensions
An array of dimension (field) names that specify how to group the generated forecast. To consider fields that are part of RELATED_TIME_SERIES to be considered as dimensions. Not needed to mention dimensions in TARGET_TIME_SERIES.
Featurizations

An array of featurization (transformation) information for the fields of a dataset. As of now only a single featurization is supported which is filling.

{
    "AttributeName": "attribute_name",

    FeaturizationPipeline [ {

    "FeaturizationMethodName": "filling",

    "FeaturizationMethodParameters": {"aggregation": "avg", "backfill": "nan"}

    } ]
}
where attribute_name is:
  • “demand” : RETAIL, INVENTORY_PLANNING
  • “target_value”: CUSTOM
  • “workforce_demand”: WORK_FORCE
  • “value”: WEB_TRAFFIC
  • “metric_value”: METRICS
Training Parameters
The hyperparameters to override for model training.
Evaluation Parameters
Used to override the default evaluation parameters of the specified algorithm.
HPO Config
Provides hyperparameter override values for the algorithm. Applicable only for Deep_AR_Plus

Forecast Versions

Using the above created configuration, a version of the predictor for the forecast job can be created. It uses the configuration and its associated parameters to create the version which can then be used to

create an inference.

Below image shows how to create a version

Create Predictor Configuration
Tags
Tags can be associated to a version for distinguishing it from other versions.

Forecast Inferences

Inference generates a csv file based on the input given for creation of inference. The file generated can be downloaded or can be saved directly to an Amorphic Dataset. To generate an inference a forecast hosted service is needed. Hosted forecast service is created based on the quantiles passed, the user has an option to keep the hosted service if he plans on generating inferences

for same set of quantiles. This helps in decreasing the time taken to generate an inference.

At any point only one hosted service object exists for a forecast job. If user keeps a hosted service object with different quantiles, the first created hosted service object will be deleted.

Below example creates an inference with default quantiles which are .10, 0.50 and 0.90.

Create Forecast Inference
Inference Name
Name of the inference that is to be created
Description
Inference description
Predictor Version
Version of the predictor in the forecast job based on which the inference will be generated.
Target Dataset Name
Dataset to which the generated inference report has to be saved to. Not a mandatory parameter.
Host Forecast Service
Boolean True if the hosted forecast service created as part inference object should be kept for further inferences. If the quantiles for the inferences to be generated are for the most part same then keeping the hosted service will decrease the time required to create the inferences.
Inference Quantiles
The quantiles at which probabilistic forecasts are generated. You can specify up to 5 quantiles per inference. Accepted values include 0.01 to 0.99 (increments of .01 only) and mean. The default values are [“0.1”, “0.5”, “0.9”]
Start Date
The start date for the inference report.
Inference Duration
Number of forecast frequencies from start date to be predicted.
Attributes
The filtering criteria to apply when retrieving the inference. To retrieve inference for a specific value(s) of attribute(s). Key will be the attribute name and Value will be the attribute value

Edit

In Forecast Jobs, Forecast Inferences, Forcast Versions and Forecast Datasets cannot be edited. Forecast Dataset can be deleted and a new one can be created if needed.

Forecast Predictor Configuration

In Forecast Predictor Configuration all the attributes can be edited apart from name.

Below image shows how to edit a Forecast Predictor Configuration

Edit Forecast Predictor Configuration

Forecast Job

Only Description of the Forecast Job can be edited.

Below image shows how to delete a Forecast Job

Edit Forecast Job

Delete

To delete a Forecast Job, the datasets associated with the job should be deleted. To delete a Forecast Dataset, associated Forecast Versions. Inferences associated with will be lost once the Forecast Job is deleted.

Forecast versions

By clicking on the red button on the right end of the version triggers the deletion process. Deletion of version
takes few minutes. Refreshing the it would return the status of the deletion.

Below image shows how to delete a Forecast Version

Delete Forecast Version

Forecast Datasets

To delete Forecast Datasets assoicated with a Forecast Job, Forecast Version should be deleted. In the Datasets tab on the right side of the dataset are three dots which on click will give you an option to Delete Dataset. On clicking Delete_Dataset, dataset deletion process will be triggered. It takes few minutes for the dataset to be deleted from Forecast Job. Amorphic Dataset associated with the Forecast Dataset will have no effect with this.

Below image shows how to delete a Forecast Dataset

Delete Forecast Dataset

Forecast Jobs

To delete Forecast Jobs associated Forecast Datasets have to be deleted. There is a button with trash can on the top right corner, which upon clicking will delete the Forecast Job.

Below is the image that shows how to delete a Forecast Job.

Delete Forecast Job