一种体质测试数据异常检测融合算法

2018-08-11 10:30白王梓松刘新侯岚李亭葳
中国教育信息化·基础教育 2018年6期
关键词:异常检测体质测试均值

白王梓松 刘新 侯岚 李亭葳

摘 要:高校体质测试成绩分析工作中常常需要对异常数据进行判别,基于传统的k均值聚类算法不能排除身体素质极差和极好同学对异常检测的影响,误检率高。文章针对以上问题,融合异常检测中常用的基于k均值聚类、距离和密度的三种异常检测方法的思想,根据体质测试数据的结构特点,提出一种体质测试数据异常检测融合算法(ADF-PFT)。ADF-PFT将聚类结果中节点与聚类中心的欧式距离、当前年份节点与历史年份节点欧氏距离的平均值、当前年份节点所在位置的密度与历史节点所在位置的密度差的平均值结合起来,三个要素通过一定权值相加,得到体质测试数据离群指数(PFT-OI)用来判定异常数据。针对体质测试数据,该算法相比于传统的k均值聚类算法可以明显降低误检率,结合高校体育教师的教学经验,能准确的识别异常数据,高效地辅助体育教学和科研工作。最后通过实验验证了ADF-PFT的有效性,实验结果表明,相比于传统的k均值聚类算法,ADF-PFT可以大幅度降低误检率。

关键词:体质测试;融合;k-均值;异常检测

中图分类号:TP393 文献标志码:A 文章编号:1673-8454(2018)12-0088-05

一、引言

大学生体质健康测试是根据教育部颁发的《国家学生体质健康标准(2014年修订)》所进行的全国性的大学生身体素质情况检测。目的是促进学生加强体质锻炼,养成良好的锻炼习惯,提高自身体质健康水平。该测试实行多年以来,为提高我国大学生体质水平起到了积极的作用。体质测试成绩是反映学生体质水平的重要数据,对该数据进行分析研究可以了解大学生整体的体质健康状态,发现不足,预测学生健康发展趋势,从而更好地指导大学生进行体育锻炼。

我们在对体质测试数据收集和处理过程中发现,由于学生作弊、流程不规范、设备误差、人为修改、学生消极懈怠等因素,收集到的部分数据是不真实、不准确的,不能真实反映学生的体质水平,对研究工作造成了一定的干扰[1-4],因此对异常数据的检测十分必要。

异常检测在体质测试数据的具体应用中也可以称为体质测试数据的离群点检测,而目前离群点检测技术主要有基于统计方法、基于邻近方法、基于分类方法、基于聚类方法几种类型[5]。其中基于邻近方法可以分为基于距离和基于密度的离群点检测方法,现今比较常用的主要是基于距離方法、基于密度方法和基于聚类的方法。Zhang[6]等人使用基于距离的LOF算法对智能配电网故障进行检测;Lv[7]等人将基于密度的离群点检测技术运用到复杂数据集中;Fabian[8]、郁映卓[9]使用k均值聚类算法检测人体运动特征的异常行为。但以上各类异常检测技术都不能完全适用于具有多维、少样本时序等特性的体质测试数据的异常检测中。

本文针对体质测试中各种情况产生的异常数据的问题,以体质测试成绩系统为平台,综合k均值聚类算法、基于距离的异常检测思想、基于密度的异常检测思想,结合学生的历史数据,提出了一种体质测试数据异常检测融合算法(Anomaly Detection Fusion Algorithm for Physical Fitness Test Data ,简称ADF-PFT ),以便对异常数据进行重测、剔除等进一步处理。

二、体质测试数据的特征

根据《国家学生体质健康标准(2014年修订)》(简称《标准》)对大学生体质健康测试的要求,需要对学生BMI、肺活量、50米跑、1000米跑/800米跑、立定跳远、坐位体前屈、引体向上/一分钟仰卧起坐进行测试。根据《标准》中的要求和高校体质测试的具体实践,总结出体质测试数据有如下特点:①多维性;②各项目计量单位不同,数据值域范围差别大;③有历史数据参考。

按照《标准》对总分的计算方法,学生的体质测试总分由多个子项目的得分按照不同权值相加得到。各个检测项目所评价的身体素质之间有着某些关联,对单个项目进行异常检测研究是片面的,对所有项目数据组成整体的异常检测才具备研究意义。表1中的成绩是某同学完整体质测试数据,如只对引体向上单个项目进行研究,会发现该同学引体向上成绩非常好,远超过平均水平,据此可能会判定该成绩是异常成绩。但实际分析各项成绩后发现,该同学各项成绩都非常出众,可以综合判断该同学身体素质比较好,因此引体向上的成绩也比较可信。整体研究就是多维数据研究,对多维数据的处理是需要解决的第一个问题。

各测试项目的指标、评价内容、计量方式等的不同,导致测试结果的值域范围也不同,从而造成了在异常检测时值域范围大的项目对结果影响明显。如表2中,除肺活量和50米外其余项目成绩浮动都相同,但少量的肺活量浮动(1号数据)和大幅度提高的50米成绩(2号数据)欧式距离对比发现,1号数据的欧氏距离更大,这种直接计算的方式不符合异常检测的效果要求。为了平衡各项目数据值域范围不同造成的影响,需要运用一定的方法对数据进行标准化,使各数据既能在同一值域中浮动,也能不失去数据本身包含的信息,使用何种方法对数据标准化就是需要解决的第二个问题。

人体体质变化的规律是循序渐进的,排除环境等的影响,个体的锻炼、饮食、生活习惯通常也比较固定,在短时间内身体素质大幅度变动的可能性较小,倘若能将历史数据作为异常检测的条件之一,将大大提升异常检测的效果。传统异常检测技术使用标准化的数据处理虽然可以解决多维性和值域范围不同对检测结果的影响,但是却没有将历史数据作为异常检测的因素,缺少了一种有价值的、可靠的参考依据,影响其异常检测结果的实际效果。

三、体质测试数据的预处理

1.数据清洗

使用体质测试成绩系统中的成绩导入功能,将原始测试数据导入数据库时,通常有部分不满足要求,不能直接计算成绩。主要有以下几类:①空白数据和缺项数据;②数据项有无关空白字符;③数据项中圆角半角符号混用;④学生班级异动;⑤可更新成绩。

对于空白数据和缺项数据、学生班级异动的情况,只存储于数据库中,不计算成绩是较好的处理方式;对②和③中涉及的问题,可以依据数据项逐条检测情况,将异常字符剔除或替换为规范字符;对可更新成绩数据,需要使用摘要算法比对成绩是否有变化,并判断成绩是提高还是降低,最终保留较高的成绩。

2.数据标准化

多维数据值域范围的不同对聚类、距离和密度的计算结果有很大影响。体质测试的各个项目所测试的指标不同,单位也不尽相同,数据值域的不同导致值域范围大的项目对异常检测的结果影响大,值域小的项目对结果影响小。本文提出的ADF-PFT算法对每个项目的权重要求是相同的,因而数据标准化也就势在必行。

目前数据标准化有多种方法,如小数定标标准化、最值标准化、Z-Score标准化等。小数定标标准化方法通过调整小数点的位置,使所有的维度的值域在[-1,1]上来达到标准化的目的。该方法直观简单、易于实现,但其不能完全消除不同维度间的权值差异。最值标准化方法是对各维度进行线性变换,使原来值域为[υmin ,υmax]的项目值域落在[ min, max]上,该方法可以灵活指定 min和 max,并且可以完全消除不同维度的权重差异,但该方法中离群点对值域范围影响较大,导致大多数值可能集中分布在一个较小的值域中,不适用于检测离群点的数据标准化中。本文采用Z-Score方法,该方法利用各维度的均值和标准差进行标准化,如公式1所示:

i= ,i=1,2,…,n 公式1

