主要内容

isoutlier

查找数据中的异常值

描述

例子

特遣部队= isoullier(一种返回一个元素的逻辑阵列真的的对应元素中检测到离群值时一种.默认情况下,异常值是一个超过三个缩放的值中位绝对偏差(疯狂)远离中位数。如果一种是一个矩阵或表,然后isoutlier对每个列分别进行操作。如果一种是一个多维数组,那么isoutlier作用于尺寸不等于1的第一个维度。

例子

特遣部队= isoullier(一种方法指定检测异常值的方法。例如,isoullier(a,'卑鄙')回报真的对于所有元素,平均值的三个以上标准偏差。

特遣部队= isoullier(一种,百分位数,门槛中指定的百分比之外的点定义为异常值门槛. 这个门槛参数是一个包含较低百分位数和上百分位数的双元素行向量,例如[90]

例子

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

例子

特遣部队= isoullier(___暗淡沿尺寸运作暗淡一种对于任何先前的语法。例如isoullier(a,2)对矩阵的每一行进行运算一种

例子

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

例子

[特遣部队L.C] = isoullier(___还返回低阈值和上限和上部阈值以及由异常值检测方法使用的中心值。

例子

全部收缩

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

a = [57 59 60 100 59 58 57 58 300 61 62 60 62 58 57];tf = isoullier(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 = isoullier(a,'意思'
TF =1x15逻辑阵列0 0 0 0 0 0 0 0 1 0 0 0 0 0 0

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

x = -2 * pi:0.1:2 * pi;a = sin(x);a(47)= 0;

创建一个时间矢量,对应的数据一种

t=日期时间(2017,1,1,0,0,0)+小时(0:长度(x)-1);

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

tf = isoullier(a,“中位数”小时(5),'samplepoints't);情节(t, t (TF), (TF),'X')传说(“数据”“离群值”

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

查找每行矩阵的异常值。

创建一个数据矩阵,其中包含沿对角线的异常值。

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

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

TF = isoutlier (2)
TF =5x5逻辑阵列1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1

创建包含异常值的数据向量。找到并绘制异常值的位置,以及异常值方法确定的阈值和中心值。中心值是数据的中位数,上限和下限阈值是中位数上方和下方的三个刻度。

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 * x(1,10),x,u * x(1,10),x,c * one(1,10))图例(“原始数据”“离群值”'较低的门槛'“上限”的中心值

图包含轴对象。轴对象包含5个类型的类型。这些对象代表原始数据,异常值,较低阈值,上限阈值,中心值。

输入参数

全部收缩

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

如果一种是一个表,那么它的变量必须是类型双重的或者,或者你可以使用'datavariables'要列出的名称值对双重的或者变量明确。在使用包含数据类型以外的数据类型的表格使用表时,指定变量很有用双重的或者

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

数据类型:双重的||桌子|时间表

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

方法 描述
'中位' 回报真的对于大于3的元素,从中值缩放MAD。缩放后的MAD定义为C *中位数(ABS(ABS(A-A))))哪里C = -1 /(SQRT(2)* ERFCINV(3/2))
'意思' 回报真的对于来自平均值的三个以上标准偏差的元素。这种方法比速度更快但更稳健'中位'
“四分位数” 回报真的对于高于上四分位数或低于下四分位数超过1.5个四分位数范围的元素。当数据处于一种通常不会分发。
'grubbs' 应用Grubbs对异常值的测试,它基于假设测试在每次迭代中删除一个异常值。该方法假设一种正态分布。
“gesd” 对异常值应用广义极值研究偏差检验。这种迭代法类似于'grubbs',但当存在多个相互掩蔽的异常值时,性能会更好。

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

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

方法 描述
“中位数” 回报真的对于超过三个局部比例的图元,在指定的窗口长度上从局部中间带开始按比例缩放窗口.这种方法也称为a汉佩尔滤波器
“我的意思是” 回报真的对于超过三个本地标准偏差的元素,从本地均值上指定的窗口长度窗口

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

什么时候窗口是一个正整数标量,窗口是围绕当前元素和包含窗口1相邻元素。如果窗口甚至,窗口符合当前和以前的元素。

什么时候窗口是正整数的两元素向量[b f],窗口包含当前元素,B.元素向后,以及F元素。

什么时候一种是时间表还是'samplepoints'被指定为一个约会时间或者期间向量,那么窗口必须是类型期间,并相对于采样点计算窗口。

数据类型:双重的||int8|int16|int32|int64|uint8|uint16|uint32|uint64|期间

维度运行,指定为正整数标量。如果没有指定值,则默认值是第一个数组维度,其大小不等于1。

考虑一个矩阵一种

isoullier(A,1)的每列数据检测离群值一种

isoullier(a,2)的每一行数据检测离群值一种

什么时候一种是一个表或时间表,暗淡不受支持。金宝appisoutlier沿每个表或时间可变分别操作。

数据类型:双重的||int8|int16|int32|int64|uint8|uint16|uint32|uint64

名称 - 值参数

指定可选的逗号分离对名称,价值论据。的名字是参数名称和价值是相应的价值。的名字必须出现在引号内。您可以以任何顺序指定多个名称和值对参数名称1,值1,…,名称,值

例子:isoullier(a,'均值','thresholdfactor',4)
数据选项

全部收缩

示例点,指定为逗号分隔对组成'samplepoints'当输入数据是表时,可以是样本点值向量或下表中的选项之一。样本点代表X-轴位置的数据,必须被排序并包含唯一的元素。采样点不需要均匀采样。向量[1 2 3 ...]是默认值。

当输入数据是表时,您可以使用以下选项之一指定作为表变量的样本点。

表输入的选项 描述 例子
变量名

指定单个表变量名的字符向量或标量字符串

'var1'

“Var1”

标量变量指数

标量表变量索引

3.

逻辑矢量

一种逻辑向量,其每个元素对应一个表变量,其中真的指定相应的变量作为样本点,所有其他元素都是错误的

[真假假]

函数处理

以表变量作为输入并返回逻辑标量的函数句柄,该逻辑标量必须为真的只有一个表变量

@数字的

vartype.下标

属性生成的表下标vartype.函数,只返回一个变量的下标

vartype('numeric')

笔记

当输入数据为时,不支持此名称-值对金宝app时间表.时间表总是使用行时间向量作为样本点。要使用不同的样本点,必须编辑时间表,以便行时间包含所需的样本点。

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

当样本点向量具有数据类型时约会时间或者期间,然后移动窗口长度必须具有类型期间

例子:isoutlier (A ' SamplePoints 0:0.1:10)

例子:isoullier(t,'samplepoints',“var1”)

数据类型:|双重的|约会时间|期间

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

选项 描述 例子
变量名

指定单个表变量名的字符向量或标量字符串

'var1'

“Var1”

变量名称矢量

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

{'Var1''Var2'}

[" Var1”“Var2”)

变量索引的标量或向量

表变量指数的标量或向量

1

[1 3 5]

逻辑矢量

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

[真为false]

函数处理

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

@数字的

vartype.下标

属性生成的表下标vartype.功能

vartype('numeric')

例子:isoullier(t,'datavariables',[“var1”“var2”“var4”])

异常值检测选项

全部收缩

检测阈值因子,指定为逗号分隔对组成'阈值Factor'和一个非负标量。

为方法'中位'“中位数”时,检测阈值因子代替缩放的MAD数量,MAD数量默认为3。

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

为方法'grubbs'“gesd”,检测阈值因子是一个从0到1的标量。接近0的值会导致异常值数量减少,接近1的值会导致异常值数量增加。默认检测阈值因子为0.05。

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

指定的方法是时不支持此名称值对金宝app百分位数的

数据类型:双重的||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

输出参数

全部收缩

异常值指示符,作为向量、矩阵或多维数组返回。元素特遣部队真的一种是一个异常值吗错误的除此以外。特遣部队和我的一样大一种

数据类型:逻辑

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

数据类型:双重的||桌子|时间表

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

数据类型:双重的||桌子|时间表

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

数据类型:双重的||桌子|时间表

更多关于

全部收缩

中位绝对偏离

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

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

为了i = 1,2,…,N

缩放后的MAD定义为C *中位数(ABS(ABS(A-A))))在哪里C = -1 /(SQRT(2)* ERFCINV(3/2))

扩展功能

在R2017A介绍