网站开发英文字体一般是什么,做网站可以挣钱吗,南昌市建设网站,wordpress 替换图标目录
语法
说明
示例
检测向量中的离群值
使用均值检测方法
使用移窗检测法
检测矩阵中的离群值
可视化离群值阈值 isoutlier函数的功能是查找数据中的离群值
语法
TF isoutlier(A)
TF isoutlier(A,method)
TF isoutlier(A,percentiles,threshold)
TF…目录
语法
说明
示例
检测向量中的离群值
使用均值检测方法
使用移窗检测法
检测矩阵中的离群值
可视化离群值阈值 isoutlier函数的功能是查找数据中的离群值
语法
TF isoutlier(A)
TF isoutlier(A,method)
TF isoutlier(A,percentiles,threshold)
TF isoutlier(A,movmethod,window)
TF isoutlier(___,dim)
TF isoutlier(___,Name,Value)
[TF,L,U,C] isoutlier(___)
说明 TF isoutlier(A) 返回一个逻辑数组当在 A 的元素中检测到离群值时该数组中与之对应的元素为 true。 如果 A 是矩阵则 isoutlier 分别对 A 的每列进行运算。 如果 A 是多维数组则 isoutlier 沿 A 的大小不等于 1 的第一个维度进行运算。 如果 A 是表或时间表则 isoutlier 分别对 A 的每个变量进行运算。
默认情况下离群值是指与中位数相差超过三倍经过换算的中位数绝对偏差 (MAD) 的值。 TF isoutlier(A,method) 指定检测离群值的方法。例如isoutlier(A,mean) 对偏离均值超过三倍标准差的所有元素返回 true。 TF isoutlier(A,percentiles,threshold) 将离群值定义为 threshold 所指定的百分位数以外的点。threshold 参数是包含上下百分位数阈值的二元素行向量例如 [10 90]。 TF isoutlier(A,movmethod,window) 使用窗长度为 window 的移动窗方法检测局部离群值。例如isoutlier(A,movmedian,5) 对一个包含五个元素的窗口内偏离局部中位数超过三倍局部换算 MAD 的所有元素返回 true。 TF isoutlier(___,dim) 为上述任一语法指定 A 的运算维度。例如isoutlier(A,2) 沿矩阵 A 的每一行运算。 TF isoutlier(___,Name,Value) 使用一个或多个名称-值参数指定用于检测离群值的其他参数。例如isoutlier(A,SamplePoints,t) 相对于时间向量 t 中的对应元素检测数组 A 中的离群值。 [TF,L,U,C] isoutlier(___) 还返回离群值检测方法使用的下阈值 L、上阈值 U 和中心值 C。
示例
检测向量中的离群值 查找数据向量中的离群值。输出中的逻辑值 1 表示离群值的位置。
A [57 59 60 100 59 58 57 58 300 61 62 60 62 58 57];
TF isoutlier(A)TF 1x15 logical array0 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(A,mean)TF 1x15 logical array0 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;
创建与 A 中的数据对应的时间向量。
t datetime(2017,1,1,0,0,0) hours(0:length(x)-1); 将离群值定义为滑动窗内与局部中位数相差超过三倍局部换算 MAD 的点。查找离群值在 A 中的位置相对于 t 中的点窗口大小为 5 个小时。绘制数据和检测到的离群值的图。
TF isoutlier(A,movmedian,hours(5),SamplePoints,t);
plot(t,A)
hold on
plot(t(TF),A(TF),x)
legend(Original Data,Outlier Data)
如图所示 检测矩阵中的离群值 查找矩阵每一行的离群值。创建一个数据矩阵其对角线上包含离群值。
A magic(5) diag(200*ones(1,5))A 5×5217 24 1 8 1523 205 7 14 164 6 213 20 2210 12 19 221 311 18 25 2 209
基于每行中的数据查找离群值的位置。
TF isoutlier(A,2)TF 5x5 logical array1 0 0 0 00 1 0 0 00 0 1 0 00 0 0 1 00 0 0 0 1可视化离群值阈值 定位数据向量中的离群值并可视化该离群值。创建包含一个局部离群值的数据向量。
x 1:10;
A [60 59 49 49 58 100 61 57 48 58];
使用默认检测方法 median 定位离群值。
[TF,L,U,C] isoutlier(A); 绘制原始数据、离群值以及由检测方法确定的阈值和中心值。中心值是数据的中位数上阈值和下阈值分别高于和低于中位数三倍换算 MAD。
plot(x,A)
hold on
plot(x(TF),A(TF),x)
yline([L U C],:,[Lower Threshold,Upper Threshold,Center Value])
legend(Original Data,Outlier Data)
如图所示 参数说明
A-输入数据指定为向量、矩阵、多维数组、表或时间表。 如果 A 是一个表则其变量的类型必须为 double 或 single也可以使用 DataVariables 参数显式列出 double 或 single 变量。当您使用的表中包含 double 和 single 数据类型之外的变量时指定变量很有用。 如果 A 是一个时间表则 isoutlier 仅对表元素进行运算。如果行时间用作采样点则它们必须唯一并按升序排列。
method — 检测离群值的方法
检测离群值的方法指定为以下值之一。
方法描述median离群值定义为与中位数相差超过三倍换算 MAD 的元素。换算 MAD 定义为 c*median(abs(A-median(A)))其中 c-1/(sqrt(2)*erfcinv(3/2))。mean离群值定义为与均值相差超过三倍标准差的元素。此方法比 median 快但没有它可靠。quartiles离群值定义为比上四分位数 (75%) 大 1.5 个四分位差以上或比下四分位数 (25%) 小 1.5 个四分位差以上的元素。当A中的数据不是正态分布时此方法很有用。grubbs使用针对离群值的 Grubbs 检验检测离群值即基于假设检验每次迭代删除一个离群值。此方法假设 A 中的数据呈正态分布。gesd使用广义极端 Student 化偏差检验检测离群值。此迭代方法与 grubbs 类似但当有多个离群值互相遮盖时此方法的执行效果更好。
threshold — 百分位数阈值 百分位数阈值指定为元素在区间 [0, 100] 内的二元素行向量。第一个元素表示下百分位数阈值第二个元素表示上百分位数阈值。threshold 的第一个元素必须小于第二个元素。
例如[10 90] 阈值将离群值定义为低于第 10 个百分位数或高于第 90 个百分位数的点。