根据文献:
Klos A, Bogusz J, Figurski M, Kosek W (2016) On the handling of outliers in the GNSS time series by means of the noise and probability analysis. In: Rizos C, Willis P (eds) IAG 150 Years. Springer International Publishing, pp 657-664

Leys C, Ley C, Klein O, et al (2013) Detecting outliers: Do not use standard deviation around the mean, use absolute deviation around the median. Journal of Experimental Social Psychology 49:764-766. https://doi.org/10.1016/j.jesp.2013.03.013
根据前者文中提出的绝对中位差剔除粗差的方法,编写matlab程序,与3sigma准则剔除粗差的方法进行对比。其中MAD方法程序如下:

function index = MADmethod(data)
% Detecting outliers by Median Absolute Deviation method
% MAD = b*Mi(|xi-Mj(xj)|)
% which b = 1.4826
% And the criterion of the outlier rejection is (deviation can be 3,2.5 or 2):
% M-3*MAD < xi < M+3*MAD
% which M is the median of the origion time series
% by Rong He, 20200126mad_orig=median(data);
data_sec=[];
for i=1:length(data)data_sec(i)=abs(data(i)-mad_orig);
end
b=1.4826;
mad = b*median(data_sec);
%The decision criterion
% index=[];
% for j=1:length(data)
%     if ((mad_orig-3*mad)>data(j) | data(j)>(mad_orig+3*mad))
%         index(end+1)=j;
%     end
% endindex=find((mad_orig-3*mad)>data | data>(mad_orig+3*mad));    

用来实验的序列为模拟某一测站高程方向的时间序列,人为加入60个粗差,效果如下图:
1.MAD方法剔除粗差

2.3sigma剔除粗差

Median Absolute Deviation(MAD,绝对中位差)和3sigma准则剔除粗差方法对比(代码)相关推荐

  1. Python 详解计算 Median Absolute Deviation(绝对中位偏差)| 还可用于异常值检测

    CSDN 叶庭云:https://yetingyun.blog.csdn.net/ In statistics, the median absolute deviation (MAD) is a me ...

  2. 机器学习数据预处理之离群值/异常值:MAD法(绝对值差中位数法)+绝对中位差(Median Absolute Deviation,MAD)

    机器学习数据预处理之离群值/异常值:MAD法(绝对值差中位数法)+绝对中位差(Median Absolute Deviation,MAD) garbage in,garbage out. 异常值是分析 ...

  3. 绝对中位差( Median Absolute Deviation,MAD)算法

    绝对中位差( MedianAbsolute Deviation,MAD) 是一种采用计算各观测值与平均值的距离总和的检测离群值的方法. 本文中主要用来剔除获取到的图像坐标中的离群点. 算法步骤: #离 ...

  4. 异常值检测 —— MAD(median absolute deviation)

    MAD 定义为,一元序列 XiXiX_i 同其中位数偏差的绝对值的中位数(deviation,偏差本身有正有负): MAD=median(|Xi−median(X)|)MAD=median(|Xi−m ...

  5. Java中遍历Set集合的三种方法(实例代码)

    哈喽,欢迎来到小朱课堂,下面开始你的学习吧! Java中遍历Set集合的三种方法 废话不多说,直接上代码 1.迭代遍历: Set set = new HashSet(); Iterator it = ...

  6. 【javascript基础——系列10】js中隐藏元素的几种方法以及代码

    系列文章 [javascript基础--系列1]前端页面ajax连接后台服务器传输数据 [javascript基础--系列2]前端页面axios连接后台服务器传输数据 [javascript基础--系 ...

  7. 随机森林计算特征重要性_随机森林中计算特征重要性的3种方法

    随机森林计算特征重要性 The feature importance describes which features are relevant. It can help with a better ...

  8. php file_put_contents 换行追加,PHP中file_put_contents追加和换行的实现方法

    PHP中file_put_contents追加和换行的实现方法 在PHP的一些应用中需要写日志或者记录一些信息,这样的话.可以使用fopen(),fwrite()以及 fclose()这些进行操作.也 ...

  9. 清理异常值(MAD:绝对中位差)

    清理异常数据: 中位数绝对偏差(MAD):用来描述单变量样本在定量数据中可变的一种标准 在统计学中,绝对中位差是刻画一元数据样本变化的一个鲁棒度量.由公式可以看出,其求解还算简单,给定一个数据样本集, ...

最新文章

  1. UVA 10041 Vito's Family
  2. oracle驱动程序包的安装失败,Maven 、oracle的jdbc的jar包下载失败
  3. 如何反转 Python 中的字符串
  4. ExtJs、ASP.net运用Linq to SQL与SQL储存过程交互
  5. threejs加载3D模型例子
  6. U(优)盘安装FreeBSD-9.0+GNOME_lite桌面
  7. bilibili go框架_最好的开发语言一定是那位吗?Go语言有话说
  8. Shuffle Cards(Rope大法)将一段区间的数字整体搬动
  9. 在Debian 4.0rc3上编译内核2.6.24时加入Layer7模块笔记[防火墙中在TCP/IP第七层Layer7应用层阻挡QQ,MSN等软件的应用]...
  10. 【语音去噪】基于matlab GUI傅立叶变换语音降噪混频【含Matlab源码 297期】
  11. Excel表格的35招必学秘技[配图]
  12. 现代信号处理 张贤达_信号处理领域著名科学家、清华大学张贤达教授逝世,享年 74岁...
  13. pytorch转onnx: step = 1 is currently not supported以及Exporting the operator silu to ONNX opset version
  14. Linux服务篇之SSH服务
  15. Python-爬虫(数据库基本操作,爬取豆瓣电影排行)
  16. 在新的固态硬盘中安装windows系统(旧固态硬盘已安装ubuntu系统)
  17. android蓝牙设备类型设置 dev class设置
  18. 电影《不夜城》的主题曲:金城武、山本未来主演
  19. 女赛--Girl Love Value (01背包)
  20. mysql binlog定点恢复锁表_MySQL -- binlog 操作与恢复

热门文章

  1. 常见文件的文件头(copy)
  2. 【精】LintCode领扣问题答案:40. 用栈实现队列
  3. 修改hosts文件,使一个ip指向多个域名
  4. HITSZ智能证券投资报告(3-19)
  5. 003 CMOS功耗分析
  6. Int 的范围 是 65535 还是2147483647
  7. 怎样做一名“技术布道者”
  8. asp系统转换php系统时间函数,ASP_ASP中的时间函数大全 时间操作函数,Date 函数 描述:返回当前系统日 - phpStudy...
  9. AUTOCAD 常用命令
  10. 网络服务器(硬件+软件)