如何在机器学习中处理时间序列数据与其他属性?

时间:2013-09-17 15:13:10

标签: machine-learning data-mining data-processing

我正在研究二进制分类问题,如果每个数据实例都有几个不同指标的时间序列,那么还有其他一些属性。如何处理时间序列,将它们视为独立属性?但是这会丢失与时间维度相关的信息。

为了使其更具体,训练实例的示例将如下所示:

ID MetricA_Day1 MetricA_Day2 ..... MetricA_Day31 MetricB_Day1....MetricB_Day2 AttributeC AttributeD AttributeE

有关于如何处理此问题的最佳做法吗?

1 个答案:

答案 0 :(得分:4)

首先,“通用”答案:不是,机器学习中没有最佳实践。事实上,只有坏的目前流行的,但不是“最好的”。即使对于二进制,线性分类,它是否依赖于数据,是否更好地训练几何模型(SVM?)或概率模型。即使我们缩小到某个特定模型(简称神经网络),即使在数据缩放方面也没有最佳实践。它应该在[0,1]吗?或者[-1,1]?那么0和方差1怎么样?协方差矩阵是什么?

现在了解详细信息 - 您的问题几乎提供了有关数据的 no 信息。说“我有一些属性和很少的时间序列”远远没有给出真正有见地和有价值的答案的任何机会。但它看起来似乎不是一个具有任何确定答案的任务,它是一项长期研究任务。

您在研究期间可以搜索什么?

  • 这里真的需要这么丰富的代表吗?人们倾向于认为“越多越好”,就ML而言,这并不是真的。更简单,信息量更大的表示通常要好得多也许可以尝试将时间序列表示为一些一般特征,如sime频率特征,幅度等。
  • 内核方法可以使用非常广泛的相似性度量范围,特别是您可以为表示的每个“部分”定义不同的度量 - 因此时间序列将使用特殊内核,而简单属性则使用简单属性,并且通常你只需使用这些内核的总和(也是一个有效的内核)
  • 通过定义各个维度的各种距离,可以使用基于距离的方法(如kNN)执行类比方法
  • 您还可以为表示的每个“部分”训练单独的分类器 - 所以再次 - 时间序列有一些专门的时间序列分类器等,并将它们用作 ensamble (有很多方法与这样的偶像一起工作,这是ML)目前非常热门的话题。