时间序列特征提取库
直观的时间序列特征提取
本仓库托管了Python包TSFEL - 时间序列特征提取库。TSFEL帮助研究人员在时间序列上进行探索性特征提取任务,无需大量编程effort。
用户可以通过两种方法与TSFEL交互:
在线方式
无需安装,依赖Google Colab和Google Sheets提供的用户界面
离线方式
高级用户可以通过安装Python包充分利用TSFEL的潜力
pip install tsfel
包含大量特征
TSFEL针对时间序列进行了优化,可自动提取统计、时间、频谱和分形域的65多种不同特征。
功能
- 直观、快速部署和可复现:交互式UI用于特征选择和自定义
- 计算复杂度评估:在提取特征之前估计计算effort
- 全面的文档:每种特征提取方法都有详细说明
- 单元测试:我们为每个特征提供单元测试
- 易于扩展:添加新特征很简单,我们鼓励你贡献自定义特征
入门
以下代码从示例数据集文件中提取所有可用特征。
import tsfel
import pandas as pd
# 加载数据集
df = pd.read_csv("Dataset.txt")
# 获取预定义的特征配置文件以提取所有可用特征
cfg = tsfel.get_features_by_domain()
# 提取特征
X = tsfel.time_series_features_extractor(cfg, df)
可用特征
统计域
特征 | 计算成本 |
---|---|
绝对能量 | 1 |
平均功率 | 1 |
ECDF | 1 |
ECDF百分位 | 1 |
ECDF百分位计数 | 1 |
熵 | 1 |
直方图 | 1 |
四分位距 | 1 |
峰度 | 1 |
最大值 | 1 |
均值 | 1 |
平均绝对偏差 | 1 |
中位数 | 1 |
中位数绝对偏差 | 1 |
最小值 | 1 |
均方根 | 1 |
偏度 | 1 |
标准差 | 1 |
方差 | 1 |
时间域
特征 | 计算成本 |
---|---|
曲线下面积 | 1 |
自相关 | 2 |
质心 | 1 |
Lempel-Ziv复杂度* | 2 |
平均绝对差 | 1 |
平均差 | 1 |
中位数绝对差 | 1 |
中位数差 | 1 |
负转折点 | 1 |
峰峰距离 | 1 |
正转折点 | 1 |
信号距离 | 1 |
斜率 | 1 |
绝对差和 | 1 |
过零率 | 1 |
邻域峰值 | 1 |
*由于执行时间较其他特征长,默认禁用。
频谱域
特征 | 计算成本 |
---|---|
FFT平均系数 | 1 |
基频 | 1 |
人类范围能量 | 1 |
LPCC | 1 |
MFCC | 1 |
最大功率谱 | 1 |
最大频率 | 1 |
中值频率 | 1 |
功率带宽 | 1 |
谱质心 | 2 |
谱下降 | 1 |
谱距离 | 1 |
谱熵 | 1 |
谱峰度 | 2 |
谱正转折点 | 1 |
谱衰减 | 1 |
谱起始 | 1 |
谱偏度 | 2 |
谱斜率 | 1 |
谱展宽 | 2 |
谱变异 | 1 |
小波绝对平均值 | 2 |
小波能量 | 2 |
小波标准差 | 2 |
小波熵 | 2 |
小波方差 | 2 |
分形域
特征 | 计算成本 |
---|---|
去趋势波动分析(DFA) | 3 |
Higuchi分形维数 | 3 |
Hurst指数 | 3 |
最大分形长度 | 3 |
多尺度熵(MSE) | 1 |
Petrosian分形维数 | 1 |
分形域特征通常应用于相对较长的信号以捕捉有意义的模式,通常无需事先将信号分割为较短的窗口。因此,在默认特征配置文件中禁用了此域。
引用
使用TSFEL时,请引用以下出版物:
Barandas, Marília and Folgado, Duarte, et al. "TSFEL: Time Series Feature Extraction Library." SoftwareX 11 (2020)。https://doi.org/10.1016/j.softx.2020.100456
致谢
我们要感谢"面向工业4.0的全面集成和预测制造系统平台"项目提供的经济支持。该项目由葡萄牙2020计划共同资助,属于COMPETE 2020(竞争力和国际化运营计划)框架,并获得欧盟欧洲区域发展基金(ERDF)的支持,项目代码为POCI-01-0247-FEDER-038436。