导师指导与项目

aeon 运行一系列短期到中期项目,与社区和代码库互动。这些项目设计用于实习、作为学术机构本科/研究生项目的一部分,以及作为Google Summer of Code (GSoC)等项目的选项。

对于那些有兴趣在这些场景之外进行项目的人,我们建议加入Slack并与项目导师讨论。我们的目标是运行计划,帮助新贡献者更熟悉aeon、时间序列机器学习研究和开源软件开发。

所有列出的项目都需要掌握Python 3和Git/GitHub的知识。大多数项目还需要一些机器学习和时间序列的知识。

当前aeon项目

这是我们计划在2024年进行的一些项目列表。欢迎提出你自己的项目想法,但请先与我们讨论。我们有一个活跃的研究人员和学生社区,他们致力于aeon。如果你对这些项目感兴趣或有任何问题,请通过Slack联系我们。

我们将在资金机会可用时更广泛地进行宣传。

大多数项目都可以扩展,可能成为一个研究项目,甚至可能发表论文。这些项目适合所有人,从核心开发者到开源新手。我们按时间序列任务列出项目。

分类

  1. 优化Shapelet变换用于分类和相似性搜索

  2. 使用aeon-neuro进行EEG分类(已列入GSoC 2024)

  3. 改进的Proximity Forest用于分类(已列入GSoC 2024)

  4. 改进了HIVE-COTE实现。

  5. 比较基于距离的分类。

预测

  1. 时间序列预测的机器学习(列于GSoC 2024)

  2. 时间序列预测的深度学习

  3. 在aeon中实现ETS预测器

聚类

  1. 密度峰值聚类算法

  2. 基于深度学习的聚类算法

异常检测

  1. 使用矩阵轮廓和MERLIN进行异常检测

分割

  1. 时间序列分割

转换

  1. 改进ROCKET系列的变压器

  2. 实现信道选择算法

可视化

  1. 使用shapelet变换的可解释AI(南安普顿实习项目)。

回归

  1. 将预测回归器适应于时间序列外部回归。

  2. 为回归调整HIVE-COTE。

文档

  1. 改进自动化API文档

分类

1. 优化用于分类和相似性搜索的Shapelet转换(列入GSoC 2024)

导师:Antoine Guillaume (@baraline) 和 Tony Bagnall (@TonyBagnall)

描述

形状片段被定义为一个时间序列子序列,代表我们希望搜索的时间序列数据中的感兴趣模式。基于形状片段的算法可以用于广泛的时间序列任务。在本项目中,我们将重点关注其核心应用,即创建输入时间序列的嵌入。

我们在这个项目中的目标是优化与shapelet转换方法相关的代码,该方法以一组shapelet和时间序列数据集作为输入,并输出一个包含特征的表数据集,这些特征描述了输入时间序列中每个shapelet的存在(或不存在)(更多信息请参见[1]和[2])。

相似性搜索是时间序列的另一个领域,它提出了高度优化的算法(参见[3]和[4]),用于在另一个时间序列中找到子序列的最佳匹配。由于这个任务与在shapelet变换中所做的非常相似,我们希望将这些算法适应于shapelet的上下文,以实现显著的加速。

项目阶段

为了实现这一目标,在导师的帮助下,我们为学员确定了以下步骤:

  1. 了解aeon的最佳实践、编码标准和测试政策。

  2. 研究shapelet变换算法及其与相似性搜索任务的关系。

  3. 研究用于欧几里得距离的相似性搜索算法及其使用的计算优化。

  4. 提出一个候选实现,以提高由单个shapelet执行的计算的性能。这可以在aeon中现有的相似性搜索模块的帮助下完成。

  5. 测量第一个候选实现与当前方法的性能。

  6. 实现这个解决方案到shapelet变换算法,该算法使用多个shapelets。

  7. 对实现进行基准测试,与原始shapelet变换算法进行比较。

  8. 如果有时间,将这个新算法推广到扩张形状的情况(参见[5])。

预期结果

我们期望学员能够参与aeon社区,并为shapelet转换开发一个性能更高的实现,该实现将被纳入工具包中。

