时间序列分类算法

2025年2月3日 | 阅读11分钟

时间序列分类是统计技术中的一项重要任务,涉及将有序的数据点归入预定义的类别。这类数据在金融、医疗保健、气象学等领域非常普遍。鉴于时间序列数据的特殊性质,其中顺序和时间依赖性至关重要,已开发出专门的算法来有效处理此任务。本文概述了几种最著名的时序分类算法。

1. 最近邻分类器

最近邻(NN)分类器是时间序列分类中最有效、最直观的算法之一。这些方法根据与一组标记样本的最接近匹配或匹配来对时间序列进行分类。尽管简单,NN 分类器可能非常强大,尤其是在与专门为时间序列数据定制的高级距离度量结合使用时。本文探讨了时序分类中使用的主要最近邻分类器,重点关注动态时间规整 (DTW) 和基于形状的距离 (SBD)。

动态时间规整 (DTW)

动态时间规整是一种用于测量在速度上可能有所不同的时间序列之间相似性的技术。这对于具有相似模式但时间不对齐的时间序列尤其有用。DTW 通过找到序列之间的最佳对齐来工作,允许拉伸和压缩时间段以实现最佳匹配。

DTW 的工作原理

  • 距离矩阵计算:创建一个距离矩阵,其中每个单元格 (i, j) 包含第一个时间序列的第 i 个元素与第二个时间序列的第 j 个元素之间的距离。
  • 成本矩阵构建:然后使用动态规划构建成本矩阵。成本矩阵中每个单元格的成本表示到达该点的最小累积距离。
  • 规整路径识别:通过从成本矩阵的右下角回溯到左上角,找到最佳规整路径,从而最小化总距离。

DTW 的优点

  • 灵活性:可以处理速度变化和时间不对齐。
  • 有效性:在匹配具有相似模式但时间尺度不同的时间序列时,通常能提供高精度。

DTW 的缺点

  • 计算密集:该算法具有二次时间复杂度,对于长序列或大型数据集来说速度较慢。
  • 参数敏感性:需要选择一个规整窗口大小,这可能会影响性能。

DTW 在 k-NN 中的应用

与 k 最近邻 (k-NN) 结合使用时,DTW 计算查询时间序列与训练集中的每个时间序列之间的距离,根据 DTW 距离选择 k 个最近邻。然后通过最近邻之间的多数投票确定类别标签。

基于形状的距离 (SBD)

基于形状的距离侧重于时间序列之间的形状相似性,而不是精确值或时间上的对齐。当时间序列的整体形状或模式对于分类比特定时间点更重要时,此技术特别有用。

SBD 的工作原理

  • Z-标准化:时间序列通常进行 Z-标准化,使其平均值为 0,标准差为 1,这有助于关注形状而不是幅度。
  • 互相关:基于形状的距离可以使用互相关来计算,互相关衡量一个序列在另一个序列上移动时的相似性。
  • 最大相关性:互相关函数的最大值被用作相似性度量。

SBD 的优点

  • 侧重形状:捕捉时间序列的整体模式和形状。
  • 对噪声的鲁棒性:受数据中异常值和噪声的影响较小。

SBD 的缺点

  • 不对齐不敏感:如果实际的时间对齐很重要,可能效果不佳。
  • 计算成本:计算成本可能很高,但通常比 DTW 低。

SBD 在 k-NN 中的应用

在 k-NN 框架中,SBD 衡量查询时间序列与训练集中的每个时间序列之间的相似性。选择 k 个最相似(最大相关性)的时间序列,并根据这些邻居之间的多数投票分配类别标签。

2. 基于特征的方法

基于特征的方法将时间序列数据转换为一组描述性特征,可用于传统的机器学习算法进行分类。通过捕捉时间序列的关键特征,这些技术将序列数据转换为特征向量,从而更容易使用通用分类技术。本文探讨了主要的基于特征的方法:时间序列森林 (TSF) 和 Shapelet 变换 (ST)。

时间序列森林 (TSF)

时间序列森林是一种集成方法,它在时间序列的随机间隔上构建多个决策树。每棵树都在从这些间隔中提取的一组特定特征上进行训练,以捕捉数据的不同方面。

3. 基于区间的方法

基于区间的时间序列分类方法包括将时间序列分成多个区间并从中提取特征。然后使用这些特征在特征空间中表示时间序列,从而可以应用通用的机器学习技术。此方法可以捕捉数据中的局部和全局模式。本文探讨了主要的基于区间的方法:时间序列特征包 (TSBF) 和学习模式相似性 (LPS)。

时间序列特征包 (TSBF)

时间序列特征包是一种将时间序列划分为区间并从每个区间提取特征以创建“特征包”的方法。此方法利用了用于文本分类的词袋模型概念,但将其应用于时间序列数据。

