对所有人:
我一直在为此绞尽脑汁,并想也许这里有人会知道一个包或算法来处理以下问题:
我的名义多变量时间序列如下所示:
Time Var1 Var2 Var3 Var4 Var5 ... VarN
0 A A B C A ... H
1 A A B D D ... H
2 B A C D D ... H
..
依此类推,从 0 到 1,000,000。我想做的是在时间序列中搜索以下类型的规则:
假设 Var3 在上一步中处于状态 B,而 Var5 在上一步中处于状态 D,则 Var1 将处于状态 B。我想要做的是明确包含时间间隔的规则。一个更简单的感兴趣的例子就是将时间序列减少到
Time Var1 Var2 Var3 Var4 Var5 ... VarN
0 0 0 0 0 0 ... 0
1 0 0 0 1 1 ... 0
2 1 0 1 0 0 ... 0
如果变量的状态与上一步不同,则变量为 1,否则为零。然后我只想有这样的规则:
如果 Var4 和 Var5 在上一步中更改,则 Var1 在当前步骤中将更改。对于一个滞后来说,这很容易,因为我可以将数据变成如下内容:
Var1 Var2 Var3 Var4 Var5 ... VarN Var1_t-1 Var2_t-1 Var3_t-1 ...
然后进行序列挖掘,但如果我想要的规则不仅仅是一个滞后,而是可能滞后 1 到 500,那么我的数据集开始有点难以处理。
任何帮助将不胜感激。
编辑以回复评论:每列可能处于 7 种不同状态之一。就目标而言,它是非特定的,列之间的任何规则都将是有意义的。但是,预测第 30-40 和 62-75 列将特别有趣。