时间序列的区间预测 |时间序列异常

Interval Prediction for a Time Series | Anomaly in Time Series

我有一个时间序列,我试图在其中检测异常。问题是,对于这些异常,我希望有一个范围,数据点应该位于该范围内,以避免成为异常点。我正在使用 ML .Net 算法来检测异常,我已经完成了那部分,但是如何获得范围?

如果我可以通过某种方式获得时间序列中点的范围,我可以绘制它们并显示超出此范围的点是异常点。

我尝试使用预测区间计算来计算范围,但这对时间序列中的所有数据点都不起作用。

比如,假设我有 100 个点,我取 100/4,即 25 作为滑动 window 来计算下一个点,即第 26 个点的预测区间,但问题是如何计算前 25 个点的预测区间?

在固定长度滑动window上运行的方法通常需要填充整个window,以便进行输出。在这种情况下,如果您想获得第一个数据点的预测(以及异常分数),则必须在开头填充输入序列。然而,可能很难使填充后的数据真实,这可能导致预测不佳。

一种绝妙的技术是使用两种不同的模型计算异常分数,一个在正向,另一个在反向,以获得所有地方的分数。但是,现在您必须决定如何处理有两组预测的区域 - 使用 min/max/average 异常分数。

有一些模型可以很好地处理可变长度输入,例如使用递归神经网络制作的序列到序列模型。