白王梓松 劉新 侯嵐 李亭葳
摘 要:高校體質測試成績分析工作中常常需要對異常數(shù)據(jù)進行判別,基于傳統(tǒng)的k均值聚類算法不能排除身體素質極差和極好同學對異常檢測的影響,誤檢率高。文章針對以上問題,融合異常檢測中常用的基于k均值聚類、距離和密度的三種異常檢測方法的思想,根據(jù)體質測試數(shù)據(jù)的結構特點,提出一種體質測試數(shù)據(jù)異常檢測融合算法(ADF-PFT)。ADF-PFT將聚類結果中節(jié)點與聚類中心的歐式距離、當前年份節(jié)點與歷史年份節(jié)點歐氏距離的平均值、當前年份節(jié)點所在位置的密度與歷史節(jié)點所在位置的密度差的平均值結合起來,三個要素通過一定權值相加,得到體質測試數(shù)據(jù)離群指數(shù)(PFT-OI)用來判定異常數(shù)據(jù)。針對體質測試數(shù)據(jù),該算法相比于傳統(tǒng)的k均值聚類算法可以明顯降低誤檢率,結合高校體育教師的教學經(jīng)驗,能準確的識別異常數(shù)據(jù),高效地輔助體育教學和科研工作。最后通過實驗驗證了ADF-PFT的有效性,實驗結果表明,相比于傳統(tǒng)的k均值聚類算法,ADF-PFT可以大幅度降低誤檢率。
關鍵詞:體質測試;融合;k-均值;異常檢測
中圖分類號:TP393 文獻標志碼:A 文章編號:1673-8454(2018)12-0088-05
一、引言
大學生體質健康測試是根據(jù)教育部頒發(fā)的《國家學生體質健康標準(2014年修訂)》所進行的全國性的大學生身體素質情況檢測。目的是促進學生加強體質鍛煉,養(yǎng)成良好的鍛煉習慣,提高自身體質健康水平。該測試實行多年以來,為提高我國大學生體質水平起到了積極的作用。體質測試成績是反映學生體質水平的重要數(shù)據(jù),對該數(shù)據(jù)進行分析研究可以了解大學生整體的體質健康狀態(tài),發(fā)現(xiàn)不足,預測學生健康發(fā)展趨勢,從而更好地指導大學生進行體育鍛煉。
我們在對體質測試數(shù)據(jù)收集和處理過程中發(fā)現(xiàn),由于學生作弊、流程不規(guī)范、設備誤差、人為修改、學生消極懈怠等因素,收集到的部分數(shù)據(jù)是不真實、不準確的,不能真實反映學生的體質水平,對研究工作造成了一定的干擾[1-4],因此對異常數(shù)據(jù)的檢測十分必要。
異常檢測在體質測試數(shù)據(jù)的具體應用中也可以稱為體質測試數(shù)據(jù)的離群點檢測,而目前離群點檢測技術主要有基于統(tǒng)計方法、基于鄰近方法、基于分類方法、基于聚類方法幾種類型[5]。其中基于鄰近方法可以分為基于距離和基于密度的離群點檢測方法,現(xiàn)今比較常用的主要是基于距離方法、基于密度方法和基于聚類的方法。Zhang[6]等人使用基于距離的LOF算法對智能配電網(wǎng)故障進行檢測;Lv[7]等人將基于密度的離群點檢測技術運用到復雜數(shù)據(jù)集中;Fabian[8]、郁映卓[9]使用k均值聚類算法檢測人體運動特征的異常行為。但以上各類異常檢測技術都不能完全適用于具有多維、少樣本時序等特性的體質測試數(shù)據(jù)的異常檢測中。
本文針對體質測試中各種情況產(chǎn)生的異常數(shù)據(jù)的問題,以體質測試成績系統(tǒng)為平臺,綜合k均值聚類算法、基于距離的異常檢測思想、基于密度的異常檢測思想,結合學生的歷史數(shù)據(jù),提出了一種體質測試數(shù)據(jù)異常檢測融合算法(Anomaly Detection Fusion Algorithm for Physical Fitness Test Data ,簡稱ADF-PFT ),以便對異常數(shù)據(jù)進行重測、剔除等進一步處理。
二、體質測試數(shù)據(jù)的特征
根據(jù)《國家學生體質健康標準(2014年修訂)》(簡稱《標準》)對大學生體質健康測試的要求,需要對學生BMI、肺活量、50米跑、1000米跑/800米跑、立定跳遠、坐位體前屈、引體向上/一分鐘仰臥起坐進行測試。根據(jù)《標準》中的要求和高校體質測試的具體實踐,總結出體質測試數(shù)據(jù)有如下特點:①多維性;②各項目計量單位不同,數(shù)據(jù)值域范圍差別大;③有歷史數(shù)據(jù)參考。
按照《標準》對總分的計算方法,學生的體質測試總分由多個子項目的得分按照不同權值相加得到。各個檢測項目所評價的身體素質之間有著某些關聯(lián),對單個項目進行異常檢測研究是片面的,對所有項目數(shù)據(jù)組成整體的異常檢測才具備研究意義。表1中的成績是某同學完整體質測試數(shù)據(jù),如只對引體向上單個項目進行研究,會發(fā)現(xiàn)該同學引體向上成績非常好,遠超過平均水平,據(jù)此可能會判定該成績是異常成績。但實際分析各項成績后發(fā)現(xiàn),該同學各項成績都非常出眾,可以綜合判斷該同學身體素質比較好,因此引體向上的成績也比較可信。整體研究就是多維數(shù)據(jù)研究,對多維數(shù)據(jù)的處理是需要解決的第一個問題。
各測試項目的指標、評價內容、計量方式等的不同,導致測試結果的值域范圍也不同,從而造成了在異常檢測時值域范圍大的項目對結果影響明顯。如表2中,除肺活量和50米外其余項目成績浮動都相同,但少量的肺活量浮動(1號數(shù)據(jù))和大幅度提高的50米成績(2號數(shù)據(jù))歐式距離對比發(fā)現(xiàn),1號數(shù)據(jù)的歐氏距離更大,這種直接計算的方式不符合異常檢測的效果要求。為了平衡各項目數(shù)據(jù)值域范圍不同造成的影響,需要運用一定的方法對數(shù)據(jù)進行標準化,使各數(shù)據(jù)既能在同一值域中浮動,也能不失去數(shù)據(jù)本身包含的信息,使用何種方法對數(shù)據(jù)標準化就是需要解決的第二個問題。
人體體質變化的規(guī)律是循序漸進的,排除環(huán)境等的影響,個體的鍛煉、飲食、生活習慣通常也比較固定,在短時間內身體素質大幅度變動的可能性較小,倘若能將歷史數(shù)據(jù)作為異常檢測的條件之一,將大大提升異常檢測的效果。傳統(tǒng)異常檢測技術使用標準化的數(shù)據(jù)處理雖然可以解決多維性和值域范圍不同對檢測結果的影響,但是卻沒有將歷史數(shù)據(jù)作為異常檢測的因素,缺少了一種有價值的、可靠的參考依據(jù),影響其異常檢測結果的實際效果。
三、體質測試數(shù)據(jù)的預處理
1.數(shù)據(jù)清洗
使用體質測試成績系統(tǒng)中的成績導入功能,將原始測試數(shù)據(jù)導入數(shù)據(jù)庫時,通常有部分不滿足要求,不能直接計算成績。主要有以下幾類:①空白數(shù)據(jù)和缺項數(shù)據(jù);②數(shù)據(jù)項有無關空白字符;③數(shù)據(jù)項中圓角半角符號混用;④學生班級異動;⑤可更新成績。
對于空白數(shù)據(jù)和缺項數(shù)據(jù)、學生班級異動的情況,只存儲于數(shù)據(jù)庫中,不計算成績是較好的處理方式;對②和③中涉及的問題,可以依據(jù)數(shù)據(jù)項逐條檢測情況,將異常字符剔除或替換為規(guī)范字符;對可更新成績數(shù)據(jù),需要使用摘要算法比對成績是否有變化,并判斷成績是提高還是降低,最終保留較高的成績。
2.數(shù)據(jù)標準化
多維數(shù)據(jù)值域范圍的不同對聚類、距離和密度的計算結果有很大影響。體質測試的各個項目所測試的指標不同,單位也不盡相同,數(shù)據(jù)值域的不同導致值域范圍大的項目對異常檢測的結果影響大,值域小的項目對結果影響小。本文提出的ADF-PFT算法對每個項目的權重要求是相同的,因而數(shù)據(jù)標準化也就勢在必行。
目前數(shù)據(jù)標準化有多種方法,如小數(shù)定標標準化、最值標準化、Z-Score標準化等。小數(shù)定標標準化方法通過調整小數(shù)點的位置,使所有的維度的值域在[-1,1]上來達到標準化的目的。該方法直觀簡單、易于實現(xiàn),但其不能完全消除不同維度間的權值差異。最值標準化方法是對各維度進行線性變換,使原來值域為[υmin ,υmax]的項目值域落在[ min, max]上,該方法可以靈活指定 min和 max,并且可以完全消除不同維度的權重差異,但該方法中離群點對值域范圍影響較大,導致大多數(shù)值可能集中分布在一個較小的值域中,不適用于檢測離群點的數(shù)據(jù)標準化中。本文采用Z-Score方法,該方法利用各維度的均值和標準差進行標準化,如公式1所示:
i= ,i=1,2,…,n 公式1
其中 = ni=1υi表示項目的均值,σ= 表示項目的標準差。該方法不需要計算最值,且對離群點的標準化效果較好,更適用于體質測試成績數(shù)據(jù)的標準化,因此最終選用該方法對原始數(shù)據(jù)進行標準化。
四、體質測試數(shù)據(jù)異常檢測融合算法(ADF-PFT)
1.體質測試數(shù)據(jù)離群指數(shù)(PFT-OI)
本文提出一種針對體質測試數(shù)據(jù)異常檢測的評價指標——體質測試數(shù)據(jù)離群指數(shù)(Physical Fitness Test Outlier Index,簡稱PFT-OI)。PFT-OI以ADF-PFT算法為核心,以Z-Score標準化的數(shù)據(jù)為基礎,不僅考慮了學生測試數(shù)據(jù)在數(shù)據(jù)總體中的聚類結果,還將歷史數(shù)據(jù)和當前數(shù)據(jù)的差距作為因素之一,結合基于距離和密度的異常檢測思想,綜合度量體質測試數(shù)據(jù)中的異常情況。
定義1:用T(xi )表示PFT-OI,用來度量離群程度,用公式2表示:
T(xi)=αSimk+βSimdis+γSimden 公式2
其中,α、β、γ是權值參數(shù),Simk如公式3所示,表示當前年份體質測試數(shù)據(jù)使用k均值算法聚類的結果的相似度。
Simk=e-2e/KMS(xi,x) 公式3
其中KMS(xi,x)表示在集合X中的xi節(jié)點在使用k均值算法聚類后的結果,也就是節(jié)點xi與其最近的聚類中心的歐式距離。在使用k均值算法聚類的過程中,通過用多組數(shù)據(jù)對k值的多次探測實驗,得到不同k值下所有節(jié)點質心距離的平均值。通過圖1可以看出,當k=5時是拐點,因而對于體質測試數(shù)據(jù)選取k=5是合適的。
定義2:Dist(x,x*)表示x節(jié)點與x*節(jié)點的歐式距離,如公式4所示:
Dist(x,x*)= 公式4
n為節(jié)點的總維度,j為維度標號。
Simdis是節(jié)點與歷史數(shù)據(jù)距離的相似度,根據(jù)歷史數(shù)據(jù)年份數(shù)y有不同的處理方式。當y=0時,說明沒有歷史數(shù)據(jù),相似度為0;當y>0時,需求出當前節(jié)點xi與之前多年數(shù)據(jù)距離的平均值,x*i,j表示所對應的第y年的數(shù)據(jù)節(jié)點。
simdis=0, y=0e y>0 公式5
Simden是節(jié)點與歷史數(shù)據(jù)密度的相似度。本文定義den(xi,x*i)表示當前節(jié)點xi與某年份對應節(jié)點x*i的密度差,如公式6所示:
Den(xi,x*j)= - 公式6
其中Gt (xi)表示距離xi最近的t個節(jié)點的集合,求出與xi最近的t個節(jié)點距離的和的倒數(shù),可以反映出該節(jié)點的附近的密度。根據(jù)歷史數(shù)據(jù)年份數(shù)y,Simden有不同的處理方式。當y=0時,說明沒有歷史數(shù)據(jù),Simden為0;當y>0時,應求出當前節(jié)點與其余各年份節(jié)點密度差的平均值 yj=1Den(xi,x*i,j),公式如下:
Sim =0, y=0e-2ey/ yj=1Den(x ,x ), y>0公式7
PFT-OI是根據(jù)體質測試數(shù)據(jù)的特點,專門針對體質測試數(shù)據(jù)設計的評價指標。它在對異常數(shù)據(jù)的檢測中既能“橫向的”考慮數(shù)據(jù)節(jié)點在本年度其他同學測試數(shù)據(jù)的結構,也能“縱向的”兼顧學生本人的歷史數(shù)據(jù),相比只使用聚類算法的優(yōu)勢主要有:較大程度提高了異常成績的檢出率;較大程度降低了誤檢率。
2.ADF-PFT算法步驟
輸入:多年數(shù)據(jù)集Y={X0,X1,X2,…,Xy}(其中Xy={x1,x2, x3,…,xn}),聚類個數(shù)K,鄰近值t,最大迭代次數(shù)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:如果迭代次數(shù)At 步驟5:根據(jù)公式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},根據(jù) = ∑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}距離和的倒數(shù)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:依據(jù)公式2可得到PFT-OI集合T={T(x1),T(x2),T(x3),…,T(xn)}。
五、實驗結果分析
實驗主要對比傳統(tǒng)k均值聚類算法和PFT-OI兩種方法對異常值的檢測效果。
實驗1采用某高校2015級4878名學生在2015學年和2016學年的體質測試數(shù)據(jù)作為數(shù)據(jù)集,其中男生占比46.3%,女生占比53.7%。取α=1,β=0,γ=0,即傳統(tǒng)k均值聚類算法對2015級2016年體質測試數(shù)據(jù)進行檢測, T(xi)最大的10個同學具體成績如表3所示。
根據(jù)k均值聚類結果的大小從上到下列出異常程度最高的10個結果。從表格中可以觀察出:①有7個同學的立定跳遠成績?yōu)?0cm,推測應該是設備問題導致;②第1條、第2條數(shù)據(jù)是異常程度最高的兩個,但根據(jù)其2015年的成績比較分析,這兩位成績穩(wěn)定、合理,屬于成績極差和極好的同學,不應歸為異常成績,屬于誤檢。
下面使用PFT-OI,取α=0.4,β=0.3,γ=0.3,得到T(xi)最大的10個同學,他們成績如表4所示。
根據(jù)T(xi )大小從上到下列出了異常程度最高的10個結果。從表4可得出:①除立定跳遠成績50cm異常的行外,其余各行都存在明顯的成績異常;②沒有發(fā)現(xiàn)穩(wěn)定、合理的極差成績和極好成績出現(xiàn);③第6條數(shù)據(jù)只看2016年成績時屬于正常成績,但同其2015年成績相比時發(fā)現(xiàn),其50米成績和引體向上差距大,說明具有一定的異常性,用傳統(tǒng)的k均值聚類方法不能檢測出。
實驗2使用某高校2014級2015年、2016年成績和2015級2015年、2016年成績分成若干小組作為數(shù)據(jù)集(20000+條數(shù)據(jù)),取T(xi )較大的前1.5%的數(shù)據(jù)進行誤檢率統(tǒng)計,參數(shù)如表5所示。
由圖2可知,傳統(tǒng)的k均值聚類方法對異常成績檢測的誤檢率較高,PFT-OI相比傳統(tǒng)的k均值聚類方法在誤檢率方面有明顯的降低,尤其是當α=0.4,β=0.3,γ=0.3時,誤檢率達到較低水平。
使用相同數(shù)據(jù)集的情況下,從以上兩個實驗可以看出,PFT-OI相比于傳統(tǒng)k均值聚類方法有較低的誤檢率,大大提升了異常檢測的精度。
六、結束語
傳統(tǒng)的k均值聚類方法對體質測試數(shù)據(jù)進行異常檢測具有高誤檢率的缺點,PFT-OI和ADF-PFT算法的提出有效降低了誤檢率,完善了體質數(shù)據(jù)異常檢測中缺乏縱向關系挖掘的問題。該方法現(xiàn)已著手應用到體質測試成績管理系統(tǒng)中,在體質測試成績分析和管理中可以有效輔助高校體育教師的工作,大大減輕工作量。
在實驗過程中發(fā)現(xiàn),ADF-PFT算法中還存在密度計算復雜度較高和權值優(yōu)化難的問題,這也是筆者在下一步需要解決和研究的主要問題。
參考文獻:
[1]王燕梅.《國家學生體質健康標準(2014修訂)》執(zhí)行偏差問題與矯正措施研究[D].杭州:杭州師范大學,2016.
[2]王軍利.關于學生體質健康測試中存在問題的思考[J].體育學刊,2015,22(1):70-74.
[3]王輝,張玉紅.影響大學生“三大”體質測試數(shù)據(jù)準確性的因素及對策研究[J].吉林體育學院學報,2012,28(4):69-72.
[4]張強,陳詩強.校級大學生體質健康監(jiān)測體系的重構研究[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]郁映卓.基于人體運動特征的異常行為檢測和姿態(tài)識別[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 的智能配電網(wǎng)故障辨識方法[J].電力自動化設備,2016,36(6): 7-12.
[16]秦浩.基于密度的局部離群點挖掘及在入侵檢測中應用研究[D].大連:大連海事大學,2016.
[17]高瀅,劉大有,齊紅,劉赫.一種半監(jiān)督K均值多關系數(shù)據(jù)聚類算法[J].軟件學報,2008(11):2814-2821.
(編輯:魯利瑞)