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.mzph.cn/pingmian/35556.shtml

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

相关文章

AI音乐大模型:深度剖析创意与产业的双重变革

随着AI技术的飞速发展,音乐大模型在最近一个月内纷纷上线,这一变革性技术不仅颠覆了传统的音乐创作方式,更是对整个音乐产业及创意产业带来了深远的影响。本文将从多个维度出发,深度剖析AI音乐大模型对创意与产业的双重变革。 一、…

ONLYOFFICE 8.1:引领桌面办公新潮流,功能升级全面提升

目录 一、ONLYOFFICE是什么? 二、功能完善的PDF编辑器 三、幻灯片版式升级 四、改进从右至左显示 五、新的本地化选项 六、多媒体功能增强 七、应用价值探讨 一、ONLYOFFICE是什么? ONLYOFFICE 是一款功能强大的办公套件,旨在提供全面…

acme.sh泛证书申请

说明: 1、想每个项目都接入域名+端口访问,所以通过acme.sh申请泛域名证书 2、阿里云域名解析,并且指定公网ip地址对应的公共Nginx服务 3、acme.sh证书只有3个月,所以要用shell自动续签证书 4、阿里云域名已解析,所以二级域名、三级域名能正常解析,如下图所示, 一、阿里云…

charles破解

一、Charles官网下载安装包二、安装charles三、charles破解 一、Charles官网下载安装包 根据自己电脑系统 官网下载即可。 链接: https://www.charlesproxy.com/download/latest-release/ 二、安装charles 点击下载的安装包,然后进行安装。 三、charles破解 打…

服务器如何实现SSH免密码登录?

目录 一、服务器和电脑的区别二、什么是SSH三、什么是免密码登录四、服务器如何实现SSH免密码登录 一、服务器和电脑的区别 服务器和电脑是两种不同类型的计算机系统,它们在设计、功能和用途上存在明显的区别。首先,从硬件配置上看,服务器通…

MySQL学习(3):SQL语句之DDL

1.SQL通用语法与分类 (1)通用语法 (2)分类 2.DDL 2.1数据库操作 show DATABASES; #查询所有数据库select DATABASE(); #查询当前数据库create DATABASE 数据库名称 [default charest 字符集] [collate 排列规则]; #default cha…

时序分析(二):input delay分析

一、IO接口分析基本模型 数据按照同步方式可分为系统同步和源同步方式两种。所谓系统同步指发送端和接收端共用一个时钟源;源同步指发送端提供数据同步时钟,接收端根据该时钟进行数据接收。现在多数通信中使用源同步方式,例如以太网、ADC等。…

洗地机怎么选择最好?四大洗地机精选放心入手

在当今生活节奏飞快的社会中,人们越来越渴望拥有一款高性能、实用方便的家用洗地机,能够帮助我们节省大量的清洁时间。因为洗地机它是吸尘器的升级版,清洁力比扫地机器人更强,洗地机通过高速旋转的风机,产生超大吸力&a…

Unity之HTC VIVE Cosmos环境安装(适合新手小白)(一)

提示:能力有限,错误之处,还望指出,不胜感激! 文章目录 前言一、unity版本电脑配置相关关于unity版本下载建议:0.先下载unity Hub1.不要用过于旧的版本2.不要下载最新版本或者其他非长期支持版本 二、官网下…

生命在于学习——Python人工智能原理(4.4)

三、Python的数据类型 3.2 Python的组合数据类型 特点:表示多个元素的组合,可以包含不同类型的元素,甚至是其他的组合数据类型。 在内存中通常需要额外的空间来存储元素间的关系。 组合数据类型能够将多个同类型或不同类型的数据组织起来&a…

出版发行企业从传统分销到网格化营销的变革之路(AMT企源)

引言: 本文为该系列文章的第一篇,旨在介绍当前出版发行行业,尤其是各省级新华书店集团围绕“综合教育服务”和“大文化消费服务”两个领域的业务布局下,如何实现营销模式创新、营销组织创新,以推动新华书店集团从传统…

浮动IP绑定主机步骤

文章目录 1,查看本机的原有IP2,绑定浮动IP3,验证绑定情况4,解绑浮动IP 1,查看本机的原有IP ifconfig得到本机的ip是192.168.10.128 2,绑定浮动IP ifconfig ens33:1 192.168.10.10 netmask 255.255.255.0…

墨迹天气与AI数据湖的集成案例(集易连平台)

客户介绍 客户方为国内某皮具生产企业,年设计版型数千款,全国销售门店数一千多家,年销售额达20亿。该AI项目目的是将订单数据、用户行为分析、天气数据、门店位置、客流量等等一系列数据作为AI大模型的输入,经过大模型的训练和…

LeetCode刷题之HOT100之打家劫舍

2024/6/26 大家早上好呀!今天不热诶,昨天跟镔哥跑了五公里,配速515简直不要太爽啊,跑完后在操场走一圈,正好发小发了群视频过来,聊了半小时。发小一考研二战失利,去干测试,天天累得不…

ROS话题通信机制实操Python

ROS话题通信机制实操Python 创建ROS工程发布方(二狗子)订阅方(翠花)编辑配置文件编译并执行计算图查看Python话题机制节点 ROS话题通信的理论查阅ROS话题通信流程理论 在ROS话题通信机制实现中,ROS master 不需要实现,且连接的建立也已经被封装了&#…

RedHat9 | RAID配置与管理

一、实验环境 1、RAID简介 RAID(Redundant Array of Independent Disks),即独立磁盘冗余阵列,是一种数据存储技术。它通过将多个独立的磁盘驱动器组合起来,形成一个逻辑上的整体,从而提高数据存储的性能、…

【Redis】数据持久化

https://www.bilibili.com/video/BV1cr4y1671t?p96 https://blog.csdn.net/weixin_54232666/article/details/128821360 单点redis问题: 数据丢失问题:实现Redis数据持久化并发能力问题:搭建主从集群,实现读写分离故障恢复问题&…

数据分析必备:一步步教你如何用matplotlib做数据可视化(13)

1、Matplotlib 文本 Matplotlib具有广泛的文本支持,包括对数学表达式的支持,对光栅和矢量输出的TrueType支持,具有任意旋转的换行符分隔文本以及unicode支持。Matplotlib包含自己的matplotlib.font_manager,它实现了一个跨平台&a…

和GPT-4这些大模型玩狼人杀,人类因太蠢被票死,真·反向图灵测试

「你看,人类一败涂地了」 这是一次「反向图灵测试」,几个全球最先进的大模型坐在一起,坐着火车唱着歌,但其中混进了人类: 而 AI 的任务,是把这个人类揪出来。 最近,一位昵称「Tore Knabe」的网…

[leetcode]number-of-longest-increasing-subsequence

. - 力扣&#xff08;LeetCode&#xff09; class Solution { public:int findNumberOfLIS(vector<int> &nums) {int n nums.size(), maxLen 0, ans 0;vector<int> dp(n), cnt(n);for (int i 0; i < n; i) {dp[i] 1;cnt[i] 1;for (int j 0; j < i…