其中 = ni=1υi表示项目的均值,σ= 表示项目的标准差。该方法不需要计算最值,且对离群点的标准化效果较好,更适用于体质测试成绩数据的标准化,因此最终选用该方法对原始数据进行标准化。

四、体质测试数据异常检测融合算法(ADF-PFT)

1.体质测试数据离群指数(PFT-OI)

本文提出一种针对体质测试数据异常检测的评价指标——体质测试数据离群指数(Physical Fitness Test Outlier Index,简称PFT-OI)。PFT-OI以ADF-PFT算法为核心,以Z-Score标准化的数据为基础,不仅考虑了学生测试数据在数据总体中的聚类结果,还将历史数据和当前数据的差距作为因素之一,结合基于距离和密度的异常检测思想,综合度量体质测试数据中的异常情况。

定义1:用T(xi )表示PFT-OI,用來度量离群程度,用公式2表示:

T(xi)=αSimk+βSimdis+γSimden 公式2

其中,α、β、γ是权值参数,Simk如公式3所示,表示当前年份体质测试数据使用k均值算法聚类的结果的相似度。

Simk=e-2e/KMS(xi,x) 公式3

其中KMS(xi,x)表示在集合X中的xi节点在使用k均值算法聚类后的结果,也就是节点xi与其最近的聚类中心的欧式距离。在使用k均值算法聚类的过程中,通过用多组数据对k值的多次探测实验,得到不同k值下所有节点质心距离的平均值。通过图1可以看出,当k=5时是拐点,因而对于体质测试数据选取k=5是合适的。

定义2:Dist(x,x*)表示x节点与x*节点的欧式距离,如公式4所示:

Dist(x,x*)= 公式4

n为节点的总维度,j为维度标号。

Simdis是节点与历史数据距离的相似度,根据历史数据年份数y有不同的处理方式。当y=0时,说明没有历史数据,相似度为0;当y>0时,需求出当前节点xi与之前多年数据距离的平均值,x*i,j表示所对应的第y年的数据节点。

simdis=0, y=0e y>0 公式5

Simden是节点与历史数据密度的相似度。本文定义den(xi,x*i)表示当前节点xi与某年份对应节点x*i的密度差,如公式6所示:

Den(xi,x*j)= - 公式6

其中Gt (xi)表示距离xi最近的t个节点的集合,求出与xi最近的t个节点距离的和的倒数,可以反映出该节点的附近的密度。根据历史数据年份数y,Simden有不同的处理方式。当y=0时,说明没有历史数据,Simden为0;当y>0时,应求出当前节点与其余各年份节点密度差的平均值 yj=1Den(xi,x*i,j),公式如下:

Sim =0, y=0e-2ey/ yj=1Den(x ,x ), y>0公式7

PFT-OI是根据体质测试数据的特点,专门针对体质测试数据设计的评价指标。它在对异常数据的检测中既能“横向的”考虑数据节点在本年度其他同学测试数据的结构,也能“纵向的”兼顾学生本人的历史数据,相比只使用聚类算法的优势主要有:较大程度提高了异常成绩的检出率;较大程度降低了误检率。

2.ADF-PFT算法步骤

输入:多年数据集Y={X0,X1,X2,…,Xy}(其中Xy={x1,x2, x3,…,xn}),聚类个数K,邻近值t,最大迭代次数AtMax,权值α、β、γ。

输出:PFT-OI集合T={T(x1 ),T(x2 ),T(x3 ),…,T(xn ) }

步骤1:随机选取K=5个点Xc={xc1,xc2,xc3,xc4,xc5}∈X0作为初始质心;

步骤2:对于X0中每个点求出dist(xi,xcj)min;i=1,2,3,…,n;j=1,2,…,K;令λi=j;

步骤3:对于每一类的中心点xcj进行更新,计算λi=j的所有点Xcj各维度的平均值 1, 2,…, 9,并令xcj={ 1, 2,…, 9};

