【重新定义matlab强大系列三】MATLAB清洗离群数据(查找、填充或删除离群值)

🔗 运行环境:matlab

🚩 撰写作者:左手の明天

🥇 精选专栏:《python》

🔥  推荐专栏:《算法研究》

#### 防伪水印——左手の明天 ####

💗 大家好🤗🤗🤗,我是左手の明天!好久不见💗

💗今天开启新的系列——重新定义matlab强大系列💗

📆  最近更新:2023 年 04 月 23 日,左手の明天的第 279 篇原创博客

📚 更新于专栏:matlab

#### 防伪水印——左手の明天 ####


清洗离群数据允许以交互方式处理数据中的离群值。该任务会自动为实时脚本生成 MATLAB代码。使用此任务可以:

  • 从工作区变量数据中查找、填充或删除离群值。

  • 自定义查找和填充离群值的方法。

  • 可视化离群数据和清洗后的数据。

打开任务

要在 MATLAB 实时编辑器中将清洗离群数据任务添加到实时脚本中,请执行以下操作:

  • 实时编辑器选项卡上,点击任务并选择清洗离群数据图标 

  • 在实时脚本的代码块中,键入相关关键字,例如 outlier 或 clean。从建议的命令自动填充项中选择“清洗离群数据”。

数据平滑和离群值检测

数据平滑指用于消除数据中不需要的噪声或行为的技术,而离群值检测用于标识与其余数据显著不同的数据点。

移动窗口方法

移动窗口方法是分批处理数据的方式,通常是为了从统计角度表示数据中的相邻点。移动平均值是一种常见的数据平滑技术,它沿着数据滑动窗,同时计算每个窗内点的均值。这可以帮助消除从一个数据点到下一个数据点的非显著变化。

例如,假设每分钟测量一次风速,持续约 3 小时。使用 movmean 函数和 5 分钟的窗口大小可去除高速阵风。

load windData.mat
mins = 1:length(speed);
window = 5;
meanspeed = movmean(speed,window);
plot(mins,speed,mins,meanspeed)
axis tight
legend("Measured Wind Speed","Average Wind Speed over 5 min Window")
xlabel("Time")
ylabel("Speed")

同样,可以使用 movmedian 函数计算滑动窗中的风速中位数。

medianspeed = movmedian(speed,window);
plot(mins,speed,mins,medianspeed)
axis tight
legend("Measured Wind Speed","Median Wind Speed over 5 min Window")
xlabel("Time")
ylabel("Speed")

并非所有数据都适合用移动窗口方法进行平滑处理。例如,创建插入了随机噪声的正弦信号。

t = 1:0.2:15;
A = sin(2*pi*t) + cos(2*pi*0.5*t);
Anoise = A + 0.5*rand(1,length(t));
plot(t,A,t,Anoise)
axis tight
legend("Original Data","Noisy Data")

使用移动均值和大小为 3 的窗口对含噪数据进行平滑处理。

window = 3;
Amean = movmean(Anoise,window);
plot(t,A,t,Amean)
axis tight
legend("Original Data","Moving Mean - Window Size 3")

移动均值方法可获得数据的大致形状,但不能非常准确地捕获波谷(局部最小值)。由于波谷点在每个窗口中两个较大的邻点之间,因此均值不是那些点的理想近似值。如果使窗口大小变大,均值将完全消除较短的波峰。对于这种类型的数据,可能需要考虑其他平滑技术。

Amean = movmean(Anoise,5);
plot(t,A,t,Amean)
axis tight
legend("Original Data","Moving Mean - Window Size 5")

常见的平滑方法

smoothdata 函数提供几种平滑选项,如 Savitzky-Golay 方法,这是一种常用的信号处理平滑技术。默认情况下,smoothdata 根据数据为方法选择最佳估计窗口大小。

Savitzky-Golay 方法

使用Savitzky-Golay 方法 可对含噪信号 Anoise 进行平滑处理,并输出它使用的窗口大小。与 movmean 相比,该方法可提供更好的波谷近似值。

[Asgolay,window] = smoothdata(Anoise,"sgolay");
plot(t,A,t,Asgolay)
axis tight
legend("Original Data","Savitzky-Golay","location","best")
window
window = 3

Lowess 方法

