分类多变量时间序列

时间:2014-09-21 12:38:06

标签: time classification series

我目前正在制作时间序列女巫430属性和约。 80k实例。现在我想对每个实例进行二进制分类(而不是整个ts)。我发现的关于TS分类的所有内容都谈到了标记整个事物。 是否有可能将每个实例用类似SVM的东西进行分类,完全忽略数据的顺序性,或者只会导致一个非常糟糕的分类器? 还有哪些其他选项可以对每个实例进行分类,但仍将数据视为时间序列?

2 个答案:

答案 0 :(得分:2)

如果标记了数据,您可以通过将属性连接在一起来获得好运,因此每个实例都成为一个长时间序列,并应用所谓的Shapelet Transform。这将导致每个时间序列的值向量,其可以被馈送到SVM,随机森林或任何其他分类器。可能是选择正确的shapelet将允许您在对实例进行分类时专注于单个属性。

如果没有标记,您可以先尝试使用unsupervised shapelets应用程序来浏览数据,然后继续进行上述的shapelet变换。

答案 1 :(得分:0)

这当然取决于430属性中的数据, 数据类型,尤其是您要解决的问题

在时间序列分析中,您通常希望利用相邻点之间的依赖关系,即它们如何随时间变化。您可以在书中找到的示例通常涉及单个函数f(t): Time -> Real。如果我理解正确,你只想关注430属性之间的依赖关系(垂直依赖关系)并忽略水平依赖关系。

如果我是你,我会首先尝试训练多个分类器(SVM,最大熵模型,多层感知器,随机森林,概率神经网络......)并在问题框架中比较它们的预测性能

对于训练,您可以首先将所有430个属性作为要素提供给Maxent分类器(可以轻松处理数百万个功能)。 您还需要执行一些N折叠交叉验证,以查看分类器是否未过度配置。然后选择最好的解决问题“足够好”。

如果这种方法表现不佳,其他想法:

  • 包括来自t-1,t-2 ...
  • 的功能
  • 通过尝试不同的要素子集来执行要素选择
  • 推导出新的时间序列,例如移动平均线,小波频谱......并将它们用作新功能

可以在openNLP中找到一个很好的Maxent分类器实现。