基于主成分分析PCA的一维时间序列信号降噪方法(Python)

主成分分析PCA是面向模式分类的特征提取最典型的工具,是满足上述映射准则的一种数据压缩的方法。作为经典的特征提取方法,是在不减少原始数据所包含的内在信息前提下,将原始数据集转化为由维数较少的“有效”特征成分来表示,使其在统计均方意义下达到方差最优的目的。许多学者对算法进行深入研究,已经在经典算法的基础上形成了很多改进算法,被广泛应用于不同领域。

PCA是一种基于统计意义下最小均方误差的特征提取方法,其所提取出的新特征能维持原模式类中的大部分本质信息,去除掉的维数很大可能是由噪声带来的结果,在多数情况下把这些维数剔除,可以达到降噪的目的,改善数据的表示。据此我们可以把主成分分析看作是数据降噪的一个过程。利用PCA及其改进算法对图像进行降噪处理是模式识别中特征提取的一个典型应用,对图像的降噪可以看作是一种识别,学习识别出无噪图像的主要特征,利用这些主要特征对有噪图像进行去噪。现如今存在的各种去噪方法中,PCA算法凭借其优良的特征提取性能被广泛应用。利用及其改进算法能够提取数据的有效特征,舍弃由噪声引起的成分,达到降噪的效果。鉴于此,采用PCA对一维时间序列进行降噪,运行环境为Python。

import matplotlib.pyplot as plt
import matplotlib.image as mpimg 
import numpy as np
from scipy.linalg import svd
from scipy.linalg import hankeln_elements = 5
fname='example_wave.csv'#open file
myFile = np.genfromtxt(fname, delimiter=',')#define matrix
A = np.array(myFile)nt=len(myFile)#get hankel matrix and trim
B = hankel(A)
C = B[0:int(nt/2)]
D = C[:,0:int(nt/2)]#SVD
U, s, VT = svd(D)# create m x n Sigma matrix
Sigma = np.zeros((D.shape[0], D.shape[1]))# populate Sigma with n x n diagonal matrix
Sigma[:D.shape[0], :D.shape[0]] = np.diag(s)# select
Sigma = Sigma[:, :n_elements]
VT = VT[:n_elements, :]# reconstruct
Q = U.dot(Sigma.dot(VT))aa = Q[:,0]
bb = Q[:,499]AA = np.concatenate([ aa, bb])f, axarr = plt.subplots(2, sharex=True)
axarr[0].set_title('Original Signal')
axarr[0].plot(A)
axarr[1].set_title('De-Noised Signal')
axarr[1].plot(AA)
axarr[1].set_xlabel('Time')np.savetxt(fname+'_denoised',AA, delimiter=',')
plt.show()

  • 知乎学术咨询:
    https://www.zhihu.com/consult/people/792359672131756032?isMe=1

    擅长领域:现代信号处理,机器学习,深度学习,数字孪生,时间序列分析,设备缺陷检测、设备异常检测、设备智能故障诊断与健康管理PHM等。

 

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

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

相关文章

GD32F303之CAN通信

1、CAN时钟 GD32F303主时钟频率最大是120Mhz,然后APB1时钟最大是60Mhz,APB2时钟最大是120Mhz,CAN挂载在APB1总线上面 所以一般CAN的时钟频率是60Mhz,这个频率和后面配置波特率有关 2、GD32F303时钟配置 首先我们知道芯片有几个时钟 HXTAL:高速外部时钟&#xff1…

用理解与包容对待阿斯伯格综合征患者

在我们的社会中,存在着这样一个特殊的群体——阿斯伯格综合征患者。他们在社交互动、沟通交流和行为模式上有着独特的表现,需要我们以正确的方式去理解和对待。 我们要认识到阿斯伯格综合征是一种神经发育障碍,而非个人的选择或过错。患者可能…

AI Earth——中国城市绿地对大气污染干沉降作用估计数据集(DDEP)应用APP

基于数学模型量化植被的干沉降过程,突破传统站点尺度研究的局限性,结合多源卫星遥感产品形成2000-2020年中国城市绿地对PM2.5和PM10的干沉降量估计栅格数据集,对城市大气污染防治、绿地区域规划和城市可持续发展有重要意义. 应用结果 代码 #导入安装包 import os import …

本地部署,强大的面部修复与增强网络CodeFormer

目录 什么是 CodeFormer? 技术原理 主要功能 应用场景 本地部署 运行结果 结语 Tip: 在图像处理和计算机视觉领域,面部修复和增强一直是一个备受关注的研究方向。近年来,深度学习技术的飞速发展为这一领域带来了诸多突破性…

c++:面向对象的继承特性

什么是继承 (1)继承是C源生支持的一种语法特性,是C面向对象的一种表现 (2)继承特性可以让派生类“瞬间”拥有基类的所有(当然还得考虑权限)属性和方法 (3)继承特性本质上是为了代码复用 (4)类在C编译器的内部可以理解为结构体,派…

BJT交流分析+共发射极(CE)放大器+单片机的中断系统(中断的产生背景+使用中断重写秒表程序+中断优先级)

2024-7-10,星期三,16:58,天气:阴,心情:晴。今天终于阴天啦,有点风凉快一点了,不然真要受不了了,然后没有什么特殊的事情发生,继续学习啦,加油加油…

科普文:HTTPS协议

