[0001]
本发明涉及能耗异常检测技术领域,特别涉及一种基于层次聚类和直方图算法的能耗在线异常检测方法。
背景技术:[0002]
随着工业4.0和能源互联网的发展,能耗数据采集和能耗数据监控能够帮助企业对能源的使用情况进行更智能化的管理。然而由于接入的设备和表计增多,数据的有效性和准确性变得尤为重要,同时,系统平台端需要通过对历史能耗数据的大数据分析,实现对每个通信模块上传的能耗数据的在线检测,判断能耗数据异常情况。因此,需要一个快速、稳定的能耗异常检测算法。
技术实现要素:[0003]
本发明的目的是克服上述背景技术中不足,提供一种基于层次聚类和直方图算法的能耗在线异常检测方法,可实现对能耗数据的快速检测模型生成和数据检测,能够实现对采集异常和能耗异常分别进行处理,结合特征数据的直方图计算,以及特征簇的层次聚类算法,对样本进行聚类分簇,计算簇阈值,形成整个阈值模型。
[0004]
为了达到上述的技术效果,本发明采取以下技术方案:
[0005]
一种基于层次聚类和直方图算法的能耗在线异常检测方法,包括以下步骤:
[0006]
s1.提取建立模型的历史数据,包括能耗时间序列数据及特征数据;
[0007]
s2.进行数据清洗,滤除异常数据;
[0008]
s3.针对每一个特征数据进行划分特征簇并分配样本;
[0009]
s4.计算特征簇的簇样本数量和簇中心,并将特征簇按照样本数量从小到大排序;
[0010]
s5.判断特征簇的数量是否大于n或其中某个簇的样本数是否小于m,若是,则进入步骤s6,否则,进入步骤s7;
[0011]
s6.采用层次聚类算法对特征簇进行聚类,再计算新的特征簇的簇样本数量和簇中心并返回步骤s5;
[0012]
s7.采用动态调整的箱线图法计算每个特征簇的上下限阈值;
[0013]
s8.重复步骤s3至s7,直至所有特征数据都完成阈值计算并形成特征的阈值集合。
[0014]
进一步地,所述特征数据为含时间、气候、生产的维度及场景的多维度、多场景识别所用的特征数据。
[0015]
进一步地,所述步骤s2包括采用箱线图法求取序列数据及特征数据的阈值,剔除不在阈值范围内的数据点,本步骤主要为清洗通信异常等原因造成的错报、漏报数据,目的是尽可能排除数据错误造成的影响,为更好的用能异常检测建立基础。
[0016]
进一步地,所述步骤s3及s4包括:
[0017]
设置最大聚类数n及类中的最小样本数量m;
[0018]
对于连续型特征数据,在连续特征取值范围内,将其平均切割为a
·
n个直方图,其
中,每一个直方图代表一个取值区间即代表一个特征的簇,a为切分的精度;
[0019]
对于离散型特征,将每个互不相同的离散变量作为特征的簇;
[0020]
将特征的簇集合记作c={c1,c
2,
…
,c
i
},将能耗时间序列数据分配到与簇对应的集合中,并计算簇样本的样本数量和簇中心,其中,簇中心为簇中所有样本数据的平均值。
[0021]
进一步地,所述步骤s6包括:
[0022]
采用层次聚类算法对特征簇进行聚类,将特征簇按照样本数量从小到大排序,将两个簇中心最接近的簇合并,计算新的特征簇的簇中心和簇样本数,并对新的特征簇重新排序后返回步骤s5。
[0023]
进一步地,所述步骤s7包括:
[0024]
采用动态调整的箱线图法计算每个特征簇的上下限阈值:
[0025]
th=q3+k
×
(q
3-q1),tl=q
1-k
×
(q
3-q1);
[0026]
其中,th表示上限阈值,tl表示下限阈值,q1和q3分别表示特征簇的1/4和3/4分位数的样本数据;k的取值按照下列公式:
[0027][0028]
其中,n
sample
是能耗时间序列数据的样本总数,n
ci
是簇c
i
的样本数量;可知,在簇中样本数量较多时使用紧阈值,反之在样本较少的情况下使用宽阈值。
[0029]
本发明与现有技术相比,具有以下的有益效果:
[0030]
本发明的基于层次聚类和直方图算法的能耗在线异常检测方法,可针对企业和用能综合体的能耗数据,从不同的角度来检测,旨在发现在不同用能特征数据下的检测用能场景,再进行异常分析,如工业生产淡季和旺季、夏季和冬季等场景,因其用能模式不同,需要以生产数据或天气数据等维度出发,首先对待检测数据的用能场景进行识别,采用特征聚类算法建立场景类别模型,然后针对每一类别分别建立的异常检测机制,在预测过程(即实时检测过程),采样同样的方式,根据不同场景划分的类别进行检测,最后应用时可通过特征的权重进行加权平均得到最终的检测结果。
附图说明
[0031]
图1是本发明的基于层次聚类和直方图算法的能耗在线异常检测方法的流程示意图。
[0032]
图2是本发明的能耗在线异常检测系统的示意图。
具体实施方式
[0033]
下面结合本发明的实施例对本发明作进一步的阐述和说明。
[0034]
实施例:
[0035]
实施例一:
[0036]
如图1所示,一种基于层次聚类和直方图算法的能耗在线异常检测方法,包括以下步骤:
[0037]
步骤1.提取需要建立模型的历史数据,包括近期能耗时间序列数据s和其他同样的特征数据p={p1,p1,...p
m
},如包括时间、气候、生产等多维度、多场景识别所用的特征数
据。
[0038]
步骤2.数据的清洗。
[0039]
如针对能耗时间序列数据s,先将漏报数据丢弃,接着采用箱线图(boxplot)法,求取能耗时间序列数据的阈值,其方法具体是:分别计算能耗时间序列数据s的1/4和3/4分位数分别记为q1和q3,上下阈值分别为th和tl,则具体计算公式为:th=q3+k
×
(q
3-q1),tl=q
1-k
×
(q
3-q1)。一般k取[1.5,3],本实施例中,k取3。
[0040]
然后,将能耗时间序列数据s中不在阈值范围内的数据点修正为边界值,当数据足够多时,可以去除超过边界的数据值。
[0041]
本步骤主要为清洗通信异常等原因造成的错报、漏报数据,目的是尽可能排除数据错误造成的影响,为更好的用能异常检测建立基础。
[0042]
步骤3.针对每一个时间序列特征数据p
i
,对能耗时间序列数据s进行场景聚类,具体做法是:设置最大聚类数n及类中的最小样本数量m,对于连续型特征,在连续特征取值范围内,将其平均切割为a
·
n个直方图,则每一个直方图代表一个取值区间,代表一个特征的簇(即一个场景),其中,a为切分的精度;对于离散型特征,则将每个互不相同的离散变量作为特征的簇。
[0043]
将特征的簇集合记作c={c1,c2,
…
,c
i
},将能耗时间序列数据s分配到与簇对应的集合中,并计算簇样本的样本数量和簇中心,其中,簇中心为簇中所有样本的平均值。
[0044]
步骤4.针对每一个特征簇,判断特征簇的数量是否大于n或其中某个簇的样本数是否小于m,若是,则进入步骤5,否则,进入步骤6.
[0045]
步骤5.采用层次聚类算法对特征簇进行聚类,首先将特征簇按照样本数量从小到大排序,由于特征簇的数量大于n或簇的样本数量小于m,因此,需将两个簇中心最接近的特征簇进行合并,再重新计算新簇的簇中心和簇样本数并返回步骤4重新进行判断。
[0046]
步骤6.采用动态调整的箱线图法计算每个特征簇的上下限阈值:th=q3+k
×
(q
3-q1),tl=q
1-k
×
(q
3-q1);
[0047]
其中,th表示上限阈值,tl表示下限阈值,q1和q3分别表示特征簇的1/4和3/4分位数的样本数据;k的取值按照下列公式:
[0048][0049]
其中,n
sample
是能耗时间序列数据的样本总数,n
ci
是簇c
i
的样本数量。
[0050]
步骤7.重复步3至步骤6,直到所有特征都被计算,形成特征的阈值集合。
[0051]
实施例二
[0052]
如图2所示,一种能耗在线异常检测系统,检测目标主要分为数据采集异常和能耗异常,数据采集异常指传感器故障等原因错误采集的异常,能耗异常指能耗数据使用过程中出现的异常,可本实施例的能耗在线异常检测系统可分别对两种异常进行标注。
[0053]
具体的,本实施例的能耗在线异常检测系统具体包括:模型生成子模块、在线检测子模块、异常检测调度器及数据库。其中,所述异常检测调度器用于管理模型生成子模块及在线检测子模块,包括设置模型更新间隔、设置自动检测间隔以及在模型生成子模块、在线检测子模块之间传递通信数据,所述模型生成子模块从数据库中提取数据并生成模型后保存于数据库内,所述在线检测子模块用于提取数据库内保存的模型对在线监测到的数据进
行检测,得出异常标签并保存于数据库中。
[0054]
具体的,所述模型生成子模块工作时,包括:
[0055]
设置采集的时间窗口大小和频率,其中,时间窗口大小主要控制计算速度和长期依赖程度,频率具体为采集的时间序列频率,如分、小时、日等,再参照设置的参数进行能耗时间序列数据及特征数据采集;最后,针对每一个采集,通过实施例一的方式建立模型进行计算最终得到采集异常阈值包括下限阈值tl和上限阈值th并得到特征阈值集合。
[0056]
在线检测子模块工作时具体为对于每个采集点采集的新数据,调用保存的模型,进行异常检测,具体步骤包括:先通过调用异常阈值tl和th对采集的数据进行检测,如采集的数据在阈值范围之外,则将数据标记为采集异常并返回,本实施例中将异常数据标记为1,否则标记为0,然后,收集同一时刻对应的特征数据,针对每一个特征,检测其所在的特征簇,获取特征簇的阈值,如果特征数据的值不在阈值范围之内,则标记为能耗异常(本实施例中具体标记为1),若特征数据不存在,则跳过;最后,获取到所有的特征异常检测标签后,可根据经验设置的特征权重,对结果进行加权平均后,并进行四舍五入得到最终的异常标签,再将结果返回数据库。
[0057]
可知,本实施例的能耗在线异常检测系统可同时实现采集的异常数据的标记以及能耗异常数据的标记。
[0058]
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。