主要内容

rmoutliers

检测和消除数据中的异常值

自从R2018b

描述

例子

B= rmoutliers (一个)从数据检测和删除离群值一个

  • 如果一个是一个矩阵,然后呢rmoutliers检测到异常值的每一列一个分别和删除整行。

  • 如果一个是一个表或时间表吗rmoutliers检测每个变量的异常值一个分别和删除整行。

默认情况下,局外人是一个值,三个多了平均绝对偏差(疯了)的值。

例子

B= rmoutliers (一个,方法)指定一个方法检测离群值。例如,rmoutliers (A,“的意思是”)定义了一种离群值的元素一个超过三个标准差的意思。

B= rmoutliers (一个、“百分位数”、阈值)离群值定义为点以外的百分位数中指定阈值。的阈值参数是一个双元素包含上下百分位阈值的行向量,如[90]

例子

B= rmoutliers (一个,movmethod,窗口)检测局部离群值使用移动窗口的意思或中值与窗口长度窗口。例如,rmoutliers (“movmean”, 5)离群值定义为元素超过三个当地的标准差的意思是在五行窗口。

例子

B= rmoutliers (___,昏暗的)指定的尺寸一个时删除条目的一个异类检测使用任何以前的语法。例如,rmoutliers (2)删除列,而不是行矩阵一个

例子

B= rmoutliers (___,名称,值)指定其他参数检测和删除离群值使用一个或多个名称参数。例如,rmoutliers (“SamplePoints”, t)在离群点检测一个相对于对应元素的向量t

例子

(B,TFrm)= rmoutliers (___)还返回一个逻辑向量TFrm从显示的行或列一个

例子

(B,TFrm,TFoutlier)= rmoutliers (___)返回一个逻辑数组TFoutlier显示的位置离群值删除一个

例子

(B,TFrm,TFoutlier,l,U,C)= rmoutliers (___)也回报较低的阈值l,上阈值U,中心价值C使用的孤立点检测方法。

例子

全部折叠

创建一个包含两个离群值的向量和删除它们。

= [57 59 60 100 59 58 57 58 60 300 61 62 62 58 57);B = rmoutliers (A)
B =1×1357 59 60 59 58 57 58 60 61 62 62 58 57

识别潜在的离群值在一个时间表意味着检测方法,使用的数据删除任何局外人,想象清理数据。

创建一个时间表的数据,可视化数据来检测潜在的离群值。

T =小时(1:15);60 V = [57 59 100 59 58 57 58 60 300 61 62 62 58 57);一个=时间表(T ' V ');情节(A.Time A.Var1)

图包含一个坐标轴对象。坐标轴对象包含一个类型的对象。

删除数据中离群值,局外人是定义为一个点超过三个标准差的意思。

B = rmoutliers (A,“的意思是”)
B =14×1的时间表Var1 _____ __ 1小时57 2小时59 3小时60 4 hr 100 5小时59 6小时58 7小时57 8小时58 10 hr 61 11 hr 62 12小时60 13 hr 62 14小时58 15小时57

在相同的图,图的原始数据和数据离群值删除。

持有情节(B.Time B.Var1,“啊——”)传说(“原始数据”,“清除数据”)

图包含一个坐标轴对象。坐标轴对象包含2线类型的对象。这些对象代表原始数据,数据清洗。

使用移动平均检测和去除局部离群值从一个正弦波,对应于一个时间向量。

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

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

创建一个向量对应的数据一个

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

离群值定义为点超过三个地方从当地平均滑动窗口内按比例缩小的疯狂。发现异常值的位置一个相对于点t5个小时的窗口大小,和删除它们。

[B, TFrm] = rmoutliers (,“movmedian”小时(5),“SamplePoints”t);

情节的原始数据和数据离群值删除。

情节(t)情节(t (~ TFrm), B,“啊——”)传说(“原始数据”,“清除数据”)

图包含一个坐标轴对象。坐标轴对象包含2线类型的对象。这些对象代表原始数据,数据清洗。

