SrCnnAnomalyEstimator 類別

定義

使用殘差 (SR) 演算法偵測時間序列中的異常

public sealed class SrCnnAnomalyEstimator : Microsoft.ML.Data.TrivialEstimator<Microsoft.ML.Transforms.TimeSeries.SrCnnAnomalyDetector>
type SrCnnAnomalyEstimator = class
    inherit TrivialEstimator<SrCnnAnomalyDetector>
Public NotInheritable Class SrCnnAnomalyEstimator
Inherits TrivialEstimator(Of SrCnnAnomalyDetector)
繼承

備註

若要建立此估算器,請使用 DetectAnomalyBySrCnn

估算器特性

此估算器是否需要查看數據來定型其參數? No
輸入數據行數據類型 Single
輸出數據行數據類型 的 3 元素向量Double
可匯出至 ONNX

背景

在 Microsoft,我們開發了一項時間序列異常偵測服務,可協助客戶持續監視時間序列,並即時警示潛在事件。 為了解決時間序列異常偵測的問題,我們建議以 Sr (SR) 和卷積類神經網路為基礎的新演算法, (CNN) 。 SR 模型是從視覺認證偵測領域借用到時間序列異常偵測。 我們在這裡先上線此 SR 演算法。

殘差 (SR) 演算法不受監督,這表示使用SR時不需要訓練步驟。 它包含三個主要步驟: (1) Fourier Transform 來取得記錄幅範圍; (2) 計算殘差; (3) 反四ier 轉換,將序列轉換成空間定義域。 以數學方式,指定序列 $\mathbf{x}$, 我們有 $$A (f) = Amplitude (\mathfrak{F} (\mathbf{x}) ) \ (P) = Phrase (\mathfrak{F} (\mathbf{x}) ) \L (f) = log (A (f) ) \AL (f) = h_n (f) \cdot L (f) \ (R) = L (f) - AL (f) \S (\mathbf{x}) = \mathfrak{F}^{-1} (exp (R (f) + P (f) ) ^{2}) $$ ,其中 $\mathfrak{F}$ 和 $\mathfrak{F}^{-1}$ 分別代表 Fourier Transform 和 Inverse Fourier Transform。 $\mathbf{x}$ 是具有圖形$n × 1$的輸入序列;$A (f) $ 是序列 $\mathbf{x}$的幅度範圍;$P (f) $ 是序列 $\mathbf{x}$的對應階段範圍;$L (f) $ 是 f) $的記錄表示法$A (f;和 $AL (f) $ 是 f $L ($) $ 的平均範圍,可藉由$h_n (f) $捲動輸入序列來近似 其中 $h_n (f) $ 是定義為$n × n$ 矩陣:$$n_f (f) = \begin{bmatrix}1&1&1&\cdots&1\1&1&1&\cdots&1\\vdots&\vdots&\vdots&\ddots&\vdots\1&1&1&\cdots&1\end{bmatrix}$$ $R (f) $ 是殘差,亦即記錄$L (f) $ 減去平均記錄範圍$AL (f) $。 殘差作為序列的壓縮表示法,而原始序列的創新部分會變得更重要。 最後,我們會透過反向 Fourier Transform 將序列傳回空間定義域。 結果序列$S (\mathbf{x}) $ 稱為「認證對應」。 假設$S (\mathbf{x}) $,輸出序列$O (\mathbf{x}) $ 的計算方式為:$$O (x_i) = \begin{cases}1, 如果 \frac{S (x_i) -\overline{S (x_i) }}{S (x_i) } > \tau\0,否則,\end{cases}$$ ,其中 $x_i$ 代表序列 $\mathbf{x}$中的任意點;$S (x_i) $is saliency 對應中的對應點;和 $\overline{S (x_i) }$ 是先前$S (x_i) $點的本機平均值。

SR 演算法有數個參數。 若要取得效能良好的模型,建議您先微調 windowSizethreshold ,這些是 SR 最重要的參數。 然後,您可以搜尋不大於 windowSize 的適當檢視WindowSize 對於其餘參數,您可以直接使用預設值。

如需詳細資訊,請參閱 Microsoft 檔的時間序列異常偵測服務

方法

Fit(IDataView)

使用殘差 (SR) 演算法偵測時間序列中的異常

(繼承來源 TrivialEstimator<TTransformer>)
GetOutputSchema(SchemaShape)

使用殘差 (SR) 演算法偵測時間序列中的異常

擴充方法

AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment)

將「快取檢查點」附加至估算器鏈結。 這可確保下游估算器會針對快取的數據定型。 在接受多個數據通過的定型器之前,先有快取檢查點會很有説明。

WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>)

指定估算器時,傳回包裝物件,一旦 Fit(IDataView) 呼叫委派即可。 估算器通常務必傳回符合專案的相關信息,這就是 Fit(IDataView) 方法傳回特定型別物件的原因,而不是只傳回一般 ITransformer。 不過,同時, IEstimator<TTransformer> 通常會形成具有許多物件的管線,因此我們可能需要透過建置估算器的鏈結,而我們想要取得轉換器的估算器 EstimatorChain<TLastTransformer> 會在此鏈結的某處放置。 在該案例中,我們可以透過這個方法附加呼叫一次會呼叫的委派。

適用於

另請參閱