語言

IidChangePointEstimator 類別

定義

根據自適應核密度估計與馬丁格爾,偵測 獨立同分布(i.i.d.) 時間序列上的訊號變化。

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

備註

要建立這個估計器,請使用 DetectIidChangePoint。

輸入與輸出欄位

只有一個輸入欄位。 輸入欄位必須是 Single 某 Single 個值表示時間序列中某個時間戳記值的地方。

它會產生一個包含四個元素的向量欄位。 輸出向量依序包含警示等級(非零值表示變更點)、分數、p 值及馬丁格爾值。

估算器特性

這個估計器需要查看資料來訓練參數嗎? No
輸入欄位資料型別 Single
輸出欄位資料型態 的四元素向量Double
可匯出至 ONNX No

估算器特性

機器學習任務 異常偵測
需要正規化嗎? No
快取是必須的嗎? No
除了 Microsoft.ML 之外,必須使用 NuGet Microsoft.ML.TimeSeries

訓練演算法細節

此訓練器假設時間序列中收集的資料點是從相同分布(獨立且同分布)獨立抽樣而來。 因此,當前時間戳的值可視為期望值下下一個時間戳的值。 若在時間戳記$t-1$時觀察值為$p$,則在$t$時間戳時的預測值也會是$p$。

異常記分員

計算出時間戳的原始分數後,會送入異常評分器元件,以計算該時間戳的最終異常分數。 此評分器涉及兩個統計量,分別是p值與馬丁格爾分數。

P值分數

p 值分數表示根據原始分數分布計算出的當前原始分數的 p 值。 此處,分布是根據歷史中最近最深的原始分數值估算。 更具體地說,此分布是利用自適應頻寬的高斯核的核密度估計。 p 值分數總是以 $[0, 1]$ 為單位,且其值越低,當前分數越可能是異常值(也稱為尖峰)。

基於馬丁格爾分數的變點偵測

馬丁格爾分數是基於 p 值分數的額外評分層級。 這個想法基於可 交換性鞅 ,該儀器能偵測一連串 i.i.d. 值上的分布變化。 簡言之,當連續偵測到一連串小 p 值時,馬丁格爾分數的值會顯著增加;這表示底層資料產生過程分布的改變。 因此,馬丁格爾分數用於變化點的偵測。 給定最近觀察到的 p 值序列,分別為 $p 1、\dots、p_n$,鞅分數計算為:? $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$。

若馬丁格分數超過 $s(q_1, \dots, q_n)$($q_i=1 - \frac{\text{confidence}}}{100}$),相關時間戳可能會獲得非零的變更點偵測警示值。 請注意,$\text{confidence}$ 是在 DetectChangePointBySsa 或 DetectIidChangePoint 的簽名中定義的。

請參考「參見」區塊,裡面有使用範例的連結。

方法

名稱 Description
Fit(IDataView)

根據自適應核密度估計與馬丁格爾,偵測 獨立同分布(i.i.d.) 時間序列上的訊號變化。

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

回傳 SchemaShape 由變壓器產生的結構結構。 用於結構傳播與管線驗證。

擴充方法

名稱 Description
AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment)

在估計鏈中附加一個「快取檢查點」。 這將確保下游估計器能針對快取資料進行訓練。 在訓練師接受多次資料通行前設置快取檢查點會很有幫助。

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

給定一個估計器,回傳一個包裹物件,該物件會呼叫一次 Fit(IDataView) 代理。 估計器通常回傳擬合的資訊很重要,因此該 Fit(IDataView) 方法回傳一個特定型別的物件,而非一般 ITransformer的 。 然而,同時, IEstimator<TTransformer> 通常會被組成包含許多物件的管線,因此我們可能需要建立一條估計鏈,將 EstimatorChain<TLastTransformer> 我們想要取得變壓器的估計器埋藏在這條鏈的某處。 在這種情況下,我們可以透過此方法附加一個代理,當 fit 被呼叫時會被呼叫。

適用於

另請參閱