比较两个时间序列数据以找出它们之间的偏差

数据挖掘 机器学习 时间序列 异常检测
2022-02-14 19:07:40

这是我拥有的一个用例,我正在尝试将其自动化。任何指针都会有所帮助。

用例:

当我们部署任何新版本的 web 服务时,我们会持续监控它(在部署到 live 时)以确保它不会引入任何新错误。为此,我们只是在视觉上与上周的错误趋势(在同一时间范围内)进行比较,如果它们看起来相似,我们批准新版本,或者如果错误数量似乎增加,我们决定回滚。

我正在寻找的是自动化这个决策。基本上,将推送期间的错误数据与上周(或任何其他时间范围)进行比较,并确定这两个错误趋势是否相似以及它们相似的程度。

我拥有的数据是x轴->时间戳y轴->那个时间戳的错误数。

我还有详细信息,例如该时间戳的请求数、延迟等

2个回答

您的用例看起来可以使用动态时间扭曲来解决。DTW 是一种用于比较两个时间序列之间相似性的算法。

DTW 的实现可以通过像这个 R implementation 这样的库以标准的数据科学编程语言获得

简单易行的方法是从两个时间序列中获取每个点的绝对差值,然后使用这些值来决定。

例如,您可以获得绝对差的平均值、标准差、最大值和最小值,并查看您可以安全地接受部署的限制。

另一种方法是使用Granger Causality Test,它用于(除其他外)确定两个时间序列是否在统计上不同。