語言

IidSpikeEstimator 類別

定義

根據自適應核密度估計,在 獨立同分布(i.i.d.) 時間序列上偵測訊號尖峰。

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

備註

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

輸入與輸出欄位

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

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

估算器特性

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

估算器特性

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

訓練演算法細節

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

異常記分員

計算出時間戳的原始分數後,會送入異常評分器元件,以計算該時間戳的最終異常分數。

基於p值的尖峰偵測

p 值分數表示當前點是否為異常值(也稱為尖峰)。 價值越低,越可能是尖峰。 p 值分數總是以 $[0, 1]$ 為單位。

此分數為根據原始分數分布計算出的當前原始分數的p值。 此處,分布是根據歷史中最近最深的原始分數值估算。 更具體地說,此分布是利用自適應頻寬的高斯核的核密度估計。

若 p 值分數超過 $1 - \frac{\text{confidence}}${100},相關時間戳可能會在尖峰偵測中獲得非零警示值,表示偵測到尖峰點。 請注意,$\text{confidence}$ 是在 DetectIidSpike 和 DetectSpikeByssa 的簽名中定義的。

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

方法

名稱 Description
Fit(IDataView)

根據自適應核密度估計,在 獨立同分布(i.i.d.) 時間序列上偵測訊號尖峰。

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

變換器(transformer)的結構傳播。 如果輸入模式與提供的相同,則會回傳資料的輸出結構。

擴充方法

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

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

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

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

適用於

另請參閱