离群点检验matlab程序,用matlab实现一个简单的离群点挖掘(与时序有关)

在视频分析中,需要用到离群点挖掘,下面给出一个简单的离群点挖掘, matlab代码如下:

clear

clc

orgX = [1 1 0 3 4 5 2 70 100 100 100 6 60 3 2 2 1 1 0]

k = 3;

th = 1;

outlier = [];

x = newArray(orgX, k)

len = length(x);

average = mean(x);

standard = std(x);

for i = 1 : len

if x(i) > 0 && x(i) - average > th * standard % 此处没有用abs函数,所以,有些负数可能没有离群

outlier = [outlier orgX(i)];

end

end

outlier

function y = newArray(x, k);

n = length(x);

for i = 1 : k

y(i) = 0;

y(n - i + 1) = 0;

end

for i = k + 1 : n - k

y(i) = x(i) - ( min(x(i - k : i - 1)) + min(x(i + 1 : i + k)))/2;

end

结果为:

orgX =

Columns 1 through 18

1     1     0     3     4     5     2    70   100   100   100     6    60     3     2     2     1     1

Column 19

0

x =

Columns 1 through 10

0         0         0    2.0000    3.0000    4.0000  -34.5000   19.0000   96.0000   96.0000

Columns 11 through 19

63.5000  -45.0000   56.0000   -0.5000         0    1.0000         0         0         0

outlier =

100   100   100    60

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值