稳健的 Lowess 方法是另一种平滑方法,尤其适用于含噪数据还包含离群值的情形。在含噪数据中插入离群值,并使用稳健的 Lowess 方法对数据进行平滑处理,从而消除离群值。

Anoise(36) = 20;
Arlowess = smoothdata(Anoise,"rlowess",5);
plot(t,Anoise,t,Arlowess)
axis tight
legend("Noisy Data","Robust Lowess")

检测离群值

数据中的离群值可能使数据处理结果和其他计算量严重失真。例如,如果尝试用移动平均值方法对包含离群值的数据进行平滑处理,则可能得到误导性的波峰或波谷。

Amedian = smoothdata(Anoise,"movmedian");
plot(t,Anoise,t,Amedian)
axis tight
legend("Noisy Data","Moving Median")

当检测到离群值时,isoutlier 函数返回逻辑值 1。验证 Anoise 中离群值的索引和值。

TF = isoutlier(Anoise);
ind = find(TF)
ind = 36
Aoutlier = Anoise(ind)
Aoutlier = 20

可以使用 filloutliers 函数并指定填充方法来替换数据中的离群值。例如,用紧挨 Anoise 中离群值右侧的邻点值填充该离群值。

Afill = filloutliers(Anoise,"next");
plot(t,Anoise,t,Afill,"o-")
axis tight
legend("Noisy Data with Outlier","Noisy Data with Filled Outlier")

也可以使用 rmoutliers 函数从数据中删除离群值。例如,删除 Anoise 中的离群值。

Aremove = rmoutliers(Anoise);
plot(t,Anoise,t(~TF),Aremove,"o-")
axis tight
legend("Noisy Data with Outlier","Noisy Data with Outlier Removed")

非均匀数据

并非所有数据都由等间距点组成,这会影响数据处理的方法。创建一个 datetime 向量,其中包含 Airreg 中数据的不规则采样时间。time 向量表示了前 30 分钟内每分钟采集一次的样本和两天内每小时采集一次的样本。

t0 = datetime(2014,1,1,1,1,1);
timeminutes = sort(t0 + minutes(1:30));
timehours = t0 + hours(1:48);
time = [timeminutes timehours];
Airreg = rand(1,length(time));
plot(time,Airreg)
axis tight

默认情况下,smoothdata 按照等间距整数进行平滑处理,在本例中为 1,2,...,78。由于整数时间戳与 Airreg 中各点的采样不协调,前半小时的数据在平滑后仍然出现噪声。

Adefault = smoothdata(Airreg,"movmean",3);
plot(time,Airreg,time,Adefault)
axis tight
legend("Original Data","Smoothed Data with Default Sample Points")

MATLAB中的许多数据处理函数(包括 smoothdatamovmean 和 filloutliers)允许提供样本点,从而确保相对于其采样单位和频率处理数据。要消除 Airreg 中前半小时数据的高频变化,可以将 SamplePoints 名称-值参数和 time 中的时间戳结合使用。

Asamplepoints = smoothdata(Airreg,"movmean", ...
    hours(3),"SamplePoints",time);
plot(time,Airreg,time,Asamplepoints)
axis tight
legend("Original Data","Smoothed Data with Sample Points")

从表中删除离群值

使用实时编辑器中的清洗离群数据任务以交互方式从表中删除离群值。

load("patients.mat","Height","Weight")
T = table(Height,Weight);
head(T)
    Height    Weight
    ______    ______

      71       176  
      69       163  
      64       131  
      67       133  
      64       119  
      68       142  
      64       142  
      68       180  

在实时编辑器中打开清洗离群数据任务。要清洗患者数据,请选择 T 作为输入数据。然后,通过选择 All supported variables,计算 Height 和 Weight 变量。

清洗离群数据任务可以填充或删除离群值数据。要删除身高或体重测量为离群值的患者的对应表行,请使用清洗方法字段选择 Remove outliers。然后,要将离群值定义为低于第 10 个百分位数或高于第 90 个百分位数的元素,请使用检测方法字段并选择 Percentiles

然后,要可视化清洗后的身高和体重数据,使用要显示的变量字段选择所有变量。

要查看此任务生成的代码,请点击任务参数区域底部的 

 展开任务显示画面。

 


