This documentation is for WSO2 Complex Event Processor 4.0.0. View documentation for the latest release.
WSO2 Complex Event Processor is succeeded by WSO2 Stream Processor. To view the latest documentation for WSO2 SP, see WSO2 Stream Processor Documentation.
||
Skip to end of metadata
Go to start of metadata

Siddhi enables users to forecast future events using linear regression on real time, data streams. The forecast function takes in a dependent event stream (Y), an independent event stream (X) and a user specified next X value, and returns the forecast Y value based on the regression equation of the historical data.

Input Parameters

Parameter

 

Description

Calculation Interval

Optional

The frequency of regression calculation.

Default value: 1 (i.e. at every event)

Batch Size

Optional

The maximum number of events used for a regression calculation

Default value: 1,000,000,000 events

Confidence Interval

Optional

Confidence Interval to be used for regression calculation

Default value: 0.95

Next X Value

Required

Value to be used to forecast the Y value. This can be a constant, or an expression (eg:- x+5)

Y Stream

Required

Data stream of the dependent variable

X Stream

Required

Data stream of the independent variable

 

Output Parameters

Parameter

Name

Description

Forecast Y

forecastY

Forecast Y value based on next X and regression equation.

Standard Error

stdError

Standard Error of the Regression Equation

β coefficients

beta0, beta1

β coefficients of the simple linear regression

Input Stream Data

Name given in the input stream

All items sent in the input stream

 

Example 

The following query submits an expression to be used as the next X value (X+2) a dependent input stream (Y) and an independent input stream (X) that will be used to perform linear regression between Y and 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)

select *

insert into StockForecaster     

 

When executed, the above query will return the forecast Y value based on the regression equation established using the Y stream and the X stream and the standard error of the regression equation (ε), β coefficients and all the items available in the input stream. 

  • No labels