Skip to content

Time-Series Forecasting

Introduction

Each app is a specialized intelligence to perform a single prediction task, trained from one or more datasets. Each app provides a space for the user to define the task, and to train and compare several models to achieve the goal. The "forecasting" app, as its name suggests, is tasked with performing a time-series forecasting task.

Using the GUI

Creating an app for a dataset can be accomplished in one of two methods. Either create it from the dashboard by clicking on the "+ New App" rectangle, or, from within the project or dataset page, hover the mouse above the '+' icon in the bottom right corner of the screen and then click on the "New App" button:

First method Second method

Once any of these options are selected, the "New App" menu will appear. It requires the user to first assign the app a name and select the related dataset. You then need to select the time index column and select one or more target columns.

In the second step, the app can be created with the default configuration, which means an 80/20 train/test split or with an advanced configuration that allows the user to change the train/test split size. In the advanced configuration, a value of 90 represents a 90:10 train/test split.

Step 1 Step 2

Once finished, the app is created and the app ID can be found in the browser's address bar.

Using API access through SDK

To access the API functions, you must first authenticate into the platform by

from aiaengine import api

client = api.Client()

Importing app

Next you need to import app in order to call functions involved in this module.

from aiaengine.api import app

Creating an app for a dataset

Now you can add a new app by specifying the required parameter values as follows.

create_app_response = client.apps.CreateApp(
    app.CreateAppRequest(
        name='App Name',
        description='What is this app about',
        dataset_id='id_of_dataset_app_is_created_for',
        problem_type='forecasting',
        target_columns=['target_column_1', 'target_column_2'],
        extra_columns={'timeColumn': 'time_column'},
        training_data_proportion=0.8
    )
)

Similar to the process of building a task for classification and regression, you need the name, and description and the dataset id to build an application for times-series forecasting. Here you need to specify the problem type as 'forecasting' for this task.

Particularly for time-series forecasting, you can specify one or more target columns corresponding to input target_columns. In the above example, we have two target columns 'target_column_1' and 'target_column_2' for forecasting. You also need to specify the time column in a forecasting application. We use 'time_column' as our time column in the example. At last, you can set up a ratio of train-test split using training_data_proportion which indicates the proportion of data used for training over the whole dataset. For time-series forecasting, the training set comes in sequence before the test set in chronological order.

app_id = create_app_response.id

Once created, an application is assigned a unique id, which is frequently used in related functions.