#### 防伪水印——左手の明天 ####

💗 大家好🤗🤗🤗,我是左手の明天!好久不见💗

💗今天开启新的系列——重新定义matlab强大系列💗

📆  最近更新:2023 年 04 月 23 日,左手の明天的第 279 篇原创博客

📚 更新于专栏:matlab

#### 防伪水印——左手の明天 ####

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

应届生如何在职场中提高竞争力?这些方法和策略不容错过!

当前就业形势严峻,对于即将步入职场的应届生来说,提高自己的竞争力显得尤为重要。那么,要如何提高自己的职场竞争力呢?本文将为你分享一些有效的方法和策略,帮助你在职场中获得更好的发展。 一、提高自身素质 职场中&…

关于ADC的笔记1

ADC,全称Anlog-to-Digital Converter,模拟/数字转换器。是指将连续变量的模拟信号转换为离散的数字信号的器件,我们能通过ADC将外界的电压值读入我们的单片机中. 常见的ADC有两种 1.并联比较型: 它的优点是转换速度最快&#x…

VMware 产品下载汇总 2023 持续更新中

本站 VMware 产品下载汇总:vSphere、NSX、Tanzu、Aria、Cloud… 请访问原文链接:https://sysin.org/blog/vmware/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org 本站提供的 VMware 软件全部为 “试用版…

数据分析04——Pandas简介/Series对象/DataFrame对象

1、Pandas简介: Pandas是基于NumPy开发的数据分析三大剑客之一,Python数据分析的核心库提供快速、灵活、明确的数据结构Series对象:一维数组结构,由index和value构成DataFrame对象:二维数组结构,由index、…

106.(cesium篇)cesium椎体旋转

听老人家说:多看美女会长寿 地图之家总目录(订阅之前建议先查看该博客) 文章末尾处提供保证可运行完整代码包,运行如有问题,可“私信”博主。 效果如下所示: 下面献上完整代码,代码重要位置会做相应解释 <html lang="en"> <

RT-Thread 5.0.1 qemu-virt64-aarch64 解决编译问题

前言 最近在最新的 RT-Thread 上搭建 bsp qemu-virt64-aarch64 的编译环境&#xff0c;发现较新的 gcc 交叉编译器编译失败了。 经过尝试较旧版本的 gcc 交叉编译工具链&#xff0c;终于编译通过了 下载 gcc 交叉编译工具链&#xff0c;这里推荐使用 arm 官方的 gcc 下载地址…

眼球追踪、HDR、VST,从代码挖掘Valve下一代VR头显

擅长爆料、挖掘线索的Brad Lynch&#xff0c;此前发布了Quest Pro等设备的线索文章引发关注。​近期&#xff0c;又公布一系列与“Valve Deckard”VR头显相关消息&#xff0c;比如支持眼球追踪、HDR、VST透视、Wi-Fi网络等等。在SteamVR 1.26.1测试版更新、Steam用户端、Gamesc…

掌控MySQL并发:深度解析锁机制与并发控制

前一篇MySQL读取的记录和我想象的不一致——事物隔离级别和MVCC 讲了事务在并发执行时可能引发的一致性问题的各种现象。一般分为下面3种情况&#xff1a; 读 - 读情况&#xff1a;并发事务相继读取相同的记录。读取操作本身不会对记录有任何影响&#xff0c;不会引起什么问题&…

基于matlab使用主动声纳系统进行水下目标检测

一、前言 此示例演示如何模拟具有两个目标的主动单基地声纳方案。声纳系统由各向同性投影仪阵列和单个水听器元件组成。投影仪阵列呈球形。反向散射信号由水听器接收。接收到的信号包括直接和多路径贡献。 二、水下环境 在浅水环境中&#xff0c;声源和目标之间存在多个传播路径…

探索深度学习中的计算图:PyTorch的动态图解析

❤️觉得内容不错的话&#xff0c;欢迎点赞收藏加关注&#x1f60a;&#x1f60a;&#x1f60a;&#xff0c;后续会继续输入更多优质内容❤️ &#x1f449;有问题欢迎大家加关注私戳或者评论&#xff08;包括但不限于NLP算法相关&#xff0c;linux学习相关&#xff0c;读研读博…

