tsfresh四分位_信号下的基本时域频域特征(上)

本文介绍了如何利用numpy库来提取信号时域特征,包括最大值、最小值、极差、均值、中位数等,同时给出了计算偏度和峰度的方法,适用于如三相电流数据的分析。
摘要由CSDN通过智能技术生成

星期日, 16. 六月 2019 07:41下午

最近忙于项目,因此本期博客就简单梳理一下信号(笔者做的多数情况下是三相电流数据)下的基本时域和频域特征。

提取特征可以用tsfresh这个库来实现,但是这里还是采用了numpy。

该部分的程序代码笔者写了一个可以直接调用的类,见笔者git

1 时域特征

假设共有m条数据,每一条数据长度为n,第i条数据第j个数据点用\(z_{ij}\)表示,并且z为数组,不能是列表,否则以下一些程序会报错。以下主要从数学公式和python实现来叙述。

(1) 含量纲的时域特征

含量纲的时域特征,笔者简单整理出了十个,其中包括最大值(maximum)、最小值(minimum)、极差(range)、均值(mean)、中位数(media)、众数(mode)、标准差(standard deviation)、均方根值(root mean square/rms)、均方值(mean square/ms)、k阶中心/原点矩。

导入所需要的库

import numpy as np

最大值

math?formula=max(z_i)

max_z = np.max(z, axis=1)

最小值

math?formula=min(z_i)

min_z = np.min(z, axis=1)

极差

math?formula=max(z_i)-min(z_i)

range_z = np.max(z, axis=1)-np.min(z, axis=1)

均值

math?formula=%5Cfrac%7B1%7D%7Bn%7D%5Csum_%7Bj%3D0%7D%5E%7Bn-1%7Dz_%7Bij%7D

mean_z = np.mean(z, axis=1)

中位数

将一组数从小到大排序,出现在中间的数(当n为奇数时)或者中间两个数的均值(当n为偶数时)

media_z = np.median(z, axis=1)

众数

一组数从大到小排序,出现次数最多的数(当有多个数出现次数一样,取最小的数)

import scipy.stats

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值