簡體   English   中英

Azure流分析-計算線性回歸

[英]Azure Stream Analytics - Calculate Linear Regression

我正在嘗試使用Azure Stream Analytics計算一些線性回歸。

設置:有一個傳感器向IoT中心發送溫度和時間,Stream-Analytics使用SlidingWindow監聽IoT中心,並應在此窗口中計算溫度趨勢(線性回歸)。

一個事件如下所示:

{"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

原來的線性回歸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;
) 

如果您知道一些無需Stream Analytics的更好方法,也可以。 請事先分享您的想法和感謝!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM