单指标异常检测是智能运维领域的重要落地场景,其旨在通过算法发现关键效益指标(KPI)时间序列上的异常点,然后通过告警告知运维人员相关风险1。根据算法原理不同,单指标异常检测算法可以划分为统计类算法、时间序列类算法、机器学习类算法以及深度学习类算法1。
统计类算法:这类算法在检测异常时,不考虑数据点的时间信息,因此,只适用于检测点异常。使用统计类方法进行异常检测时,要求指标数据满足一阶平稳、数据噪声服从高斯分布、数据规律满足线性规律等的条件。常见的有K-sigma, Boxplot, KDE, EVT等1。
时间序列类算法:这类算法旨在提取数据的趋势和周期性,适用于趋势或周期显著的数据类型。常见的有ARIMA, Holt-Winters, Prophet, STL等12。
机器学习类算法:这类算法主要对数据的特征进行提取。不同形态的指标数据,其正常与异常数据在不同特征上存在不同。因此如何实现特征的自动化选择是应用机器学习类算法进行指标异常检测的关键。常见的有LOF, IForest, One-Class SVM, k-means等2。
深度学习类算法:这类算法具有捕捉复杂非线性规律的优势,能够同时处理点异常、上下文异常、连续异常,并且能够处理模式更复杂的数据,算法能力上限高。常见的有AE,VAE,LSTM,GAN等
统计类算法:
优点:简单,只需要计算均值和标准差1。
缺点:对异常值敏感,如果数据本身不具备正态性,就不适合使用这种检测方法1。
时间序列类算法:
优点:能够处理趋势和周期性显著的数据1。
缺点:需要大量的历史数据,对于新出现的趋势和周期性可能无法准确预测1。
机器学习类算法:
优点:可以自动选择特征,适应性强1。
缺点:需要大量的标签数据进行训练,对于没有标签的数据集可能无法准确预测1。
深度学习类算法:
优点:能够捕捉复杂非线性规律,处理能力强1。
缺点:需要大量的标签数据进行训练,对于没有标签的数据集可能无法准确预测。同时,深度学习模型的训练通常需要大量的计算资源1。
常见的预测算法:
线性回归:在统计学和机器学习领域,线性回归可能是最广为人知也最易理解的算法之一。线性回归模型被表示为一个方程式,它为输入变量找到特定的权重(即系数 B),进而描述一条最佳拟合了输入变量(x)和输出变量(y)之间关系的直线1。
逻辑回归:逻辑回归是机器学习从统计学领域借鉴过来的技术。它是二分类问题的首选方法。像线性回归一样,逻辑回归的目的也是找到每个输入变量的权重系数值。但不同的是,逻辑回归的输出预测结果是通过一个叫作「logistic 函数」的非线性函数变换而来的1。
支持向量机(SVM):支持向量机可能是目前最流行、被讨论地最多的机器学习算法之一。超平面是一条对输入变量空间进行划分的「直线」。支持向量机会选出一个将输入变量空间中的点按类(类 0 或类 1)进行最佳分割的超平面1。
集成学习(模型融合算法):集成学习是一种机器学习范式,其中多个学习器被训练以解决相同的问题。与尝试从训练数据中学习一个假设以尽可能减少偏差的单个学习器不同,集成方法尝试构建一组假设并以某种确定性方式组合它们1。
随机森林:随机森林是一种集成学习方法,通过构建多个决策树并输出类别模式(分类)或平均预测(回归)来进行预测1。
ADBOOST:Adaboost 是一种自适应增强方法,可以用于分类或回归问题。Adaboost 是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)1。
GBDT:梯度提升决策树(Gradient Boosting Decision Tree,GBDT)是一种迭代的决策树算法,该算法由多棵决策树组成,所有树的结论累加起来做最终答案1。
常见的预测算法的优缺点:
线性回归:
优点:简单,易于理解和实现1。
缺点:假设数据的关系是线性的,这在实际情况中可能并不总是成立1。
逻辑回归:
优点:输出值自然地落在0和1之间,可以解释为概率1。
缺点:同样假设数据的关系是线性的,这在实际情况中可能并不总是成立1。
支持向量机(SVM):
优点:可以处理线性和非线性问题,适用于多维度数据1。
缺点:对于大规模数据集,训练时间可能会很长1。
集成学习(模型融合算法):
优点:通过组合多个模型,可以提高预测精度1。
缺点:需要大量的计算资源,可能导致过拟合1。
随机森林:
优点:可以处理线性和非线性问题,适用于多维度数据,不容易过拟合1。
缺点:对于噪声较大的分类或回归问题,可能会过度拟合1。
ADBOOST:
优点:可以创建复杂的模型,通过组合多个弱学习器来提高预测精度1。
缺点:对噪声和异常值敏感,训练时间可能会很长1。
GBDT:
优点:可以处理线性和非线性问题,适用于多维度数据1。
缺点:需要大量的计算资源,可能导致过拟合1。
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/302699.html