TSBF 的工作原理

  1. 区间选择:时间序列被分成多个固定长度的区间。区间的长度通常是需要设置的参数。
  2. 特征提取:对于每个区间,提取各种统计和数学特征。常见特征包括
    • 均值:区间内数据点的平均值。
    • 标准差:数据点分散程度的度量。
    • 偏度:数据分布不对称性的度量。
    • 峰度:数据分布“尾部”的度量。
  3. 特征包创建:每个时间序列表示为一个特征向量集合(或包),每个区间一个。此表示捕捉了时间序列在不同尺度和位置的不同方面。
  4. 分类:然后将特征向量作为输入,用于决策树、支持向量机 (SVM) 或随机森林等传统机器学习算法进行分类。

TSBF 的优点

  • 灵活性:通过分析不同区间可以捕捉局部和全局模式。
  • 可扩展性:可以有效地处理大型数据集和长序列。

TSBF 的缺点

  • 参数敏感性:区间选择和区间数量的选择会影响性能。
  • 特征冗余:提取的特征可能包含冗余或不相关的信息。

学习模式相似性 (LPS)

学习模式相似性侧重于从时间序列数据中学习模式,并使用这些学习到的模式作为分类的特征。此方法旨在识别可以区分不同类别的最判别模式。

LPS 的工作原理

  • 模式发现:使用聚类或模式发现等技术从训练时间序列数据中发现模式。这些模式是代表性的子序列,捕捉了时间序列的关键特征。
  • 模式学习:发现的模式经过微调和学习,使用机器学习技术来优化其判别力。此步骤通常涉及学习各种模式的权重或重要性。
  • 相似性测量:对于每个时间序列,计算其与发现的模式的相似性。这通常通过测量时间序列与模式之间的距离或相关性来完成。
  • 特征向量构建:每个时间序列被转换为一个特征向量,其中每个特征代表与发现的模式之一的相似性。
  • 分类:特征向量被用作输入,用于传统的机器学习算法进行分类。

LPS 的优点

  • 判别力:学习的模式对于分类具有高度的判别力。
  • 适应性:可以适应不同类型的时间序列数据并捕捉复杂模式。

LPS 的缺点

  • 计算复杂性:发现和学习模式可能需要大量计算。
  • 参数敏感性:模式长度和模式数量的选择会影响性能。

4. 集成方法

集成方法结合了多个分类器,以提高时间序列分类的准确性和鲁棒性。通过利用不同模型的优势,集成方法可以提供比单个分类器更好的性能。本文探讨了时间序列分类中使用的主要集成方法:HIVE-COTE(分层投票转换式集成集合)和 Proximity Forest。

HIVE-COTE(分层投票转换式集成集合)

HIVE-COTE 是一种先进的集成方法,它结合了多个分类器和转换技术来创建一个强大而全面的分类模型。它基于使用多个视角观察数据来提高分类准确性的思想。

HIVE-COTE 的工作原理

  1. 基本分类器:HIVE-COTE 集成了多个基本分类器,每个分类器都旨在捕捉时间序列数据的不同方面。这些分类器可以包括
    • 动态时间规整 (DTW):捕捉时间对齐和相似性。
    • 时间序列森林 (TSF):捕捉基于区间的功能。
    • Shapelet 变换 (ST):识别判别子序列。
    • 弹性集成 (EE):结合多种距离度量。
  2. 转换技术:对时间序列数据应用各种转换技术以创建不同的表示。这些转换有助于捕捉数据的不同特征,例如频率分量或形状模式。
  3. 集成投票:每个基本分类器根据其对数据的观察进行预测。最终类别通过分层投票方案确定,其中不同分类器的投票被加权并组合以给出最终输出。
  4. 分层集成:分层结构确保最可靠和最准确的分类器对最终决策产生更大的影响。

HIVE-COTE 的优点

  • 高精度:通过结合多种分类器和转换技术,HIVE-COTE 实现了高分类精度。
  • 全面分析:捕捉时间序列数据的不同方面,使其能够应对不同类型的模式和特征。

HIVE-COTE 的缺点

  • 复杂性:该方法计算量大,实施复杂。
  • 资源密集:需要大量计算资源和时间进行训练和预测。

Proximity Forest

Proximity Forest 是一种集成方法,它使用一组基于不同邻近度量法的决策树。此技术利用不同距离度量的多样性来提高分类性能。

