IidSpikeEstimator 类

定义

根据自适应内核密度估计,检测 独立相同分布 (i.i.d.) 时序上的信号峰值。

public sealed class IidSpikeEstimator : Microsoft.ML.Data.TrivialEstimator<Microsoft.ML.Transforms.TimeSeries.IidSpikeDetector>
type IidSpikeEstimator = class
    inherit TrivialEstimator<IidSpikeDetector>
Public NotInheritable Class IidSpikeEstimator
Inherits TrivialEstimator(Of IidSpikeDetector)
继承

注解

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

输入和输出列

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

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

估算器特征

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

估算器特征

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

训练算法详细信息

此训练器假定在时序中收集的数据点独立于同一分布 (独立分布) 采样。 因此,当前时间戳处的值可被视为预期下一个时间戳中的值。 如果时间戳的观测值$t-1$ 为 $p$,则$t$ 时间戳的预测值也将$p$ 。

异常评分器

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

基于 p-value 的峰值检测

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

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

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

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

方法

Fit(IDataView)

根据自适应内核密度估计,检测 独立相同分布 (i.i.d.) 时序上的信号峰值。

(继承自 TrivialEstimator<TTransformer>)
GetOutputSchema(SchemaShape)

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

扩展方法

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

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

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

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

适用于

另请参阅