删除离群值的矩阵数据,检查删除列和离群值。

创建一个矩阵,其中包含两个离群值。

一个=魔法(5);(4,4)= 200;(5)= 300;一个
一个=5×517 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 200 3 11 18 25 2 300

删除包含异常值的列指定维度为去除2。返回一个逻辑输出向量TFrm识别哪些列一个被移除,并返回一个逻辑输出数组TFoutlier识别异常值的位置一个

[B, TFrm TFoutlier] = rmoutliers (A, 2)
B =5×317 24 1 23 5 7 4 6 13 10 12 19 11 18 25
TFrm =1 x5逻辑阵列0 0 0 1 1
TFoutlier =5 x5逻辑阵列0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1

找到删除列中的值一个

rmCol = (:, TFrm)
rmCol =5×28 15 14 16 20 22 200 300 2

发现异常值的值一个

rmVal = (TFoutlier)
rmVal =2×1200 300

创建一个向量包含两个离群值,检测它们的位置。

= [57 59 60 100 59 58 57 58 60 300 61 62 62 58 57);检测= isoutlier (A)
检测=1连接逻辑阵列0 0 0 1 0 0 0 0 1 0 0 0 0 0 0

删除离群值。而不是使用检测方法,提供异常位置检测到isoutlier

B = rmoutliers (A,“OutlierLocations”、检测)
B =1×1357 59 60 59 58 57 58 60 61 62 62 58 57

删除一个异类的矢量数据和可视化数据清洗。

创建一个向量的数据包含一个异类。

= [60 49 49 58 59 100 61 57 48 58];

除去离群值,使用默认的检测方法“中值”

[B, TFrm TFoutlier L U C] = rmoutliers(一个);

画出原始数据,数据删除离群值,和阈值和中心值取决于检测方法。中心值数据的中位数,和上、下阈值三个疯狂的上方和下方中间。

情节(A)情节(找到(~ TFrm), B,“啊——”)yline ([L U C],”:“,(“低门槛”,“上阈值”,“中心价值”])传说(“原始数据”,“清除数据”)

图包含一个坐标轴对象。坐标轴对象包含5线类型的对象,constantline。这些对象代表原始数据,数据清洗。

输入参数

全部折叠

输入数据,指定为一个向量,矩阵表,或时间表。

  • 如果一个是一个表,那么它的变量一定类型的,或者您可以使用DataVariables参数列表显式变量。指定变量是有用的,当你正在与一个表,其中包含以外的变量的数据类型

  • 如果一个是一个时间表,然后呢rmoutliers只有桌子上的元素进行操作。如果行乘以作为采样点,那么他们必须是唯一的,列按升序。

数据类型:|||时间表

方法检测异常值,指定这些值。

方法 描述
“中值” 离群值被定义为元素超过三个疯狂的比例值。疯狂的定义是扩展c *值(abs(中位数(A))),在那里c = 1 / (√(2) * erfcinv (3/2))
“的意思是” 异常值被定义为元素超过三个标准差的意思。这个方法是健壮但低于更快“中值”
“四分位数” 离群值被定义为元素超过1.5上方四分位范围上四分位数(75%)或低于下四分位数(25%)。这个方法是有用的数据一个不是正态分布。
“拉布” 异常值检测使用拉布的测试异常值,删除一个离群值基于假设检验的每个迭代。这种方法假设中的数据一个是正态分布。
“gesd” 检测到异常值使用广义极端Studentized偏离检测离群值。这种迭代方法是类似的“拉布”但可以表现得更好当有多个异常值互相掩盖。

百分位阈值指定为一个双元素行向量的元素是在区间[0,100]。第一个元素表示百分位阈值越低,第二个元素表示上百分位阈值。的第一个元素阈值必须小于第二个元素。

例如,一个阈值[90]定义了异常值如下点第十百分位,超过第90百分位。

移动的方法检测异常值,指定为其中一个值。

