Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
tsfresh — 从时间序列中自动提取相关特征: | Kitploit
工具/GitHubGitHub/blue-yonder/tsfresh
通用工具机器学习异常检测
GitHubblue-yonder/tsfresh

tsfresh

从时间序列中自动提取相关特征:

查看仓库网站
9.3k1.3k1个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

tsfresh

Documentation Status Build Status codecov license Binder Downloads

本仓库包含 TSFRESH Python 软件包。该缩写代表

“基于可扩展假设检验的时间序列特征提取”。

该软件包将统计学、时间序列分析、信号处理和非线性动力学中的成熟算法与稳健的特征选择算法相结合,提供系统化的时间序列特征提取。在此语境下,术语 时间序列 以最广泛的意义理解,因此任何类型的采样数据甚至事件序列都可以被表征。

在特征工程上花费更少时间

数据科学家往往将大部分时间花在清洗数据或构建特征上。我们无法改变前者,但后者可以自动化。TSFRESH 通过自动提取特征,释放你花在构建特征上的时间。因此,你会有更多时间去研究最新的深度学习论文、浏览 Hacker News 或构建更好的模型。

自动提取数百个特征

TSFRESH 可从时间序列中自动提取数百个特征。这些特征描述了时间序列的基本特性,例如峰的数量、平均值或最大值,以及更复杂的特征,如时间反转对称统计量。

从示例时间序列中提取的特征

然后,这些特征集可用于构建基于时间序列的统计或机器学习模型,例如用于回归或分类任务。

摒弃无关特征

时间序列通常包含噪声、冗余或无关信息。因此,大多数提取出的特征对于手头的机器学习任务并无用处。

为了避免提取无关特征,TSFRESH 软件包内置了过滤流程。该过滤流程会评估每个特征对当前回归或分类任务的解释力和重要性。

它基于成熟的假设检验理论,并采用多重检验流程。因此,过滤过程在数学上控制了所提取无关特征的比例。

以下开放获取论文对 TSFRESH 软件包进行了描述:

  • Christ, M., Braun, N., Neuffer, J., and Kempa-Liehr A.W. (2018). Time Series FeatuRe Extraction on basis of Scalable Hypothesis tests (tsfresh -- A Python package). Neurocomputing 307, p. 72-77, doi: 10.1016/j.neucom.2018.03.067.

FRESH 算法在以下白皮书中进行了描述:

  • Christ, M., Kempa-Liehr, A.W., and Feindt, M. (2017). Distributed and parallel time series feature extraction for industrial big data applications. ArXiv e-print 1610.07717, https://arxiv.org/abs/1610.07717.

正态性模型模拟人类如何检测时间序列异常:

  • 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.

系统化的时间序列特征提取甚至适用于无监督问题:

  • Abrasaldo, P.M., Zarrouk, S.J., Kempa-Liehr, A.W. (2026). Feature-Based Time Series Clustering for Efficient Labeling of Geothermal Data. Geothermics 138.103656, p. 1–13, doi: 10.1016/j.geothermics.2026.103656

由于 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.

系统化的时间序列特征工程允许处理不同长度的时间序列样本,因为每个时间序列都会被投影到一个定义良好的特征空间中。这种方法使得在存在缺失数据的应用中也能设计出稳健的机器学习算法。

  • Kennedy, A., Gemma, N., Rattenbury, N., Kempa-Liehr, A.W. (2021). Modelling the projected separation of microlensing events using systematic time-series feature engineering. Astronomy and Computing 35.100460, p. 1–14, doi: 10.1016/j.ascom.2021.100460

你的时间序列分类问题是否存在类别不平衡?对时间序列特征矩阵进行欠采样很可能解决你的问题:

  • Dempsey, D.E., Cronin, S.J., Mei, S., Kempa-Liehr, A.W. (2020). Automatic precursor recognition and real-time forecasting of sudden explosive volcanic eruptions at Whakaari, New Zealand. Nature Communications 11.3562, p. 1-8, doi: 10.1038/s41467-020-17375-2.

你不是在处理时间序列,而是在处理 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.

对书面文本进行自然语言处理是将系统化时间序列特征工程应用于事件序列的一个例子,以下开放获取论文对此进行了描述:

  • Tang, Y., Blincoe, K., Kempa-Liehr, A.W. (2020). Enriching Feature Engineering for Short Text Samples by Language Time Series Analysis. EPJ Data Science 9.26, p. 1–59. doi: 10.1140/epjds/s13688-020-00244-9

tsfresh 的优势

TSFRESH 有多个亮点,例如

  1. 经过现场测试
  2. 经过单元测试
  3. 过滤过程在统计学/数学上是正确的
  4. 拥有全面的文档
  5. 与 sklearn、pandas 和 numpy 兼容
  6. 允许任何人轻松添加自己偏好的特征
  7. 既可在本地机器上运行,也可在集群上运行

后续步骤

如果你对技术细节感兴趣,请参阅我们在 http://tsfresh.readthedocs.io 上的全面 Read-The-Docs 文档。

该算法,尤其是过滤部分,也在上述论文中进行了描述。

我们感谢任何贡献。如果你有兴趣帮助我们让 TSFRESH 成为 Python 中最大的特征提取方法库,请前往我们的 How-To-Contribute 指南。

如果你想快速试用 tsfresh,或者想将其集成到你的工作流程中,我们还提供了 Docker 镜像:

root@kitploit:~
docker pull nbraun/tsfresh

向后兼容性

如果你需要复现或更新使用 matrixprofile 特征计算器计算得到的时间序列特征,你需要创建一个 Python 3.8 环境:

root@kitploit:~
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)下的资助。

下载工具