首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从时间序列数据中获取周期性?

如何从时间序列数据中获取周期性?
EN

Data Science用户
提问于 2021-04-11 13:59:33
回答 2查看 265关注 0票数 0

我想为智能家居应用程序创建一个推荐系统。我在时间序列数据库中收集数据。该应用程序监控智能灯的开/关状态,并可以创建日常例程。我想为用户创建通知,比如“您通常在8:00至10:00使用您的灯。要为此创建一个例程吗?”

我是数据科学和机器学习的初学者,我想问一下我应该使用什么样的机器学习算法或方法来解决这个问题。有人向我推荐了Facebook先知,但正如我所见,图书馆只能预测未来的发生,而不能预测时间序列数据的周期性。你知道什么库或算法吗?

在下面的图片中,您可以详细看到我的问题。有每小时打开/关闭状态的灯,每天以绿色和蓝色,结果,我想得到:灯的周期,通常是开。

EN

回答 2

Data Science用户

发布于 2021-04-11 14:33:16

查看您的数据--最简单的方法是创建二进制指示符的最后-N天小时平均值-然后使用阈值(基于实验)对其进行二值化。

例如,如果你最后10天的小时平均数是这样的:

0,0,0.6,0.8,0.9,1,0.9,0.7,0,1,1,1,0

然后,二进制化的阈值为0.8,其结果如下:

0,0,0,1,1,1,1,0,0,1,1,1,0

然后,您可以使用与1's相关的时间片作为推荐。

这可能是你能做的最简单的事情--不过,可能会有更复杂的算法。

票数 0
EN

Data Science用户

发布于 2022-01-12 02:41:13

我不认为你需要机器学习。首先,让我们假设每个模式每天重复。提取灯的特征,然后重新塑造它为形状(n,24),其中n是你有数据的天数。为了增加最近的偏差,你可以取n天中最近的m。从这里开始,您可以像Jayaram建议的那样应用相同的过程。

但是,如果您不知道功能中模式的周期,该怎么办?要找到这个,您可以使用一个快速傅里叶变换。查找FFT图中的峰值,这些是周期。要小心,因为一个特性有多个句点,所以图上有多个峰值。

票数 0
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/92905

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档