SsaSpikeEstimator 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
使用单一光谱分析检测时序峰值。
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}$ 在 DetectIidSpike 和 DetectSpikeBySsa 的签名中定义。
有关使用示例的链接,请查看“另请参阅”部分。
方法
Fit(IDataView) |
训练并返回转换器。 |
GetOutputSchema(SchemaShape) |
转换器的架构传播。 如果输入架构与提供的架构类似,则返回数据的输出架构。 |
扩展方法
AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
将“缓存检查点”追加到估算器链。 这将确保根据缓存的数据训练下游估算器。 在执行多个数据传递的训练器之前,拥有缓存检查点会很有帮助。 |
WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
给定估算器后,返回一个包装对象,该对象将调用委托一次 Fit(IDataView) 。 估算器通常必须返回有关适合的内容的信息,这就是为什么 Fit(IDataView) 该方法返回特定类型化对象的原因,而不仅仅是常规 ITransformer对象。 但是,同时, IEstimator<TTransformer> 通常形成为包含许多对象的管道,因此,我们可能需要通过 EstimatorChain<TLastTransformer> 估算器链生成一个估算器链,以便将转换器埋在此链中的某个位置。 对于该方案,我们可以通过此方法附加一个委托,该委托将在调用拟合后调用。 |