概述
结果
语法
B = rmoutliers(A)
B = rmoutliers(A,method)
B = rmoutliers(A,'percentiles',threshold)
B = rmoutliers(A,movmethod,window)
B = rmoutliers(___,dim)
B = rmoutliers(___,Name,Value)
[B,TF] = rmoutliers(___)
说明
B = rmoutliers(A)
检测并删除向量、矩阵、表或时间表的数据中的离群值。
-
如果
A
是行向量或列向量,rmoutliers
会检测离群值并将其删除。 -
如果
A
是矩阵、表或时间表,rmoutliers
会分别检测A
的每个列或变量中的离群值并删除整行。
默认情况下,离群值是指超过三倍经过换算的中位数绝对偏差 (MAD) 的值。
B = rmoutliers(A,method)
指定确定离群值的方法。例如,rmoutliers(A,'mean')
将 A
中与均值相差超过三倍标准差的元素定义为离群值。
B = rmoutliers(A,'percentiles',threshold)
将离群值定义为在 threshold
中指定的百分位数以外的点。threshold
参数是包含上下百分位数阈值的二元素行向量,例如 [10 90]
。
B = rmoutliers(A,movmethod,window)
指定根据指定的窗口检测局部离群值的移动方法。例如,rmoutliers(A,'movmean',5)
将包含五个元素的窗口中与局部均值相差超过三倍局部标准差的元素定义为离群值。
B = rmoutliers(___,dim)
在上述任何语法的基础上沿 A
的维度 dim
删除离群值。例如,rmoutliers(A,2)
删除矩阵 A
的列而不是行。
B = rmoutliers(___,Name,Value)
使用一个或多个名称-值对组参数指定用来检测和删除离群值的其他参数。例如:rmoutliers(A,'SamplePoints',t), 相对于时间向量 t
中的对应元素检测 A
中的离群值。
[B,TF] = rmoutliers(___)
还返回与 A
中被删除的行或列对应的逻辑向量。
示例
删除向量中的离群值
创建一个包含两个离群值的向量,然后删除这些离群值。TF
可帮助您标识输入向量中被检测为离群值并删除的元素。
输入:
A = [57 59 60 100 59 58 57 58 300 61 62 60 62 58 57];
[B,TF] = rmoutliers(A)
结果:
B = 1×13
57 59 60 59 58 57 58 61 62 60 62 58 57
TF = 1x15 logical array
0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
输入:
A(TF)
结果:
ans = 1×2
100 300
参考文献:检测并删除数据中的离群值 - MATLAB rmoutliers- MathWorks 中国
最后
以上就是稳重草丛为你收集整理的Matlab语句:rmoutliers(检测并删除数据中的离群值)的全部内容,希望文章能够帮你解决Matlab语句:rmoutliers(检测并删除数据中的离群值)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复