文章快速检索     高级检索
  华东师范大学学报(自然科学版)  2019 Issue (5): 123-132  DOI: 10.3969/j.issn.1000-5641.2019.05.010
0

引用本文  

黄福兴, 周广山, 丁宏, 等. 基于孤立森林算法的电能量异常数据检测[J]. 华东师范大学学报(自然科学版), 2019, (5): 123-132. DOI: 10.3969/j.issn.1000-5641.2019.05.010.
HUANG Fu-xing, ZHOU Guang-shan, DING Hong, et al. Electric energy abnormal data detection based on Isolation Forests[J]. Journal of East China Normal University (Natural Science), 2019, (5): 123-132. DOI: 10.3969/j.issn.1000-5641.2019.05.010.

第一作者

黄福兴, 男, 硕士, 高级工程师, 研究方向为电能量计量、综合能源管控与服务.E-mail:huangfuxing@sgepri.sgcc.com.cn

通信作者

袁培森, 男, 博士, 讲师, 研究方向为智能信息处理、海量数据处理与分析.E-mail:peiseny@njau.edu.cn

文章历史

收稿日期:2019-07-29
基于孤立森林算法的电能量异常数据检测
黄福兴 1,2, 周广山 1,2, 丁宏 1,2, 张罗平 1,2, 钱淑韵 3, 袁培森 3     
1. 南瑞集团(国网电力科学研究院)有限公司, 南京 211106;
2. 国电南瑞科技股份有限公司, 南京 211106;
3. 南京农业大学 信息科学技术学院, 南京 210095
摘要:随着电力系统信息化建设的深入,用户对于电能量数据的质量要求逐渐提高,因此保证海量电能量数据的准确性、可靠性以及完整性具有重要意义.本文采用一种基于孤立森林的异常检测算法,实现大规模电能量数据的异常检测.孤立森林算法通过划分大规模电能量数据集,生成随机二叉树和孤立森林构建模型,通过计算测试电能量数据样本到每棵树的根结点的距离检测异常数据点.该算法不仅能够快速处理海量数据,而且结果准确、可靠性高.本文在大规模电能量数据的正向有功总电量PAP和反向有功总电量RAP字段上进行检测,实验结果表明,该算法检测效率较高,并具有较高的检测正确率.
关键词孤立森林    异常检测    电能量数据    
Electric energy abnormal data detection based on Isolation Forests
HUANG Fu-xing 1,2, ZHOU Guang-shan 1,2, DING Hong 1,2, ZHANG Luo-ping 1,2, QIAN Shu-yun 3, YUAN Pei-sen 3     
1. NARI Group Corporation(State Grid Electric Power Research Institute), Nanjing 211106, China;
2. NARI Technology Co., Ltd, Nanjing 211106, China;
3. College of Information Science and Technology, Nanjing Agricultural University, Nanjing 210095, China
Abstract: With the development of power information systems, users' requirements for the quality of power data has gradually increased. Hence, it is important to ensure the accuracy, reliability, and integrity of massive power data. In this paper, an anomaly detection algorithm based on Isolation Forests is used to realize anomaly detection of large-scale electric energy data. Isolation Forest algorithms generate random binary trees and isolated forest models by dividing training samples and detecting abnormal data points. The algorithm can not only process massive data quickly, but it also offers accurate results and a high degree of reliability. In this paper, the positive active total power (PAP) and reverse active total power (RAP) fields of large-scale electric energy data are determined. The experimental results show that the algorithm has high detection efficiency and accuracy.
Keywords: Isolation Forest    anomaly detection    electric energy data    
0 引言

随着电力企业深化改革和电力系统信息化建设的深入, 电力企业和用户对于电能量数据的质量要求逐渐提高, 使电量采集和监测系统面临诸多挑战.目前国内的电能量计量系统已进入稳定成长阶段, 各级电网及主要城市的供电网均已配备电能量计量系统[1], 采集到的电能量数据规模庞大, 其中也不可避免会出现异常数据.为了实现公平、公正、公开的电力交易原则和电能量数据的有效应用, 应该保证电能量数据的准确性、可靠性以及完整性, 因此对电能量数据的异常检测尤为重要.