步骤4:如果迭代次数At

步骤5:根据公式4,得到X0中各点到其聚类中心的欧氏距离集合D={KMS(x1,X0),KMS(x2,X0),…,KMS(xn,X0)},按照公式3求出k均值聚类结果相似度集合,Simk={SK1,SK2,…,SKn};

步骤6:若y=0,则Simdis=0,转到步骤8;若y>0,转到步骤7;

步骤7:对于集合Y={X0,X1,X2,…,Xy},根据 = ∑yj=1Dist(xi,x*i,j)求出各集合X0与Xy对应点的欧式距离平均值集合dis={ 1 , 2 ,…, n}。按照公式5求出历史距离相似度集合Simdis={SDI1,SDI2,…,SDIn };

步骤8:若y=0,则Simden=0,转到步骤10;若y>0,转到步骤9;

步骤9:对于集合Y={X0,X1,X2,…,Xy},求出每个点在对应子集合中的密度,即距离该点最近的t个点Xt (xi)={xt1,xt2,…,xtt}距离和的倒数m=1/(∑xk∈Xt (xi)Dist(xi,xk),Yden={M0,M1,…,My },其中M={m1,m2,…,mn},求出各点与对应点密度差的均值den={ e1, e2,…, en},按照公式7求出历史密度差相似度集合Simden={SDE1,SDE2,…,SDEn};

步骤10:依据公式2可得到PFT-OI集合T={T(x1),T(x2),T(x3),…,T(xn)}。

五、实验结果分析

实验主要对比传统k均值聚类算法和PFT-OI两种方法对异常值的检测效果。

实验1采用某高校2015级4878名学生在2015学年和2016學年的体质测试数据作为数据集,其中男生占比46.3%,女生占比53.7%。取α=1,β=0,γ=0,即传统k均值聚类算法对2015级2016年体质测试数据进行检测, T(xi)最大的10个同学具体成绩如表3所示。

根据k均值聚类结果的大小从上到下列出异常程度最高的10个结果。从表格中可以观察出:①有7个同学的立定跳远成绩为50cm,推测应该是设备问题导致;②第1条、第2条数据是异常程度最高的两个,但根据其2015年的成绩比较分析,这两位成绩稳定、合理,属于成绩极差和极好的同学,不应归为异常成绩,属于误检。

下面使用PFT-OI,取α=0.4,β=0.3,γ=0.3,得到T(xi)最大的10个同学,他们成绩如表4所示。

根据T(xi )大小从上到下列出了异常程度最高的10个结果。从表4可得出:①除立定跳远成绩50cm异常的行外,其余各行都存在明显的成绩异常;②没有发现稳定、合理的极差成绩和极好成绩出现;③第6条数据只看2016年成绩时属于正常成绩,但同其2015年成绩相比时发现,其50米成绩和引体向上差距大,说明具有一定的异常性,用传统的k均值聚类方法不能检测出。

实验2使用某高校2014级2015年、2016年成绩和2015级2015年、2016年成绩分成若干小组作为数据集(20000+条数据),取T(xi )较大的前1.5%的数据进行误检率统计,参数如表5所示。

由图2可知,传统的k均值聚类方法对异常成绩检测的误检率较高,PFT-OI相比传统的k均值聚类方法在误检率方面有明显的降低,尤其是当α=0.4,β=0.3,γ=0.3时,误检率达到较低水平。

使用相同数据集的情况下,从以上两个实验可以看出,PFT-OI相比于传统k均值聚类方法有较低的误检率,大大提升了异常检测的精度。

六、结束语

传统的k均值聚类方法对体质测试数据进行异常检测具有高误检率的缺点,PFT-OI和ADF-PFT算法的提出有效降低了误检率,完善了体质数据异常检测中缺乏纵向关系挖掘的问题。该方法现已着手应用到体质测试成绩管理系统中,在体质测试成绩分析和管理中可以有效辅助高校体育教师的工作,大大减轻工作量。

在实验过程中发现,ADF-PFT算法中还存在密度计算复杂度较高和权值优化难的问题,这也是笔者在下一步需要解决和研究的主要问题。

参考文献:

[1]王燕梅.《国家学生体质健康标准(2014修订)》执行偏差问题与矫正措施研究[D].杭州:杭州师范大学,2016.

[2]王军利.关于学生体质健康测试中存在问题的思考[J].体育学刊,2015,22(1):70-74.

[3]王辉,张玉红.影响大学生“三大”体质测试数据准确性的因素及对策研究[J].吉林体育学院学报,2012,28(4):69-72.

[4]张强,陈诗强.校级大学生体质健康监测体系的重构研究[J].河北体育学院学报,2017,31(3):47-52.

[5]朱利,邱媛媛,于帅,原盛.一种基于快速k-近邻的MST离群检测方法[J/OL].计算机学报, 2017,40(12):2856-2870.

[6]Zhang Y, Chen W, Yeo C K, et al. A distance-based outlier detection method for rumor detection exploiting user behaviorial differences[C]. Data and Software Engineering (ICoDSE), 2016 International Conference on. IEEE, 2016: 1-6.

[7]Lv Y, Ma T, Tang M, et al. An efficient and scalable density-based clustering algorithm for datasets with complex structures[J]. Neurocomputing, 2016(171): 9-22.

[8]Fabian Nater,HelmutGrabner,Luc Van Gool et al.Exploiting Simple Hierarchies for Unsupervised Human Behavior Analysis[C].2010 IEEE Conference on Computer Vision and Pattern Recognition. [v.3].2010:2014-2021.

[9]郁映卓.基于人体运动特征的异常行为检测和姿态识别[D].西安:西安电子科技大学,2011.

[10]Deb A B, Dey L. Outlier Detection and Removal Algorithm in K-Means and Hierarchical Clustering[J]. World Journal of Computer Application and Technology, 2017, 5(2): 24-29.

[11]Aswani R, Ghrera S P, Kar A K, et al. Identifying buzz in social media: a hybrid approach using artificial bee colony and k-nearest neighbors for outlier detection[J]. Social Network Analysis and Mining, 2017,7(1): 38.

[12]Andrade A T C, Montez C, Moraes R, et al. Outlier detection using k-means clustering and lightweight methods for Wireless Sensor Networks[C]. Industrial Electronics Society, IECON 2016-42nd Annual Conference of the IEEE. IEEE, 2016: 4683-4688.

[13]Devi R D H, Devi M I. Outlier detection algorithm combined with decision tree classifier for early diagnosis of breast cancer[J]. Int J Adv Engg Tech/Vol. VII/Issue II/April-June, 2016(93): 98.

[14] Kiss, I.,Genge, B.,Haller, P.,Sebestyen, G.. Data clustering-based anomaly detection in industrial control systems[P]. Intelligent Computer Communication and Processing (ICCP), 2014 IEEE International Conference on,2014.

[15]胡偉,李勇,曹一家等.基于 LOF 和 SVM 的智能配电网故障辨识方法[J].电力自动化设备,2016,36(6): 7-12.

[16]秦浩.基于密度的局部离群点挖掘及在入侵检测中应用研究[D].大连:大连海事大学,2016.

[17]高滢,刘大有,齐红,刘赫.一种半监督K均值多关系数据聚类算法[J].软件学报,2008(11):2814-2821.

(编辑:鲁利瑞)

猜你喜欢
异常检测体质测试均值
基于度分布的流量异常在线检测方法研究
无线Mesh网络安全性研究
无线Mesh网络基础知识
大学生体质健康测试“举校体制”分析
影响大学生体质测试的因素及对策探讨
云南高职学生体质测试近三年数据对比分析
均值不等式失效时的解决方法
均值与方差在生活中的应用
关于均值有界变差函数的重要不等式
对偶均值积分的Marcus-Lopes不等式