时序特征提取工具

news2024/12/26 13:02:25

        在选择了需要提取的特征,确定了时序数据特征提取数据集的长度并对先验知识建模之后,就需要利用工具搭建特征提取系统。科研机构围绕不同问题域搭建的开源时序数据特征提取工具已经不少,我们可以利用这些工具快速实现希望达成的算法效果。下面介绍几种常用的时序特征提取工具(如python tsfresh,Time Series Feature Extraction Library (TSFEL),cesium、fats和hctsa),以供我们在做时序数据分析过程中技术选型参考。这些工具包提供的特征提取算法能力和支持的特征范围差别较大,适用场景也有所不同,比如FATS是哈佛大学起初为天文学光曲线时序数据特征提取专门设计的,hctsa 主要用来做生物学自动化时序表型量测(Phenotype measurements)大规模特征提取,加州大学伯克利分校开发的Cesium则更适合用来做通用场景的特征提取工具。

Python tsrefresh (Time Series FeatuRe Extraction on basis of Scalable Hypothesis tests)

        Python tsrefresh是比较常用的时序特征生成库,已经实现了相对比较全面的时序特征提取,目前tsrefresh提供了63种方法来识别时序数据特点,能够识别提取794种时序特征,通过实现python机器学习算法包pandas 和scikit-learn的API接口,tsrefresh能够无缝对接时序数据机器学习探索式分析或生产系统分析过程中,帮助降低通用算法开发定制工作量。

时序特征提取过程三个主要步骤:特征提取(feature extraction),特征关联(feature relevance),多项测试(multiple testing)

目前tsrefresh主要覆盖一下几大类:

  1. 描述性统计特征:用统计学方法提取的时序数据特征,例如:Augmented Dickey–Fuller test value,AR(k) coefficient,autocorrelation for a lag(k)。

  2. 物理原理启发式特征:物理启发的非线性和复杂性特征指标,例如:c3()函数,用来衡量时序数据非线性特性的方法,利用滞后运算符L通过公式计算量化值;cid_ce()函数,衡量时序复杂性的特征指标,通过计算从0到的平方根获得量化值;friedrich_coefficients()函数,用来衡量复杂非线性运动的模型拟合系数,作为特征提取度量。

  3. 历史数据压缩计数:此类特征包涵在指定时间窗口序列中出现多次的数据值求和;在时序数据中连续出现大于/小于平均值的最长序列长度;时序中最先出现最大值或最小值。

Time Series Feature Extraction Library (TSFEL)

        TSFEL是基于Numpy和Scipy包基于 Python3扩展开发的时序数据特征提取软件包,能够兼容常用的机器学习软件包Pandas和scikit-learn。功能上,TSFEL支持涵盖时域和频域统计的60种的特征提取,支持扩展订制开发。除软件包之外,TSFEL提供了基于Google Sheets API开发的电子表单界面,方便用户通过界面配置特征提取参数配置。在设计上,TSFEL借鉴了同类时序特征分析工具cesium、hctsa、tsfresh和fats的设计理念,并在应用场景上进一步扩展了在计算能力有限的边缘设备,甚至终端设备(如手机、可穿戴设备、在场部署安防设备等)上提取时序数据特征(如人行为识别Human Activity Recognition (HAR),异常情况识别等)的能力。

 相比同类型工具,TSFEL提供的主要能力特点包括:

  1. 面向终端客户提供更加直观的界面选择特征和定制化特征提取过程的能力

  2. 计算复杂度评估,支持在提取特征之前评估计算成本,以适应算力有限的终端设备和边缘计算节点运行环境。

  3. 每一种特征提取算法都提供至少一种单元测试工具来验证有效性,支持通过域合成的已知概率分布的时序数据对比来验证提取出来的如周期性、常量、额外噪音等参数的有效性。

  4. 提供扩展框架,支持自定特征提取算法实现。

Cesium开源Python时序数据特征提取框架

        Cesium是加州大学伯克利分校劳伦斯伯克利国家实验室的Brett Naul等人用Python语言开发的端到端时序数据分析框架,以补充现有机器学习算法只处理特征提取后的数据集的不足。Cesium除了包涵工具算法包之外,还提供web前端管控界面用以支持图形化方式的时序原始数据标记和围绕特定机器学习算法的特征匹配。在Cesium的web前端操作的每一个步骤都可以导出同步到Jupyter notebook以方便结合时序分析其他步骤算法使用,图2为利用Cesium自动提取时序特征图形效果。

