基于核搜索的高斯过程异常检测方法解析
1. 整体目标与方法概述
我们的主要目标是在给定的单变量时间序列中找出任意异常。由于异常是数据正常行为的偏差,所以需要先确定数据的正常行为。高斯过程(GPs)可用于对时间序列数据进行建模,通过找到一个能近似数据高级特征的核函数来实现。
但如果对整个数据集进行核搜索,得到的核表达式可能会将异常视为时间序列的正常部分,比如通过增加噪声超参数来提高模型拟合度。为解决这个问题,我们先将时间序列分割成不相交的片段,然后对每个片段单独进行高斯过程核搜索。正常数据的片段应与其他片段相似,而包含异常的片段则会显得突出。接着,利用核搜索的结果,通过亲和度和差异度量来量化所有片段对之间的差异或相似性。得到的亲和度或距离矩阵可以进行归一化处理,用于将片段聚类。若存在异常,则定义其位于最小的单个聚类中。
整个过程的流程图如下:
graph LR
A[数据归一化] --> B[数据分段]
B --> C[核搜索]
C --> D[计算亲和度和距离矩阵]
D --> E{是否归一化矩阵}
E -- 是 --> F1[聚类算法1]
E -- 否 --> F2[聚类算法2]
F1 --> G[评估聚类结果]
F2 --> G
2. 核搜索
- 数据预处理 :为进行核搜索,首先对输入和输出数据应用Z - 分数缩放进行归一化,使数据均值为0,标准差为1。然后将数据划分为等长的片