找到时间序列的零均值部分的最先进的方法

机器算法验证 时间序列 分类 意思是 变化点
2022-03-19 00:28:28

我有嘈杂的时间序列,我需要将其分割成均值为零的部分和均值不为零的部分。尽可能准确地找到边界很重要(显然边界的确切位置有点主观)。我认为可以调整 cusum 变体来做到这一点,但因为 cusum 主要是关于找到使整个分段策略完全未解决的单个更改。

我确信已经对这个问题进行了很多研究,但还没有找到它。

PS 这些时间序列的数据量是相当大的,也就是上亿个样本,单个样本可以是几百个分量的向量,所以能够合理快速计算的方法是一个重要因素.

PPS 没有分段标签,因此是分类标签。

2个回答

似乎这里的主要问题是有效的变化点检测,因为在那之后,随着样本数量的准确性增加,可以很容易地找到片段的平均值。最近可能有趣的方法是Z. Harchaoui、F. Bach 和 E. Moulines。内核变化点分析,神经信息处理系统 (NIPS) 的进展,2008。

这可能不是最先进的,但一种直观的方法是通过在靠近每个时间点的观察结果上放置权重来平滑数据。因此,如果您想知道样本 R 在时间 T 是否具有零均值:

mu(R,T)=w1*Sample(R,T)+w2*Sample(R,T-1)+w3*Sample(R,T+1)....

也许指数权重可能是一个不错的选择,具体取决于边界所在位置的定义。

在处理了一些技术细节(例如每个 somple 的开始和结束处的定义)之后,您现在可以简单地测试每个 mu 是否足够接近零,以找到均值为零的点。