参考文献
  1. Hills, J., Lines, J., Baranauskas, E., Mapp, J. 和 Bagnall, A., 2014. 通过形状变换进行时间序列分类。数据挖掘与知识发现,28卷,第851-881页。

  2. Bostrom, A. 和 Bagnall, A., 2017. 用于多类时间序列分类的二进制形状变换。大规模数据和知识中心系统交易 XXXII: 大数据分析和知识发现特刊, 第24-46页。

  3. Yeh, C.C.M., Zhu, Y., Ulanova, L., Begum, N., Ding, Y., Dau, H.A., Silva, D.F., Mueen, A. 和 Keogh, E., 2016年12月. 矩阵剖面 I: 时间序列的所有对相似性连接:一个统一视角,包括主题、不和谐和形状。在2016年IEEE第16届国际数据挖掘会议(ICDM)上(第1317-1322页)。IEEE。

  4. 朱, Y., 齐默尔曼, Z., 塞诺巴里, N.S., 叶, C.C.M., 范宁, G., 穆恩, A., 布里斯克, P. 和基奥, E., 2016年12月. 矩阵轮廓II:利用新算法和GPU突破时间序列主题和连接的一亿障碍. 在2016年 IEEE第16届国际数据挖掘会议(ICDM)(第739-748页)中. IEEE.

  5. Guillaume, A., Vrain, C. 和 Elloumi, W., 2022年6月. 随机扩张形状变换:时间序列形状的新方法. 在国际模式识别与人工智能会议上 (第653-664页). 查姆: 施普林格国际出版.

2. 使用aeon-neuro进行EEG分类(列入2024年GSoC)

导师:Tony Bagnall (@TonyBagnall) 和 Aiden Rushbrooke

相关问题

#18 #19 #24

描述

EEG(脑电图)数据是高维时间序列,用于医学、心理学和脑机接口研究。例如,EEG用于检测癫痫和控制设备,如鼠标。关于EEG的分析和学习有大量的工作,但使用的工具、实践和系统存在很大差异。本项目将帮助aeon团队的成员,他们目前正在研究EEG分类技术[1]并开发一个aeon的姊妹工具包aeon-neuro。我们将共同努力改进aeon-neuro的结构和文档,帮助将该工具包与现有的EEG工具包(如MNE [2])集成,提供对标准数据格式(如BIDS [3])的接口,并帮助开发和评估一系列EEG分类算法。

项目阶段
  1. 了解aeon的最佳实践、编码标准和测试政策。

  2. 研究现有的脑电图分类技术。

  3. 实现或封装标准的脑电图处理算法。

  4. 评估用于脑电图问题的aeon分类器。

  5. 实施替代转换以预处理脑电图数据。

  6. 帮助撰写技术报告/学术论文的结果(根据结果而定)。

预期结果

我们期望一个文档更完善、集成度更高的aeon-neuro工具包,具有更好的功能和更广泛的吸引力。

参考文献
  1. Aiden Rushbrooke, Jordan Tsigarides, Saber Sami, Anthony Bagnall, 脑电图数据的时间序列分类, IWANN 2023.

  2. MNE 工具包, https://mne.tools/stable/index.html

  3. 脑成像数据结构(BIDS)标准,https://bids.neuroimaging.io/

3. 改进的邻近森林分类(列为GSoC 2024项目)

导师:Matthew Middlehurst (@MatthewMiddlehurst) 和 Tony Bagnall (@TonyBagnall)

相关问题

#159 #428

描述

基于距离的分类器,如k-最近邻,是时间序列分类的流行方法。它们主要使用弹性距离度量,如动态时间规整(DTW)来比较两个序列。Proximity Forest算法[1]是一种基于距离的时间序列分类器。该分类器创建了一个决策树森林,其中树的分裂基于使用各种距离度量的时间序列之间的距离。最近的一项时间序列分类算法综述[2]发现,Proximity Forest是这些比较中最准确的基于距离的算法。

aeon 之前有一个 Proximity Forest 算法的实现,但它不如原始实现(研究中使用的那个)准确,并且在基准数据集上不稳定。该项目的目标是对之前的实现进行重大改进,或者在 aeon 中完全重新实现 Proximity Forest,以匹配原始算法的准确性。这将涉及与作者提供的 Java 实现以及其他 Python 版本进行比较。导师将提供这两种替代方法的结果。虽然了解 Java 不是该项目的必要条件,但它可能是有益的。

