对数据去趋势

news2024/11/23 21:24:05

对数据去趋势

测量的信号可能显示数据中非固有的整体模式。这些趋势有时会妨碍数据分析,因此必须进行去趋势。

以具有不同趋势的两种心电图 (ECG) 信号为例。ECG 信号对电源干扰等扰动很敏感。加载信号并绘制它们。

load('ecgSignals.mat') 

t = (1:length(ecgl))';

subplot(2,1,1)
plot(t,ecgl), grid
title 'ECG Signals with Trends', ylabel 'Voltage (mV)'

subplot(2,1,2)
plot(t,ecgnl), grid
xlabel Sample, ylabel 'Voltage (mV)'

第一个绘图上的信号显示线性趋势。第二个信号的趋势是非线性的。要去线性趋势,请使用 MATLAB® 函数 detrend

dt_ecgl = detrend(ecgl);

要去非线性趋势,请对信号进行低阶多项式拟合并减去它。在本例中,多项式为 6 阶。绘制两个新信号。

opol = 6;
[p,s,mu] = polyfit(t,ecgnl,opol);
f_y = polyval(p,t,[],mu);

dt_ecgnl = ecgnl - f_y;

subplot(2,1,1)
plot(t,dt_ecgl), grid
title 'Detrended ECG Signals', ylabel 'Voltage (mV)'

subplot(2,1,2)
plot(t,dt_ecgnl), grid
xlabel Sample, ylabel 'Voltage (mV)'

这些趋势已有效地去除。可以看到信号的基线已不再偏移。它们现在可用于进一步处理。

函数detrend

作用:去除多项式趋势

语法

y = detrend(x)

y = detrend(x,n)

y = detrend(x,n,bp)

y = detrend(___,nanflag)

y = detrend(___,Name,Value)

说明

示例

y = detrend(x) 从 x 的数据中去除最佳直线拟合线。

  • 如果 x 是向量,则 detrend 从 x 的元素中减去趋势。

  • 如果 x 是矩阵,则 detrend 分别对每列进行运算,从对应的列中减去每个趋势。

示例

y = detrend(x,n) 去除 n 次多项式趋势。例如,当 n = 0 时,detrend 从 x 中删除均值。当 n = 1 时,detrend 去除线性趋势,这等效于上述语法。当 n = 2 时,detrend 去除二次趋势。

示例

y = detrend(x,n,bp) 去除由断点 bp 定义段的连续分段趋势。

y = detrend(___,nanflag) 指定在使用上述任一语法时如何处理 NaN 值。例如,detrend(x,'omitnan') 在计算趋势之前删除 NaN 值,而 detrend(x,'includenan') 包括这些值(默认)。

示例

y = detrend(___,Name,Value) 使用一个或多个名称-值对组指定其他参数。例如,detrend(x,1,bp,'Continuous',false) 指定拟合趋势可以有不连续趋势。

示例

连续线性趋势

创建一个数据向量,并去除连续线性趋势。绘制原始数据、去趋势后的数据和线性趋势。

t = 0:20;
x = 3*sin(t) + t;
y = detrend(x);
plot(t,x,t,y,t,x-y,':k')
legend('Input Data','Detrended Data','Trend','Location','northwest')

 

连续二次趋势

创建一个数据向量,并去除连续二次趋势。绘制原始数据、去趋势后的数据和趋势。

t = 0:20;
x = 20*sin(t) + t.^2;
y = detrend(x,2);
plot(t,x,t,y,t,x-y,':k')
legend('Input Data','Detrended Data','Trend','Location','northwest') 

 

不连续线性趋势

创建一个数据向量,并使用 0 处的断点去除分段线性趋势。指定所得到的输出可以是不连续的。绘制原始数据、去趋势后的数据和趋势。

t = -10:10;
x = t.^3 + 6*t.^2 + 4*t + 3;
bp = 0;
y = detrend(x,1,bp,'SamplePoints',t,'Continuous',false);
plot(t,x,t,y,t,x-y,':k')
legend('Input Data','Detrended Data','Trend','Location','northwest') 

 

输入参数

x - 输入数组
向量 | 矩阵 | 多维数组

输入数组,指定为向量、矩阵或多维数组。当 x 是多维数组时,detrend 将在所有维度上逐列进行操作。

数据类型: double | single
复数支持: 

n - 多项式次数
非负整数标量 | 'constant' | 'linear'

