Python:基于TSFEL库对时间序列进行特征分析

1. TSFEL

        时间序列作为主要TSFEL提取方法的输入传递,要么作为先前加载在内存中的数组传递,要么存储在数据集中的文件中。 由于TSFEL可以处理多维时间序列,因此随后应用了一套预处理方法,以确保信号质量足够和时间序列同步,从而适当地实现窗口计算过程。 特征提取后,使用标准模式保存结果,供大多数分类和数据挖掘平台消化。 每一行对应一个窗口,特征提取方法的结果与相应的时间序列一起存储,作为主要TSFEL提取方法的输入传递,要么作为先前加载在内存中的数组,要么存储在数据集中的文件中。 由于TSFEL可以处理多维时间序列,因此随后应用了一套预处理方法,以确保信号质量足够和时间序列同步,从而适当地实现窗口计算过程。 特征提取后,使用标准模式保存结果,供大多数分类和数据挖掘平台消化。 每行对应一个窗口,其中包含与相应列一起存储的特征提取方法的结果。
在这里插入图片描述
        下表提供了TSFEL当前版本中可用特性的概述。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

 

2. 从时间序列中提取数组对象

        让我们从下载一些数据开始。 完整的数据集描述可在1中找到。 在本例中,我们将使用加速度计传感器以50Hz采样的时间序列。

import tsfel
import zipfile
import numpy as np
import pandas as pd# Load the dataset from online repository
!wget https://archive.ics.uci.edu/ml/machine-learning-databases/00240/UCI%20HAR%20Dataset.zip# Unzip the dataset
zip_ref = zipfile.ZipFile("UCI HAR Dataset.zip", 'r')
zip_ref.extractall()
zip_ref.close()# Store the dataset as a Pandas dataframe.
x_train_sig = np.loadtxt('UCI HAR Dataset/train/Inertial Signals/total_acc_x_train.txt', dtype='float32')
X_train_sig = pd.DataFrame(np.hstack(x_train_sig), columns=["total_acc_x"])

 
        现在我们有了一个DataFrame,它由一个具有关联列名的唯一列组成。 注意,TSFEL还可以处理多维数据流。 在这种情况下,有必要将额外的时间序列作为数据框架中的额外列传递。

        现在我们有了输入数据,我们就可以开始特征提取步骤了。 TSFEL依赖于字典来设置提取的配置。 我们提供了一组可以开箱即用的模板配置字典。 在本例中,我们将使用提取TSFEL所有可用特征的示例。 我们将配置TSFEL将我们的时间序列划分为大小为250个点(对应于5秒)的等长窗口。

cfg_file = tsfel.get_features_by_domain()                                                        # If no argument is passed retrieves all available features
X_train = tsfel.time_series_features_extractor(cfg_file, X_train_sig, fs=50, window_size=250)    # Receives a time series sampled at 50 Hz, divides into windows of size 250 (i.e. 5 seconds) and extracts all features

        我们现在终于有了X_train作为最后的特征向量,它由为每个3764个提取窗口计算的205个特征组成。
 

3. 从存储在数据集中的时间序列中提取

        在上一节中,我们观察了如何使用TSFEL对存储在内存中的时间序列进行特征提取。 训练机器学习模型的过程需要大量的数据。 时间序列数据集通常组织在由收集和管理数据的实体定义的多种不同模式中。 TSFEL提供了一种在数据集中存储的多个文件上提取特征时增加灵活性的方法。 在使用这种方法时,我们提供了以下假设列表以及TSFEL如何处理它:

时间序列存储在不同的文件位置
a) TSFEL在给定的数据集根目录上爬行,并从与用户提供的文件名匹配的所有文本文件中提取特征
b) 文件以分隔格式存储时间序列
c) TSFEL期望第一列必须包含时间戳,后面的列包含时间序列值。
d) 文件可能无法及时同步 ,TSFEL通过进行线性插值来处理这个假设,以确保所有的时间序列在特征提取之前及时同步。 重采样频率由用户自行设置。

 
        下面的代码块从所有名为Accelerometer.txt的文件中提取驻留在main_directory上的数据的特性。 时间戳以纳秒为单位记录,重采样频率设置为100hz。

import tsfelmain_directory = '/my_root_dataset_directory/'        # The root directory of the dataset
output_directory = '/my_output_feature_directory/'    # The resulted file from the feature extraction will be saved on this directorydata = tsfel.dataset_features_extractor(main_directory, tsfel.get_features_by_domain(), search_criteria="Accelerometer.txt",time_unit=1e-9, resample_rate=100, window_size=250,output_directory=output_directory)

 