拟合multi-harmonic Lomb-Scargle模型,用于周期性米拉级恒星的光曲线。cesium根据 Lomb-Scargle 周期图分析自动生成多种特征。

        Cesium依赖xarray, dask, Celery, Flask, 和scikit-learn等Python包开发,旨在简化时序数据分析过程中特征提取通用算法的开发实现,让数据分析人员更聚焦围绕具体问题的时序数据分析算法设计。相比同类型工具,Cesium不但提供了算法包和服务,也有图形化界面,更适合机器学习背景知识不多的业务数据分析人员来用,除了代码集成调用,内置的web工具可以方便初学者快速入手。Cesium算法框架以python包的形式提供代码集成,主要包含以下功能:

  1. 支持处理通过常规采样和非常规采样方式得到的时序数据集;

  2. 能够侦测记录量测错误,精度达到特定时刻的特定数据点;

  3. 支持多通道数据,输入数据的每一个维度的数据都能够单独计算特征。

Cesium 默认提供的Web端管控界面

FATS: FEATURE ANALYSIS FOR TIME SERIES

        FATS是哈佛大学工程与应用科学学院的Isadora Nu等人在2015年提出的针对天文学光曲线时序数据特征提取工具。天文学望远镜采集的时序数据通常为分布在时间序列范围内的特定天体明暗变化数据,有周期性,通常被称为亮度曲线(light-curve)。通过从亮度曲线提取变量特征,我们可以将天体划分为类星体特征(quasars)、长周期变量特征(long period variables)等。

        FATS工具库聚焦天文学特定场景时序数据分析,可以从实际业务需求出发设计更加具体、目标明确的特征提取算法,但对于其他场景时序分析,可以借鉴同类型数据的特征提取算法设计,但直接拿来用则缺少通用性和普适性。

hctsa 自动化时序表型量测(Phenotype measurements)大规模特征提取计算框架

        生物学中有机体可被观测到的结构、功能等表面形态方面的特征,如行为等通常被称为表型(Phenotype)数据,这些数据通常也以时序数据流的形式采集存储分析。实际使用过程中,这些数据通常要经过统计和关联分析,比如,将有机体动态移动特征和遗传特征关联,将大脑活动量测数据与某种疾病诊断特征匹配,这就需要对大量高维表型时序数据做特征提取,关联分析。hctsa就是针对这种场景设计开发的海量特征提取工具软件包,它能够实现超过7700种时序特征的提取,并支持自动匹配分析和数据可视化算法。通过hctsa提供的图形化工具,时序数据特征提取结果可以以特征矩阵的方式展现,行数据代表输入的时间序列,列数据代表提取出的特征值。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/46363.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[附源码]Python计算机毕业设计Django的残障人士社交平台

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

相控阵天线(十):波束跃度、虚位技术、幅度相位误差分析(含代码)

目录简介波束跃度不同移相器位数对方向图的影响不同移相器位数对波束跃度的影响虚位技术不同虚位位数对指向精度的影响不同虚位位数对副瓣电平的影响幅度相位误差分析随机误差周期误差Python代码示例简介 阵列天线的成本、批量和可制造性等实际问题的解决方案的选择直接影响阵…

[msyql]实战:关于回表的一次查询优化实战

起因与前置环境思考与解决方案 第一个理解与方法——分块分页第二个理解与方法——拆分子查询第三个理解与方法——拆分子查询分块分页 原理浅析与总结 回表和索引覆盖的浅解 原理简单说明MYSQL中回表的实现 总结与收获 起因与前置环境 目前在职的公司是已经运转挺久的电商类…

leetcode 343. 整数拆分(动态规划)

题目链接:343. 整数拆分 动态规划 (1) 确定 dpdpdp 数组下标含义: dp[i]dp[i]dp[i]: 将 iii 拆分为至少两个正整数之后的最大乘积; (2) 确定递推公式: 当 i≥2i \ge 2i≥2 时, 设 jjj 是 iii 拆分出来的第一个正整数&#xff0c…

1990-2021年全国30省城镇登记失业率

1、时间:1990-2021年 2、来源:整理自统计NJ 3、数据说明: 包括全国30个省份,不包括西藏,其中北京、天津、辽宁、吉林、江苏、浙江、湖南、四川、新疆2021年数据存在缺失, 内含原始数据,线性…

猿如意开发工具|python3.7

文章目录 一、猿如意是什么?一、猿如意的下载安装使用二、使用猿如意下载安装python3.7总结前言 对于程序猿来说,辅助开发工具箱是非常重要的,可以方便广大的开发者们。今天我就介绍一款非常好用的开发工具箱-猿如意。 一、猿如意是什么&…

大数据必学Java基础(一百零八):过滤器的生命周期

