Azure 流分析 - 计算线性回归

Posted

技术标签:

【中文标题】Azure 流分析 - 计算线性回归【英文标题】:Azure Stream Analytics - Calculate Linear Regression 【发布时间】:2018-02-01 16:10:11 【问题描述】:

我正在尝试使用 Azure 流分析计算一些线性回归。

设置: 有一个 Sensor 向 IoT-Hub 发送温度和时间,Stream-Analytics 正在使用 SlidingWindow 监听 IoT-Hub,并应计算此窗口中的温度趋势(使用线性回归)。

一个事件如下所示:

"deviceId":"sensor_1","temp":322.3376736446427,"time":1517500183940

目前我得到的 SQL 是这样的:

WITH Step1 AS
(
select time AS x, avg(time) over () AS x_bar,
       temp AS y, avg(temp) over () AS y_bar
FROM inputStream
GROUP BY SlidingWindow(second,10) 
),
Step2 AS (
    SELECT (sum((x - x_bar) * (y - y_bar)) / sum((x - x_bar) * (x - x_bar))) AS slope,
           max(x_bar) AS x_bar_max,
           max(y_bar) AS y_bar_max    
    FROM Step1
),
FinalStep AS (
    SELECT  slope, 
            y_bar_max - x_bar_max * slope AS intercept
    FROM Step2
)

SELECT * INTO outputEventHub FROM FinalStep

here 的原始线性回归 SQL 模板如下所示:

select slope, 
       y_bar_max - x_bar_max * slope as intercept 
from (
    select sum((x - x_bar) * (y - y_bar)) / sum((x - x_bar) * (x - x_bar)) as slope,
           max(x_bar) as x_bar_max,
           max(y_bar) as y_bar_max    
    from (
        select x, avg(x) over () as x_bar,
               y, avg(y) over () as y_bar
        from ols) s;
) 

如果您知道没有流分析的更好方法,我也很好。请提前分享您的想法和感谢!

【问题讨论】:

【参考方案1】:

ASA 文档有两个变量回归的示例。 https://docs.microsoft.com/en-us/azure/stream-analytics/stream-analytics-high-frequency-trading

【讨论】:

以上是关于Azure 流分析 - 计算线性回归的主要内容,如果未能解决你的问题,请参考以下文章

python多元线性回归怎么计算

spss非线性回归分析步骤

如何用Python进行线性回归以及误差分析

spss 多元非线性回归分析

如何用Python进行线性回归以及误差分析

线性回归和线性回归方程是怎样的呢?