4. 设置特征提取配置文件

        TSFEL的主要优点之一是提供了大量开箱即用的时间序列特征。 然而,在某些情况下,您可能对提取完整的集合不感兴趣。 示例包括将模型部署在低功耗嵌入式设备中的场景,或者您只是想更具体地提取哪些特征。
TSFEL将可用的特征分为三个领域:统计、时间和光谱。 上面解释的提取特性的两种方法需要一个配置文件——feat_dict——一个包含将要使用的特性和超参数的字典。
下面,我们列出了四个示例来建立配置字典。

import tsfelcfg_file = tsfel.get_features_by_domain()               # All features will be extracted.
cgf_file = tsfel.get_features_by_domain("statistical")  # All statistical domain features will be extracted
cgf_file = tsfel.get_features_by_domain("temporal")     # All temporal domain features will be extracted
cgf_file = tsfel.get_features_by_domain("spectral")     # All spectral domain features will be extracted

        如果您需要自定义的一组功能或来自多个域的功能组合,则可能需要编辑配置字典(JSON)。 必须根据需要将键用法的值编辑为yes或no。 您可以加载任何先前的配置字典,并将您不感兴趣的特性设置为“使用”:“否”,或者手动或编程编辑字典,并根据需要将使用设置为“是”或“否”。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux上搭建邮件服务

欢迎来到我的博客,代码的世界里,每一行都是一个故事 🎏:你只管努力,剩下的交给时间 🏠 :小破站 Linux上搭建邮件服务 前言电子邮件的工作原理和基本组成部分1. 电子邮件的工作原理2. 电子邮件的…

Redis-实战篇-缓存雪崩

文章目录 1、缓存雪崩2、解决方案: 1、缓存雪崩 缓存雪崩是指在同一时段大量的缓存key同时失效或者Redis服务宕机,导致大量请求到达数据库,带来巨大压力。 2、解决方案: 给不同的key的TTL添加随机值利用Redis集群提高服务的可用性…

Git->git pull 和 git pull --rebase的详解

Git拉取代码的坑 格式:git xx指令 origin/远程仓库分支名称假如本地仓库和远程仓库都是空的 本地仓库向远程仓库提交一个文件 git commit -a -m "local first commit":-a暂存修改文件到暂存区,准备本地提交。-m表示提交信息git pu…

Jackson和fastjson解决序列化时字段属性大小写改变的问题

在部分特殊场景下,我们可能会把实体的字段属性改成全部大写,但是在返回前端时,字段会被序列化成小写。 比如我们有一个这个类属性都是大写: 后端接口是这样的 然后我们请求后,会发现我们的字段被变成全部小写的。 …

jenkins环境搭建--关于jenkins在Ubuntu下的安装篇(一)

在ubuntu下使用命令进行下载安装包: 关于jenkins的安装有多种,可以借助docker容器进行安装,也可以通过传统方法手动一步步的进行安装,以下介绍手动一步步的安装方法,后续我们将解释关于jenkins的相关配置以及实战使用…

VCS编译bug汇总

‘typedef’ is not expected to be used in this contex 注册前少了分号。 Scope resolution error resolution : 声明指针时 不能与类名同名,即 不能声明为adapter. cannot find member "type_id" 忘记注册了 拼接运算符使用 关键要加上1b&#xff0…

Arduino - MG996R

Arduino - MG996R In this tutorial, we are going to learn how to use the MG996R high-torque servo motor with Arduino. 在本教程中,我们将学习如何将MG996R高扭矩伺服电机与Arduino一起使用。 Hardware Required 所需硬件 1Arduino UNO or Genuino UNO Ard…

WPF 深入理解六、ControlTemplate控件模板

ControlTemplate 定义 控件模板用于来定义控件的外观、样式,还可通过控件模板的触发器(ControlTemplate.Triggers)修改控件的行为、响应动画等。 对与WPF当中,每个控件都是无外观的,这意味着我们可以完全自定义其可视元素的外观,但是不能修改其内部的行为&#xf…

【数据分享】《国际统计年鉴》1996-2022

公众号新功能 目前公众号新增以下等功能 1、处理GIS出图、Python制图、区位图、土地利用现状图、土地利用动态度和重心迁移图等等 2、核密度分析、网络od分析、地形分析、空间分析等等 3、地理加权回归、地理探测器、生态环境质量指数、地理加权回归模型影响因素分析、计算…

