3-sigma Anomaly Detect

简单记录基于 \(3\sigma\) 原则的时序数据异常检测算法原理

正态分布

正态分布(台湾作常态分布,英语:normal distribution)又名高斯分布(英语:Gaussian distribution),是一个非常常见的连续概率分布。正态分布在统计学上十分重要,经常用在自然社会科学来代表一个不明的随机变量[1][2]。若随机变量 \(X\) 服从一个位置参数为 \(\mu\)、尺度参数为\(\sigma\)的正态分布,记为: \[ X \sim N( \mu, \sigma^2 ) \]概率密度函数为: \[ {\displaystyle f(x)={\frac {1}{\sigma {\sqrt {2\pi }}}}\;e^{-{\frac {\left(x-\mu \right)^{2}}{2\sigma ^{2}}}}\!} \] 正态分布的数学期望值或期望值 \(\mu\) 等于位置参数,决定了分布的位置;其方差\(\sigma ^{2}\)的开平方或标准差 \(\sigma\) 等于尺度参数,决定了分布的幅度。

正态分布的概率密度函数曲线呈钟形,因此人们又经常称之为钟形曲线(类似于寺庙里的大钟,因此得名)。我们通常所说的标准正态分布是位置参数 $ $,尺度参数 \(\sigma ^{2}=1\) 的正态分布。

\(3\sigma\) 原则

3-sigma原则又称为68–95–99.7原则

统计上,68–95–99.7原则(68–95–99.7 rule)是在正态分布中,距平均值小于一个标准差、二个标准差、三个标准差以内的百分比,更精确的数字是68.27%、95.45%及99.73%。若用数学用语表示,其算式如下,其中

  • \(X\) 为正态分布随机变数的观测值
  • \(\mu\)为分布的平均值
  • \(\sigma\)为标准差

\[ Pr(\mu - 1 \times \sigma \leq X \leq \mu + 1 \times \sigma) \approx 0.68 \\ Pr(\mu - 2 \times \sigma \leq X \leq \mu + 2 \times \sigma) \approx 0.95 \\ Pr(\mu - 3 \times \sigma \leq X \leq \mu + 3 \times \sigma) \approx 0.99 \]

总体的标准差计算公式,\(\mu\)是均值: \[ \sigma = \frac{1}{N} \sum_{i=1}^{N} (x_i-\mu)^2 \]

时序数据异常检测

基于 \(3\sigma\) 原则的时序数据异常检测原理

Step 0

输入长度为 \(N\) 的序列,计算其均值: \[ \mu = \frac{1}{N} \sum_{i=1}^{N} x_i \] Step 1

计算其标准差 \[ \sigma = \frac{1}{N} \sum_{i=1}^{N} (x_i-\mu)^2 \] Step 2

从头到尾遍历时序数据,计算该数据是否超出 \(\mu \pm 3 \times sigma\) 或者 \(\mu \pm k \times \sigma\) 范围。超出则认为是异常点。

Java Code

1


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!