文档帮助中心文档
检测和去除数据中的异常值
B = rmoutliers (A)
B = rmoutliers(方法)
B = rmoutliers(百分位数的,阈值)
B = rmoutliers (movmethod,窗口)
B = rmoutliers (___昏暗的)
B = rmoutliers (___、名称、值)
[B, TF] = rmoutliers (___)
例子
B= rmoutliers (一个)检测并去除向量、矩阵、表格或时间表中的数据中的异常值。
B= rmoutliers (一个)
B
一个
如果一个是行向量或列向量,rmoutliers检测并移除异常值。
rmoutliers
如果一个是一个矩阵、表格或时间表,rmoutliers检测每一列或变量的离群值一个分开并删除整个行。
默认情况下,离群值是大于三个比例的中位数绝对偏差(MAD)的值。
B= rmoutliers (一个,方法)指定确定离群值的方法。例如,rmoutliers (A,“的意思是”)的元素定义离群值一个离均值超过三个标准差。
B= rmoutliers (一个,方法)
方法
rmoutliers (A,“的意思是”)
B= rmoutliers (一个,百分位数,阈值)中指定的百分比之外的点定义为异常值阈值.的阈值参数是一个包含上下百分位阈值的双元素行向量,例如[90].
B= rmoutliers (一个,百分位数,阈值)
阈值
[90]
B= rmoutliers (一个,movmethod,窗口)指定根据指定窗口检测局部异常值的移动方法。例如,rmoutliers(“movmean”,5)将异常值定义为五个元素窗口内距离局部均值超过三个本地标准偏差的元素。
B= rmoutliers (一个,movmethod,窗口)
movmethod
窗口
rmoutliers(“movmean”,5)
B= rmoutliers (___,昏暗的)移除维度上的异常值昏暗的的一个对于前面的任何语法。例如,rmoutliers (2)删除矩阵的列而不是行一个.
B= rmoutliers (___,昏暗的)
昏暗的
rmoutliers (2)
B= rmoutliers (___,名称,值)指定使用一个或多个名称-值对参数检测和移除异常值的附加参数。例如,rmoutliers(“SamplePoints”,t)在离群点检测一个相对于时间向量的相应元素t.
B= rmoutliers (___,名称,值)
名称,值
rmoutliers(“SamplePoints”,t)
t
[B,特遣部队) = rmoutliers (___)的行或列对应的逻辑向量一个被删除。
[B,特遣部队) = rmoutliers (___)
特遣部队
全部折叠
创建一个包含两个异常值的向量,并删除它们。特遣部队允许您确定输入向量中的哪些元素被检测为离群值并删除。
A = [57 59 60 100 59 58 57 58 300 61 62 60 62 58 57];[B, TF] = rmoutliers (A)
B =1×1357 59 60 59 58 57 58 61 62 60 62 58 57
TF =1连接逻辑阵列0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
(TF)
ans =1×2100 300
当离群值定义为离数据均值三个标准差以上的点时,移除向量的离群值。
A = [57 59 60 100 59 58 57 58 300 61 62 60 62 58 57];[B, TF] = rmoutliers (,“的意思是”)
B =1×1457 59 60 100 59 58 57 58 61 62 60 62 58 57
TF =1连接逻辑阵列0 0 0 0 0 0 0 1 1 0 0 0 0 0 0
ans = 300
创建一个包含局部离群值的数据向量。
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小时,然后移除它们。
[B, TF] = rmoutliers (,“movmedian”小时(5),“SamplePoints”t);
绘制输入数据和移除离群值的数据。
情节(t),“b -”t (~ TF), B,的r -)传说(输入数据的,的输出数据)
创建一个包含两个离群值的矩阵,并删除包含它们的列。
一个=魔法(5);(4, 4) = 500;(5) = 500;一个
一个=5×517 24 18 15 23 5 7 14 16 4 6 13 20 22 10 12 19 500 3 11 18 25 2 500
B = rmoutliers (2)
B =5×317 24 1 23 5 7 4 6 13 10 12 19 11 18 25
输入数据,指定为向量、矩阵、表格或时间表。
数据类型:双|单
双
单
“中值”
“的意思是”
四分位数的
“拉布”
“gesd”
异常值检测方法,具体为:
c *值(abs(中位数(A)))
c = 1 /(√(2)* erfcinv (3/2))
百分位数阈值,指定为一个元素位于区间[0,100]中的双元素行向量。第一个元素表示下百分位阈值,第二个元素表示上百分位阈值。例如,阈值为[90]将异常值定义为低于第10百分位和高于第90百分位的分数。第一个元素阈值必须小于第二个元素。
“movmedian”
“movmean”
用于确定离群值的移动方法,具体如下:
窗口长度,指定为标量或双元素向量。
当窗口是一个正整数标量,窗口是围绕当前元素和包含窗口1相邻的元素。如果窗口是偶数,则窗口围绕当前和以前的元素居中。
窗口1
当窗口是一个正整数的二元向量吗f [b]时,窗口包含当前元素,b元素向后,f元素。
f [b]
b
f
当一个是时间表还是“SamplePoints”指定为datetime或持续时间向量,窗口必须是类型持续时间,窗口是相对于样本点计算的。
“SamplePoints”
datetime
持续时间
操作尺寸,指定为1或2。默认情况下,rmoutliers作用于尺寸不等于1的第一个维度。
指定可选的逗号分隔的对名称,值参数。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家.
的名字
价值
Name1, Value1,…,的家
rmoutliers(“ThresholdFactor”,4)
SamplePoints
vartype
样本点,指定为逗号分隔对,由“SamplePoints”当输入数据是表时,可以是样本点值向量或下表中的选项之一。样本点代表x-轴位置的数据,必须被排序并包含唯一的元素。采样点不需要均匀采样。向量[1 2 3…]是默认的。
[1 2 3…]
当输入数据是一个表时,您可以使用以下选项之一将示例点指定为表变量。
指定单个表变量名的字符向量或标量字符串
“Var1”
标量表变量索引
3.
逻辑向量,其每个元素对应一个表变量,其中真正的指定相应的变量作为样本点,所有其他元素都是假
真正的
假
(真的假的假的)
接受表变量作为输入并返回逻辑标量的函数句柄,逻辑标量必须为真正的仅用于一个表变量
@isnumeric
属性生成的表下标vartype函数,只返回一个变量的下标
vartype(数字)
请注意
当输入数据为金宝app时间表.时间表总是使用行时间向量作为样本点。要使用不同的样本点,必须编辑时间表,以便行时间包含所需的样本点。
时间表
移动窗口是相对于样本点定义的。例如,如果t那么,时间向量是否与输入数据相对应呢rmoutliers(兰德(1 10)“movmean”,3,SamplePoints, t)有一个窗口表示时间间隔-1.5 t(我)和t(我)+ 1.5.
rmoutliers(兰德(1 10)“movmean”,3,SamplePoints, t)
-1.5 t(我)
t(我)+ 1.5
当样本点向量具有数据类型时datetime或持续时间,则移动窗口长度必须有类型持续时间.
例子:rmoutliers (A ' SamplePoints 0:0.1:10)
rmoutliers (A ' SamplePoints 0:0.1:10)
例子:rmoutliers (T,“SamplePoints”,“Var1”)
rmoutliers (T,“SamplePoints”,“Var1”)
数据类型:单|双|datetime|持续时间
DataVariables
要操作的表变量,指定为逗号分隔对,由“DataVariables”这张表中有一个选项。的“DataVariables”值指示要检查输入表中的哪些变量是否为异常值。表中未指定的其他变量“DataVariables”通过输出而不检查异常值。当对行的操作一个,rmoutliers删除与指定变量对应的列中具有离群值的任何行。对列进行操作时一个,rmoutliers从表中删除指定的变量。
“DataVariables”
字符向量或字符串数组的单元格数组,其中每个元素是表变量名
{“Var1”“Var2”}
[" Var1”“Var2”)
表变量索引的标量或向量
1
[1 3 5]
逻辑向量,其每个元素对应一个表变量,其中真正的包含相应的变量和假不包括它
(真的假的真的)
接受表变量作为输入并返回逻辑标量的函数句柄
属性生成的表下标vartype函数
例子:rmoutliers (T“DataVariables”[“Var1”“Var2”“Var4”])
rmoutliers (T“DataVariables”[“Var1”“Var2”“Var4”])
ThresholdFactor
检测阈值因子,指定为逗号分隔对组成“ThresholdFactor”一个非负标量。
“ThresholdFactor”
为方法“中值”和“movmedian”时,检测阈值因子代替缩放的MAD数量,MAD数量默认为3。
为方法“的意思是”和“movmean”时,检测阈值因子代替离均值的标准差数,默认为3。
为方法“拉布”和“gesd”时,检测阈值因子为0 ~ 1之间的标量。接近0的值会产生更少的离群值,接近1的值会产生更多的离群值。默认检测阈值因子为0.05。
为四分位数的方法中,检测阈值因子代替四分位范围数,默认为1.5。
当指定的方法为时,不支持此名称-值对金宝app百分位数的.
百分位数的
MaxNumOutliers
最大离群值计数“gesd”方法指定为逗号分隔的对,由“MaxNumOutliers”一个正标量。的“MaxNumOutliers”属性返回的离群值的最大数目“gesd”方法。例如,rmoutliers(“MaxNumOutliers”,5)返回值不超过5个异常值。
“MaxNumOutliers”
rmoutliers(“MaxNumOutliers”,5)
的默认值“MaxNumOutliers”整数是否最接近元素数的10%一个.为最大离群值设置一个更大的值可以确保检测到所有离群值,但代价是降低计算效率。
MinNumOutliers
最小离群值计数,指定为逗号分隔对,由“MinNumOutliers”一个正标量。的“MinNumOutliers”值指定删除行或列所需的离群值的最小数目。例如,rmoutliers(“MinNumOutliers”,3)删除矩阵的一行一个当在该列中检测到3个或更多异常值时。
“MinNumOutliers”
rmoutliers(“MinNumOutliers”,3)
移除了离群值的数据,以向量、矩阵、表或时间表的形式返回。的大小B取决于删除的行或列的数量。
删除数据指示器,作为逻辑向量返回。值1 (真正的)对应于中的行或列一个被删除。值0 (假)对应于未更改的行或列。的方向和大小特遣部队取决于一个以及操作的维度。
使用注意事项及限制:
的百分位数的,“拉布”,“gesd”不支持方法。金宝app
的“movmedian”和“movmean”方法不支持高时间表。金宝app
的“SamplePoints”和“MaxNumOutliers”不支持名称-值对。金宝app
的价值“DataVariables”不能是函数句柄。
计算rmoutliers (A),rmoutliers(“中位数”,…),或rmoutliers(四分位数的,…)沿着第一维只支持高列向量金宝app一个.
rmoutliers (A)
rmoutliers(“中位数”,…)
rmoutliers(四分位数的,…)
rmoutliers (2)不支持高桌子。金宝app
有关更多信息,请参见高大的数组.
的“movmean”和“movmedian”检测离群值的方法不支持时间表输入数据datetime金宝app“SamplePoints”值,或持续时间“SamplePoints”值。
对于表输入,昏暗的必须等于1.
backgroundPool
ThreadPool
这个函数完全支持基于线程的环境。金宝app有关更多信息,请参见在线程环境中运行MATLAB函数.
的“movmedian”不支持移动方法。金宝app
的“SamplePoints”和“DataVariables”不支持名称-值对。金宝app
有关更多信息,请参见在GPU上运行MATLAB函数(并行计算工具箱).
isoutlier|filloutliers|ismissing|fillmissing|rmmissing|干净的异常数据
isoutlier
filloutliers
ismissing
fillmissing
rmmissing
您有这个示例的修改版本。您想打开这个示例与您的编辑吗?
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:.
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
与当地办事处联系