WSO2 Stream Processor中Detecting Anomaly教程抛出异常

In the WSO2 Stream Processor, Detecting Anomaly tutorial throws an exception

我正在尝试复制 WSO2 流处理器文档中给出的 "Detecting Anomalies" 教程。

@App:name('SugarSyrupOutlierPredictionApp')

@source(type='http', receiver.url='http://localhost:5007/SugarSyrupEP', @map(type = 'json'))
define stream SugarSyrupDataStream (viscosity double, temperature double, density double);

@sink(type='log', prefix='Outlier detected in sugar syrup supply:')
define stream OutlierStream (viscosity double, temperature double, density double, outlier bool);

from SugarSyrupDataStream#timeseries:outlier(5, viscosity, temperature, density)
select *
insert into OutlierStream;

我在调用离群值函数时遇到的错误是这样的。

Caused by: org.wso2.siddhi.core.exception.SiddhiAppCreationException: Outlier Function is available only for simple linear regression at org.wso2.extension.siddhi.execution.timeseries.LinearRegressionOutlierStreamProcessor.init(LinearRegressionOutlierStreamProcessor.java:221)

我是不是遗漏了什么,还是应该使用其他功能?

似乎扩展只接受 3 个参数。请参考siddhi-execution-timeseries documentation#outlier.

您需要更新教程示例以将范围、Y 和 X 作为离群值扩展的参数。这是因为扩展只支持简单的线性回归。

@App:name('SugarSyrupOutlierPredictionApp')

@source(type='http', receiver.url='http://localhost:5007/SugarSyrupEP', @map(type = 'json'))
define stream SugarSyrupDataStream (viscosity double, temperature double, density double);

@sink(type='log', prefix='Outlier detected in sugar syrup supply:')
define stream OutlierStream (viscosity double, temperature double, outlier bool);

from SugarSyrupDataStream#timeseries:outlier(5, viscosity, temperature)
select viscosity, temperature, outlier
insert into OutlierStream;