电能量采集设备的故障或人为原因导致采集到的电能量数据可能会发生缺失, 或产生异常数据.异常检测研究的是在不符合预期行为的数据中寻找模式的问题.电能量异常数据检测对采集到的大量电能量时序数据进行审查, 发现异常的用电行为、偷电行为以及设备故障情况.

传统电能量异常检测常采用阈值法, 定义一个正常行为的区域并声明不属于该正常区域的异常数据.即根据数据的内容设定一个范围$[m, n]$, 取值不在该范围内的则为异常数据.文献[2]指出这种看似简单的方法实则困难: (1)正常行为和异常行为之间的界限往往不精确; (2)异常行为数据若是恶意人为产生的, 则该异常行为数据很可能是模仿正常行为的; (3)在很多领域中, 正常行为是不断发展的, 目前的正常概念在未来不一定适用.

目前, 国内外许多研究者已经采用了大量的异常数据检测方法实现电能量异常数据的检测[3-7].西班牙和拉丁美洲的电力公司Endesa[7]使用皮尔森系数来检测消耗能量异常下降的客户.王增平等[4]利用图论知识提出一种基于同步测量信息的拓扑错误辨识算法, 可靠性高、容错能力强.王兴志等[5]引入基于贝叶斯数据处理策略的扩展卡尔曼滤波算法进行不良数据动态检测, 具有较高的计算精度.简富俊等[3]使用One-class SVM无监督机器学习架构对电力用户负荷异常进行检测.

在当前的电力信息化时代, 每时每刻都有庞大的电能量新数据产生, 在这样一个大数据时代, 数据维度高、尺寸大成为处理数据的一个难题.上述方法大多基于估计计算, 虽然精确、可靠性高, 但是计算繁琐, 效率不高, 不适用于检测大量高维的电能量数据.文献[3]虽然采用了机器学习的方法, 但更适合小样本、样本分类不均衡的环境, 而且One-class SVM[8]的训练集如果包含异常样本, 很可能在训练时影响边界的选取.除此之外, 现有的异常检测算法常为对正常样本的描述, 这样不会对异常样本的描述做优化, 就有可能造成大量检测错误的情况, 或者只检测到少量的异常.

为解决上述问题, 将数据挖掘技术应用于异常检测的方法逐渐成熟, 使用机器学习的方法提取大量数据的特征, 从而检测到异常数据, 分为有监督[9]和无监督[6]的异常检测算法.目前也有不少学者提出了结合数据挖掘技术的异常检测算法, 将其用于电能量数据的异常检测[10-14].

孤立森林[15](Isolation Forest, iForest)是一种高效的异常检测算法.它利用异常点数量少、异常数据特征值和正常数据差别大这两个特点来孤立异常点.该算法时间效率高, 能有效处理海量数据, 常用于网络安全中的攻击检测[16-17]和流量异常[18-19]分析等.

孤立森林[15]算法的任务是选取子样本$D'$随机分割, 构建若干随机二叉树iTree, 直至所有样本点都是孤立的, 通过计算每一样本点到根节点的距离来衡量异常指数.孤立森林具有线性时间复杂度, 适用于海量数据, 通常树越多, 算法越稳定.由于每棵树都独立生成, 树的生长过程不受其他树影响, 因此可以部署在大规模分布式系统上进行并行计算.

本文基于孤立森林的电能量异常数据检测算法(Abnormal Electric Energy Data Detection Based on Isolation Forest, EDDIF), 用于实现大规模电能量数据的异常检测.本文采用南瑞集团提供的2017-2019年真实电能量数据, 根据该大规模数据集构建孤立森林, 在电能量数据的正向有功总电量PAP和反向有功总电量RAP字段上检测异常数据.

1 异常数据的检测 1.1 时序数据中的异常值

异常数据是某个数据集中存在但不合群的数据点, 又称离群数据.某一数据集在两个参数上成一定规律, 而集合中有一数据点明显不符合该规律, 该数据点则为异常数据.

