总结了14种数据异常值检验的方法是( 七 )


总结了14种数据异常值检验的方法是

文章插图
图12:One-Class SVM


One-Class SVM又一种推导方式是SVDD(Support Vector Domain Description,支持向量域描述),对于SVDD来说,我们期望所有不是异常的样本都是正类别,同时它采用一个超球体,而不是一个超平面来做划分,该算法在特征空间中获得数据周围的球形边界,期望最小化这个超球体的体积,从而最小化异常点数据的影响 。


假设产生的超球体参数为中心 o 和对应的超球体半径r>0,超球体体积V(r)被最小化,中心o是支持行了的线性组合;跟传统SVM方法相似,可以要求所有训练数据点xi到中心的距离严格小于r 。但是同时构造一个惩罚系数为C的松弛变量 ζi,优化问题入下所示:


总结了14种数据异常值检验的方法是

文章插图


C是调节松弛变量的影响大小,说的通俗一点就是,给那些需要松弛的数据点多少松弛空间,如果C比较小,会给离群点较大的弹性,使得它们可以不被包含进超球体 。详细推导过程参考资料[15] [16] 。


from sklearn import svm# fit the modelclf = svm.OneClassSVM(nu=0.1, kernel='rbf', gamma=0.1)clf.fit(X)y_pred = clf.predict(X)n_error_outlier = y_pred[y_pred == -1].size

八、基于预测的方法


[17] 【TS技术课堂】时间序列异常检测 - 时序人,文章:***/s/9TimTB_ccPsme2MNPuy6uA


对于单条时序数据,根据其预测出来的时序曲线和真实的数据相比,求出每个点的残差,并对残差序列建模,利用KSigma或者分位数等方法便可以进行异常检测 。具体的流程如下:


总结了14种数据异常值检验的方法是

文章插图
图13:基于预测的方法


九、总结


异常检测方法总结如下:


总结了14种数据异常值检验的方法是

文章插图

推荐阅读