Share via


IidChangePointEstimator 類別

定義

根據自適性核心密度估計和 martingales,偵測 獨立相同分散式 () 時間序列上的訊號變更。

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

輸入和輸出資料行

只有一個輸入資料行。 輸入資料行必須是 SingleSingle 值表示時間序列中時間戳記的值。

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

估算器特性

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

估算器特性

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

定型演算法詳細資料

此定型器假設在時間序列中收集的資料點會獨立取樣, (獨立的相同分佈) 。 因此,目前時間戳記的值可以視為預期下一個時間戳記的值。 如果時間戳記$t-1$ 觀察到的值是 $p$,則 $t$ 時間戳記的預測值也會是 $p$。

異常計分器

在計算時間戳記的原始分數之後,它會饋送至異常計分器元件,以在該時間戳記計算最終異常分數。 此計分器涉及兩個統計資料: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)

根據自適性核心密度估計和 martingales,偵測 獨立相同分散式 () 時間序列上的訊號變更。

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

SchemaShape 回由轉換器產生之架構的 。 用於管線中的架構傳播和驗證。

擴充方法

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

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

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

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

適用於

另請參閱