Sdílet prostřednictvím


IidChangePointEstimator Třída

Definice

Zjištění změny signálu u nezávislé identické distribuované časové řady (tj. i.d.) na základě odhadu hustoty adaptivního jádra a 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)
Dědičnost

Poznámky

Chcete-li vytvořit tento estimátor, použijte DetectIidChangePoint.

Vstupní a výstupní sloupce

Existuje pouze jeden vstupní sloupec. Vstupní sloupec musí být Single tam, kde Single hodnota označuje hodnotu v časovém razítku v časové řadě.

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 odhadu

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

Charakteristiky odhadu

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

Podrobnosti o trénovacím algoritmu

Tento trenér předpokládá, že datové body shromážděné v časových řadách se nezávisle vzorkují ze stejného rozdělení (nezávisle na rozdělení). Proto lze hodnotu v aktuálním časovém razítku zobrazit jako hodnotu v dalším časovém razítku v očekávání. Pokud je pozorovaná hodnota v časovém razítku $t-1$ $p$, predikovaná hodnota v $t$ časového razítka by byla také $p$.

Anomálie Scorer

Jakmile se vypočítá nezpracované skóre v časovém razítku, přidá se komponentě 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-value

Skóre p-hodnota označuje p-hodnotu aktuálního počítaného nezpracovaného skóre podle rozdělení nezpracovaných skóre. V této části se rozdělení odhaduje 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 adaptivní šířky 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 bodů změn na základě skóre martingale

Skóre martingale je extra úroveň skóre, která je postavena na skóre p-hodnota. Myšlenka je založená na Exchangeability Martingales , která detekuje změnu distribuce přes datový proud hodnot 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; to označuje změnu distribuce podkladového procesu generování dat. Proto se skóre martingale používá k detekci bodů změn. Vzhledem k posloupnosti naposledy pozorovaných hodnot p-hodnot $p 1, \dots, p_n$, se skóre martingale vypočítá jako:? $s(p1; \tečky; 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.

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

Metody

Fit(IDataView)

Zjištění změny signálu u nezávislé identické distribuované časové řady (tj. i.d.) na základě odhadu hustoty adaptivního jádra a martingales.

(Zděděno od TrivialEstimator<TTransformer>)
GetOutputSchema(SchemaShape)

SchemaShape Vrátí schéma, které bude vytvořen transformátorem. Používá se k šíření a ověřování schématu v kanálu.

Metody rozšíření

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

Připojte k řetězci odhadu kontrolní bod ukládání do mezipaměti. Tím zajistíte, aby se podřízené estimátory natrénovaly na data uložená 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>)

Pokud získáte odhadátor, vraťte obtékání objektu, který jednou zavolá delegáta Fit(IDataView) . Často je důležité, aby estimátor vrátil informace o tom, co bylo vhodné, což je důvod, proč Fit(IDataView) metoda vrací konkrétně zadaný objekt, a ne 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 odhadovačů prostřednictvím EstimatorChain<TLastTransformer> toho, kde je odhadovač, IEstimator<TTransformer> pro který chceme získat transformátor, uložen někde v tomto řetězu. Pro tento scénář můžeme prostřednictvím této metody připojit delegáta, který bude volána po volání fit.

Platí pro

Viz také