时间序列数据在众多行业中无处不在,然而,虽然时间序列预测受到相当多的关注,但时间序列分类却经常被忽视。本文全面介绍了时间序列分类,探索其实际应用,回顾各种方法,并在基于 Python 的分类项目中演示其中一些技术。让我们开始吧!
理解时间序列分类
时间序列分类是一种监督机器学习技术,其中随着时间的推移测量的一个或多个特征用于分配类别。 目标是标记时间序列而不是预测未来值。
时间序列分类的实际应用
时间序列分类有着广泛的用途,特别是在传感器数据方面。 主要应用包括:
这些多样化的应用凸显了时间序列分类在各个领域的重要性。
时间序列分类模型概述
时间序列分类有多种方法。 本节对每个内容进行简要概述,并在本专用指南中提供更详细的解释[链接到指南,如果有的话]。
1。基于距离的模型: 这些模型利用距离度量(例如欧几里德距离)对样本进行分类。动态时间规整 (DTW) 提供了一种更稳健的方法,可适应一系列不同的长度并处理稍微异相的模式。 示例包括 K 最近邻 (KNN) 和 ShapeDTW。
2。基于字典的模型: 这些模型使用符号对系列模式进行编码,并利用符号频率进行分类。 示例包括 BOSS、WEASEL、TDE 和 MUSE。
3。集成方法: 这些不是模型本身,而是结合多个基本估计器以改进预测的框架。 一个关键优势是它们能够使用单变量模型(例如,bagging)处理多变量数据。 示例包括装袋、加权集成和时间序列森林。
4。基于特征的方法:这些方法从时间序列中提取特征(例如,汇总统计、Catch22、矩阵配置文件、TSFresh),然后用于训练分类器。
5。基于间隔的模型: 这些模型从时间序列中提取多个间隔,使用上述方法计算特征,然后训练分类器。示例包括 RISE、CIF 和 DrCIF。
6。基于内核的模型: 这些模型使用内核函数将时间序列映射到更高维度的空间,以便于分类。示例包括支持向量分类器 (SVC)、Rocket 和 Arsenal(Rocket 的集合)。
7。 Shapelet 分类器: 该分类器识别并利用 shapelet(判别性子序列)基于距离比较进行分类。
8。元分类器: 这些结合了各种方法来实现稳健的分类性能。 HIVE-COTE 是一个例子,它结合了 TDE、Shapelet、DrCIF 和 Arsenal,尽管它的计算成本很高。
方法的选择取决于数据特征、计算资源和所需的准确性等因素。
实践时间序列分类项目 (Python)
本节将上述一些技术应用于 BasicMotions 数据集 [数据集链接],其中包括来自执行各种活动(站立、行走、跑步、羽毛球)的个人的加速度计和陀螺仪数据。
设置:
<code class="language-python">import pandas as pd import numpy as np import matplotlib.pyplot as plt from sktime.datasets import load_basic_motions from sklearn.model_selection import GridSearchCV, KFold</code>
数据加载:
<code class="language-python">X_train, y_train = load_basic_motions(split='train', return_type='numpy3D') X_test, y_test = load_basic_motions(split='test', return_type='numpy3D')</code>
数据可视化(比较步行和羽毛球的示例):
<code class="language-python"># ... (Visualization code as provided in the original article) ...</code>
KNN 分类:
<code class="language-python"># ... (KNN code as provided in the original article) ...</code>
用黄鼠狼装袋:
<code class="language-python"># ... (Bagging with WEASEL code as provided in the original article) ...</code>
评价:
<code class="language-python"># ... (Evaluation code as provided in the original article) ...</code>
结论
本文介绍了时间序列分类,涵盖了其应用和各种方法。 实际项目演示了KNN和WEASEL装袋的应用。 鼓励对该领域的进一步探索。
后续步骤
要继续学习,请考虑探索原始文章中提到的资源,包括时间序列分类方法指南和有关该主题的课程。
参考文献
以上是Python 时间序列分类完整介绍的详细内容。更多信息请关注PHP中文网其他相关文章!