多项式次数,指定为非负整数标量,或指定为 'constant'(等效于 0)或 'linear'(等效于 1)。

bp - 断点
向量

用于定义数据的分段的断点,指定为包含以下项之一的向量:

  • 指示断点位置的样本点值。样本点值包含在默认样本点向量 [1 2 3 ...] 或 'SamplePoints' 参数指定的向量中。

  • 逻辑值,其中逻辑值 1 (true) 表示输入数据的对应元素中的一个断点。如果 bp 包含逻辑值,则其长度必须与样本点相同。

当您要计算不同数据段的单独趋势时,断点非常有用。

数据类型: double | single | datetime | duration | logical

nanflag - NaN 条件
'includenan' (默认) | 'omitnan'

NaN 条件,指定为下列值之一:

  • 'includenan' - 在计算趋势时,在输入数据中包含 NaN 值。

  • 'omitnan' - 在计算趋势时忽略输入中的所有 NaN 值。

名称-值参数

示例: y = detrend(x,'SamplePoints',1:10:1000)

指定可选的、以逗号分隔的 Name,Value 对组参数。Name 为参数名称,Value 为对应的值。Name 必须放在引号中。您可采用任意顺序指定多个名称-值对组参数,如 Name1,Value1,...,NameN,ValueN 所示。

Continuous - 连续性约束
true (默认) | false

连续性约束,指定为以逗号分隔的对组,该对组由 'Continuous' 和下列值之一组成:

  • true - 拟合趋势在任何位置都必须是连续的。

  • false - 拟合趋势可以包含不连续趋势。

SamplePoints - 样本点
[1 2 3 ...] (默认) | 向量

样本点,指定为逗号分隔的对组,其中包含 'SamplePoints' 和一个向量。样本点代表输入数据在 x 轴上的位置,它们必须唯一并经过排序。

数据类型: double | single | datetime | duration

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

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

相关文章

LaTeX+Overleaf 论文速通教程

一、文本/排版二、章节和段落三、数学公式四、插入图片五、插入表格六、参考文献与交叉引用不使用BibTeX使用BibTeX(推荐)七、交叉引用label和refOverleaf开发界面 latex命令:\命令[可选参数]{必选参数} Latex项目组成: .tex:正文 .bib&…

如何对数据库进行优化

数据库是什么? 简单来说数据库就是将数据按照一定顺序存储到磁盘上的一个软件,我们平时写的sql语句,就是用数据库软件能识别的语言,对数据进行增删改查。其实数据本质上是不存在表里,而是存在磁盘上,所谓的…

掌握亚马逊,沃尔玛,东南亚平台的测评要点,测评事半功倍

测评其实最重要的两个点就是自己的资源和成号率 资源包括;商家资源,中介资源,礼品卡资源,还有买卖账号的渠道,ip资源 成号率这个直接影响的就是你个人投入成本的多,成号率越高,你的成本越低,但…

【Java版oj】day36Rational Arithmetic、Pre-Post

目录 一、Rational Arithmetic (1)原题再现 (2)问题分析 (3)完整代码 二、Pre-Post (1)原题再现 (2)问题分析 (3)完整代码 一、…

十七、小程序报错 真机调试预览失效 Error: Illegal Buffer

报错 电脑端微信开发者工具运行成功而真机调试预览失效 报错 MiniProgramError Illegal Buffer 报错 {errno: 600001, errMsg: “request:fail -200:net::ERR_CERT_COMMON_NAME_INVALID”} 前言:手头有个去年的微信小程序项目 年底甲方不在使用 所以停掉了服务器、…

互联网医院系统构建:探索开源云平台与互联网医院平台源码的融合

互联网医院系统作为一种新型医疗服务模式,将传统的医院门诊转化为在线咨询、远程会诊等形式,帮助患者更加方便地获得专业医疗服务。 在实现互联网医院系统的建设过程中,选择合适的云平台和医院平台源码是至关重要的。 首先,开源…

LVM逻辑卷管理

目录一、LVM简介1、逻辑卷管理磁盘的优点2、缺陷3、LVM概述图二、LVM的使用1、创建逻辑卷2、使用逻辑卷3、删除逻辑卷4、LVM扩容5、LVM缩容三、Snapshot(快照功能)1、LVM-snapshot简介2、利用snapshot做备份(LV快照)四、LVM数据迁…

整型在内存中的存储

