我正在做一个与识别销售动态有关的项目。这就是我数据库的一部分看起来像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中提供的任何清晰性,或者您推荐的任何能有效完成这项任务的包,都将不胜感激。
我在这里找到了-> ->的代码,但不能在我的数据库和时间序列上使用它(建议R在26周后分析新的时间序列)。有人能给我解释一下吗?
发布于 2014-03-30 09:52:06
对于FFT/DWT来说,的数据可能太少,无法理解。DTW可能更好,但我也不认为这对销售数据有意义--为什么从一个地点到另一个地点会有x周的时差抵消?这并不是说这些数据是在未知的几周内被捕获的。
当您的数据具有有趣的重复模式时,FFT和DWT是很好的,而您有一个很好的时间分辨率(对于音频数据,例如16000 Hz --我指的是数千个数据点!)你根本不知道预期的频率是多少。如果你知道,例如,你将有每周的模式(例如星期日没有销售),那么你应该用其他算法来过滤它们。
当您不知道事件什么时候开始以及它们如何对齐时,DTW (动态时间扭曲)是很好的。假设你正在捕捉心脏测量数据。你不能指望两位受试者的心脏同步跳动。DTW将尝试对齐这些数据,并且可能(或不可能)成功地匹配,例如两个受试者的心跳异常。理论上..。
也许这里根本不需要专门的时间方法。
A)您的数据的时间分辨率太低
( B)您的数据已经完全对齐了
也许您所需要的只是花费更多的时间来预处理您的数据,特别是规范化,以便能够捕获相似性。
https://stackoverflow.com/questions/22729830
复制相似问题