【发布时间】:2014-05-08 22:02:21
【问题描述】:
我正在制作一个与识别销售动态相关的项目。这就是我的数据库部分看起来像http://imagizer.imageshack.us/a/img854/1958/zlco.jpg。共有三列:
产品 - 展示产品组
周 - 自推出产品后的时间(周),前 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 周后分析新的时间序列) .可以给我解释一下吗?
【问题讨论】:
-
由于更多的是算法问题而不是编程问题,你最好在dsp.stackexchange.com提问。
-
您的期望是什么?您是否期望明星产品起飞而不是哑产品淡出?您是否尝试了一些简单的工具(例如 互相关)来确定哪些系列随着时间的推移具有相似的行为?执行回归分析然后根据其参数进行聚类也很有用。傅立叶变换通常用于(伪)周期性信号,但在您的情况下,似乎没有足够的数据可用(即 26 周太少而无法捕捉季节性事件)。
-
回归分析是什么意思?为每个时间序列创建模型?哪种方法可以根据其参数对组观察进行聚类?
标签: r time-series fft cluster-analysis data-mining