1.3 正态统计法

 

标准的正态分布,三个标准差(σ)覆盖的范围内,可以覆盖99.7%的数据,那么在 3σ 以外的数据就可以认定为异常点。

..

1个标准差内可以覆盖68%的数据。

..

2个标准差内可以覆盖95%的数据。

..

3个标准差内可以覆盖99.7%的数据。

正态分布的特点决定了n倍标准差范围外的数据是不常见数据,可以认为是异常。

选定阈值型异常度函数:

TA[tu,td](x)=max(x-tu, td-x,0)/(tu-td)

X[-k]i计算tutd的方法如下:

a=avg(X[-k]i)

σ=std(X[-k]i)

tu=a+n*σ

td=a-n*σ

其中aX[-k]i的平均数,σX[-k]i的标准差,n是标准差倍数,调节它可以调节tutd的大小。

异常度od这样计算:

od=max(xi-tu, td-xi,0)/(tu-td)

SPL例程:


A

B

1

=data=file(“1Ddata.csv”).import@tci().to(100)


2

=n=3

/标准差倍数

3

=ldata=data.m(:100)

/区间是100的学习数据x[-k]i

4

=xi=data(101)

/xi

5

=a=A3.avg()

/平均数a

6

=sigma=sqrt(var@s(A3))

/标准差σ

7

=td=a-n*sigma

/下限td

8

=tu=a+n*sigma

/上限tu

9

=od=max(xi-tu,td-xi,0)/(tu-td)

/异常度od

调整n的大小可以调整上下限, n的默认值可以设置为3

计算结果示例:

..

xitutd之间,所以异常度是0