方法 描述
“movmedian” 离群值被定义为元素超过三个地方按比例缩小的疯狂从本地值所指定的窗口长度窗口。这种方法也被称为Hampel过滤器
“movmean” 离群值被定义为元素超过三个当地的标准差的意思是在一个窗口指定的长度窗口

窗口长度指定为一个正整数标量,双元素向量的正整数,一个积极的标量时间,或一个双元素向量积极的持续时间。

窗口是一个正整数标量,窗口集中当前元素和包含呢窗口1相邻的元素。如果窗口是偶数,那么窗口集中有关当前和以前的元素。

窗口是一个双元素向量的正整数f [b],窗口包含当前元素,b元素向后,f元素。

一个一个时间表或SamplePoints被指定为一个datetime持续时间向量,窗口必须的类型持续时间,窗户是相对于采样点计算。

删除维度,指定为1或2。默认情况下,rmoutliers删除每一行发现离群值。删除每个矩阵列或表变量检测离群值,指定一个维度为2。

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

例子:rmoutliers (ThresholdFactor = 4)

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:rmoutliers (“ThresholdFactor”, 4)

数据选项

全部折叠

采样点,指定为采样点值的向量或其中一个选项在下表中输入数据时一个表。采样点表示x设在位置的数据,必须进行排序和含有独特的元素。采样点不需要均匀采样。向量(1 2 3…)是默认的。

当一个表输入数据时,您可以指定采样点作为一个表变量使用这些选项之一。

索引方案 例子

变量名:

  • 一个字符串标量或特征向量

  • “一个”“一个”——一个变量命名一个

变量指数:

  • 索引数字指的是表中的一个变量的位置

  • 一个逻辑向量。通常,这个向量的长度是一样的变量,但你可以省略的0

  • 3从表中第三个变量

  • (假假真)——第三个变量

功能处理:

  • 一个函数处理,表变量作为输入,并返回一个逻辑标量

  • @isnumeric——一个包含数值的变量

变量类型:

  • 一个vartype下标,选择一个指定的类型的一个变量

  • vartype(数字)——一个包含数值的变量

请注意

这个名称参数输入数据时不支持万博1manbetx时间表。时间表使用行倍采样点的向量。要使用不同的采样点,您必须编辑的时间表,以便行乘以包含所需的采样点。

移动窗口定义相对于采样点。例如,如果t是一个向量乘以相应的输入数据,然后呢rmoutliers(兰德(1 10)“movmean”、3、“SamplePoints”, t)有一个窗口代表之间的时间间隔-1.5 t(我)t(我)+ 1.5

当采样点向量数据类型datetime持续时间,然后移动窗口长度必须有类型持续时间

例子:rmoutliers (“SamplePoints”, 0:0.1:10)

例子:rmoutliers (T,“SamplePoints”,“Var1”)

数据类型:||datetime|持续时间

表变量操作,指定为这个表的选项之一。的DataVariables值表示该变量的输入表检查离群值。数据类型必须与指定的变量

没有指定表中的其他变量DataVariables通过输出未经检查的异常值。

当操作的行一个,rmoutliers删除任何行,离群值的列对应于指定的变量。当操作的列一个,rmoutliers从表中删除指定的变量。

索引方案 例子

变量名:

  • 一个字符串,特征向量,或细胞数组

  • 一个模式对象

  • “一个”“一个”——一个变量命名一个

  • (“A”、“B”){' A ', ' B '}——两个变量命名一个B

  • “Var”+ digitsPattern (1)——变量命名“Var”紧随其后的是一个数字

变量指数:

  • 索引数字指的是表中的一个变量的位置

  • 一个向量的数字

  • 一个逻辑向量。通常,这个向量的长度是一样的变量,但你可以省略的0

  • 3从表中第三个变量

  • 3 [2]从表中,第二个和第三个变量

  • (假假真)——第三个变量

功能处理:

  • 一个函数处理,表变量作为输入,并返回一个逻辑标量

  • @isnumeric——所有包含数值的变量

