Share via


SsaChangePointEstimator 類別

定義

使用單一頻譜分析偵測時間序列中的變更點。

public sealed class SsaChangePointEstimator : Microsoft.ML.IEstimator<Microsoft.ML.Transforms.TimeSeries.SsaChangePointDetector>
type SsaChangePointEstimator = class
    interface IEstimator<SsaChangePointDetector>
Public NotInheritable Class SsaChangePointEstimator
Implements IEstimator(Of SsaChangePointDetector)
繼承
SsaChangePointEstimator
實作

備註

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

輸入和輸出資料行

只有一個輸入資料行。 輸入資料行必須是 SingleSingle 值在時間序列中指出時間戳記的值的位置。

它會產生具有 4 個元素的向量資料行。 輸出向量會循序包含警示層級 (非零值表示變更點) 、分數、p 值和 martingale 值。

估算器特性

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

估算器特性

機器學習工作 異常偵測
是否需要正規化?
是否需要快取?
除了 Microsoft.ML 之外,還需要 NuGet Microsoft.ML.TimeSeries

定型演算法詳細資料

這個類別會根據 單一的 Spectrum Analysis (SSA) 來實作一般異常偵測轉換。 SSA 是一個功能強大的架構,可分解時間序列成為趨勢、季節性和雜訊元件,以及預測時間序列的未來值。 根據原則,SSA 會對輸入時間序列執行干擾分析,其中頻譜中的每個元件都對應到時間序列中的趨勢、季節性或雜訊元件。 如需 SSA (SSA) 之單一頻譜分析的詳細資料,請參閱 本檔

異常計分器

一旦計算時間戳記的原始分數,就會送至異常計分器元件,以在該時間戳記計算最終異常分數。 此計分器包含兩個統計資料:p 值和 martingale 分數。

P 值分數

p 值分數會根據原始分數的分佈,指出目前計算原始分數的 p 值。 在這裡,會根據最新的原始分數值來估計分佈,最多到歷程記錄中的特定深度。 更具體來說,此分佈是使用 核心密度估計 搭配自適性頻寬的 Gaussian 核心 來估計。 p 值分數一律為 $[0,1]$,且其值越低,目前點越有可能是極端值 (也稱為尖峰) 。

根據 martingale 分數變更點偵測

martingale 分數是建置在 p 值分數之上的額外評分層級。 此概念是以 Exchangeability Martingales 為基礎,可偵測 i.i.d 值資料流程的分佈變更。 簡單來說,當資料列中偵測到小型 p 值序列時,martingale 分數的值就會大幅增加;這表示基礎資料產生程式的分佈變更。 因此,martingale 分數用於變更點偵測。 假設有一連串最近觀察到的 p 值,$p 1、\dots、p_n$,則會將 martingale 分數計算為:? $s (p1、 \dots, p_n) = \prod_{i=1}^n \Beta (p_i) $. $\Beta$有兩個選項:$\Beta (p) = e p^{\epsilon - 1}$ 代表 $0 < \epsilon < 1$ 或 $\Beta (p) = \int_ {0} ^1 \epsilon p^{\epsilon - 1} d\epsilon$。

如果 martingle 分數超過 $s (q_1、\dots、q_n) $,其中 $q_i=1 - \frac{\text{confidence}} {100} $,則相關聯的時間戳記可能會取得變更點偵測的非零警示值。 請注意,$\text{confidence}$ 定義于 DetectChangePointBySsaDetectIidChangePoint的簽章中。

如需使用範例的連結,請參閱另請參閱一節。

方法

Fit(IDataView)

訓練並傳回轉換器。

GetOutputSchema(SchemaShape)

轉換器的架構傳播。 如果輸入架構與提供的輸入架構類似,則傳回資料的輸出架構。

擴充方法

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

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

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

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

適用於

另請參閱