文章目录 过滤器的生命周期 一、构造方法 二、初始化方法 三、拦截请求方法

用R语言实现神经网络预测股票实例

神经网络是一种基于现有数据创建预测的计算系统。最近我们被客户要求撰写关于神经网络的研究报告,包括一些图形和统计输出。 如何构建神经网络? 神经网络包括: 输入层:根据现有数据获取输入的层隐藏层:使用反向传播…

基于PHP+MySQL动漫周边商城销售网站的开发与设计

随着时代的发展,人们对动漫周边产品的关注度越来越高,尤其是对当代的年轻人来说,对一些动漫的手办和玩具等商品都非常的热爱。但是当下时长上的动漫周边产品销售网站还很少,这对钟爱动漫周边产品的来说是一件很痛苦的事情,明明知道一件出现了这些相关产品,但是没有渠道能够购买…

【简单、实用】kubernetes的etcd备份与恢复实现恢复集群配置

学习目标 内容 提示:由于牵涉概念过多,本章主要讲解具体的备份恢复,其他概述 官网:https://kubernetes.io/zh-cn/docs/tasks/administer-cluster/configure-upgrade-etcd/#backing-up-an-etcd-cluster 一. etcd的工作原理 可将其分成两层次:Http层请求、接收消息;剩下的…

家电专用降压DC-DC方案PL8310

PL8310是一个单片36V, 1A降压开关监管机构。PL8310集成了一个36V 250mΩ高侧和一个36V, 140mΩ低侧mosfet提供1A持续负载电流超过4.5V至36V宽工作输入电压带33V输入过电压保护。峰值电流模式控制速度快瞬态响应和逐周电流限制。PL8310具有可配置的线路下降补偿,可配…

CenterNet算法代码剖析

目录 一、图片预处理 1、cv读取原始图片 2、读取图片的中心点 3、计算仿射变化2*3的矩阵 4、基于双线性插值的仿射变化,将原始图片映射到dst图片 5、将原始图片的值归一化到0~1之间 6、使用样本集的mean和std再进行z-score归一化 7、计算特征图的大小&#…

linux mailxdingding机器人报警

前言&#xff1a;采用devops的思想来确认做本文内容目的 作为 <用户角色> 我想要 <结果> 以便于 <目的> 作为运维人员&#xff0c;我想要服务器故障时候能够进行报警&#xff0c;以便于即使处理服务器故障、保障服务器稳定运行 两种方式 邮箱 客户端授权码 …

Kafka - 10 Kafka副本 | 分区副本分配 | 手动调整分区副本 | Leader Partition 负载平衡 | 增加副本因子

文章目录1. 分区副本分配2. 手动调整分区副本3. Leader Partition 负载平衡4. 增加副本因子1. 分区副本分配 如果 kafka 服务器只有 4 个节点&#xff0c;那么设置 kafka 的分区数大于服务器台数&#xff0c;在 kafka底层如何分配存储副本呢&#xff1f; ① 创建 16 分区&…

[附源码]计算机毕业设计springboot高校学生宿舍管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

HashMap(2)-----哈希表

自己实现一个哈希表 class Node { int data;String val;Node next;public Node(int data,String val){ this.valval;this.datadata;} } class myhashtable { Node arr1[];Node headnull;Node tailnull;int count0;private double load0.75;public myhashtable() {this…

ESIM:Enhanced LSTM for Natural Language Inference

原文链接&#xff1a;https://aclanthology.org/P17-1152.pdf 概述 对于自然语言推理任务&#xff0c;Bowman等人在2015年提出了一个大数据集&#xff0c;大多数工作就开始使用神经网络来对该任务进行训练。但作者认为序列模型的潜力还没有完全被挖掘&#xff0c;因此提出了一个…

自建网上商城平台该如何做好运营?

现在很多企业都在自建网上商城系统&#xff0c;但很多都以为建好商城上线就万事大吉了。其实&#xff0c;自建网上商城系统只是一个开始&#xff0c;后期的运营才最重要。如果经营不好&#xff0c;这个商城就白做了&#xff0c;今天小编给大家整理了几个网上商城平台运营方向&a…

[附源码]计算机毕业设计springboot港口集团仓库管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

【python】list 删除列表中某个元素的3种方法;附加删除numpy数组中的指定索引元素的方法

方法 python中关于删除list中的某个元素&#xff0c;一般有三种方法: remove、pop、del实例 1.remove: 删除单个元素&#xff0c;删除首个符合条件的元素&#xff0c;按值删除 2.pop: 删除单个或多个元素&#xff0c;按位删除(根据索引删除) 3.del&#xff1a;它是根据索…