时间序列数据是在不同时间上收集到的序列, 用于所描述现象随时间变化的情况, 时间序列模式挖掘[20]是从大量的交易数据中发现一些有固定的先后关系的时间序列.

当时间序列数据在某一时刻发生突变时, 该数据点则有很大可能是异常值.如图 1是某户2017年6月每日用电量的时间序列数据, 下文图中的数据皆为2017年数据, 图中不再进行标注.在6月13日和6月19日时较前一数据值发生突变, 该日用电量明显上涨, 则这两个数据点很可能为该电能量时序数据中的异常值.

图 1 时序数据异常值示意图 Fig.1 Illustration of time series data outliers
1.2 序列数据异常检测

异常检测[2]研究的是在不符合预期行为的数据中寻找模式的问题, 这些不一致的模式被称为异常.

序列数据的异常检测常见方法主要有以下3种:

(1) 基于窗口的异常检测[21], 该方法将序列分为具体的固定长度的窗口, 当窗口无法覆盖异常序列时该方法效果较不理想.

(2) 基于邻近度的异常检测[22]使用计算序列数据之间的距离来判断数据是否异常, 预测效果依靠邻近度度量方法的优劣.

(3) 基于预测的异常检测[23]将预测数据与真实数据相差较大的数据点视为异常, 当预测时间过长时会影响检测的准确度.

本文采用的孤立森林算法属于基于邻近度的异常检测, 根据测试样本与根结点的距离计算异常指数.

1.3 电能量的异常

本文检测所采用的数据集为南瑞集团所提供的2017-2019年电能量数据, 主要检测字段正向有功总电量PAP和反向有功总电量RAP是否异常.

电表正向有功是指用户接受系统的电能, 因此正向有功总电量是随时间累加的, 若出现下降趋势则判断为异常值; 若正向有功总电量出现骤增现象, 系统也应判定为异常值, 从而能及时发现仪器的故障.

电表反向有功是指用户发电向系统输送电能, 一般情况下, 是不应该出现反向有功电量的.若出现反向有功现象, 则可能是用户内部有发电设备、电表存在接错线或出现窃电现象.因此, 当出现电表反向有功电量走字时, 应判断为异常值.

2 基于孤立森林的电能量异常检测

孤立森林是一种基于随机二叉树, 适用于连续数据的无监督异常检测方法, 它适用于特征连续的电能量时序数据.基于孤立森林的电能量异常检测流程架构如图 2所示.在孤立森林检测方法中, 随机分割大规模的电能量数据集, 直至所有的电能量数据点孤立.在这种随机分割数据集的方法下, 电能量异常点往往有较短的路径, 因此孤立森林用样本点到根节点的距离来判断是否为异常点.

图 2 基于孤立森林的电能量异常检测流程架构 Fig.2 Processing architecture for the abnormal detection of electric energy based on iForest
2.1 基于电能量数据的孤立森林构建

对于大规模电能量数据集$D$, 随机采样一部分电能量数据构造树iTree, 保证不同iTree之间的差异性, 构造孤立森林的过程见算法1, 构造iTree的过程详见算法2.

