删除离群值

把异常值从一个向量或矩阵根据修改南汤普森τ的方法

3.5 k下载

更新2014年9月10日

查看许可协议

这个函数接受一个向量或矩阵和检测离群值向量或矩阵使用Thopsonτ的方法,基于每个记录的绝对偏差的平均值整个向量或矩阵,和充满nan的离群值返回的输出。
汤普森的τ值的大小对应于输入向量中记录的数量(m)或矩阵(m * n)标准偏差(std)输入向量和矩阵的规则来决定如果任何记录是离群值。意味着,性病和汤普森的τ的大小(τ* std)计算每个离群值后再删除。如果输入矩阵,它将被转换成一个向量在检测异常值之前,然而,输出将相同的矩阵m * n维度作为输入。outleirs也将返回的索引,如果输入是一个向量,该指数向量也将是一个向量,然而,如果输入是一个矩阵,离群值索引将返回一个两列矩阵显示我,j异常值的索引(见下面的例子)。
——输入:
它包含outleirs X0:输入向量或矩阵
num_outliers:离群值的数量应该从输入向量或矩阵中删除

——输出:
X:输出向量或矩阵与异常值检测到(如果有的话)转向南
outliers_idx:指数(es)的任何检测到异常值,更极端
异常值将首先被探测到,第一个指数是指最极端异常等等

汤普森τ——理论方法:
http://www.mne.psu.edu/me345/Lectures/Outliers.pdf
http://www.jstor.org/stable/2345543(汤普森,1985)

——注意:这个函数是基于文斯Petaccio有所改善,2009年://www.tatmou.com/matlabcentral/fileexchange/24885-remove-outliers

——改进:
1。处理nan的输入
2。要删除离群值数量限制为一个用户定义的最大避免不受控制的收缩的输入数据集
3所示。填充nan保存原始尺寸异常值的输入向量/矩阵;这是至关重要的,当输入变量应该是使用另一个变量具有相同的大小(例如,阴谋,回归计算,等等)。
4所示。索引已发现的异常值返回和删除,这样用户就可以知道哪些记录已被移除,并且由于索引从最极端的订购(正面或负面)那么极端异常值,用户会知道这一点是在最远的离群值。
5。语法和算法已经显著提高,这包括逻辑检测异常值的上限和下限。逻辑检测局外人仅仅是基于每个记录的绝对距离中心点的而不是按顺序检测异常值,在文斯Petaccio, 2009年,异常值检测和删除订单的一个从上部和下一个较低的极端。这段代码首先安排极端值(上或下)的一侧排序向量基于绝对距离中心(同时保留原始户型在输入向量)然后删除底线元素是否符合异常条件。这一过程持续进行直到到达num_outliers。
6。这个函数是增强处理向量和矩阵。
7所示。有价值的用户社区的反馈(特别是用户
约翰D 'Errico)的名字有助于发现和解决的一些问题
相关算法,参与检测异常
特殊类型的异常值(请参阅注释部分)。这些
问题是现在固定。然而,这段代码将无法发现离群值
在曲线拟合数据(的问题)。这是
因为底层逻辑来检测异常值(修改)
汤普森的τ方法的平均偏差。检查引用
鉴于以上或统计参考如果你不是非常好
熟悉除异常值的概念。一件事你应该
知道的是,没有异常值绝对是一个异类,它始终是一个
相对的。

%,例子:
%如1所示。向量输入:
X0 = (2.0, 3.0, -50.5, 4.0, 109.0, 6.0)
[X, outliers_idx] =异常值(X0, 2) %称函数向量输入

% X =
% 2、3、南4南6
%
% outliers_idx =
% 5,3
%
%如2所示。矩阵输入:
X0 = (2.0, 3.0, -50.5, 4.0, 109.0, 6.0;
5.3,7.0,80.0,2.0,南1.0;
5.1,2.7,3.8,2.0,3.5,21.0)
[X, outliers_idx] =异常值(X0, 4) %调用函数矩阵输入

% X =
% 2、3、南4南6;
% 5.3,7日,南2南1;
% 5.1,2.7,3.8,3.5,NaN
%
% outliers_idx =
% %(我)(J) %注释
% 1,5;
% 2、3;
% 1,3;
% 3,6;

引用作为

M Sohrabinia (2023)。删除离群值(//www.tatmou.com/matlabcentral/fileexchange/37211-remove-outliers), MATLAB中央文件交换。检索

MATLAB版本兼容性
创建R2008b
兼容任何释放
平台的兼容性
窗户 macOS Linux
确认

启发:删除离群值

启发:统计分析

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!
版本 发表 发布说明
1.1.0.0

固定问题提出的用户社区。

1.0.0.0