最近,发布该算法的团队提出了Proximity Forest算法的新版本,Proximity Forest 2.0 [3]。该算法比原始的Proximity Forest算法更准确,并且目前在aeon或Python的其他地方没有实现。如果时间允许,该项目还可能涉及实现和评估Proximity Forest 2.0算法。

项目阶段
  1. 了解aeon的最佳实践、编码标准和测试策略。

  2. 研究Proximity Forest算法和之前的aeon实现。

  3. 改进/重新实现aeon中的Proximity Forest实现,目标是拥有一个与原始算法一样准确的实现,同时保持运行的可行性。

  4. 评估改进后的实现与原始的aeon Proximity Forest以及作者的Java实现的对比。

  5. 如果有时间,实现Proximity Forest 2.0算法并重复上述评估。

预期结果

我们期望学员能够积极参与aeon社区,并高质量地实现Proximity Forest算法,使其被工具包接受。

参考文献
  1. Lucas, B., Shifaz, A., Pelletier, C., O’Neill, L., Zaidi, N., Goethals, B., Petitjean, F. 和 Webb, G.I., 2019. 邻近森林:一种有效且可扩展的 基于距离的时间序列分类器。数据挖掘与知识发现, 33(3), pp.607-635.

  2. Middlehurst, M., Schäfer, P. 和 Bagnall, A., 2023. 重新审视烘焙大赛:近期时间序列分类算法的回顾与实验评估。arXiv 预印本 arXiv:2304.13029.

  3. Herrmann, M., Tan, C.W., Salehi, M. 和 Webb, G.I., 2023. Proximity Forest 2.0: 一个新的有效且可扩展的基于相似性的时间序列分类器。arXiv 预印本 arXiv:2304.05800.

4. 改进的HIVE-COTE实现

导师:Matthew Middlehurst (@MatthewMiddlehurst) 和 Tony Bagnall (@TonyBagnall)

相关问题

#663

描述

基于转换的层次投票集体集成(HIVE-COTE)[1,2,3] 是一种声称是最先进的时间序列分类器,特别是在概率估计方面 [4]。已经有几个迭代版本使用了不同的基础分类器,但它们都共享相同的基本设计:使用不同表示的分类器在加权元集成中组合 [4]。目前 aeon 中有两个 HIVE-COTE 实现:HIVE-COTEV1 [2] 和 HIVECOTEV2 [3]。本项目将涉及将这些实现合并为一个单一的估计器,模块化集成阶段,并可能尝试替代结构。这很容易发展成为一个研究项目。

项目阶段
  1. 了解aeon的最佳实践、编码标准和测试策略。

  2. 研究HIVE-COTE算法及之前的aeon实现。

  3. 将HIVE-COTEV1和HIVE-COTEV2分类器合并为一个单一的分类器,通过构造函数可配置为不同版本。

  4. 重组集成阶段,以便轻松进行变体实验。

参考文献
  1. A Bagnall, J Lines, J Hills, A Bostrom, 使用COTE进行时间序列分类:基于转换的集成集合, IEEE知识与数据工程学报 27 (9), 2522-2535

  2. M Middlehurst, J Large, M Flynn, J Lines, A Bostrom, A Bagnall, HIVE-COTE 2.0: 一个新的时间序列分类元集成方法, 机器学习 110 (11), 3211-3243

  3. J Lines, S Taylor, A Bagnall, 使用HIVE-COTE进行时间序列分类:基于转换的集成层次投票集体, ACM Transactions on Knowledge Discovery from Data (TKDD) 12 (5), 1-35

  4. Middlehurst, M., Schäfer, P. 和 Bagnall, A., 2023. 重新审视烘焙大赛:近期时间序列分类算法的回顾与实验评估。arXiv 预印本 arXiv:2304.13029.

5. 比较基于距离的分类和回归

导师:克里斯·霍尔德 (@cholder) 和托尼·巴格纳尔 (@TonyBagnall)

相关问题

#423 #424 #425 #426 #427 #488

描述

