备战数学建模42-缺失值和异常值的处理方法(攻坚战6)

在数据建模中,对给出的数据进行预测处理是很重要的,当然一般考虑有归一化或者规范化等方法对数据进行预处理,这都是在数据完整和没有异常的情况下,需要考虑的。当数据量非常大的时候,往往容易出现数据缺失或者异常的现象,如果数据有确实或者有异常值,我们需要对对缺失值和异常值进行处理。

目录

一、数据预处理

1.1、处理缺失值

1.2、处理异常值

1.3、Matlab处理缺失值和异常值


一、数据预处理

1.1、处理缺失值

对于数据确实问题,如果确实量非常大,比如缺失数据达到该项总体数据的40%,就可以考虑直接将该项数据删除,直接不考虑该项指标。

如果缺失的数据比较少,对个体精度要求不高,可以使用均值和众数的方式补全数据。如果对精度要求较高,可以使用牛顿插值法或者样条插值,当然基本上都是用样条插值。

1.2、处理异常值

对于数据中出现的异常值,一般直接删除,当作缺失值处理即可,但是怎么找到异常值呢,或者以什么标准去衡量一个值为异常值呢,对于服从正态分布的数据,一般使用3σ原则,就是不在这个范围内的,默认为异常值。 如果不服从正态分布,则可以使用画箱型图的方式,找出异常值。

1.3、Matlab处理缺失值和异常值

我们先准备数据,生成1*100的服从正态分布的均值为0,方差为1的数据,然后设置缺失值和异常值,代码如下:

clear;
clc
x = 1 : 100 ;
data = randn(1,100) ; %生成1行100列的服从均值为0,方差为1的正太分布数据
data(20:20:80) = NaN ; %设置20,40,60,80为缺失值
data(10) = -50 ;
data(40) = 45; 
data(70) = -40 ;
data(90) = 50 ;
plot(x,data) ;

我们看一下绘制的图像,明显有缺失的断点和异常凸凹的数据,如下:

点击实时编辑器下的任务下栏的清理缺失数据。

选择填充缺失数据的方式,有很多种,这里根据自己的需要选择填充数据的方式。可以看到缺失值被红点填充了,现在data种已经没有缺失数据了。

点击这个三角号,matlab对自动生成填充代码,可以直接用这个代码进行填充数据。

对于异常值,可以点击清理离群数据,对异常值进行处理。

 然后选择补全缺失值后的数据,进行异常值处理,如下:

  • 12
    点赞
  • 119
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

nuist__NJUPT

给个鼓励吧,谢谢你

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值