Forecast

No algorithm description given

Forecast Gives a forecast the next   n   steps of a given time series based on extrapolation of linear and periodic trends. Table of Contents Description Inputs Outputs Algorithm Console Description This Forecasting algorithm works by fitting a linear trend to the given data, extrapolating it into the future series interval, and then adjusting it based on the expected contributions of each detected periodic component. Periodicity is detected using   AutoCorrelate . Note that this algorithm only deals with linear and periodic trends. If other artifacts, such as non-periodic spikes or super/sub-linear trends, are present in the data, results will suffer, and as a general rule the further you go in the future, the less accuracy you should expect. Inputs This algorithm has both a JSON Object Input and a Array Input format. JSON Format This algorithm has a single JSON input format. 
{ 
 "series": Double[],
 "steps": Int,
 "maxNumPeriods": Int
}
 
{ 
 "series": [1,2,3,4,3,4.62,6,7,5,4,2.01,1,1],
 "stepsToPredict": 3,
 "maxNumPeriods": 2
}
 series -   (required)   - the input time series dataset. this algorithm assumes the values are evenly spaced. ( dx(1) == dx(n) ) stepsToPredict -   (optional)   - the number of timesteps to predict, defaults to the length of the series dataset.   The further into the future you predict, the worse the accuracy becomes, so it makes sense to set a value other than the default. maxNumPeriods -   (optional)   - the number of periods to consider, strongest first, defaults to a value of 1. Array Format There are two array input formats; basic and advanced. Basic Format series: Double[] [1,2,3,4,3,4,6,7,5,4,2,1,1] series -   (required)   - the input time series dataset. this algorithm assumes the values are evenly spaced. ( dx(1) == dx(n) ) Advanced Format [
 series: Double[],
 stepsToPredict: Int,
 maxNumOfPeriods: Int
} [[1,2,3,4,3,4,6,7,5,4,2,1,1], 4, 2] series -   (required)   - the input time series dataset. this algorithm assumes the values are evenly spaced. ( dx(1) == dx(n) ) stepsToPredict -   (optional)   - the number of timesteps to predict, defaults to the length of the series dataset.   The further into the future you predict, the worse the accuracy becomes, so it makes sense to set a value other than the default. maxNumPeriods -   (optional)   - the number of periods to consider, strongest first, defaults to a value of 1. Outputs If a JSON object as passed as an input, the JSON format is returned, otherwise the Array format is returned. JSON Format 
{ 
 "predicted": Double[]
}
 
{ 
 "predicted": [11, 12, 13, 14, 15]
}
 predicted - the predicted datapoints extending from the last datapoint in   series . Array Format predicted: Double[] [1,2,3,4,3,4,6,7,5,4,2,1,1] predicted - the predicted datapoints extending from the last datapoint in   series .

Tags
(no tags)

Cost Breakdown

0 cr
royalty per call
1 cr
usage per second
avg duration
This algorithm has permission to call other algorithms which may incur separate royalty and usage costs.

Cost Calculator

API call duration (sec)
×
API calls
=
Estimated cost
per calls
for large volume discounts
For additional details on how pricing works, see Algorithmia pricing.

Calls other algorithms

This algorithm has permission to call other algorithms. This allows an algorithm to compose sophisticated functionality using other algorithms as building blocks, however it also carries the potential of incurring additional royalty and usage costs from any algorithm that it calls.


To understand more about how algorithm permissions work, see the permissions documentation.

1. Type your input

2. See the result

Running algorithm...

3. Use this algorithm

curl -X POST -d '{{input | formatInput:"curl"}}' -H 'Content-Type: application/json' -H 'Authorization: Simple YOUR_API_KEY' https://api.algorithmia.com/v1/algo/TimeSeries/Forecast/0.2.0
View cURL Docs
algo auth
# Enter API Key: YOUR_API_KEY
algo run algo://TimeSeries/Forecast/0.2.0 -d '{{input | formatInput:"cli"}}'
View CLI Docs
import com.algorithmia.*;
import com.algorithmia.algo.*;

String input = "{{input | formatInput:"java"}}";
AlgorithmiaClient client = Algorithmia.client("YOUR_API_KEY");
Algorithm algo = client.algo("algo://TimeSeries/Forecast/0.2.0");
AlgoResponse result = algo.pipeJson(input);
System.out.println(result.asJsonString());
View Java Docs
import com.algorithmia._
import com.algorithmia.algo._

val input = {{input | formatInput:"scala"}}
val client = Algorithmia.client("YOUR_API_KEY")
val algo = client.algo("algo://TimeSeries/Forecast/0.2.0")
val result = algo.pipeJson(input)
System.out.println(result.asJsonString)
View Scala Docs
var input = {{input | formatInput:"javascript"}};
Algorithmia.client("YOUR_API_KEY")
           .algo("algo://TimeSeries/Forecast/0.2.0")
           .pipe(input)
           .then(function(output) {
             console.log(output);
           });
View Javascript Docs
var input = {{input | formatInput:"javascript"}};
Algorithmia.client("YOUR_API_KEY")
           .algo("algo://TimeSeries/Forecast/0.2.0")
           .pipe(input)
           .then(function(response) {
             console.log(response.get());
           });
View NodeJS Docs
import Algorithmia

input = {{input | formatInput:"python"}}
client = Algorithmia.client('YOUR_API_KEY')
algo = client.algo('TimeSeries/Forecast/0.2.0')
print algo.pipe(input)
View Python Docs
library(algorithmia)

input <- {{input | formatInput:"r"}}
client <- getAlgorithmiaClient("YOUR_API_KEY")
algo <- client$algo("TimeSeries/Forecast/0.2.0")
result <- algo$pipe(input)$result
print(result)
View R Docs
require 'algorithmia'

input = {{input | formatInput:"ruby"}}
client = Algorithmia.client('YOUR_API_KEY')
algo = client.algo('TimeSeries/Forecast/0.2.0')
puts algo.pipe(input).result
View Ruby Docs
use algorithmia::*;

let input = {{input | formatInput:"rust"}};
let client = Algorithmia::client("YOUR_API_KEY");
let algo = client.algo("TimeSeries/Forecast/0.2.0");
let response = algo.pipe(input);
View Rust Docs
import Algorithmia

let input = "{{input | formatInput:"swift"}}";
let client = Algorithmia.client(simpleKey: "YOUR_API_KEY")
let algo = client.algo(algoUri: "TimeSeries/Forecast/0.2.0") { resp, error in
  print(resp)
}
View Swift Docs
Discussion
  • {{comment.username}}