gpt4 book ai didi

r - 时间序列的快速傅里叶变换和聚类

转载 作者:行者123 更新时间:2023-12-01 23:15:06 26 4
gpt4 key购买 nike

我正在做一个与识别销售动态相关的项目。这就是我的数据库的样子 http://imagizer.imageshack.us/a/img854/1958/zlco.jpg .一共有三列:

产品 - 展示产品组

Week - 自推出产品以来的时间(周),前 26 周

Sales_gain - 产品销售额如何随周变化

数据库中有 3302 个观测值 = 127 个时间序列

我的目标是将时间序列分组,以显示不同的销售动态。在聚类之前,我想使用快速傅立叶变换来更改向量的时间序列并考虑振幅等,然后使用距离算法和组积。

这是我第一次处理 FFT 和聚类,所以如果有人指出我必须在使用 FFT 对销售动态进行分组之前/之后必须做的步骤,我将不胜感激。我想在 R 中完成所有步骤,所以如果有人输入我应该使用哪些过程来完成所有步骤,那就太好了。

这就是我的时间序列现在的样子 http://imageshack.com/a/img703/6726/sru7.jpg

请注意,我是时间序列分析的新手(这就是为什么我不能在这里放我的代码)所以如果你能在 R 中提供任何清晰的信息或你可以推荐的任何可以有效完成此任务的包,我们将不胜感激。

附言我在这里找到了 DWT 的代码而不是 FFT -> www.rdatamining.com/examples/time-series-clustering-classification 但不能在我的数据库和时间序列上使用它(建议 R 在 26 周后分析新的时间序列) .有人能给我解释一下吗?

最佳答案

您的 FFT/DWT 可能数据太少,无法理解。 DTW 可能更好,但我也不认为它对销售数据有意义 - 为什么从一个位置到另一个位置会有 x 周的时间偏移?这并不是说数据是在未知的开始几周捕获的。

当您的数据具有有趣的重复模式,并且您有 A) 良好的时间分辨率(对于音频数据,例如 16000 Hz - 我说的是数千个数据点)时,FFT 和 DWT 非常有用!) 和 B) 你不知道期望的频率是多少。如果你知道,例如您将有每周模式(例如,星期天没有销售),那么您应该使用其他算法来过滤它们。

DTW(动态时间扭曲)在您不知道事件何时开始以及它们如何对齐时非常有用。假设您正在捕获心脏测量值。您不能指望让两个受试者的心脏同步跳动。 DTW 将尝试对齐此数据,并且可能(或可能不会)成功匹配,例如两个受试者的心跳异常。理论上...

也许您根本不需要专门的时间方法。

A)你的数据时间分辨率太低

B) 你的数据已经完美对齐

也许您需要的只是花更多时间预处理数据,尤其是归一化,以便能够捕获相似性。

关于r - 时间序列的快速傅里叶变换和聚类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22729830/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com