在计算机底层,所有数据最终都会被表示为二进制形式。整型也不例外。本文将介绍在C语言中如何定义和操作整型变量,并解释整型在内存中的存储方式。 整型变量的定义和使用 在C语言中,可以用int关键字来定义一个整数型变量。例如: …

ChatGPT们接踵而至,AI会彻底改变我们的工作方式吗?

2023年开年,AI成为了舞台上聚光灯下的主角,AI 浪潮不仅让我们对人工智能的能力有了一次全新的理解,而且所有人的工作和生活都将受到不同程度的影响。 ChatGPT、Notion AI、New Bing、GPT-4、MidJourney v5、office copilot、Adobe Firefly、…

解决方案:炼丹师养成计划 Pytorch如何进行断点续训——DFGAN断点续训实操

我们在训练模型的时候经常会出现各种问题导致训练中断,比方说断电、系统中断、内存溢出、断连、硬件故障、地震火灾等之类的导致电脑系统关闭,从而将模型训练中断。 所以在实际运行当中,我们经常需要每100轮epoch或者每50轮epoch要保存训练好…

Python实现哈里斯鹰优化算法(HHO)优化卷积神经网络分类模型(CNN分类算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 2019年Heidari等人提出哈里斯鹰优化算法(Harris Hawk Optimization, HHO),该算法有较强的全…

DAY 43 Apache的配置与应用

虚拟Web主机 概述 虚拟web主机指的是在同一台服务器中运行多个web站点,其中每一个站点实际上并不独立占用整个服务器,因此被称为"虚拟"web主机。通过虚拟web主机服务可以充分利用服务器的硬件资源,从而大大降低网站构建及运行成本…

TensorFlow 决策森林详细介绍和使用说明

使用TensorFlow训练、调优、评估、解释和部署基于树的模型的完整教程 两年前TensorFlow (TF)团队开源了一个库来训练基于树的模型,称为TensorFlow决策森林(TFDF)。经过了2年的测试,他们在上个月终于宣布这个包已经准备好发布了,也就是说我们…

在android项目上集成libyuv库以及使用linyuv库完成camera的缩放,旋转,翻转,裁剪操作

目录 一、下拉google官方的libyuv库代码 二、在android项目中集成libyuv库 1.环境配置 2.拷贝libyuv源码文件 ​编辑3.配置cmake libyuv相关的链接编译等 三、使用libyuv库 1.libyuv库完成camera的旋转 2.libyuv库实现翻转 3.libyuv库实现缩放 4.libyuv库实现裁剪 一…

为什么重视安全的公司都在用SSL安全证书?

我们今天来讲一讲为什么重视安全的公司都在用SSL证书 SSL证书是什么? SSL安全证书是由权威认证机构颁发的,是CA机构将公钥和相关信息写入一个文件,CA机构用他们的私钥对我们的公钥和相关信息进行签名后,将签名信息也写入这个文件…

对于数据库而言,其锁范围可以分为全局锁 、表级锁、 行级锁

一、全局锁 全局锁就是对整个数据库实例加锁。 MySQL 提供了一个加全局读锁的方法,命令是 Flush tables with read lock (FTWRL)。当你需要让整个库处于只读状态的时候,可以使用这个命令,之后其他线程的以下语句会被阻塞:数据更新…

DOM(1)

DOM(文档对象模型):处理可扩展标记语言(HTML或XML)的标准编程接口,可以改变网页的内容、结构和样式。DOM树: …

ubuntu18 网络问题

在/etc/netplan/*.yaml配置文件中: renderer的值可以是networkd,或者是NetworkManager 它俩的其中一个区别为: networkd在图像界面,networking setting中不显示网卡配置。 版权简介: 从Ubuntu 18.04.2版本开始&…

腾讯云4核8G轻量服务器12M支持多少访客同时在线?并发数怎么算?

腾讯云轻量4核8G12M轻量应用服务器支持多少人同时在线?通用型-4核8G-180G-2000G,2000GB月流量,系统盘为180GB SSD盘,12M公网带宽,下载速度峰值为1536KB/s,即1.5M/秒,假设网站内页平均大小为60KB…

网络安全:网络攻击原理与方法.

网络安全:网络攻击原理与方法. 网络攻击:是损害网络系统安全属性的危害行为。危害行为导致网络系统的机密性、完整性、可控性、真实性、抗抵赖性等受到不同程度的破坏。 目录: 常见的危害行为有四个基本类型: 网络攻击模型&…