MySQL的高级语句

一、SQL高级语句 1、 SELECT 显示表格中一个或数个栏位的所有资料 语法&#xff1a;SELECT "字段" FROM "表名"; select * from test1; select name from test1; select name,sex from test1;2、DISTINCT 不显示重复的内容 语法&#xff1a;SELECT D…

2023年主流的选择仍是Feign, http客户端Feign还能再战

&#x1f473;我亲爱的各位大佬们好&#x1f618;&#x1f618;&#x1f618; ♨️本篇文章记录的为 微服务组件之http客户端Feign 相关内容&#xff0c;适合在学Java的小白,帮助新手快速上手,也适合复习中&#xff0c;面试中的大佬&#x1f649;&#x1f649;&#x1f649;。 …

古典密码体制--代换和置换

一、介绍与分类 1.介绍&#xff1a; 古典密码时期一般认为是从古代到19世纪末,这个时期生产力水平低,加密、解密方法主要以纸、笔或简单的器械来实现,在这个时期提出和使用的密码称为古典密码。古典密码是密码学发展的初级阶段。尽管古典密码大都较简单,但由于其安全性差&…

基于小程序制作一个ChatGPT聊天机器人

在AI技术日新月异的浪潮中,将ChatGPT与实战开发相结合,制作一个随身携带的聊天机器人,紧贴前沿的同时稳固基础。 一、前言1.1、什么是ChatGPT1.2、什么是文本完成二、API2.1、ChatGPT官网申请API所需要的key2.2、搭建API2.3、创建控制器及动作方法三、小程序3.1、页面创建3.…

彻底解决 Lost connection to MySQL server at ‘reading initial communication packet’, system error: 0 解决方法

当我遇到这错误的时候,我去网上也找过对应解决方法,出现这个的原因有很多种情况 大多是解决Linux系统里的 我是windows系统里的MySQL服务出问题了,所有那些方法对我来说毫无意义. 好了,说一下我的解决办法,其实也很简单 只需要卸载mysql服务,注册表也要删干净,也要把环境变…

信通初试第一:无科研无竞赛一战上岸上海交大819学硕感悟

笔者来自通信考研小马哥23上交819全程班学员 信通初试第一&#xff1a;无科研无竞赛一战上岸上海交大819学硕感悟 原创2023-04-27 11:04通信考研小马哥 笔者来自通信考研小马哥23上交819全程班学员 本人情况&#xff1a; 本人是19届交本&#xff0c;本科成绩很差&#xff0c;…

学网络安全都是一群什么人?

大家好呀&#xff0c;我是知了姐&#xff0c;又是一期学员故事栏目~ 3月下旬知了堂信安方向开新班&#xff0c;知了姐跟着去采访&#xff0c;了解到新学员们的求学故事&#xff0c;嘿你别说&#xff0c;虽然大家出身专业不同、经历背景不同&#xff0c;如今却在同一个地点相遇…

FFmpeg从视频中提取音频

文章目录 FFmpeg从视频中提取音频流文件基本信息查看音频采样率、采样深度和比特率 从视频中提取音频添加歌曲信息和封面歌曲信息封面 FFmpeg从视频中提取音频 参考博客 ffmpeg DocumentationFFmpeg最全教程FFmpeg 提取视频的音频FFMPEG 提取音频ffmpeg 给音频添加封面&#xf…

计算机视觉--图像拼接

图像拼接 单应性变换仿射变换图像扭曲实现图像嵌入&#xff08;图中图&#xff09; RANSAC算法算法介绍图片收集无RANSAC优化和有RANSAC优化的代码实现差别 总结 单应性变换 单应性变换是指一个平面上的点通过一个矩阵变换映射到另一个平面上的点&#xff0c;这个变换矩阵是一…

前端网页设计必逛的六个宝藏网站(非常值得收藏)

&#x1f389;个人主页&#xff1a;这个昵称我想了20分钟 ✨往期专栏&#xff1a; 【速成之路】jQuery 【SQL server速成之路】 素材网站 ✨iconfont阿里巴巴矢量图标库  ✨美叶  ✨IconPark  ✨pexels  ✨COLOR  ✨Uigradients ✨iconfont阿里巴巴矢量图标库 网站入…
最新文章