概叙 HTTPS(Secure Hypertext Transfer Protocol)即安全超文本传输协议,是一个安全通信通道。用于计算机网络的安全通信,已经在互联网得到广泛应用。 HTTPS 是基于 HTTP 的扩展,其相当于 HTTP协议SSL(安全套…

0708,LINUX目录相关操作

主要是冷气太足感冒了&#xff0c;加上少吃药抗药性差&#xff0c;全天昏迷&#xff0c;学傻了学傻了 cat t_chdir.c #include <stdio.h> #include <unistd.h> #include <error.h> #include <errno.h> #include <sys/stat.h>int main(int argc…

鲁棒控制器设计方法:systune,hinfsyn,musyn,slTuner

systune和hinfsyn更侧重于基于数学模型的控制器设计&#xff0c;而musyn则特别考虑了系统的不确定性。slTuner则提供了在Simulink环境中进行控制器设计和调整的能力。 指定结构的控制器整定&#xff1a;systune, hinfstruct广义控制对象整定&#xff1a;musyn, mixed musyn, h…

应急响应-ELK日志分析系统

&#x1f3bc;个人主页&#xff1a;金灰 &#x1f60e;作者简介:一名简单的大一学生;易编橙终身成长社群的嘉宾.✨ 专注网络空间安全服务,期待与您的交流分享~ 感谢您的点赞、关注、评论、收藏、是对我最大的认可和支持&#xff01;❤️ &#x1f34a;易编橙终身成长社群&#…

2024年PMP考试备考经验分享

PMP是项目管理领域最重要的认证之一,本身是IT行业比较流行的证书&#xff0c;近几年在临床试验领域也渐渐流行起来&#xff0c;是我周围临床项PM几乎人手一个的证书。 考试时间&#xff1a;PMP认证考试形式为180道选择题&#xff0c;考试时间为3小时50分。 考试计划&#xff…

NFS综合项目

现有主机 node01 和 node02&#xff0c;完成如下需求&#xff1a; 1、在 node01 主机上提供 DNS 和 WEB 服务 2、dns 服务提供本实验所有主机名解析 3、web服务提供 www.rhce.com 虚拟主机 4、该虚拟主机的documentroot目录在 /nfs/rhce 目录 5、该目录由 node02 主机提供的NFS…

NI 5G大规模MIMO测试台:将理论变为现实

目录 概览引言MIMO原型验证系统MIMO原型验证系统硬件LabVIEW通信系统设计套件&#xff08;简称LabVIEW Communications&#xff09;CPU开发代码FPGA代码开发硬件和软件紧密集成 LabVIEW Communications MIMO应用框架MIMO应用框架特性单用户MIMO和多用户MIMO基站和移动站天线数量…

常用控件(三)

输入类控件 QLineEditQTextEditQComboBoxQSpinBoxQDateTimeEditQDialQSlider QLineEdit QLineEdit用来表示单行输入框&#xff0c;可以输入一段文本&#xff0c;但是不能换行; 核心属性: 属性说明text输入框中的文本inputMask输入内容格式约束maxLength最大长度frame是否添加边…

FOLANNIC FD31 UPS工作原理介绍

1&#xff0e;1简介 FOLANNIC FD31系列UPS系工业级电厂型不间断电源&#xff0c;是为重要负载提供不受电网干扰、稳压、稳频的电力供应的电源设备&#xff0c;在市电掉电后&#xff0c;UPS可给负载继续提供一段时间供电&#xff0c;此系列UPS采用带输出隔离变压器的高频双变换结…

链表---头插法+尾插法

本博客介绍了单链表的实现&#xff0c;以及头插法尾插法的代码实现 1.定义一个结点类 class ListNode{int value;ListNode next;public ListNode(int value) {super();this.value value;}Overridepublic String toString() {return "ListNode{" "value" …

Windows部署MySQL环境

一、下载MySQL数据库 进入官网&#xff1a;https://www.mysql.com 找到红框位置&#xff0c;点击DOWNLOADS页面下翻&#xff0c;找到红框位置并点击进入&#xff08;图片右下方那个&#xff09; 选择红框部分 这里按照红框选择的是离线安装&#xff0c;之间点击download即可&…

JFlash读取和烧录加密stm32程序

JFlash读取和烧录加密stm32程序 安装后JFlash所在的目录&#xff1a;C:\Program Files\SEGGER\JLink 一、烧写加密程序 1、打开C:\Program Files\SEGGER\JLink目录&#xff0c;找到JFlash.exe,双击它&#xff0c;就可以打开该执行程序。见下图&#xff1a; 2、选择“Create …

Nature Renderer 2022(植被渲染工具插件)

渲染大量详细的植被。 自然渲染器通过替换Unity的默认地形细节和树系统来提高植被渲染的质量。一切都适用于现有数据:使用相同的草地、植被和树木,并保留现有地形。我们只是升级您的渲染器。 Unity验证的解决方案 Nature Renderer受到25000多名开发人员的信任,是Unity验证的…

Llama-2 vs. Llama-3:利用微型基准测试(井字游戏)评估大模型

编者按&#xff1a; 如何更好地评估和比较不同版本的大语言模型&#xff1f;传统的学术基准测试固然重要&#xff0c;但往往难以全面反映模型在实际应用场景中的表现。在此背景下&#xff0c;本文作者别出心裁&#xff0c;通过让 Llama-2 和 Llama-3 模型进行井字游戏对决&…