课程原地址:
https://github.com/WenjieDu/PyPOTS(Package地址)
https://github.com/WenjieDu/BrewPOTS/tree/datawhale/202505_datawhale(Tutorial地址)
PyPOTS 是一个专为处理部分观测时间序列(Partially-Observed Time Series, 简称 POTS)而设计的开源 Python 工具箱。在现实世界中,由于传感器故障、通信错误或其他不可预见的原因,时间序列数据中常常存在缺失值。这些缺失值会影响数据分析和建模的准确性。PyPOTS 的目标是为工程师和研究人员提供一个便捷的工具,使他们能够专注于核心问题,而无需过多担心数据中的缺失部分。工程师和研究人员可以通过PyPOTS轻松地处理POTS数据建模问题, 此外PyPOTS会持续不断的更新关于部分观测多变量时间序列的经典算法和先进算法. 除此之外, PyPOTS还提供了统一的应用程序接口,详细的算法学习指南和应用示例。
PyPOTS 针对带有缺失值的多变量时间序列数据,提供了五大类核心任务支持,几乎覆盖了时间序列数据挖掘的各类典型应用场景。这些任务背后都配备了经过验证的高质量算法,涵盖传统方法、深度学习模型以及概率图模型等。
这是 PyPOTS 最重要的功能之一,主要目标是在数据中存在缺失的情况下,最大程度恢复原始信号。PyPOTS 实现了超过 12 种填补算法,既有传统方法,也有现代深度学习模型:
传统方法:
深度学习方法:
概率模型:
这些方法可根据数据特性灵活选择,并通过统一接口进行调用和评估。
PyPOTS 支持基于不完整观测值的序列预测任务。在训练时可以同时学习时间依赖性和缺失机制。支持的模型主要有:
目前框架内已集成了多种典型预测结构,并可与填补模块无缝连接。
对于需要将时间序列分为不同类别的任务(如疾病分类、用户行为识别等),PyPOTS 提供了适配部分观测数据的时间序列分类器:
目前至少支持 5 种深度分类结构,同时提供高扩展性,便于接入外部分类器。
聚类任务在探索性分析中非常重要,PyPOTS 提供了处理缺失值时间序列聚类的支持:
该模块提供标准化聚类评估指标,如 Silhouette Score、NMI 等。
异常检测主要用于识别时间序列中不符合正常模式的行为,PyPOTS 可处理带缺失的异常检测任务: