检测时间序列中某种周期性模式的丰度?

数据挖掘 时间序列 数据挖掘 相关性 异常检测 预测
2021-09-26 07:59:32

我现在真的很困惑如何解决一个特定的问题。我有很多这样的时间序列:

在此处输入图像描述

这代表了一个人一年中每天在网站上花费的小时数。没有看到他们使用该网站的任何日子都有零值,而不是缺失值。

我真正想做的是计算一个指标,告诉我在多大程度上存在一致的“每天 1 小时,每周一次”模式,或者说“每天 10 分钟,每周 6 次”模式,我有编写了一些产生这种模式的代码。我在机器学习或深度学习方面没有任何背景,但我研究了光谱分析和时间序列的一些技术。我还发现了一种称为“动态时间扭曲”的技术,理论上我可以使用它来找出将这个时间序列映射到“理想”序列(代表我刚才提到的使用模式)的成本。

我尝试绘制周期图和相关图,但似乎很少有相关性表明任何类型的周期性:

在此处输入图像描述

谁能阐明我如何使用某些技术来获取我需要的信息,或者为那些以前从未真正使用过它的人提供有关周期性检测或数据挖掘的任何介绍性文本?

2个回答

时间扭曲用于对齐不同的时间序列,对于数据预处理而不是您想要的更有用。

“我真正想做的是计算一个指标,告诉我‘每天 1 小时,每周一次’模式在多大程度上是一致的”

我不知道您是否有使用“指标”的特定理由,如果您需要找到跨人群的周期性模式,您可以做的是将不同的移动平均线应用于每个时间序列以提取不同的周期性模式,那么您可以评估不同人时间序列之间的互相关性,以评估哪些模式是主观的,哪些可以被认为是真实的。

阅读傅立叶变换 - 并查看数据的频谱。此外 - 尝试制造合成数据 - 嵌入您希望在现实世界中找到的模式。通过频谱图和相关图运行这个合成数据集——这将有助于获得视觉直觉来区分信号和噪声。