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.
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).
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
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.
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 thecreateModel
service\nTheapplyModel
endpoint then generates predicted values based on the previously learned model and given the test data set.
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.
This service returns information on an existing prediction model that is securely stored on the Schneider-Electric platform.
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.
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.
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
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.
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. |
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 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. |