IidChangePointEstimator 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
根據自適性核心密度估計和 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}$ 定義于 DetectChangePointBySsa 或 DetectIidChangePoint的簽章中。
如需使用範例的連結,請參閱另請參閱一節。
方法
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> 建置估算器的鏈結,而我們想要取得轉換器的估算器會在此鏈結的某處被隱藏。 在該案例中,我們可以透過此方法附加呼叫一次將會呼叫的委派。 |