SsaChangePointEstimator Třída

Definice

Rozpoznáte body změn v časových řadách pomocí analýzy jednotného spektra.

public sealed class SsaChangePointEstimator : Microsoft.ML.IEstimator<Microsoft.ML.Transforms.TimeSeries.SsaChangePointDetector>
type SsaChangePointEstimator = class
    interface IEstimator<SsaChangePointDetector>
Public NotInheritable Class SsaChangePointEstimator
Implements IEstimator(Of SsaChangePointDetector)
Dědičnost
SsaChangePointEstimator
Implementuje

Poznámky

K vytvoření tohoto estimátoru použijte DetectChangePointBySsa.

Vstupní a výstupní sloupce

Existuje pouze jeden vstupní sloupec. Vstupní sloupec musí obsahovat Single místo, kde Single hodnota označuje hodnotu v časovém razítku časové řady.

Vytvoří sloupec, který je vektorem se 4 prvky. Výstupní vektor postupně obsahuje úroveň upozornění (nenulová hodnota znamená bod změny), skóre, p-hodnotu a hodnotu martingale.

Charakteristiky estimátoru

Potřebuje tento estimátor podívat se na data, aby vytrénovala jeho parametry? Yes
Datový typ vstupního sloupce Single
Datový typ výstupního sloupce Vektor 4 elementůDouble
Exportovatelné do ONNX No

Charakteristiky estimátoru

Úloha strojového učení Detekce anomálií
Vyžaduje se normalizace? No
Vyžaduje se ukládání do mezipaměti? No
Požadovaný NuGet kromě Microsoft.ML Microsoft.ML.TimeSeries

Podrobnosti trénovacího algoritmu

Tato třída implementuje obecnou transformaci detekce anomálií na základě analýzy jednotného spektra (SSA). SSA je výkonná architektura pro dekódování časových řad na trendy, sezónnost a komponenty šumu a také prognózování budoucích hodnot časových řad. V zásadě služba SSA provádí spektrální analýzu vstupní časové řady, kde každá komponenta ve spektru odpovídá trendu, sezónní komponentě nebo komponentě šumu v časové řadě. Podrobnosti o analýze jednotného spektra (SSA) najdete v tomto dokumentu.

Scorer anomálií

Jakmile se vypočítá nezpracované skóre v časovém razítku, předá se komponentě scoreru anomálií k výpočtu konečného skóre anomálií v daném časovém razítku. V tomto skóre jsou zapojeny dvě statistiky, p-value a martingale skóre.

Skóre P-hodnota

Skóre p-hodnota označuje p-hodnotu aktuálního vypočítaného nezpracovaného skóre podle rozdělení nezpracovaných skóre. Tady se odhaduje rozdělení na základě nejnovějších nezpracovaných hodnot skóre až do určité hloubky zpět v historii. Konkrétně se tato distribuce odhaduje pomocí odhadu hustoty jádra s jádry Gaussian s adaptivní šířkou pásma. Skóre p-hodnota je vždy v $[0, 1]$a nižší jeho hodnota, tím pravděpodobnější je aktuální bod odlehlé hodnoty (označuje se také jako špička).

Detekce bodu změny na základě skóre martingale

Skóre martingale je další úroveň bodování, která je postavena na skóre p-hodnota. Myšlenka je založená na Vyměnitelnosti Martingales , která detekuje změnu rozdělení přes datový proud hodnot i.i.d. Stručně řečeno, hodnota skóre martingale začíná výrazně růst, když sekvence malých p-hodnot zjištěných v řádku; označuje změnu distribuce podkladového procesu generování dat. Proto se skóre martingale používá k detekci bodu změny. Vzhledem k posloupnosti naposledy pozorovaných p-hodnot, $p 1, \tečky, p_n$, se skóre martingale vypočítá jako:? $s(p1; \dots; p_n) = \prod_{i=1}^n \beta(p_i)$. Existují dvě možnosti $\beta$: $\beta(p) = e p^{\epsilon - 1}$ pro $0 < \epsilon < 1$ nebo $\beta(p) = \int_{0}^1 \epsilon p^{\epsilon - 1} d\epsilon$.

Pokud skóre martingle překročí $s(q_1; \tečky, q_n)$ kde $q_i=1 - \frac{\text{confidence}}{100}$, přidružené časové razítko může získat nenulovou hodnotu upozornění pro detekci bodu změn. Všimněte si, že $\text{confidence}$ je definován v podpisech DetectChangePointBySsa nebo DetectIidChangePoint.

Odkazy na příklady použití najdete v části Viz také.

Metody

Fit(IDataView)

Trénujte a vraťte transformátor.

GetOutputSchema(SchemaShape)

Šíření schématu pro transformátory Vrátí výstupní schéma dat, pokud je vstupní schéma podobné zadanému schématu.

Metody rozšíření

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

Připojte k řetězci estimátoru kontrolní bod ukládání do mezipaměti. Tím zajistíte, aby podřízené estimátory byly vytrénovány proti datům uloženým v mezipaměti. Před průchodem více dat je užitečné mít kontrolní bod ukládání do mezipaměti.

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

Vzhledem k estimátoru vraťte zalamovací objekt, který zavolá delegáta jednou Fit(IDataView) . Často je důležité, aby odhadovač vrátil informace o tom, co bylo vhodné, což je důvod, proč Fit(IDataView) metoda vrací konkrétně typ objekt, nikoli jen obecné ITransformer. Ve stejnou dobu se však často vytvářejí do kanálů s mnoha objekty, takže možná budeme muset vytvořit řetězec estimátorů, kde EstimatorChain<TLastTransformer> je odhadovač, IEstimator<TTransformer> pro který chceme získat transformátor, zakopán někde v tomto řetězci. Pro tento scénář můžeme prostřednictvím této metody připojit delegáta, který bude volána po zavolání fit.

Platí pro

Viz také