本仓库包含 TSFRESH Python 软件包。该缩写代表
“基于可扩展假设检验的时间序列特征提取”。
该软件包将统计学、时间序列分析、信号处理和非线性动力学中的成熟算法与稳健的特征选择算法相结合,提供系统化的时间序列特征提取。在此语境下,术语 时间序列 以最广泛的意义理解,因此任何类型的采样数据甚至事件序列都可以被表征。
数据科学家往往将大部分时间花在清洗数据或构建特征上。我们无法改变前者,但后者可以自动化。TSFRESH 通过自动提取特征,释放你花在构建特征上的时间。因此,你会有更多时间去研究最新的深度学习论文、浏览 Hacker News 或构建更好的模型。
TSFRESH 可从时间序列中自动提取数百个特征。这些特征描述了时间序列的基本特性,例如峰的数量、平均值或最大值,以及更复杂的特征,如时间反转对称统计量。

然后,这些特征集可用于构建基于时间序列的统计或机器学习模型,例如用于回归或分类任务。
时间序列通常包含噪声、冗余或无关信息。因此,大多数提取出的特征对于手头的机器学习任务并无用处。
为了避免提取无关特征,TSFRESH 软件包内置了过滤流程。该过滤流程会评估每个特征对当前回归或分类任务的解释力和重要性。
它基于成熟的假设检验理论,并采用多重检验流程。因此,过滤过程在数学上控制了所提取无关特征的比例。
以下开放获取论文对 TSFRESH 软件包进行了描述:
FRESH 算法在以下白皮书中进行了描述:
正态性模型模拟人类如何检测时间序列异常:
Teh, H.Y., Wang, K.I-K., Kempa-Liehr, A.W. (2021). Expect the Unexpected: Unsupervised feature selection for automated sensor anomaly detection. IEEE Sensors Journal 15.16, p. 18033-18046, doi: 10.1109/JSEN.2021.3084970.
Teh, H.Y., Wang, K.I-K., Kempa-Liehr, A.W. (2025). Feature-based normality models for anomaly detection. Sensors 25.4757, p. 1-25, doi: 10.3390/s25154757.
系统化的时间序列特征提取甚至适用于无监督问题:
由于 tsfresh 基本上免费提供了时间序列特征提取,你现在可以专注于构造新的时间序列,例如来自同步测量的信号差分,这些差分能提供更好的时间序列特征:
Kempa-Liehr, A.W., Oram, J., Wong, A., Finch, M., Besier, T. (2020). Feature engineering workflow for activity recognition from synchronized inertial measurement units. In: Pattern Recognition. ACPR 2019. Ed. by M. Cree et al. Vol. 1180. Communications in Computer and Information Science (CCIS). Singapore: Springer, p. 223–231. doi: 10.1007/978-981-15-3651-9_20.
Simmons, S., Jarvis, L., Dempsey, D., Kempa-Liehr, A.W. (2021). Data Mining on Extremely Long Time-Series. In: 2021 International Conference on Data Mining Workshops (ICDMW). Ed. by B. Xue et al. Los Alamitos: IEEE, p. 1057-1066. doi: 10.1109/ICDMW53433.2021.00137.
系统化的时间序列特征工程允许处理不同长度的时间序列样本,因为每个时间序列都会被投影到一个定义良好的特征空间中。这种方法使得在存在缺失数据的应用中也能设计出稳健的机器学习算法。
你的时间序列分类问题是否存在类别不平衡?对时间序列特征矩阵进行欠采样很可能解决你的问题:
你不是在处理时间序列,而是在处理 2D 和 3D 图像?空间变化序列(Spatial Variation Sequences, SVS)是 tsfresh 的一个绝佳应用场景:
Jeune, H., Pechan, N., Reitsma, S., Kempa-Liehr, A.W. (2021). Spatial Variation Sequences for Remote Sensing Applications with Small Sample Sizes. In: 2024 Image and Video Technology. 11th Pacific-Rim Symposium, Ed. by W.Q. Yan et al., Lecture Notes in Computer Science (14403). Springer Nature: Singapore, p. 153-166. doi: {10.1007/978-981-97-0376-0_12.
Koptev, I., Tian, J., Peel, E., Parker, R., Walker, C., Kempa-Liehr, A.W. (2025). Interpretable Dimensionality Reduction in 3D Image Recognition with Small Sample Sizes. Journal of Nondestructive Evaluation 44.44, p. 1-12, doi: 10.1007/s10921-025-01183-z.
对书面文本进行自然语言处理是将系统化时间序列特征工程应用于事件序列的一个例子,以下开放获取论文对此进行了描述:
TSFRESH 有多个亮点,例如
如果你对技术细节感兴趣,请参阅我们在 http://tsfresh.readthedocs.io 上的全面 Read-The-Docs 文档。
该算法,尤其是过滤部分,也在上述论文中进行了描述。
我们感谢任何贡献。如果你有兴趣帮助我们让 TSFRESH 成为 Python 中最大的特征提取方法库,请前往我们的 How-To-Contribute 指南。
如果你想快速试用 tsfresh,或者想将其集成到你的工作流程中,我们还提供了 Docker 镜像:
docker pull nbraun/tsfresh
如果你需要复现或更新使用 matrixprofile 特征计算器计算得到的时间序列特征,你需要创建一个 Python 3.8 环境:
conda create --name tsfresh__py_3.8 python=3.8
conda activate tsfresh__py_3.8
pip install tsfresh[matrixprofile]
TSFRESH 的研究与开发部分得到了德国联邦教育与研究部(German Federal Ministry of Education and Research)在资助编号 01IS14004(项目 iPRODICT)下的资助。