基于距离的算法在时间序列分类和回归中很受欢迎。然而,对于分类的距离函数的评估并未全面覆盖所有可能的用途。例如,尚未有适当的比较研究来使用弹性距离与支持向量机或结合调整距离函数和分类器。本项目将结合实现替代距离函数并在UCR数据集上比较性能。

预测

1. 时间序列预测的机器学习(列于GSoC 2024)

导师:Tony Bagnall (@TonyBagnall) 和 Matthew Middlehurst (@MatthewMiddlehurst)。

相关问题

#265

描述

本项目将研究基于传统机器学习(基于树)和时间序列机器学习(基于转换)的预测算法。请注意,本项目不涉及基于深度学习的预测。它将涉及帮助开发aeon框架,使其与机器学习算法更透明地工作,评估aeon[1]中已有的回归算法以解决预测问题,并实现至少一种文献中尚未包含在aeon中的算法,例如SETAR-Tree [3]。

项目阶段
  1. 了解aeon的最佳实践、编码标准和测试政策。

  2. 调整M竞赛设置[2]以适应ML实验框架,以评估时间序列回归算法[1]。

  3. 实现一个机器学习预测算法 [3]

预期结果
  1. 对aeon预测模块的贡献。

  2. 机器学习预测算法的实现。

  3. 帮助撰写技术报告/学术论文的结果(根据结果而定)。

所需技能
  1. Python 3

  2. Git 和 GitHub

  3. 一些机器学习和/或预测背景(例如,教授课程或实践经验)

参考文献
  1. Guijo-Rubio, D., Middlehurst, M., Arcencio, G., Furtado, D. 和 Bagnall, A. 无监督特征算法用于时间序列外部回归, arXiv2305.01429, 2023

  2. https://forecasters.org/resources/time-series-data/

  3. Godahewa, R., Webb, G.I., Schmidt, D. 等人。SETAR-Tree:一种新颖且准确的全球时间序列预测树算法。机器学习 112, 2555–2591 (2023)。 https://link.springer.com/article/10.1007/s10994-023-06316-x

2. 时间序列预测的深度学习

导师:Tony Bagnall (@TonyBagnall) 和 Ali Ismail-Fawaz ({user} hadifawaz1999)

描述

深度学习在预测方面变得非常流行,参见[1]的介绍。本项目将涉及采用一个或多个最近提出的算法,在aeon中实现它们,然后与传统和机器学习算法进行广泛的实验比较。作为其中的一部分,我们将整理来自M竞赛[2]的结果。

项目阶段
  1. 了解aeon的最佳实践、编码标准和测试政策。

  2. 调整M竞赛设置[2]以适应深度学习。

  3. 在与导师讨论后,实现一个深度学习预测算法。

预期结果
  1. 整理的M竞赛结果和部分复现。

  2. 扩展预测模块以包含至少一个深度预测器。

参考文献
  1. ECML 2024 教程

  2. M Competitions

3. 实现ETS预测器

导师:Tony Bagnall (@TonyBagnall) 和 Leo Tsaprounis (@ltsaprounis) 指数平滑(ETS)是一系列流行的预测算法, Hyndman等人提出的ETS框架[1]涵盖了30种可能的时间序列模型, 这些模型具有不同类型的误差、趋势和季节性成分。 我们已经在aeon中有一个(自动)ETS模型,但它是对statsmodels的封装。 我们希望基于R实现,拥有我们自己定制的、优化的实现。

项目阶段
  1. 了解aeon的最佳实践、编码标准和测试政策。

  2. 调查和基准测试现有的ETS预测实现。

  3. 实现针对numba优化的基本实现。

  4. 扩展实现以包含现代改进。

参考文献
  1. Hydman 等人 Forecasting with Exponential Smoothing The State Space Approach

  2. Smooth R Package

  3. Svetunkov, 使用增强动态自适应模型(ADAM)进行预测和分析

聚类

1. 密度峰值聚类算法

导师:Tony Bagnall (@TonyBagnall) 和 Chris Holder (@chrisholder).

描述

到目前为止,aeon中的聚类模块使用时间序列特定的距离函数与分区聚类算法(如k-means和k-medoids)进行聚类。另一种聚类算法是密度峰值(DP)[1]。这种聚类算法的优点是不必将所有案例标记为聚类成员,这意味着它可以很容易地适应异常检测[2]。它是一种通用聚类算法,在scikit learn中不可用。本项目将基于Java和matlab实现该算法,然后与时间序列聚类的分区聚类进行性能比较。

项目阶段
  1. 研究并理解DP的工作原理。

  2. 将DP实现为一个aeon估计器。

  3. 测试实现与其他实现的正确性。

  4. 与其他TSCL算法进行比较

预期结果
  1. 一个文档齐全、经过测试且高效的DP实现

  2. 可能的扩展以反映最近的研究 [2] 与特定的时间序列组件 [3]。

  3. 对比较研究和论文的贡献。

参考文献
  1. Rodriguez, A., & Laio, A. 通过快速搜索和发现密度峰值进行聚类。 Science, 344 (6191), 1492-1496, 2014.

  2. 陈, L., 高, S. & 刘, B. 一种基于网格筛选和互邻域度的改进密度峰值聚类算法用于网络异常检测。 科学报告 12, 1409 (2022) DOI

  3. Begum等人。一种基于密度的通用时间序列聚类框架 利用一种新颖的可接受剪枝策略,arXiv

2. 用于聚类的深度学习

导师:Tony Bagnall (@TonyBagnall) 和 Ali Ismail-Fawaz ({user} hadifawaz1999)

aeon中的聚类模块,到目前为止,主要由基于距离的分区聚类算法组成。最近,我们引入了一个深度聚类模块,将基于距离的算法融入潜在空间。

本项目的目标是通过引入更多深度学习方法来进行时间序列聚类,从而增强aeon。具体目标是实现并评估InceptionTime [1]及其最近的变体作为聚类算法,并为一个正在进行的协作努力做出贡献,以进行聚类竞赛。更广泛地说,我们可以考虑多种深度学习聚类方法 [2]。

项目阶段
  1. 研究和理解基于聚类时间序列和深度学习的方法。

  2. 将初始时间实现为aeon聚类器。

  3. 比较深度学习聚类器与基于距离的算法的性能。

[1] Fawaz 等人。InceptionTime: 寻找时间序列分类的AlexNet 发表于:2020年9月7日 第34卷,页码1936–1962, (2020) [2] 深度学习预测 教程

异常检测

1. 使用矩阵轮廓和MERLIN进行异常检测

导师:马修·米德尔赫斯特 (@MatthewMiddlehurst)

描述

aeon 正在寻求扩展其时间序列异常检测模块。该项目的最终目标是实现 Matrix Profile [1][2] 和 MERLIN [3] 算法,但首先需要设计一个适合 aeon 的异常检测框架。学员将帮助设计异常检测模块的 API,并实现 Matrix Profile 和 MERLIN 算法。

使用外部库如stumpy [4] 是算法实现的一种可能方式,或者学员可以使用numba从头开始实现算法。还有对实现进行基准测试的空间,但由于aeon中没有现有的异常检测模块,这将需要开发一些基础设施,并且取决于时间和兴趣。

项目阶段
  1. 了解aeon的最佳实践、编码标准和测试策略。

  2. 熟悉aeon中类似的单系列实验模块,例如分割和相似性搜索。

  3. 帮助设计异常检测模块的API。

  4. 学习和实现用于异常检测的Matrix Profile和MERLIN算法 使用新的API。

  5. 如果时间允许并且有兴趣,可以将实现与原始实现或其他异常检测算法进行基准测试。

项目成果

由于异常检测是aeon中的一个新模块,现有的代码很少可以进行比较,评估异常检测算法的基础设施也很少。项目的成功将通过生成的代码质量以及与项目和aeon社区的参与度来评估。

