异常点检测的方法

ETL
• 阅读 1019
一维坐标中的离群点检测

一、箱线法

data0=xlsread('F:\数据一.xls');
[m,n]=size(data0);
w1=round(m/4);  %第一四分位位置,
%m1=m/2%中位数位置,
w3=round(3*m/4);%第三四分位位置

%变量1的异常值处理

bl1=data0(:,1);   %在这里定义检索的范围
[a1,b1]=sort(bl1)%[a,b]=sort(x);是从小到大排列,a是排序后结果,b是a结果中各元素的原始位置。
q11=a1(w1,1);    %第一四分位数
q13=a1(w3,1);    %第三四分位数
qr1=q13-q11;       %四分位距
sx1=q13+1.5*qr1;   %上限
xx1=q11-1.5*qr1;   %下限
ycz1=[];%异常值矩阵
s1=1;
%异常值被定义为小于Q1-1.5IQR或大于Q3+1.5IQR的值。虽然这种标准有点任意性,但它来源于经验判断,经验表明它在处理需要特别注意的数据方面表现不错。 
for i=1:m
    if bl1(i,1)>sx1||bl1(i,1)<xx1
        ycz1(s1,1)=bl1(i,1);
        ycz1(s1,2)=i;
        s1=s1+1;
    end
end
ycz1  %输出离群点

 

二、3西格玛方法(拉伊达准则)

data0=xlsread('F:\数据一.xls');
%变量1的异常值处理
bl1=data0(:,1);  %在这里定义检索的范围
[m,n]=size(bl1);
ave=mean(bl1)%均值
sigma=sqrt((bl1'-ave)*(bl1-ave)/m)
jicha=max(bl1)-min(bl1);%极差
%要求数据服从正态分布,认为大于μ+3σ或小于μ—3σ的实验数据值作为异常值,其中μ为数据均值,σ为数据标准差 
sx=ave+3*sigma
xx=ave-3*sigma
ycz=[];
zcz=[];
s=1;
s1=1;
for i=1:m
    if bl1(i,1)<xx||bl1(i,1)>sx
        ycz(s,1)=bl1(i,1);
        ycz(s,2)=i;
        s=s+1;
    end
end
ycz  %输出离群点

 

 

 


点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
java开发中DTO、VO、PO之间的转换你应该这么操作
!(https://oscimg.oschina.net/oscnet/69f77171f1bb42ef9465024011794951.gif)!(https://oscimg.oschina.net/oscnet/08bace440eca42efa89083e723a3d74a.png)痛点一种框架的出现都
Wesley13 Wesley13
3年前
android中LinearGradient线性渐变
PaintpnewPaint();LinearGradientlgnewLinearGradien(0,0,100,100,Color.RED,Color.BLUE,Shader.TileMode.MIRROR);  参数一为渐变起初点坐标x位置,参数二为y轴位置,参数三和四分辨对应渐变终点,最后参数为平铺方式,这里设置为镜像Gr
Stella981 Stella981
3年前
PHP代码静态分析工具PHPStan
<blockquote最近发现自己写的PHP代码运行结果总跟自己预想的不一样,排查时发现大多是语法错误,在运行之前错误已经种下。可能是自己粗心大意,或者说<codephpl</code检测太简单,不过的确是有一些语法错误埋藏得太深(毕竟PHP是动态语言),那么有没有办法,在代码代码正式运行之前,把语法错误全找出来呢?</blockquote<p
Stella981 Stella981
3年前
Exceptionless
<divid"cnblogs\_post\_body"class"blogpostbodycnblogsmarkdown"<h1id"exceptionless.netcore开源日志框架"Exceptionless.NetCore开源日志框架</h1<blockquote<p作者:markjiang7m2<b
Stella981 Stella981
3年前
Abnormal Detection(异常检测)和 Supervised Learning(有监督训练)在异常检测上的应用初探
1\.异常检测VS监督学习0x1:异常检测算法和监督学习算法的对比!(https://oscimg.oschina.net/oscnet/47f3006607f0fbaa8de2a305b7972db83d4.jpg)总结来讲:1.在异常检
Wesley13 Wesley13
3年前
Oracle 12c DG备库Alert报错ORA
环境是12.2.0.1version,OracleDataGuard备库近段时间一直报错,但是备库主库同步一致,数据一致。20190306T23:42:22.18404808:00Errorsinfile/u01/app/oracle/diag/rdbms/ccdb/ccdb/trace/ccdb_m000_12
Stella981 Stella981
3年前
Hash算法解决冲突的四种方法
Hash算法解决冲突的方法一般有以下几种常用的解决方法 1,开放定址法: 所谓的开放定址法就是一旦发生了冲突,就去寻找下一个空的散列地址,只要散列表足够大,空的散列地址总能找到,并将记录存入 公式为:fi(key)(f(key)di)MODm(di1,2,3,……,m1) ※用开放定址法解决冲突的做法是:当冲突发
Wesley13 Wesley13
3年前
TCP可靠传输&流量控制&拥塞控制
TCP可靠传输TCP可靠传输的工作原理1.无差错1:无差错:A发送分组M1,发送就暂停发送,等待B的确认,B收到M1就向A发送确认,A收到对M1的确认后再发送下一个分组。(若A收到连续的M1分组的确认信息,则证明M2缺失)2:出现差错:
Wesley13 Wesley13
3年前
Java面试总结(排序算法)
1.冒泡排序算法描述:两两比较,大的放后面2.选择排序算法描述:在m元数组中找到最小值的位置,然后将最小值的位置和第n(n0,1,2,....m1)位的值对调,排序k次则m元数组中前k(k<m)位的值已经排序好,m元数组中前k位的值不需要再进行排序,此时需要排序的元素只有mk个3.插入排序算
数据堂 数据堂
1年前
点云标注的算法优化与性能提升
点云标注的算法优化和性能提升是提高自动驾驶技术的关键因素。通过优化算法和提升性能,可以获得更准确、更高效的结果。首先,算法优化可以通过使用先进的深度学习模型和算法来实现。例如,使用三维卷积神经网络(CNN)可以提取点云中的特征信息,提高障碍物检测和车道线标
DPText-DETR: 基于动态点query的场景文本检测,更高更快更鲁棒 | 京东探索研究院
针对场景文本检测任务,近期基于DEtectionTRansformer(DETR)框架预测控制点的研究工作较为活跃。在基于DETR的检测器中,query的构建方式至关重要,现有方法中较为粗糙的位置先验信息构建导致了较低的训练效率以及性能。除此之外,在如何监