Overview

API overview and usage

This document explain the usage of the Forecasting API.

This API allows to make future prediction based on past and present trends. It uses supervised machine learning techniques to learn the relationship between variables (input) at hand and the variable (the target) we want to forecast.

For instance, it can be used to prediction the production of a manufacturing line or the prediction of a building energy consumption. This API should be used when the target variable is supposed to have an underlying pattern and when historical measurements are available.

This document provides a general tutorial for users who want to consume the forecasting API.

Features

The Forecasting API includes 4 features:

  • Learn a model from past input and target data (createModel).
  • Apply the model on new data to forecast the target (applyModel).
  • Update an existing model with actual data (updateModel).
  • Get information on an existing model (getModelInformation).

How it works

Hands-on application

Take the tour and experiment on your own data prior to any development through our hands-on application! https://try-analytics-se.azurewebsites.net/forecasting

Documentation

createModel endpoint


The createModel endpoint creates (train) a forecasting model. The created forecasting model uses information available from driver measurements and process parameters to model the relationship between the drivers and the target we wish to forecast.

The createModel endpoint needs several inputs:

  • Historical training data depicting how a system works is available.
  • A target variable, i.e., data of special importance for which we want to build a forecasting model, is known.
  • Some pattern in the data is suspected, i.e. some relationship between some of the available data and the target can be observed.
  • This pattern can be used to create a forecasting model to generate predictions.

Then generated model, learned from the inputs, is then securely stored in Schneider-Electric platform.

The createModel endpoint return the ID of this newly created model for future use.

applyModel endpoint


The applyModel endpoint can be used to apply (score) an existing forecasting model to new data.

The applyModel endpoint needs two different inputs:

  • A test data set with the same variables and format as the training set described in the createModel service - The ID of the model created in the createModel service\nThe applyModel endpoint then generates predicted values based on the previously learned model and given the test data set.

updateModel endpoint


This service updates an existing model created with the createModel web service.

The input should include the same variables as the ones used to create the already available prediction model.

Outputs of this service include the updated model ID (whereas the updated model is created with past and updated data), and the same output information as provided in the createModel service.

getModelInformation endpoint


This service returns information on an existing prediction model that is securely stored on the Schneider-Electric platform.

Limitations

Amount of calls to the API in the SANDBOX are limited. To get a full experience and extend the thresholds, please subscribe to the API and use the production environment.

Getting Started

Run in Postman collection

First, you need to download the free Postman application for your operating system. Postman currently supports Mac, Windows, and Linux. Once you have Postman installed, you can import the Forecasting API Postman collection by clicking the orange “Run in Postman” button. At this point, you should see the Forecasting API folder in the left-hand column under the Collections tab. Run in Postman

Step 1: Setup environment

Step 2: Prepare Data

Step 3: Create a new forecasting model

Step 4: Train model

Step 5: Apply an existing forecasting model to new data

Step 6: Get model information on an existing prediction model

Authentication guide

This API uses API keys to authenticate and allow access to the API.

Your API keys carry many privileges, so be sure to keep them secure!

The API key should be included in all API requests in the Authorization header that looks like the following: | Authorization: your_subscription_key

For steps on how to generate your_subscription_key please refer to the Features tab.

Response Codes

We follow the error response format proposed in RFC 7807 also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.

HTTP Status Code Error Reason
400
Bad Request
This is the generic error type for not being able to process the request, and will generally contain an explanation in the message.
Other reasons could be:
Invalid Resource: The submitted POST body failed our input validation. This error may include an additional “errors” property, with a list of the validation issues.
Invalid Action: Returned when you try to access an action on a resource that doesn’t support that action.
JSON Parse Exception: The JSON sent in the request body is not valid JSON.
401
APIKeyMissing
Your request did not include an API key.This error suggests that your API key was missing from your request, or that something was formatted or named improperly in your header.
Other reason could be:
APIKeyInvalid: Your API key may be invalid, or you've attempted to access the wrong data center. Check that your API key was input correctly, and verify which data center to access.
403
Forbidden
You are not permitted to access this resource. This is a generic error.
Other reasons could be:
UserDisabled: This account has been disabled.
WrongDatacenter: The API key provided is linked to a different data center. This error suggests that you tried to contact the wrong data center. It's often associated with misconfigured libraries.
404
ResourceNotFound
The requested resource could not be found. This error tells you a specific resource doesn't exist. It's possible that the resource has been moved or deleted, or that there's a typo in your request.
405
MethodNotAllowed
The requested method and resource are not compatible. See the Allow header for this resource's available methods. This error means that the requested resource does not support the HTTP method you used. Find out which methods are allowed for each resource in the API Reference.
414
ResourceNestingTooDeep
The sub-resource requested is nested too deeply. This uncommon error appears if you've tried to generate a URL with too many resources.
422
InvalidMethodOverride
This error lets you know you've tried to override an incompatible method. You can only use the X-HTTP-Method-Override header with the POST method.
Other reasons could be:
RequestedFieldsInvalid: The fields requested from this resource are invalid.This error suggests there is a typo in your field request or some other type of syntax error or problem that invalidates your request.
429
TooManyRequests
You have exceeded the limit of 10 simultaneous connections. When you reach the connection limit, we'll throttle the server response. If any of your requests time out after you've reached the limit, those requests could still be considered open and continue to slow your connection.
500
InternalServerError
An unexpected internal error has occurred. This error lets you know RP-C has experienced a problem.
503
ComplianceRelated
This method has been disabled.

Support

Contact the SE Exchange support team at exchange.support@se.com and include:

  • Endpoint URL
  • Request/Response
  • Any additional information like Screenshots , Postman collections.

Authentication

Authentication is the act of proving an assertion, such as the identify of a computer system user.

Security scheme type API Key
Header parameter name Authorization
In contrast with identification, the act of indicating a person or thing's identity, authentication is the process of verifying that identify.