算法1  $iForest(D, t, \psi)$
输入:  $D-$大规模电能量数据集, $t$-iTree的数量, $\psi $-每棵iTree中电能量样本数
输出:  $t$棵iTrees构成的孤立森林
1:    对电能量数据集$D$进行预处理
2:    设置iTree的最大高度$l=ceiling(\log _2 \psi)$
3:    for i=1 to t do
4:      $D'\leftarrow sample(D, \psi)$
5:      $iForest\leftarrow iForest\cup iTree(D', 0, l)$
6:    end for
7:    return iForest

算法2  $iTree({D', e, l})$
输入:  $D'-$输入电能量数据子样本集, $e$-当前iTree高度, $l$-限定iTree的最大高度
输出:  一棵iTree
1:    if $e\ge l{\rm or} | {D'}|\le 1$
2:      return ex Node {Size$\leftarrow \vert D'\vert \}$
3:    end if
4:    else
5:      $Q$是数据集$D'$的属性集; 随机取某一属性$q\in Q$
6:      随机选择分割点$p$, $p$的取值在$q$的取值范围内
7:      $D'_l \leftarrow filter(D', q < p)$
8:      $D'_r \leftarrow filter(D', q\ge p)$
9:    end else
10:      return $inNode\{Left\leftarrow iTree(D'_l, e+1, l), $
          $ Right\leftarrow iTree(D'_r, e+1, l), $
          $SplitAtt\leftarrow q, $
          $SplitValue\leftarrow p\}$

输入基于电能量数据的iForest中树iTree的数量$t$, 每棵iTree中电能量样本数$\psi $.

(1) 行1对电能量数据集$D$进行预处理, 首先对相邻两个数据样本的PAP值和RAP值两列作差, 得到$\Delta _{\rm PAP}$$\Delta _{\rm RAP} $.提取相同ID两年的电能量数据记录中的时间列OCCUR TIME, 以及要检测异常的数据列$\Delta _{\rm PAP} $$\Delta _{\rm RAP} $.删除空行, 并填充缺失数据.

(2) 行2限制每棵iTree的高度$l=ceiling(\log _2 \psi)$, ceiling函数是将参数向上舍入, 沿绝对值增大的方向, 大约是平均树高.

(3) 行4中的sample函数对数据集$D$进行子采样, 随机选取目前还没用于构建iTree的$\psi $个样本得到子样本集$D'$.行5采用子样本集$D'$构造iTree, 合并所有构建的$t$棵iTree, 完成整个基于电能量数据的孤立森林的构造.

2.2 基于电能量数据的iTree构建

iTree是一种随机二叉树, 合并成为孤立森林, 其构建过程[15]见算法2所示.算法的输入电能量数据子样本集$D'$, 当前iTree高度$e$, 限定iTree的最大高度$l$. $D'$的所有属性都是连续型的变量, 属性集用$Q$表示.

(1) 从电能量训练数据集$D$中随机取若干样本点作为子样本集$D'$, 存入随机二叉树iTree的根结点.

(2) 行4随机选择一个$Q$中的属性$q$, 行5随机选择一个切点$p\in (q_{\min }, q_{\max })$分割子样本集$D'$, $p$作为一个超平面将数据集$D'$中的电能量数据划分成两部分.行6根据属性值对每个电能量数据进行分类, 属性值小于$p$的数据为左孩子, 否则为右孩子.

(3) 行7递归左子树和右子树继续重复(2)的过程分割子树, 返回值inNode为一棵子树, 包含左子树和右子树, 以及划分的属性和划分的属性值.左子树Left为属性值小于划分属性值的样本构成的子树, 右子树Right为属性值大于等于划分属性值的样本构成的子树; SplitAtt为划分属性, SplitValue为划分属性的值.递归分割直至所有样本点成为叶子结点或达到树的限定高度, 最后返回的树则为一棵完整的iTree.整个孤立森林构建算法的复杂度为$O(t\psi \log \psi)$, $t$为iTree的数量.

2.3 基于孤立森林的电能量异常数据检测

对电能量数据集$D$构建孤立森林后, 对电能量数据进行异常检测.对每一电能量数据$x$, 计算$x$落在每棵iTree的哪个叶子节点.由于在大规模电能量数据集中, 异常点是稀有的, 它很快就会落到叶子节点, 因此用$x$落到的叶子节点到根节点的路径$h(x)$来判断$x$是否为异常点.

图 3所示, 在经过两次随机分割后, 点$P$落到叶子节点成为孤立点, 而其他正常样本还可以继续分割, 点$P$到根结点的距离小于其他正常点, 则点$P$很可能是异常点.

图 3 iTree构成和电能量异常预测示意图 Fig.3 Schematic of iTree composition and electric energy anomaly prediction diagram

基于孤立森林的电能量异常数据检测算法见算法3所示, 其中算法的输入电能量数据集构建的孤立森林为$T$, 电能量数据集$D$中某一待检测的电能量数据为$x$.

算法3  $Outlier\_\det ection\left({T, x} \right)$
输入:  $T-$电能量数据集构建的孤立森林, $x$-电能量数据集$D$中某一待检测的电能量数据
输出:  是否为异常值
1:    得到$T$中iTree的数量$t$
2:    for i=1 to $t$ do
3:      得到$iTree_t $包含的电能量数据量$\psi $和高度$h$
4:      计算$x$$iTree_t $根结点的距离$h(x)$
5:    end for
6:    $E(h(x))=\sum\limits_{i=0}^t {h(x)} $
7:    $S(x, n)=2^{-\frac{E(h(x))}{c(n)}}$
8:    if $S(x, n)\approx 1$
9:      return 1
10:    end if
11:    else if $S(x, n)\approx 0$
12:      return-1
13:    end else if
14:    else
15:      return 0
16:    end else

(1) 行1和行3由$T$得到$T$中iTree的数量$t$和每棵iTree包含的电能量数据量$\psi $, 其构建的iTree高度$h\in (\log (\psi), \psi -1)$.

(2) 行4计算$x$到iTree根结点的距离, 若$x$不在该iTree中, 则成为新的叶子节点.

(3) 对于电能量训练集$D$中的样本数据点$x$, 遍历每一棵iTree, 根据步骤(2)计算$x$落在每棵iTree的层数.

(4) 行6计算得到所有树高度的平均值$E(h(x))$, 利用归一化公式(1)-(3)计算$x$的异常指数.公式(1)综合所有树的结果, 增强树高度估计的鲁棒性, 提高电能量异常检测结果的精确性.

$\begin{align} S(x, n)=2^{-\frac{E(h(x))}{c(n)}}; \end{align} $ (1)
$\begin{align} c(n)=2H(n-1)-(2(n-1)/n); \end{align} $ (2)
$\begin{align} H(k)=\ln (k)+\xi , \quad \xi =0.577\;215\;664\;9. \end{align} $ (3)

(5) 行8-16判断样本数据点$x$是否为电能量异常数据, $S(x, n)$是电能量数据点$x$在由电能量数据子样本集$D'$构建的iTree中的异常指数, $S(x, n)\in [0, 1]$, 行7中的c($n$)为公式(2)所定义的平均路径长度, $\xi $为欧拉常数.

公式(1)中得到的$S(x, n)$越接近1, 则$x$是异常电能量样本点的可能性越大; $S(x, n)$越接近0, 则$x$是正常电能量样本点的可能性越大; 若大部分训练样本的$S(x, n)\approx 0.5$, 则整个电能量数据集没有明显的异常值.

3 实验及结果分析 3.1 实验环境

本文实验平台为Windows 10系统, 8 GB内存, Intel(R) Core(TM) i5-6200U, 2.3 GHz.算法采用Python 3.6实现.

3.2 数据集

数据集采用南瑞集团提供的2017/06/01$\sim$2019/06/11电能量数据, 共23 051条电能量数据记录, 包含电能量记录时间OCCUR TIME、用户ID、正向有功总电量PAP、反向有功总电量RAP 4个字段.

3.3 参数设置

实验相关的参数进行设置如下:检测字段为PAP和RAP; 孤立森林中树iTree的棵数$t$为100, 每棵iTree中含有的样本数$\psi $为256;根据所用的电能量数据集, 异常值的比例$\alpha $设置为0.02, 在拟合时用于定义决策函数的阈值; 每棵iTree的最大高度设置为$l=ceiling(\log _2 \psi)$; 正常样本标注为1, 异常样本标注为$-1$.

3.4 实验结果

根据不同的METER ID字段使用孤立森林算法分别在PAP字段和RAP字段上进行检测, 统计结果.

某用户2017年电能量数据, 对字段PAP进行处理, 计算两天之间的差值, 得到每日用电量$\Delta {t}$进行检测, 共检测到3个异常点, 分别为6月13日、6月19日和7月26日.如图 4所示, 7月26日的用电量$\Delta {t}$为负值, 判断为异常点.

图 4 字段PAP电能量数据异常检测结果 Fig.4 Abnormal detection result of electric energy data in field PAP

将折线图的纵坐标用对数刻度表示(对数的底取2), 图 4可以转化为图 5, 可以看到在6月13日和6月19日每日用电量$\Delta t$骤增, 很可能是异常点.因此系统检测到的异常点与人工检验结果一致.

图 5 字段PAP电能量数据异常检测结果(纵坐标用对数刻度表示) Fig.5 Abnormal detection result of electric energy data in field PAP (logarithmic scale for ordinates)

某用户的2017年电能量数据, 对字段RAP进行处理, 计算两天之间的差值, 得到每日反向有功电量$\Delta t'$进行检测, 共检测到1个异常点, 为7月26日.如图 6所示. 7月26日的每日反向有功电量$\Delta t'$不为0而是很大的正值, 显然为异常点.

图 6 字段RAP电能量数据异常检测结果 Fig.6 Abnormal detection result of electric energy data in field RAP

本文把One-class SVM[8]算法和基于标准差的统计学算法(Standard Deviation)[24]作为测试基准, 对电能量数据集的PAP字段进行异常检测对比.在测试前人工检验得到2017/06/01$\sim $2017/12/31的PAP字段共有5个异常数据点, 为了算法能较好地应用于该电能量数据集, 将每种算法的参数设置为适宜的值, 其中One-class SVM算法中的分类错误率上限设置为0.027, 标准差算法中的异常的阈值threshold参数设置为0.98, 使检测到的异常样本数尽量符合数据集中实际的异常数据个数.

对比实验结果如表 1所示, 可以看到本文方法检测到的异常点个数最接近实际异常点个数, 而One-class SVM和标准差检测到了远大于实际的异常点个数.本文采用的算法保持较高的精确率和召回率, 精确率为One-class SVM的2.96倍, 为标准差算法的5.93倍, 召回率为标准差算法的2.5倍.

表 1 电能量数据异常检测算法对比实验 Tab. 1 Experimental comparison of electrical energy data anomaly detection with different algorithms

分析结果得到, One-class SVM几乎能检测出所有的样本点, 但是效率很低, 有大量负样本被判断为正样本, 标准差算法的检测效果较为不佳, 效率低, 可靠性不高.本文采用的算法具有效率高, 可靠性高的优点, 可以检测出几乎所有的异常样本点, 并且有很少的正样本被判断为负样本.

4 结论

本文基于孤立森林实现了电能量异常数据检测, 孤立森林算法具有线性复杂度, 适用于含有海量数据的数据集, 随机分割的取值区间是自适应的, 具有较高的鲁棒性.本文测试将算法应用于处理大规模电能量数据的异常检测, 发现其检测速度快, 正确率高.实验表明本文的方法具有较好的理论和应用价值.

参考文献
[1]
罗志仕, 张晋明. 对国内电能量计量系统现状的调查研究[J]. 大科技, 2013(12): 66-67.
[2]
CHANDOLA V, BANERJEE A, KUMAR V. Anomaly detection[J]. ACM Computing Surveys, 2009, 41(3): 1-58.
[3]
简富俊, 曹敏, 王磊, 等. 基于SVM的AMI环境下用电异常检测研究[J]. 电测与仪表, 2014, 51(6): 64-69. DOI:10.3969/j.issn.1001-1390.2014.06.014
[4]
王增平, 张晋芳, 钱诚. 基于同步测量信息的电网拓扑错误辨识方法[J]. 电力自动化设备, 2012, 32(1): 1-8. DOI:10.3969/j.issn.1006-6047.2012.01.001
[5]
王兴志, 严正, 沈沉, 等. 基于在线核学习的电网不良数据检测与辨识方法[J]. 电力系统保护与控制, 2012(1): 50-55. DOI:10.3969/j.issn.1674-3415.2012.01.009
[6]
ESKIN E, ARNOLD A, PRERAU M, et al. A geometric framework for unsupervised anomaly detection:Detecting intrusions in unlabeled data[M]. Amsterdam: Kluwer Academic Publisher, 2002: 77-101.
[7]
MONEDERO I, BISCARRI F, LEÓN C, et al. Detection of frauds and other non-technical losses in a power utility using Pearson coefficient, Bayesian networks and decision trees[J]. International Journal of Electrical Power & Energy Systems, 2012, 34(1): 90-98.
[8]
PLATT J, SCHÖKOPF B, SHAWE-TAYLOR J, et al. Estimating the support of a high-dimensional distribution[J]. Neural computation, 2001, 13(7): 1443-1471. DOI:10.1162/089976601750264965
[9]
STEINWART I, HUSH D, SCOVEL C. A classification framework for anomaly detection[J]. Journal of Machine Learning Research, 2005(6): 211-232.
[10]
陈阳, 王勇, 孙伟. 基于YARN规范的智能电网大数据异常检测[J]. 信息网络安全, 2017(7): 11-17. DOI:10.3969/j.issn.1671-1122.2017.07.002
[11]
严英杰, 盛戈皞, 陈玉峰, 等. 基于大数据分析的输变电设备状态数据异常检测方法[J]. 中国电机工程学报, 2015, 35(1): 52-59.
[12]
肖坚红, 严小文, 周永真, 等. 基于数据挖掘的计量装置在线监测与智能诊断系统的设计与实现[J]. 电测与仪表, 2014, 51(14): 1-5. DOI:10.3969/j.issn.1001-1390.2014.14.001
[13]
魏瑶, 朱伟义, 龚桃荣, 等. 基于数据挖掘技术的用电异常分析系统设计[J]. 电力信息与通信技术, 2014, 12(5): 70-73.
[14]
田野, 张程, 毛昕儒, 等. 运用PCA改进BP神经网络的用电异常行为检测[J]. 重庆理工大学学报(自然科学版), 2017, 31(8): 125-133. DOI:10.3969/j.issn.1674-8425(z).2017.08.021
[15]
LIU F T, TING K M, ZHOU Z H. Isolation forest[C]//2008 Eighth IEEE International Conference on Data Mining. IEEE, 2008: 413-422.
[16]
倪永峰, 闫连山, 崔允贺, 等. 面向软件定义网络的隐蔽通信检测机制[J]. 计算机系统应用, 2018, 27(9): 143-150.
[17]
朱佳俊, 陈功, 施勇, 等. 基于用户画像的异常行为检测[J]. 通信技术, 2017, 50(10): 2310-2315. DOI:10.3969/j.issn.1002-0802.2017.10.032
[18]
李新鹏, 高欣, 阎博, 等. 基于孤立森林算法的电力调度流数据异常检测方法[J]. 电网技术, 2019, 43(4): 1447-1456.
[19]
朱炜玉, 史斌, 姜继平, 等. 基于水质时间序列异常检测的动态预警方法[J]. 环境科学与技术, 2018, 41(12): 131-137.
[20]
韩明涛. 时间序列模式挖掘的算法研究[J]. 山东大学学报(工学版), 2004, 34(3): 88-91. DOI:10.3969/j.issn.1672-3961.2004.03.021
[21]
余宇峰, 朱跃龙, 万定生, 等. 基于滑动窗口预测的水文时间序列异常检测[J]. 计算机应用, 2014, 34(8): 2217-2220.
[22]
孙梅玉. 基于距离和密度的时间序列异常检测方法研究[J]. 计算机工程与应用, 2012(20): 11-17. DOI:10.3778/j.issn.1002-8331.2012.20.003
[23]
曹旭, 曹瑞彤. 基于大数据分析的网络异常检测方法[J]. 电信科学, 2014, 30(6): 152-156. DOI:10.3969/j.issn.1000-0801.2014.06.025
[24]
LEYS C, LEY C, KLEIN O, et al. Detecting outliers:Do not use standard deviation around the mean, use absolute deviation around the median[J]. Journal of Experimental Social Psychology, 2013, 49(4): 764-766. DOI:10.1016/j.jesp.2013.03.013