Proximity Forest 的工作原理

  1. 邻近度量:Proximity Forest 使用多种距离度量来评估时间序列,包括
    • 动态时间规整 (DTW):通过对齐时间序列来测量相似性。
    • 欧氏距离:测量点之间的直接距离。
    • 基于形状的距离 (SBD):侧重于形状相似性。
  2. 树构建:集成中的每棵树都使用不同的邻近度量进行构建。在树构建期间,选择最佳邻近度量和相应的阈值来划分每个节点的数据。
  3. 树集成:该集成包含多棵树,每棵树都在相同的数据上进行训练,但使用不同的邻近度量。这种多样性有助于捕捉时间序列数据的不同方面。
  4. 多数投票:最终分类通过集成中各树的多数投票来确定。每棵树都为预测的类别投票,具有最多票数的类别被选为最终预测。

Proximity Forest 的优点

  • 多样化的视角:利用多种邻近度量来捕捉时间序列数据的不同特征。
  • 提高准确性:通过结合多种距离度量的优势,集成方法提高了分类准确性。

Proximity Forest 的缺点

  • 计算成本:构建和评估具有不同邻近度量的多棵树可能需要大量计算。
  • 参数敏感性:性能可能对距离度量的选择和集成中树的数量敏感。

5. 深度学习方法

深度学习方法通过利用能够从原始数据中自动学习复杂模式和表示的强大神经网络架构,彻底改变了时间序列分类。这些方法在捕捉时间序列数据中的时间依赖性和复杂结构方面表现出色。本文探讨了三种主要的深度学习技术:循环神经网络 (RNN)、卷积神经网络 (CNN) 和混合模型。

循环神经网络 (RNN)

循环神经网络 (RNN) 专门用于处理序列数据,它维护一个捕获时间依赖性的隐藏状态。由于它们能够记住先前输入并将这些信息包含在它们的预测中,因此它们非常适合时间序列数据。

RNN 的关键变体

  • 长短期记忆 (LSTM):LSTM 通过引入记忆单元和门(输入门、输出门和遗忘门)来控制信息流,从而解决了普通 RNN 中的梯度消失问题。这使它们能够有效地捕捉长期依赖性。
  • 门控循环单元 (GRU):GRU 通过将遗忘门和输入门合并为一个更新门来简化 LSTM 结构,使其计算效率高,同时仍能捕捉长期依赖性。

RNN 的工作原理

  • 输入序列:时间序列数据一次一个时间步地输入到 RNN 中。
  • 隐藏状态更新:在每个时间步,隐藏状态根据当前输入和先前隐藏状态进行更新。
  • 输出生成:在每个时间步都会生成输出,可用于分类任务。
  • 最终预测:对于分类,可以使用最终隐藏状态或一系列隐藏状态来做出最终预测。

RNN 的优点

  • 时间依赖性:有效地捕捉时间依赖性和序列模式。
  • 通用性:可以处理可变长度的输入序列。

RNN 的缺点

  • 训练复杂性:由于梯度消失和爆炸等问题,训练可能很困难。
  • 计算密集:需要大量的计算资源,尤其是对于长序列。

卷积神经网络 (CNN)

卷积神经网络 (CNN) 广泛用于图像处理,但可以通过将时间序列视为一维信号来将其应用于时间序列分类。CNN 通过其卷积层在捕捉局部模式方面非常有效。

CNN 的工作原理

  • 卷积层:将卷积滤波器应用于输入时间序列以提取局部特征。每个滤波器捕获不同的模式,例如趋势和周期性。
  • 池化层:对卷积层的输出进行下采样,降低维度并保留最重要的特征。
  • 全连接层:将池化层的输出展平并通过全连接层进行分类。

CNN 的优点

  • 局部模式识别:在捕捉时间序列中的局部模式和特征方面表现出色。
  • 并行化:卷积运算可以并行化,使 CNN 计算效率高。

CNN 的缺点

  • 时间依赖性:与 RNN 相比,在捕捉长期依赖性方面效率较低。
  • 固定输入大小:通常需要固定长度的输入,这可能需要填充或截断时间序列。

混合模型

混合模型结合了 RNN 和 CNN 的优势,以利用空间和时间特征。这种组合通过同时捕捉局部模式和长期依赖性,可以提高时间序列分类任务的性能。

混合模型的工作原理

  • CNN 用于特征提取:使用卷积层从时间序列中提取局部特征。
  • RNN 用于时间依赖性:将提取的特征输入到 RNN 层中,以捕捉时间依赖性和序列模式。
  • 最终分类:RNN 层的输出用于最终的分类任务。

混合模型的优点

  • 全面的特征捕捉:结合了局部模式识别和长期依赖性捕捉。
  • 性能增强:通过利用 CNN 和 RNN 的优势,通常可以实现更高的准确性。

混合模型的缺点

  • 复杂性增加:设计、实现和训练更复杂。
  • 计算资源:需要大量的计算资源进行训练和推理。