SsaSpikeEstimator 类

定义

使用单一光谱分析检测时序峰值。

public sealed class SsaSpikeEstimator : Microsoft.ML.IEstimator<Microsoft.ML.Transforms.TimeSeries.SsaSpikeDetector>
type SsaSpikeEstimator = class
    interface IEstimator<SsaSpikeDetector>
Public NotInheritable Class SsaSpikeEstimator
Implements IEstimator(Of SsaSpikeDetector)
继承
SsaSpikeEstimator
实现

注解

若要创建此估算器,请使用 DetectSpikeBySsa

输入和输出列

只有一个输入列。 输入列必须是 Single 一个 Single 值指示时序中时间戳的值的位置。

它生成一个包含 3 个元素的向量列。 输出向量按顺序包含警报级别 (非零值意味着更改点) 、评分和 p 值。

估算器特征

此估算器是否需要查看数据来训练其参数?
输入列数据类型 Single
输出列数据类型 3 元素向量 Double
可导出到 ONNX

估算器特征

机器学习任务 异常检测
是否需要规范化?
是否需要缓存?
除 Microsoft.ML 以外,还需要 NuGet Microsoft.ML.TimeSeries

训练算法详细信息

此类基于 SSA (SSA) 实现常规异常情况检测转换。 SSA 是一个强大的框架,用于将时序分解为趋势、季节性和噪音组件,以及预测时序的未来值。 原则上,SSA 对输入时序执行光谱分析,其中光谱中的每个组件对应于时序中的趋势、季节性或噪音组件。 有关 SSA (SSA) 单一光谱分析的详细信息,请参阅 本文档

异常评分器

计算时间戳中的原始分数后,它会馈送到异常评分器组件,以计算该时间戳的最终异常分数。

基于 p-value 的峰值检测

p 值分数指示当前点是否为离群值 (也称为峰值) 。 其值越低,越有可能是峰值。 p 值分数始终为 $[0, 1]$。

根据原始分数的分布,此分数是当前计算的原始分数的 p 值。 此处,根据最新的原始分数值估计分布,这些分数值可追溯到历史记录中的特定深度。 更具体地说,此分布是使用 内核密度估计 与自适应带宽的 Gaussian 内核 一起使用的。

如果 p 值分数超过 $1 - \frac{\text{confidence}}${100},则关联的时间戳可能会在峰值检测中获取非零警报值,这意味着检测到峰值点。 请注意,$\text{confidence}$ 在 DetectIidSpikeDetectSpikeBySsa 的签名中定义。

有关使用示例的链接,请查看“另请参阅”部分。

方法

Fit(IDataView)

训练并返回转换器。

GetOutputSchema(SchemaShape)

转换器的架构传播。 如果输入架构与提供的架构类似,则返回数据的输出架构。

扩展方法

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

将“缓存检查点”追加到估算器链。 这将确保根据缓存的数据训练下游估算器。 在执行多个数据传递的训练器之前,拥有缓存检查点会很有帮助。

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

给定估算器后,返回一个包装对象,该对象将调用委托一次 Fit(IDataView) 。 估算器通常必须返回有关适合的内容的信息,这就是为什么 Fit(IDataView) 该方法返回特定类型化对象的原因,而不仅仅是常规 ITransformer对象。 但是,同时, IEstimator<TTransformer> 通常形成为包含许多对象的管道,因此,我们可能需要通过 EstimatorChain<TLastTransformer> 估算器链生成一个估算器链,以便将转换器埋在此链中的某个位置。 对于该方案,我们可以通过此方法附加一个委托,该委托将在调用拟合后调用。

适用于

另请参阅