变量类型:

  • 一个vartype下标,选择一个指定类型的变量

  • vartype(数字)——所有包含数值的变量

例子:rmoutliers (T,“DataVariables”,“Var1”“Var2”“Var4”])

孤立点检测的选项

全部折叠

检测阈值的因素,指定为负的标量。

为方法“中值”“movmedian”检测阈值因子代替了疯狂的数量,默认是3。

为方法“的意思是”“movmean”检测阈值因子代替离均值标准差的数量,默认是3。

为方法“拉布”“gesd”检测阈值因子是一个标量范围从0到1。值接近于0的结果在一个更小的数量的异常值,和值接近于1的结果在一个更大数量的异常值。默认的检测阈值系数为0.05。

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

这个名称-值对不支持指定的方法万博1manbetx“百分位数”

已知的异常指标,指定为一个逻辑向量或矩阵相同的大小一个。已知的异常指标元素可以是一个数字或逻辑1 (真正的),指示一个生僻的相应位置一个或0 (nonoutlier)来表示。当你指定OutlierLocations,rmoutliers不使用一个孤立点检测方法。相反,它使用已知的元素异常指标定义异常值。输出TFoutlier包含相同的逻辑向量或矩阵。

你不能指定OutlierLocations如果你指定名称参数方法

数据类型:逻辑

最大异常值检测到GESD,指定为一个正整数标量。的MaxNumOutliers值将指定的最大数量)检测到的异常值“gesd”方法。例如,rmoutliers (A,“gesd”、“MaxNumOutliers”, 5)检测不超过5离群值。

的默认值MaxNumOutliers是最近的整数的元素数量的10%一个。设置更大的值的最大数量的异常值使其更有可能检测到异常值,但代价是降低了计算效率。

“gesd”方法假设nonoutlier输入数据采样的近似正态分布。当数据不是以这种方式取样,检测到异常值的数量可能会超过MaxNumOutliers价值。

移除所需最小离群值,指定为一个正整数标量。的MinNumOutliers值将指定所需的最小数量的异常值删除行或列。例如,rmoutliers (“MinNumOutliers”, 3)删除一行一个矩阵一个当有三个或更多的异常值检测到这一行。

输出参数

全部折叠

数据删除离群值,返回为一个向量,矩阵表,或时间表。的大小B取决于删除行或列的数量。

删除数据指标,作为一个逻辑向量返回。元素值为1 (真正的)对应的行或列一个被删除。元素的值为0 ()对应于不变行或列。的方向和大小TFrm取决于一个和操作的维度。

数据类型:逻辑

离群值指标,作为一个逻辑返回向量或矩阵。元素值为1 (真正的)对应位置的异常值一个。元素的值为0 ()与nonoutliers相对应。

TFoutlier一样的尺寸吗一个

数据类型:逻辑

自从R2022b

低阈值使用的孤立点检测方法,作为一个标量,返回向量,矩阵,表,或时间表。例如,低阈值的默认的孤立点检测方法是三个扩展疯狂低于中位数的输入数据。

如果方法用于异常检测呢l一样的尺寸吗一个在所有维度除了操作维度长度是1。如果movmethod使用,那么l一样的尺寸吗一个

自从R2022b

上孤立点检测方法所使用的阈值,作为一个标量,返回向量,矩阵,表,或时间表。例如,上阈值默认的孤立点检测方法是三个疯狂的中位数以上的输入数据。

如果方法用于异常检测呢U一样的尺寸吗一个在所有维度除了操作维度长度是1。如果movmethod使用,那么U一样的尺寸吗一个

自从R2022b

孤立点检测方法所使用的中心价值,作为一个标量,返回向量,矩阵,表,或时间表。例如,默认的中心价值孤立点检测方法是输入数据的中位数。

如果方法用于异常检测呢C一样的尺寸吗一个在所有维度除了操作维度长度是1。如果movmethod使用,那么C一样的尺寸吗一个

扩展功能

版本历史

介绍了R2018b

全部展开