参考文献
  1. Yeh, C.C.M., Zhu, Y., Ulanova, L., Begum, N., Ding, Y., Dau, H.A., Silva, D.F., Mueen, A. 和 Keogh, E., 2016年12月. 矩阵剖面 I: 时间序列的所有对相似性连接:一个统一视角,包括主题、不和谐和形状。在2016年IEEE第16届国际数据挖掘会议(ICDM)上(第1317-1322页)。IEEE。

  2. Lu, Y., Wu, R., Mueen, A., Zuluaga, M.A. 和 Keogh, E., 2022年8月. 矩阵轮廓XXIV:将时间序列异常检测扩展到数万亿数据点和超快速到达的数据流. 在第28届ACM SIGKDD知识发现与数据挖掘会议论文集 (第1173-1182页).

  3. Nakamura, T., Imamura, M., Mercer, R. 和 Keogh, E., 2020年11月. Merlin: 在大规模时间序列档案中发现任意长度异常的无参数方法。 在2020年IEEE国际数据挖掘会议(ICDM)上(第1190-1195页)。IEEE。

  4. Law, S.M., 2019. STUMPY: 一个强大且可扩展的Python库,用于时间序列数据挖掘。开源软件杂志, 4(39), p.1504.

分割

1. 时间序列分割

导师:Tony Bagnall (@TonyBagnall) 和待定

描述

时间序列分割模块包含了一系列用于分割时间序列的算法。该项目的目标是扩展aeon中的分割功能,并开发用于比较分割算法的工具。

项目阶段
  1. 了解aeon的最佳实践、编码标准和测试策略。

  2. 研究aeon中现有的分割算法。

  3. 实现现有的分割算法,例如 https://github.com/aeon-toolkit/aeon/issues/948

  4. 实现用于比较分割算法的工具

  5. 在一系列数据集上进行分割算法的比较。

项目成果

与所有基于研究编程的项目一样,进展可能会受到许多不可预见的情况的阻碍。成功将通过参与度、努力程度和加入社区的意愿来衡量,而不是算法的性能。

参考文献
  1. Allegra, M., Facco, E., Denti, F., Laio, A. 和 Mira, A., 2020. 基于局部内在维度的数据分割。科学报告, 10(1), p.16449.

  2. Ermshaus, A., Schäfer, P. 和 Leser, U., 2023. ClaSP: 无参数时间序列分割. 数据挖掘与知识发现, 37(3), pp.1262-1300.

  3. Hallac, D., Nystrup, P. 和 Boyd, S., 2019. 多变量时间序列的贪婪高斯分割. 数据分析和分类进展, 13(3), 第727-751页.

  4. Matteson, D.S. 和 James, N.A., 2014. 一种用于多变量数据多重变化点分析的非参数方法。美国统计协会杂志, 109(505), 第334-345页。

  5. Sadri, A., Ren, Y. 和 Salim, F.D., 2017. 基于信息增益的度量用于识别人类活动中的转变。普适与移动计算, 38, 第92-109页。

转换

1. 改进ROCKET系列转换器

导师:Ali Ismail-Fawaz (@hadifawaz1999) 和 Matthew Middlehurst (@MatthewMiddlehurst) #208 #214 #313 #1126 #1248

描述

ROCKET算法[1]是一种非常快速且准确的转换方法,专为时间序列分类设计。它基于随机初始化的卷积核,这些卷积核被应用于时间序列并用于提取摘要统计信息。ROCKET在时间序列分类、外部回归和异常检测中有应用,但作为一种快速且无监督的转换方法,它有可能广泛应用于其他时间序列任务。

