將Azure Data Explorer和Stream Analytics應(yīng)用于異常檢測

來源: 微軟中國MSDN
作者:James Ding
時間:2020-07-23
2401
企業(yè)需要諸如Azure IoT、Azure Stream Analytics、Azure Data Explorer以及機(jī)器學(xué)習(xí)等新技術(shù)來攝取和處理數(shù)據(jù),并將其轉(zhuǎn)換為戰(zhàn)略性的商業(yè)智能,借此改善探索和生產(chǎn),提高制造效率,保障人員和環(huán)境安全。

異常檢測旨在從數(shù)據(jù)中發(fā)現(xiàn)與預(yù)期行為不符的模式。決策者必須能發(fā)現(xiàn)異常,并在需要時提前采取應(yīng)對措施。以油氣行業(yè)為例,深水鉆機(jī)和各類設(shè)備必須由數(shù)百種傳感器密切監(jiān)控,并以不同頻率和格式傳輸各種類型的測量結(jié)果。然而傳統(tǒng)軟件平臺很難對其進(jìn)行分析或可視化,而任何由于未能檢測到異常情況導(dǎo)致深水鉆井平臺不能按照預(yù)期工作的問題都會造成巨大的經(jīng)濟(jì)損失。

企業(yè)需要諸如Azure IoT、Azure Stream Analytics、Azure Data Explorer以及機(jī)器學(xué)習(xí)等新技術(shù)來攝取和處理數(shù)據(jù),并將其轉(zhuǎn)換為戰(zhàn)略性的商業(yè)智能,借此改善探索和生產(chǎn),提高制造效率,保障人員和環(huán)境安全。這些托管服務(wù)還可以幫助客戶大幅縮短軟件開發(fā)時間,加快產(chǎn)品上市速度,提供成本效益,實現(xiàn)更高的可用性和可擴(kuò)展性。

雖然Azure平臺提供了豐富的異常檢測能力,客戶可以選擇最能滿足自己需求的服務(wù),但很多客戶在實踐運用中依然會產(chǎn)生一些問題,例如每種解決方案最適合哪些用例。下文將揭示這些問題的答案,但首先需要明確一些定義:

時序(Time series)是什么?時序是按照時間順序索引在一起的一系列數(shù)據(jù)點。在油氣行業(yè),大部分設(shè)備或傳感器讀數(shù)都是這種按照連續(xù)時點或深度點獲取的數(shù)據(jù)。

疊加時序的分解又是什么?分解(Decomposition)是指將一個時序拆分為類似下圖所示多個組件的操作。

ia_1100000002.jpg

時序預(yù)測和異常檢測

ia_1100000003.jpg

異常檢測是指找出與大部分?jǐn)?shù)據(jù)集存在顯著不同觀測值的過程。

ia_1100000004.jpg

這是一個利用Azure Data Explorer進(jìn)行異常檢測的范例

紅線是原始時序。

藍(lán)線是基準(zhǔn)(季節(jié)+趨勢)組件。

紫色點是原始時序基礎(chǔ)上的異常點。

為了檢測異常,可以使用Azure Stream Analytics或Azure Data Explorer進(jìn)行實時分析并檢測,如下圖所示。

ia_1100000005.jpg

Azure Stream Analytics是一種面向關(guān)鍵業(yè)務(wù)工作負(fù)載設(shè)計的,簡單易用的實時分析服務(wù)。我們只需點擊幾次鼠標(biāo)即可構(gòu)建出端到端的Serverless流處理管道,使用SQL在幾分鐘內(nèi)從零開始將其投入生產(chǎn)應(yīng)用,或使用自定義代碼對其進(jìn)行擴(kuò)展并通過內(nèi)置的機(jī)器學(xué)習(xí)能力將其用于其他高級場景。

https://azure.microsoft.com/en-us/services/stream-analytics/

Azure Data Explorer是一個快速、完全托管的數(shù)據(jù)分析服務(wù),可用于對來自應(yīng)用程序、網(wǎng)站、IoT設(shè)備等來源的海量數(shù)據(jù)流進(jìn)行近乎實時的分析。我們可以提出問題,并以迭代的方式即時探索數(shù)據(jù),借此改善產(chǎn)品,改進(jìn)客戶體驗,監(jiān)控設(shè)備,促進(jìn)運維,從數(shù)據(jù)中快速發(fā)現(xiàn)模式、異常和趨勢。

https://azure.microsoft.com/en-us/services/data-explorer/

選擇Azure Stream Analytics還是Azure Data Explorer?

用例

