【喂饭教程】Matlab简单“箱线图”轻松解决数学建模数据异常值!

在数学建模中往往需要对数据中的异常值进行处理,而其中面对数学建模中庞大的数据要找到其中的异常值,往往建模小白不知道如何下手。今天,将通过简单的几行代码轻松解决数学建模中数据异常值!

箱线图(Boxplot)是一种用来显示数据分布情况的统计图表,常用于描述数据集的集中趋势和离散程度。它主要由以下几个部分组成:

1. 中位数(Median):箱线图中的一条横线表示数据的中位数,反映数据的中心位置。
  
2. 四分位数(Quartiles):箱体的上下边缘分别代表第一四分位数(Q1)和第三四分位数(Q3),即数据分布的25%和75%的位置。

3. 内限距(IQR):箱体的高度表示四分位距(IQR),即Q3和Q1之间的差值,反映数据的集中程度。内限距(IQR,Interquartile Range)通常取的是数据的第三四分位数(Q3)减去第一四分位数(Q1)的差值,即IQR = Q3 - Q1。它反映了数据中间50%的分布范围。在箱线图中,内限距(IQR)通常用于计算须(Whiskers)的长度,定义为从Q1延伸至Q1 - 1.5 × IQR,以及从Q3延伸至Q3 + 1.5 × IQR。任何超出这个范围的值通常被视为异常值(Outliers)。1.5倍的IQR是一个常见的默认值,但在特定的分析中,也可以根据需要调整这个倍数。

4. 须(Whiskers):箱体两侧延伸的线段,通常表示数据范围内的非异常值。须的长度通常为1.5倍的IQR,但可以根据具体情况调整。

5. 异常值(Outliers):图中在须之外的独立点,这些点表示超出正常范围的异常数据。

通过箱线图识别出异常值后,我们可以通过将其设为缺失值来进行处理!

通过一个简单的代码来实现(大家可以直接将x的数据替换成自己的数据就可以

x=[48 51 57 57 49 86 48 53 59 50 48 47 53 56 60];
Q1=prctile(x,25);%下四分位数
Q3=prctile(x,75);%上四分位数
IQR=Q3-Q1;%四分位距
lb=Q1-1.5*IQR%下界
ub=Q3+1.5*IQR%上界
temp=(x<lb)|(x>ub);
ind=find(temp)
% 绘制箱线图
figure;
boxplot(x, 'orientation', 'horizontal');
hold on;
scatter(x(ind), ones(size(ind)), 'r', 'filled'); % 在箱线图上用红点标记异常值
hold off;
title('Boxplot with Outlier Highlighted');
xlabel('Value');

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值