aeon 实现了 ROCKET 变换及其变体,包括 MiniROCKET [2] 和 MultiROCKET [3]。然而,这些实现仍有改进的空间(#208)。有加速实现的空间,而且变体的数量可能过多,可以简化为更高质量的估计器。

该项目涉及改进现有的ROCKET实现于aeon中或实现新的ROCKET变体。项目将包括基准测试,以确保新实现的速度和准确性与原始ROCKET算法相当,并可能与其他实现进行比较(#214)。除了改进现有实现外,还有实施HYDRA算法[4]或实现GPU兼容版本算法的空间。

项目阶段
  1. 了解aeon的最佳实践、编码标准和测试策略。

  2. 研究ROCKET、MiniROCKET、MultiROCKET算法。

  3. 研究aeon中现有的ROCKET实现。

  4. 合并并整理ROCKET的实现,目的是让学员熟悉aeon的拉取请求流程。

  5. 实施一个(或多个)提议的ROCKET实现改进:

    • 显著改变当前的ROCKET实现,目标是加快在CPU处理上的实现速度。

    • 实现一些ROCKET变换器的GPU版本,使用tensorflowpytorch

    • 扩展现有的ROCKET实现,以允许使用不等长序列。

    • 实现HYDRA算法。

  6. 对实现进行基准测试,与原始的ROCKET实现进行比较,关注转换速度和分类设置中的准确性。

项目成果

项目的成功将通过生成的代码质量以及在分类设置中对transformers的评估来衡量。所有实现都不应显著降低原始ROCKET算法在准确性和速度方面的性能。无论如何,对项目的努力和参与以及与aeon社区的互动是评估成功的更重要因素。

参考文献
  1. Dempster, A., Petitjean, F. 和 Webb, G.I., 2020. ROCKET: 使用随机卷积核进行异常快速和准确的时间序列分类。数据挖掘与知识发现, 34(5), 第1454-1495页。

  2. Dempster, A., Schmidt, D.F. 和 Webb, G.I., 2021年8月. Minirocket: 一种非常快速(几乎)确定性的时间序列分类变换。在《第27届ACM SIGKDD知识发现与数据挖掘会议论文集》(第248-257页)中发表。

  3. Tan, C.W., Dempster, A., Bergmeir, C. 和 Webb, G.I., 2022. MultiRocket: 用于快速有效时间序列分类的多种池化操作和变换。数据挖掘与知识发现, 36(5), 第1623-1646页。

  4. Dempster, A., Schmidt, D.F. 和 Webb, G.I., 2023. Hydra: 竞争卷积核用于快速准确的时间序列分类。数据挖掘与知识发现,第1-27页。

2. 实现信道选择算法

相关问题: #1270 #1467

在这种情况下,通道选择是减少时间序列集合中通道数量以进行分类、聚类或回归的过程。本项目着眼于基于过滤器的方法,以加速高维时间序列分类(MTSC)。分类高维数据的标准方法是使用过滤器选择属性子集或将数据转换为较低维度的特征空间,例如使用主成分分析。我们的重点是通过过滤进行降维。对于MTSC,过滤通常被认为是在训练分类器之前选择最重要的维度。维度选择平均而言可能会增加、不变或降低分类的准确性。第一种情况意味着较高的维度混淆了分类器的判别能力。在第二种情况下,由于训练时间的改善,通常仍然希望进行过滤。在第三种情况下,根据性能(例如准确性)和效率(例如训练时间)之间的权衡,可能仍然希望进行过滤:如果构建时间减少一个数量级,准确性的小幅下降可能是可以接受的。我们解决了如何最好地为高维数据选择维度子集的任务,以便我们可以加速并可能改进高维MTSC问题上的HC2。 检测最佳维度子集并不是一个简单的问题,因为需要考虑的组合数量随着维度的增加呈指数增长。选择也变得更加复杂,因为用于评估一组特征的目标函数可能无法很好地推广到未见过的数据。此外,由于过滤维度的主要原因是提高分类器的效率,维度选择策略本身需要快速。

目前我们在aeon中拥有[1,2]中描述的通道选择算法。将[3]中的算法及进一步的工作包含进来将会非常有益。该项目除了实现算法外,还将涉及实验评估。我们可以通过我们的HPC设施与候选人协调实验。

  1. 为aeon工具包实现一个通道选择包装器(参见#1270

  2. 探索在评分后选择通道的替代方法(例如前向选择)

  3. 使用一个快速分类器,可以通过例如装袋法找到训练估计值,并避免交叉验证

  4. 研究、实施和评估替代的通道选择算法

参考文献

[1] Dhariyal, B. 等人。快速通道选择用于可扩展的多变量时间序列分类。AALTD, ECML-PKDD, Springer, 2021 [2] Dhariyal, B. 等人。可扩展的与分类器无关的通道选择用于多变量时间序列分类”, DAMI, 2023 [3] Ruiz, A.P., Bagnall, A. 多变量时间序列分类的维度选择策略与HIVE-COTEv2.0。AALTD,ECML-PKDD 2022. (https://doi.org/10.1007/978-3-031-24378-3_9)

可视化

1. 使用shapelet变换的可解释AI(南安普顿实习项目)。

导师:TonyBagnall (@TonyBagnall) 和 David Guijo-Rubio (@dguijo)

本项目将专注于时间序列分类(TSC)的可解释性人工智能[1],特别是基于shapelets的算法家族[2]。Shapelets是小的子序列,例如心跳的某种形状,可能是一个短暂的不规则性,可能在预测医疗状况时有用。我们将研究shapelet变换分类器[3]。它从训练数据中找到大量的shapelets,并使用它们来构建分类器。我们希望开发工具来帮助我们可视化搜索良好shapelets的输出,以帮助解释为什么做出预测。本项目不绑定到特定的数据集。它是为了开发工具来帮助任何工具包的用户。它将涉及学习aeon并为开源工具包做出贡献,熟悉shapelet代码,并开发一个可视化工具,以帮助将shapelets与训练数据关联起来。项目的概述如下:

第1-2周:熟悉开源、aeon和可视化模块。为好的第一个问题做出贡献。 第3-4周:理解shapelet转移算法,参与正在进行的讨论以寻求可能的改进,运行实验为测试数据集创建预测模型。 第5-6周:设计和原型shapelets的可视化工具,涉及一系列总结措施和可视化技术,包括在训练数据上绘制shapelets,计算频率,测量相似性。 第7-8周:调试、文档化并提交PR以将贡献合并到aeon工具包中。

[1] Bagnall, A., Lines, J., Bostrom, A., Large, J. 和 Keogh, E. 时间序列分类大比拼:近期算法进展的回顾与实验评估。数据挖掘与知识发现,第31卷,第606-660页,(2017) [2] Ye, L., Keogh, E. 时间序列形状:一种允许准确、可解释和快速分类的新技术。数据挖掘与知识发现,第22卷,第149-182页,(2011)。https://doi.org/10.1007/s10618-010-0179-5 [3] Lines, L., Davis, L., Hills, J. 和 Bagnall, A. 时间序列分类的形状变换,KDD '12:第18届ACM SIGKDD国际知识发现与数据挖掘会议论文集 (2012) https://doi.org/10.1145/2339530.2339579

回归

1. 使预测回归器适应时间序列外部回归。

导师:TonyBagnall (@TonyBagnall) 和 David Guijo-Rubio (@dguijo)

预测通常通过应用滑动窗口简化为回归。这是一个与时间序列外部回归不同的广泛研究领域,其中每个序列被假定为独立的。这更像是一个研究项目,旨在调查在基于回归的预测中使用了哪些技术,并将它们与aeon中的时间序列特定算法进行比较。这个项目需要与导师进一步合作。

2. 为回归调整HIVE-COTE

导师:TonyBagnall (@TonyBagnall) 和 David Guijo-Rubio (@dguijo)

HIVE-COTE [1] 是一种先进的分类器。将其适应于回归是一个正在进行的研究项目,我们欢迎合作者参与。目前,这需要进一步的工作。

文档

1. 改进自动化API文档

导师:马修·米德尔赫斯特 (@MatthewMiddlehurst)

描述

aeon 使用 sphinxnumpydoc 从文档字符串生成 API 文档。 许多文档字符串不完整或缺少部分内容,可以通过改进使其更有用。本项目的目标是总体上改进 API 文档。一个具体的目标是自动生成使用该函数/类的示例链接,类似于 scikit-learn 文档。 实现这一目标的方式由学员决定,但应在相关 API 页面中包括一个新部分。例如,aeon.transformers.collection.convolution_based.Rocket 的 API 页面应有一个名为“示例”的部分,该部分链接到使用该类的示例(例如 Rocket 笔记本)。

项目阶段
  1. 了解aeon的最佳实践和项目文档。

  2. 熟悉sphinx文档生成和numpydoc文档字符串标准。

  3. 改进一些类/函数的API文档,并通过Pull Request和审查流程。

  4. 实现一个函数或改进API模板,以自动生成使用该函数/类的示例链接。

  5. 主要的工作已经完成,但API文档非常庞大,总有改进的空间!如果时间允许,继续通过个别文档字符串、API登陆页面和模板改进来增强API文档,具体由学员自行决定。

项目成果

项目的成功将通过生成的文档质量以及与项目和aeon社区的参与度来评估。自动生成示例链接是主要目标。