IidChangePointEstimator 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
根據自適應核密度估計與馬丁格爾,偵測 獨立同分布(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 被呼叫時會被呼叫。 |