Stream Analytics適用于持續(xù)的或流式的實時分析,它提供的聚合函數(shù)可支持跳轉(zhuǎn)(Hopping)、滑動(Sliding)、翻轉(zhuǎn)(Tumbling)或會話(Session)窗口。但如果你希望用JavaScript或C#之外的語言編寫自己的UDF或UDA,或如果你的解決方案位于多種云或本地環(huán)境中,那么它可能并不適合你。

Data Explorer適用于按需或交互式近實時分析,針對海量數(shù)據(jù)流進(jìn)行數(shù)據(jù)探索,季節(jié)性分解,即席工作,儀表板,以及從近實時數(shù)據(jù)或歷史數(shù)據(jù)進(jìn)行根本原因分析。如果需要將分析能力部署在邊緣,那么它并不適合你。

預(yù)測

我們可以通過設(shè)置讓Stream Analytics作業(yè)與Azure Machine Learning Studio集成。

https://docs.microsoft.com/zh-cn/azure/stream-analytics/stream-analytics-machine-learning-integration-tutorial

Data Explorer提供了根據(jù)相同分解模型預(yù)測時序的原生功能。這樣的預(yù)測能力適合很多場景,例如預(yù)防式維護(hù)、資源規(guī)劃等。

季節(jié)性

Stream Analytics不能支持季節(jié)性,對滑動窗口大小的支持也較為有限。

Data Explorer則提供了在時序內(nèi)自動檢測周期的功能,或者我們可以將其用于驗證某個指標(biāo)應(yīng)具備特定的不同周期(前提是我們知道這些周期的存在)。

分解

Stream Analytics不支持分解。

Data Explorer可以獲取一系列時序并自動將每個時序分解為季節(jié)性、趨勢、殘存以及基線組件。

篩選和分析

Stream Analytics可以檢測峰谷或變化點。

Data Explorer提供的分析能力可以從一系列時序中找出異常點,并能在檢測到異常后進(jìn)行根本原因分析(RCA)。

篩選

Stream Analytics提供了可包含參考數(shù)據(jù)、慢速移動或靜態(tài)數(shù)據(jù)的篩選器。

Data Explorer則提供了兩種常規(guī)功能:

有限沖激響應(yīng)(Finite impulse response,F(xiàn)IR),可用于移動平均線、分化和形狀匹配。

無限沖激響應(yīng)(Infinite impulse response,IIR),可用于指數(shù)平滑和累積總和。

異常檢測

Stream Analytics提供了下列檢測:

峰谷(臨時異常)

變動點(持久異常,例如水平或趨勢的變化)

Data Explorer提供了下列檢測:

基于增強(qiáng)型季節(jié)性分解模型的峰谷(支持自動化季節(jié)性檢測,以及訓(xùn)練數(shù)據(jù)中異?,F(xiàn)象的健壯性)。

分段線性回歸的變動點(水平偏移、趨勢變化)。

通過KQL內(nèi)聯(lián)Python/R插件實現(xiàn)與借助Python或R實現(xiàn)的其他模型的擴(kuò)展性。

下一步?

總的來說,Azure Data Analytics能夠為每種類型的工作負(fù)載提供最適合的技術(shù)。新增的實時分析架構(gòu)(參閱上文示意圖)可供我們?yōu)槊款惞ぷ髫?fù)載使用最適合的技術(shù)進(jìn)行流式分析或時序分析,包括進(jìn)行異常檢測。下列資源可以幫你進(jìn)一步了解這些功能:

如果還未進(jìn)行,請通過這個GitHub代碼庫了解Azure Stream Analytics異常檢測。

https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/stream-analytics/stream-analytics-machine-learning-anomaly-detection.md

通過這個GitHub代碼庫了解Azure Data Explorer異常檢測和預(yù)測以及Azure Data Explorer時序分析。

https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/data-explorer/anomaly-detection.md

https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/data-explorer/time-series-analysis.md

Azure Stream Analytics異常檢測概述。

https://docs.microsoft.com/en-us/azure/stream-analytics/stream-analytics-machine-learning-anomaly-detection

Azure Data Explorer異常檢測和預(yù)測概述。

https://docs.microsoft.com/en-us/azure/data-explorer/anomaly-detection

https://docs.microsoft.com/en-us/azure/data-explorer/anomaly-detection

Azure Data Explorer時序分析文檔和這篇博客文章。

https://docs.microsoft.com/en-us/azure/data-explorer/time-series-analysis

https://azure.microsoft.com/en-us/blog/time-series-analysis-in-azure-data-explorer/

Kusto查詢語言文檔和時序分析

https://docs.microsoft.com/en-us/azure/data-explorer/kusto/query/machine-learning-and-tsa

原文鏈接:點擊前往 >
文章來源: 微軟中國MSDN
版權(quán)說明:本文內(nèi)容來自于 微軟中國MSDN,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
個人VIP
小程序
快出海小程序
公眾號
快出海公眾號
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家