有时候,在视频特征分析中,要用到离群点挖掘,现给出一个简单的离群点挖掘的例子. 设向量为x = [1 1.1 1.2 1.3 1.4 2 0.2 1.2 1.3 1.4 0.9 1.1 1.2 10]; 那么,如何能挖掘出其中的离群点呢?详见如下matlab代码:
clear
clc
k1 = 1;
k2 = 1;
inlier = [];
outlier = [];
x = [1 1.1 1.2 1.3 1.4 2 0.2 1.2 1.3 1.4 0.9 1.1 1.2 10];
len = length(x);
average1 = mean(x);
standard1 = std(x);
for i = 1:len
if abs( x(i) - average1) < k1 * standard1
inlier = [inlier x(i)];
end
end
average2 = mean(inlier);
standard2 = std(inlier);
for i = 1:len
if abs( x(i) - average2) >= k2 * standard2
outlier = [outlier x(i)];
end
end
outlier
结果为:
outlier =
2.0000 0.2000 10.0000