分类多元时间序列


9

我有一组由约40个维度的时间序列(8个点)组成的数据(因此每个时间序列为8 x 40)。对应的输出(类别的可能结果)为0或1。

设计具有多个维度的时间序列的分类器的最佳方法是什么?

我最初的策略是从这些时间序列中提取特征:均值,标准差,每个维度的最大变化。我获得了用于训练RandomTreeForest的数据集。意识到这一点的天真之处,并且在获得较差的结果之后,我现在正在寻找一种更好的模型。

我的线索如下:对每个维度进行系列分类(使用KNN算法和DWT),使用PCA降低维度,并沿多维类别使用最终分类器。作为ML的新手,我不知道自己是否完全错了。


您正在做的是一个很好的方法。您的数据集中有多少个样本?
卡斯拉·曼沙伊(Kasra Manshaei)'17年

我有大约50万个时间序列(回想每个时间序列是8个时间戳* 40个维度)
AugBar '17

您是否尝试过仅使用原始的320个功能?320层的功能不是很多50万个样本
扬范德VEGT

@Jan van der Vegt:我已经使用神经网络尝试了该方法,但是结果并不那么令人信服-我使用的原始数据未经任何预处理。我应该对320个功能的原始数据进行哪些操作,以供分类器使用?
AugBar

1
在神经网络的情况下,根据可能影响的功能范围,标准化输入非常重要。但是我只是将原始功能馈入RF中,看看其工作原理如何,需要进行较少的调整以查看是否可以轻松地从中获得任何
收益

Answers:


5

您走在正确的轨道上。看一下在时域和频域中计算更多特征。只要样本数量>>特征数量,就不太可能过拟合。是否有关于类似问题的文献?如果是这样,那总是提供一个很好的起点。

尝试使用增强型树分类器,例如xgboost或LightGBM。它们往往更容易调整超参数,并且使用默认参数可以提供良好的结果。随机森林分类器和增强树分类器都可以返回特征重要性,因此您可以查看哪些特征与问题相关。您也可以尝试删除功能以检查是否存在协方差。

但是,最重要的是,如果您的结果出乎意料的差,请确保正确定义了问题。手动检查您的结果,以确保管道中没有任何错误。



2

您可以如下向数据集添加更多功能。

  1. 如果您的数据来自高度非线性的过程,则可以尝试使用nolds软件包。

  2. 最大值,最小值,平均值,偏斜,峰度,如果可能,还需要一些滚动统计信息。

我正在做类似的事情,并问了一个相关的问题


1

我确实同意Jan Van der Vegt的观点,将标准化(例如[-1,1])或标准化N(0,1)与激活函数结合起来对于神经网络可能非常重要。我会检查Pichaid Varoonchotikul的论文:“关于人工神经网络的来龙去脉,使用人工神经网络进行洪水预报”。它有一些非常有趣的警告。无论如何,我习惯于先尝试不尝试,但是当结果不能令人满意时,我习惯对两者进行试验。不确定是否会有所帮助,但我会检查R包TSclust和相关文档。作者非常友善,他们将帮助您找到实现此目标的特定模型。他们是时间序列分析的专家!祝好运!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.