11年之约 聚焦上海 | 亚信科技邀您相约2024 MWC上海展

关于亚信安慧AntDB数据库 AntDB数据库始于2008年,在运营商的核心系统上,服务国内24个省市自治区的数亿用户,具备高性能、弹性扩展、高可靠等产品特性,峰值每秒可处理百万笔通信核心交易,保障系统持续稳定运行超十年&a…

安科瑞APM520电能质量分析仪表-安科瑞 蒋静

1 电能质量分析用三相网络电力仪表概述 APM5 系列网络电力仪表(以下简称仪表)按 IEC 国际标准设计,具有全电量测量、电能统计、电能质 量分析(包括谐波、间谐波、闪变)、故障录波功能(包括电压暂升暂降中断、冲击电流…

校园巡礼:一周只上四天课,入学即发钱?深圳理工大学,开局即王炸

校园巡礼 | 一周只上四天课,入学即发钱?深圳理工大学,开局即王炸! 会议之眼 快讯 目前各省的高考成绩现已陆续揭晓,广东省教育考试院发布了2024年高考录取最低分数线,物理类本科线为442分,历史…

【Linux学习十八】网站管理:防火墙介绍、静态站点、动态站点、域名

1.Apache Apache官网: www.apache.org 软件包名称: httpd 服务端口:80/tcp(http) 443/tcp(https) 配置文件: /etc/httpd/conf/httpd.conf 子配置文件:/etc/httpd/conf.d/*.conf 查看被占用的端口号 netstat -tuln | grep <端口号> 解哪个程序正在使用端口 80&#xff0…

维吉尼亚密文解密小程序

维吉尼亚密文解密小程序 这几天在看CTF相关的课程&#xff0c;涉及到古典密码学和近代密码学还有现代密码学。自己编了一个解密小程序。 Vigenere 维吉尼亚密码 维吉尼亚是多表替换密码中比较典型的代表&#xff0c;维吉尼亚密码是在凯撒密码基础上产生的一种加密方法&#…

Centos7 Cpolar内网穿透工具

你是否想把本地测试的项目挂载到公网上提供给别人调用查看&#xff08;当然这是在你没有服务器的情况下&#xff0c;如果有请跳过&#xff09; 服务器系统&#xff1a;CentOS-7-x86_64-DVD-2009.iso 这是我在本地测试使用的服务器系统 Coplar官网 注册方式&#xff1a;邮箱注…

[C/C++][VsCode]使用VsCode在Linux上开发和Vscode在线调试

目录 0. 前言1. win10上搭建环境Linux环境2.编写makefile3.怎么在线调试结语 0. 前言 在开发中&#xff0c;可以一边开发一边调试&#xff0c;这样可以大大的减少bug&#xff1b;但是正常来说一个大点的项目&#xff0c;是不太可能单步调试的&#xff0c;因为一般都是用make或…

微信小程序版threejs的使用

首先是使用环境:我是使用的uniapp制作的微信小程序,当然原生的也是可以的,但是测试过很多,发现微信官方的threejs移植版本只能够导入gltf格式的模型,无法导入obj,这就有些尴尬了,为此我找了很多版本的threejs,首先是threejs-miniprogram,也就是官方的,可以直接在unia…

修改 Linux 终端提示符的色彩与字体

1、引言 Linux 终端是许多开发者和系统管理员每天工作的主要工具之一。但你是否曾留意过那个位于命令行开头的提示符&#xff1f;是不是觉得它有点单调&#xff1f;别担心&#xff0c;本文将介绍如何通过修改提示符的颜色和字体&#xff0c;为你的 Linux 终端增添一抹独特的色…

教师资格证考试笔试报名流程

文章目录 前言笔试报名流程一、登录官网二、选择报考省份三、注册报名账号四、确认考试承诺五、填报个人信息六、上传个人照片七、查看个人信息八、笔试报名九、等待审核十、考试缴费最后&#xff08;必看&#xff09;附录1. 中小学教师资格考试网2. 广东省教资笔试报名通知&am…

Python 实现Excel转TXT,或TXT文本导入Excel

Excel是一种具有强大的数据处理和图表制作功能的电子表格文件&#xff0c;而TXT则是一种简单通用、易于编辑的纯文本文件。将Excel转换为TXT可以帮助我们将复杂的数据表格以文本的形式保存&#xff0c;方便其他程序读取和处理。而将TXT转换为Excel则可以将文本文件中的数据导入…