主要内容

isoullier.

找出数据中的异常值

描述

例子

TF.= isoullier(一种返回一个逻辑数组,其元素为真正的当在相应的元素中检测到异常值时一种.默认情况下,异常值是一个超过三个缩放的值中位数绝对偏差(MAD)远离中间值。如果一种是一个矩阵或表,然后isoullier.单独操作每列。如果一种是一个多维数组吗isoullier.沿着尺寸不等于1的第一维操作。

例子

TF.= isoullier(一种方法指定检测异常值的方法。例如,isoutlier (A,“的意思是”)回报真正的对所有离均值三个标准差以上的元素。

TF.= isoullier(一种,百分位数,阈值将异常值定义为指定百分位数之外的点阈值.这阈值参数是一个包含较低百分位数和上百分位数的双元素行向量,例如[10 90]

例子

TF.= isoullier(一种movmethod窗户指定根据由窗口长度检测本地异常值的移动方法窗户.例如,isoutlier(“movmedian”,5)回报真正的对于所有元素,来自包含五个元素的滑动窗口中的局部中位数超过三个本地较高。

例子

TF.= isoullier(___暗淡运营以及尺寸暗淡一种对于前面的任何语法。例如,isoullier(a,2)作用于矩阵的每一行一种

例子

TF.= isoullier(___名称,值指定使用一个或多个名称-值对参数检测异常值的附加参数。例如,isoullier(a,'samplepoints',t)在离群点检测一种相对于时间向量的相应元素T.

例子

[TF.L.C) = isoutlier (___还返回离群值检测方法使用的上下限阈值和中心值。

例子

全部折叠

在数据矢量中找到异常值。输出中的逻辑1表示异常值的位置。

A = [57 59 60 100 59 58 57 58 300 61 62 60 62 58 57];TF = isoutlier (A)
TF =1x15逻辑阵列0 0 0 1 0 0 0 0 1 0 0 0 0 0 0

定义异常值,只有三个标准偏差与平均值有多个标准偏差,并找到向量中的异常值的位置。

A = [57 59 60 100 59 58 57 58 300 61 62 60 62 58 57];TF = isoutlier (,“的意思是”
TF =1x15逻辑阵列0 0 0 0 0 0 0 0 1 0 0 0 0 0 0

创建一个包含局部离群值的数据向量。

0.1 x = 2 * pi: 3:2 *π;一个= sin (x);(47) = 0;

创建与数据相对应的时间向量一种

t = datetime(2017 1 1 0, 0, 0) +小时(0:长度(x) 1);

将异常值定义为滑动窗口内距离局部中值超过三个局部缩放MAD的点。找出异常值的位置一种相对于里面的点T.窗口大小为5小时。绘制数据和检测到的异常值。

TF = isoutlier (,“movmedian”,小时(5),'samplepoints',t);绘图(t,a,t(tf),a(tf),“x”) 传奇(“数据”'异常值'

图中包含一个坐标轴。轴包含2个类型的型号。这些对象代表数据,异常值。

查找每行矩阵的异常值。

沿对角线创建包含异常值的数据矩阵。

A = magic(5) + diag(200*ones(1,5))
A =5×5217 24 11 15 23 205 7 14 16 4 6 213 20 22 10 12 19 221 3 11 11 18 25 2 209

根据每行中的数据查找异常值的位置。

tf = isoullier(a,2)
TF =5x5逻辑阵列1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1

创建一个包含离群值的数据向量。找出并绘制离群点的位置,以及由离群点方法确定的阈值和中心值。中心值为数据的中位数,上下限阈值为中位数上方和下方三个缩放的MAD。

x = 1:10;a = [60 59 49 49 58 100 61 57 48 58];[tf,l,u,c] = isoullier(a);绘图(x,a,x(tf),a(tf),“x”x L * (10), x, U * (10), x, C *的(10))传说('原始数据''异常值'“低门槛”'上限阈值''中心值'

图中包含一个坐标轴。轴线包含5个线型对象。这些对象分别代表原始数据、离群值、下阈值、上阈值、中心值。

输入参数

全部折叠

输入数据,指定为向量、矩阵、多维数组、表或时间表。

如果一种是一个表,那么它的变量必须是类型双倍的单身的,或者你可以使用'datavariables'要列出的名称-值对双倍的单身的显式变量。当您处理包含非数据类型变量的表时,指定变量非常有用双倍的单身的

如果一种那么,有时间表吗isoullier.仅在表元素上运行。行时间必须是唯一的,并以升序列出。

数据类型:双倍的|单身的|表格|时间表

检测异常值的方法,指定为以下之一:

方法 描述
“中值” 返回真正的对于从中位数疯狂的元素超过三个鳞片。缩放的疯狂被定义为c *值(abs(中位数(A))), 在哪里C = -1 /(SQRT(2)* ERFCINV(3/2))
“的意思是” 返回真正的对于来自平均值的三个以上标准偏差的元素。这种方法比速度更快但更稳健“中值”
四分位数的 返回真正的对于大于1.5的元素,四分位数在上四分位数以上或在下四分位数以下。当数据输入时,这个方法很有用一种通常不会分发。
“拉布” 适用Grubbs对异常值的测试,这基于假设检测,每次迭代删除一个异常值。此方法假定数据一种是正态分布。
'gesd' 适用于异常值的广义极端学生偏差测试。这种迭代方法类似于“拉布”,但是当有多个异常值互相屏蔽时,可以更好地执行更好。

百分位数阈值,指定为两个元素行向量,其元素处于间隔[0,100]。第一元素表示较低百分位数阈值,第二个元素表示上百分位数阈值。例如,阈值[10 90]将异常值定义为低于第10百分位数和90百分位数的点数。第一个元素阈值必须小于第二个元素。

异常值检测的移动方法,具体如下:

方法 描述
“movmedian” 返回真正的通过指定的窗口长度从本地中值缩放超过三个局部MAD的元素窗户.这种方法也称为aHampel过滤器
'movmean' 返回真正的在指定的窗长范围内,元素与当地平均值的三个当地标准偏差以上窗户

窗口长度,指定为正整数标量、正整数的两元素向量、正持续时间标量或正持续时间的两元素向量。

窗户是一个正整数标量,窗口以当前元素为中心,并包含窗口1邻居元素。如果窗户是偶数,则窗口围绕当前和以前的元素居中。

窗户是一个正整数的二元向量吗f [b]时,窗口包含当前元素,B.元素向后,F元素前进。

一种是时间表或'samplepoints'指定为datetime期间向量,然后窗户必须是类型期间,窗口是相对于样本点计算的。

数据类型:双倍的|单身的|int8|int16|int32|INT64.|uint8.|uint16|UINT32|UINT64|期间

要操作的维数,指定为正整数标量。如果没有指定值,则默认为大小不等于1的第一个数组维度。

考虑一个矩阵一种

isoutlier (1)根据每列中的数据检测异常值一种

isoullier(a,2)根据每行中的数据检测异常值一种

一种是一张桌子或时刻表,暗淡不受支持。万博1manbetxisoullier.沿每个表或时间可变分别操作。

数据类型:双倍的|单身的|int8|int16|int32|INT64.|uint8.|uint16|UINT32|UINT64

名称-值对的观点

指定可选的逗号分离对名称,值参数。姓名是参数名称和价值为对应值。姓名必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:isoutlier (A,‘意思’,‘ThresholdFactor’,4)
数据选项

全部折叠

示例点,指定为逗号分隔对组成'samplepoints'和一个向量。样本点代表X中的数据的轴位置一种,并且必须排序并包含唯一的元素。采样点不需要均匀采样。默认的样本点向量是[1 2 3…]

笔记

当输入数据为万博1manbetx时间表.时间表始终使用行时间的向量作为采样点。要使用不同的采样点,必须编辑时间表,以便行时间包含所需的采样点。

移动窗口相对于采样点定义。例如,如果T.是与输入数据相对应的时间的矢量isoutlier(兰德(1 10)“movmean”,3,SamplePoints, t)有一个代表之间的时间间隔的窗口-1.5 t(我)T(i)+1.5

当样本点向量具有数据类型时datetime期间,则移动窗口长度必须有类型期间

例子:isoullier(t,'samplepoints',0:0.1:10)

数据类型:单身的|双倍的|datetime|期间

表变量操作开启,指定为逗号分隔对组成'datavariables'以及此表中的其中一个选项。这'datavariables'值表示输入表的哪些变量用于检查异常值。与指示的变量关联的数据类型必须是双倍的单身的.未指定的表中的其他变量'datavariables'未操作,因此输出包含错误的这些变量的值。

选项 描述 例子
变量名

指定单表变量名称的字符向量或标量标题

'var1'

“var1”

变量名向量

字符向量或字符串数​​组的单元格数组,其中每个元素是表变量名称

{“Var1”“Var2”}

[“var1”“var2”]

标量或可变指数的矢量

表变量索引的标量或向量

1

[1 3 5]

逻辑向量

逻辑向量,其每个元素对应一个表变量,其中真正的包括相应的变量和错误的不包括它

[真为false]

功能手柄

接受表变量作为输入并返回逻辑标量的函数句柄

@Isnumeric.

vartype.下标

由此生成的表格下标vartype.函数

vartype('numeric')

例子:isoutlier (T“DataVariables”[“Var1”“Var2”“Var4”])

异常值检测选项

全部折叠

检测阈值因子,指定为逗号分隔的对组成“ThresholdFactor”一个非负标量。

对于方法“中值”“movmedian”,检测阈值因子替换缩小MAD的数量,默认为3。

对于方法“的意思是”'movmean',检测阈值因子替换默认为3的平均值的标准偏差的数量。

对于方法“拉布”'gesd',检测阈值因子是从0到1.接近0的值的标量导致较少数量的异常值,并且接近1的值,导致更大数量的异常值。默认检测阈值因子为0.05。

为了四分位数的方法中,检测阈值因子代替四分位范围数,默认为1.5。

当指定的方法为时,不支持此名称-值对万博1manbetx'百分比'

数据类型:双倍的|单身的|int8|int16|int32|INT64.|uint8.|uint16|UINT32|UINT64

最大的异常值计数,适用于'gesd'仅作为逗号分隔对的方法组成'maxnumoutliers'和一个正整数。这'maxnumoutliers'属性返回的离群值的最大数目'gesd'方法。例如,isoutlier (A,‘gesd’,‘MaxNumOutliers’,5)返回不超过五个异常值。

的默认值'maxnumoutliers'整数是否最接近元素数的10%一种.为最大值设置更大的异常值,可以确保检测到所有异常值,但以降低的计算效率为代价。

'gesd'方法假设非离群输入数据是从近似正态分布中抽样的。当数据没有以这种方式抽样时,返回的离群值的数量可能超过'maxnumoutliers'价值。

数据类型:双倍的|单身的|int8|int16|int32|INT64.|uint8.|uint16|UINT32|UINT64

输出参数

全部折叠

离群值指示器,以向量、矩阵或多维数组的形式返回。一个元素的TF.真正的当对应的元素一种是一个异常值和错误的除此以外。TF.大小是一样的吗一种

数据类型:逻辑

离群值检测方法使用的较低阈值,返回为标量、向量、矩阵、多维数组、表或时间表。例如,默认离群值检测方法的较低值是比输入数据中值低三倍的MAD。L.具有相同的尺寸一种在所有尺寸中,除了长度为1的操作尺寸。

数据类型:双倍的|单身的|表格|时间表

通过异常值检测方法使用的上阈值,作为标量,向量,矩阵,多维数组,表或时间表返回。例如,默认异常值检测方法的upper值是输入数据中位数之上的三个缩放MAD。具有相同的尺寸一种在所有尺寸中,除了长度为1的操作尺寸。

数据类型:双倍的|单身的|表格|时间表

离群值检测方法使用的中心值,返回为标量、向量、矩阵、多维数组、表或时间表。例如,默认的离群值检测方法的中心值就是输入数据的中位数。C具有相同的尺寸一种在所有尺寸中,除了长度为1的操作尺寸。

数据类型:双倍的|单身的|表格|时间表

更多关于

全部折叠

中位绝对偏离

对于随机可变矢量一种组成的N标量观察,中位绝对偏差(MAD)被定义为

疯狂=中位数 | 一种 一世 中位数 一种 |

为了我= 1,2,......,n

缩放的疯狂被定义为c *值(abs(中位数(A)))在哪里C = -1 /(SQRT(2)* ERFCINV(3/2))

扩展能力

在R2017A介绍