Siddhi enables users to forecast future events using linear regression on real time, data streams. The forecast function takes in a Y dependent event stream (Y), an X independent event stream (X) and a user specified next X value, and returns the forecast Y value based on the regression equation that fits of the historical data received.
The frequency of regression calculation.
Default value: 1 (i.e. at every event)
The maximum number of events used for a regression calculation
Default value: 1,000,000,000 events
Confidence Interval to be used for regression calculation
Default value: 0.95
Next X Value
Value to be used to forecast the Y value. This can be a constant, or an expression (eg:- x+5)
Data stream of the dependent variable
Data stream of the independent variable
Forecast Y value based on next X and regression equation.
Standard Error of the Regression Equation
β coefficients of the simple linear regression
Input Stream Data
Name given in the input stream
All items sent in the input stream
The following query submits a calculation interval (every 10 events), a batch size (100,000 evetns) a confidence interval (0.95) a an expression to be used as the next X value (X+2) a dependent input stream (Y) and 3 an independent input streams (X1, X2, X3stream (X) that will be used to perform linear regression between Y and all X streams, and compute the forecast Y value based on the next X value given by the user.
from StockExchangeStream#transform.timeseries:forecast(X+5, Y, X)