白王梓松,劉 新,侯 嵐,李亭葳
(1.湘潭大學(xué) 信息工程學(xué)院,湖南 湘潭 411105;2.湘潭大學(xué) 公共管理學(xué)院,湖南 湘潭 411105)
大學(xué)生體質(zhì)健康測(cè)試是根據(jù)教育部頒發(fā)的《國(guó)家學(xué)生體質(zhì)健康標(biāo)準(zhǔn)(2014年修訂)》所進(jìn)行的全國(guó)性的大學(xué)生身體素質(zhì)情況檢測(cè)。目的是促進(jìn)學(xué)生加強(qiáng)體質(zhì)鍛煉,養(yǎng)成良好的鍛煉習(xí)慣,提高自身體質(zhì)健康水平。該測(cè)試實(shí)行多年以來(lái),為提高我國(guó)大學(xué)生體質(zhì)水平起到了積極的作用。體質(zhì)測(cè)試成績(jī)是反映學(xué)生體質(zhì)水平的重要數(shù)據(jù),對(duì)該數(shù)據(jù)進(jìn)行分析研究可以了解大學(xué)生整體的體質(zhì)健康狀態(tài),發(fā)現(xiàn)不足,預(yù)測(cè)學(xué)生健康發(fā)展趨勢(shì),從而更好地指導(dǎo)大學(xué)生進(jìn)行體育鍛煉。
我們?cè)趯?duì)體質(zhì)測(cè)試數(shù)據(jù)收集和處理過(guò)程中發(fā)現(xiàn),由于學(xué)生作弊、流程不規(guī)范、設(shè)備誤差、人為修改、學(xué)生消極懈怠等因素,收集到的部分?jǐn)?shù)據(jù)是不真實(shí)、不準(zhǔn)確的,不能真實(shí)反映學(xué)生的體質(zhì)水平,對(duì)研究工作造成了一定的干擾[1-4],因此對(duì)異常數(shù)據(jù)的檢測(cè)十分必要。
異常檢測(cè)在體質(zhì)測(cè)試數(shù)據(jù)的具體應(yīng)用中也可以稱為體質(zhì)測(cè)試數(shù)據(jù)的離群點(diǎn)檢測(cè),而目前離群點(diǎn)檢測(cè)技術(shù)主要有基于統(tǒng)計(jì)方法、基于鄰近方法、基于分類方法、基于聚類方法幾種類型[5]。其中基于鄰近方法可以分為基于距離和基于密度的離群點(diǎn)檢測(cè)方法,現(xiàn)今比較常用的主要是基于距離方法、基于密度方法和基于聚類的方法。Zhang[6]等人使用基于距離的LOF算法對(duì)智能配電網(wǎng)故障進(jìn)行檢測(cè);Lv[7]等人將基于密度的離群點(diǎn)檢測(cè)技術(shù)運(yùn)用到復(fù)雜數(shù)據(jù)集中;Fabian[8]、郁映卓[9]使用k均值聚類算法檢測(cè)人體運(yùn)動(dòng)特征的異常行為。但以上各類異常檢測(cè)技術(shù)都不能完全適用于具有多維、少樣本時(shí)序等特性的體質(zhì)測(cè)試數(shù)據(jù)的異常檢測(cè)中。
本文針對(duì)體質(zhì)測(cè)試中各種情況產(chǎn)生的異常數(shù)據(jù)的問(wèn)題,以體質(zhì)測(cè)試成績(jī)系統(tǒng)為平臺(tái),綜合k均值聚類算法、基于距離的異常檢測(cè)思想、基于密度的異常檢測(cè)思想,結(jié)合學(xué)生的歷史數(shù)據(jù),提出了一種體質(zhì)測(cè)試數(shù)據(jù)異常檢測(cè)融合算法(Anomaly Detection Fusion Algorithm for Physical Fitness Test Data,簡(jiǎn)稱 ADF-PFT),以便對(duì)異常數(shù)據(jù)進(jìn)行重測(cè)、剔除等進(jìn)一步處理。
根據(jù)《國(guó)家學(xué)生體質(zhì)健康標(biāo)準(zhǔn) (2014年修訂)》(簡(jiǎn)稱《標(biāo)準(zhǔn)》)對(duì)大學(xué)生體質(zhì)健康測(cè)試的要求,需要對(duì)學(xué)生BMI、肺活量、50米跑、1000米跑/800米跑、立定跳遠(yuǎn)、坐位體前屈、引體向上/一分鐘仰臥起坐進(jìn)行測(cè)試。根據(jù)《標(biāo)準(zhǔn)》中的要求和高校體質(zhì)測(cè)試的具體實(shí)踐,總結(jié)出體質(zhì)測(cè)試數(shù)據(jù)有如下特點(diǎn):①多維性;②各項(xiàng)目計(jì)量單位不同,數(shù)據(jù)值域范圍差別大;③有歷史數(shù)據(jù)參考。
按照《標(biāo)準(zhǔn)》對(duì)總分的計(jì)算方法,學(xué)生的體質(zhì)測(cè)試總分由多個(gè)子項(xiàng)目的得分按照不同權(quán)值相加得到。各個(gè)檢測(cè)項(xiàng)目所評(píng)價(jià)的身體素質(zhì)之間有著某些關(guān)聯(lián),對(duì)單個(gè)項(xiàng)目進(jìn)行異常檢測(cè)研究是片面的,對(duì)所有項(xiàng)目數(shù)據(jù)組成整體的異常檢測(cè)才具備研究意義。表1中的成績(jī)是某同學(xué)完整體質(zhì)測(cè)試數(shù)據(jù),如只對(duì)引體向上單個(gè)項(xiàng)目進(jìn)行研究,會(huì)發(fā)現(xiàn)該同學(xué)引體向上成績(jī)非常好,遠(yuǎn)超過(guò)平均水平,據(jù)此可能會(huì)判定該成績(jī)是異常成績(jī)。但實(shí)際分析各項(xiàng)成績(jī)后發(fā)現(xiàn),該同學(xué)各項(xiàng)成績(jī)都非常出眾,可以綜合判斷該同學(xué)身體素質(zhì)比較好,因此引體向上的成績(jī)也比較可信。整體研究就是多維數(shù)據(jù)研究,對(duì)多維數(shù)據(jù)的處理是需要解決的第一個(gè)問(wèn)題。
表1 某同學(xué)體質(zhì)測(cè)試數(shù)據(jù)
各測(cè)試項(xiàng)目的指標(biāo)、評(píng)價(jià)內(nèi)容、計(jì)量方式等的不同,導(dǎo)致測(cè)試結(jié)果的值域范圍也不同,從而造成了在異常檢測(cè)時(shí)值域范圍大的項(xiàng)目對(duì)結(jié)果影響明顯。如表2中,除肺活量和50米外其余項(xiàng)目成績(jī)浮動(dòng)都相同,但少量的肺活量浮動(dòng)(1號(hào)數(shù)據(jù))和大幅度提高的50米成績(jī)(2號(hào)數(shù)據(jù))歐式距離對(duì)比發(fā)現(xiàn),1號(hào)數(shù)據(jù)的歐氏距離更大,這種直接計(jì)算的方式不符合異常檢測(cè)的效果要求。為了平衡各項(xiàng)目數(shù)據(jù)值域范圍不同造成的影響,需要運(yùn)用一定的方法對(duì)數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化,使各數(shù)據(jù)既能在同一值域中浮動(dòng),也能不失去數(shù)據(jù)本身包含的信息,使用何種方法對(duì)數(shù)據(jù)標(biāo)準(zhǔn)化就是需要解決的第二個(gè)問(wèn)題。
表2 不同項(xiàng)目數(shù)據(jù)浮動(dòng)對(duì)歐氏距離的影響
人體體質(zhì)變化的規(guī)律是循序漸進(jìn)的,排除環(huán)境等的影響,個(gè)體的鍛煉、飲食、生活習(xí)慣通常也比較固定,在短時(shí)間內(nèi)身體素質(zhì)大幅度變動(dòng)的可能性較小,倘若能將歷史數(shù)據(jù)作為異常檢測(cè)的條件之一,將大大提升異常檢測(cè)的效果。傳統(tǒng)異常檢測(cè)技術(shù)使用標(biāo)準(zhǔn)化的數(shù)據(jù)處理雖然可以解決多維性和值域范圍不同對(duì)檢測(cè)結(jié)果的影響,但是卻沒(méi)有將歷史數(shù)據(jù)作為異常檢測(cè)的因素,缺少了一種有價(jià)值的、可靠的參考依據(jù),影響其異常檢測(cè)結(jié)果的實(shí)際效果。
使用體質(zhì)測(cè)試成績(jī)系統(tǒng)中的成績(jī)導(dǎo)入功能,將原始測(cè)試數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫(kù)時(shí),通常有部分不滿足要求,不能直接計(jì)算成績(jī)。主要有以下幾類:①空白數(shù)據(jù)和缺項(xiàng)數(shù)據(jù);②數(shù)據(jù)項(xiàng)有無(wú)關(guān)空白字符;③數(shù)據(jù)項(xiàng)中圓角半角符號(hào)混用;④學(xué)生班級(jí)異動(dòng);⑤可更新成績(jī)。
對(duì)于空白數(shù)據(jù)和缺項(xiàng)數(shù)據(jù)、學(xué)生班級(jí)異動(dòng)的情況,只存儲(chǔ)于數(shù)據(jù)庫(kù)中,不計(jì)算成績(jī)是較好的處理方式;對(duì)②和③中涉及的問(wèn)題,可以依據(jù)數(shù)據(jù)項(xiàng)逐條檢測(cè)情況,將異常字符剔除或替換為規(guī)范字符;對(duì)可更新成績(jī)數(shù)據(jù),需要使用摘要算法比對(duì)成績(jī)是否有變化,并判斷成績(jī)是提高還是降低,最終保留較高的成績(jī)。
多維數(shù)據(jù)值域范圍的不同對(duì)聚類、距離和密度的計(jì)算結(jié)果有很大影響。體質(zhì)測(cè)試的各個(gè)項(xiàng)目所測(cè)試的指標(biāo)不同,單位也不盡相同,數(shù)據(jù)值域的不同導(dǎo)致值域范圍大的項(xiàng)目對(duì)異常檢測(cè)的結(jié)果影響大,值域小的項(xiàng)目對(duì)結(jié)果影響小。本文提出的ADF-PFT算法對(duì)每個(gè)項(xiàng)目的權(quán)重要求是相同的,因而數(shù)據(jù)標(biāo)準(zhǔn)化也就勢(shì)在必行。
目前數(shù)據(jù)標(biāo)準(zhǔn)化有多種方法,如小數(shù)定標(biāo)標(biāo)準(zhǔn)化、最值標(biāo)準(zhǔn)化、Z-Score標(biāo)準(zhǔn)化等。小數(shù)定標(biāo)標(biāo)準(zhǔn)化方法通過(guò)調(diào)整小數(shù)點(diǎn)的位置,使所有的維度的值域在[-1,1]上來(lái)達(dá)到標(biāo)準(zhǔn)化的目的。該方法直觀簡(jiǎn)單、易于實(shí)現(xiàn),但其不能完全消除不同維度間的權(quán)值差異。最值標(biāo)準(zhǔn)化方法是對(duì)各維度進(jìn)行線性變換,使原來(lái)值域?yàn)閇υmin,υmax]的項(xiàng)目值域落在上,該方法可以靈活指定,并且可以完全消除不同維度的權(quán)重差異,但該方法中離群點(diǎn)對(duì)值域范圍影響較大,導(dǎo)致大多數(shù)值可能集中分布在一個(gè)較小的值域中,不適用于檢測(cè)離群點(diǎn)的數(shù)據(jù)標(biāo)準(zhǔn)化中。本文采用Z-Score方法,該方法利用各維度的均值和標(biāo)準(zhǔn)差進(jìn)行標(biāo)準(zhǔn)化,如公式1所示:
本文提出一種針對(duì)體質(zhì)測(cè)試數(shù)據(jù)異常檢測(cè)的評(píng)價(jià)指標(biāo)——體質(zhì)測(cè)試數(shù)據(jù)離群指數(shù)(Physical Fitness Test Outlier Index,簡(jiǎn)稱 PFT-OI)。 PFT-OI以 ADF-PFT 算法為核心,以Z-Score標(biāo)準(zhǔn)化的數(shù)據(jù)為基礎(chǔ),不僅考慮了學(xué)生測(cè)試數(shù)據(jù)在數(shù)據(jù)總體中的聚類結(jié)果,還將歷史數(shù)據(jù)和當(dāng)前數(shù)據(jù)的差距作為因素之一,結(jié)合基于距離和密度的異常檢測(cè)思想,綜合度量體質(zhì)測(cè)試數(shù)據(jù)中的異常情況。
定義1:用T(xi)表示PFT-OI,用來(lái)度量離群程度,用公式2表示:
其中,α、β、γ 是權(quán)值參數(shù),Simk如公式 3所示,表示當(dāng)前年份體質(zhì)測(cè)試數(shù)據(jù)使用k均值算法聚類的結(jié)果的相似度。
其中KMS(xi,x)表示在集合X中的xi節(jié)點(diǎn)在使用k均值算法聚類后的結(jié)果,也就是節(jié)點(diǎn)xi與其最近的聚類中心的歐式距離。在使用k均值算法聚類的過(guò)程中,通過(guò)用多組數(shù)據(jù)對(duì)k值的多次探測(cè)實(shí)驗(yàn),得到不同k值下所有節(jié)點(diǎn)質(zhì)心距離的平均值。通過(guò)圖1可以看出,當(dāng)k=5時(shí)是拐點(diǎn),因而對(duì)于體質(zhì)測(cè)試數(shù)據(jù)選取k=5是合適的。
圖1 多組k均值聚類結(jié)果圖
定義2:Dist(x,x*)表示x節(jié)點(diǎn)與x*節(jié)點(diǎn)的歐式距離,如公式4所示:
n為節(jié)點(diǎn)的總維度,j為維度標(biāo)號(hào)。
Simdis是節(jié)點(diǎn)與歷史數(shù)據(jù)距離的相似度,根據(jù)歷史數(shù)據(jù)年份數(shù)y有不同的處理方式。當(dāng)y=0時(shí),說(shuō)明沒(méi)有歷史數(shù)據(jù),相似度為0;當(dāng)y>0時(shí),需求出當(dāng)前節(jié)點(diǎn)xi與之前多年數(shù)據(jù)距離的平均值,x*i,j表示所對(duì)應(yīng)的第y年的數(shù)據(jù)節(jié)點(diǎn)。
Simden是節(jié)點(diǎn)與歷史數(shù)據(jù)密度的相似度。本文定義表示當(dāng)前節(jié)點(diǎn)xi與某年份對(duì)應(yīng)節(jié)點(diǎn)的密度差,如公式6所示:
其中Gt(xi)表示距離xi最近的t個(gè)節(jié)點(diǎn)的集合,求出與xi最近的t個(gè)節(jié)點(diǎn)距離的和的倒數(shù),可以反映出該節(jié)點(diǎn)的附近的密度。根據(jù)歷史數(shù)據(jù)年份數(shù)y,Simden有不同的處理方式。當(dāng)y=0時(shí),說(shuō)明沒(méi)有歷史數(shù)據(jù),Simden為0;當(dāng)y>0時(shí),應(yīng)求出當(dāng)前節(jié)點(diǎn)與其余各年份節(jié)點(diǎn)密度差的平均值公式如下:
PFT-OI是根據(jù)體質(zhì)測(cè)試數(shù)據(jù)的特點(diǎn),專門針對(duì)體質(zhì)測(cè)試數(shù)據(jù)設(shè)計(jì)的評(píng)價(jià)指標(biāo)。它在對(duì)異常數(shù)據(jù)的檢測(cè)中既能“橫向的”考慮數(shù)據(jù)節(jié)點(diǎn)在本年度其他同學(xué)測(cè)試數(shù)據(jù)的結(jié)構(gòu),也能“縱向的”兼顧學(xué)生本人的歷史數(shù)據(jù),相比只使用聚類算法的優(yōu)勢(shì)主要有:較大程度提高了異常成績(jī)的檢出率;較大程度降低了誤檢率。
輸入:多年數(shù)據(jù)集 Y={X0,X1,X2,…,Xy}(其中 Xy={x1,x2,x3,…,xn}),聚類個(gè)數(shù) K,鄰近值 t,最大迭代次數(shù) AtMax,權(quán)值 α、β、γ。
輸出:PFT-OI集合 T={T(x1),T(x2),T(x3),…,T(xn)}
步驟1:隨機(jī)選取K=5個(gè)點(diǎn)Xc={xc1,xc2,xc3,xc4,xc5}∈X0作為初始質(zhì)心;
步驟2:對(duì)于X0中每個(gè)點(diǎn)求出dist(xi,xcj)min;i=1,2,3,…,n;j=1,2,…,K;令 λi=j;
步驟3:對(duì)于每一類的中心點(diǎn)xcj進(jìn)行更新,計(jì)算λi=j 的所有點(diǎn) Xcj各維度的平均值
步驟 4:如果迭代次數(shù) At<AtMax,At++,轉(zhuǎn)到步驟 2;
步驟5:根據(jù)公式4,得到X0中各點(diǎn)到其聚類中心的歐氏距離集合D={KMS(x1,X0),KMS(x2,X0),…,KMS(xn,X0)},按照公式3求出k均值聚類結(jié)果相似度集合,Simk={SK1,SK2,…,SKn};
步驟 6:若 y=0,則 Simdis=0,轉(zhuǎn)到步驟 8;若 y>0,轉(zhuǎn)到步驟7;
步驟 7:對(duì)于集合 Y={X0,X1,X2,…,Xy},根據(jù)求出各集合X0與Xy對(duì)應(yīng)點(diǎn)的歐式距離平均值集合按照公式 5 求出歷史距離相似度集合 Simdis={SDI1,SDI2,…,SDIn};
步驟 8:若 y=0,則 Simden=0,轉(zhuǎn)到步驟 10;若 y>0,轉(zhuǎn)到步驟9;
步驟9:對(duì)于集合Y={X0,X1,X2,…,Xy},求出每個(gè)點(diǎn)在對(duì)應(yīng)子集合中的密度,即距離該點(diǎn)最近的t個(gè)點(diǎn)Xt(xi)={xt1,xt2,…,xtt}距離和的倒數(shù) m=1/(∑xk∈Xt(xi)Dist(xi,xk),Yden={M0,M1,…,My},其中 M={m1,m2,…,mn},求出各點(diǎn)與對(duì)應(yīng)點(diǎn)密度差的均值按照公式 7 求出歷史密度差相似度集合Simden={SDE1,SDE2,…,SDEn};
表3 2015級(jí)2016年數(shù)據(jù)離群程度最大10個(gè)成績(jī)(傳統(tǒng)k均值算法)
表4 2015級(jí)2016年數(shù)據(jù)離群程度最大10個(gè)成績(jī)(PFT-OI)
步驟10:依據(jù)公式2可得到PFT-OI集合T={T(x1),T(x2),T(x3),…,T(xn)}。
實(shí)驗(yàn)主要對(duì)比傳統(tǒng)k均值聚類算法和PFT-OI兩種方法對(duì)異常值的檢測(cè)效果。
實(shí)驗(yàn)1采用某高校2015級(jí)4878名學(xué)生在2015學(xué)年和2016學(xué)年的體質(zhì)測(cè)試數(shù)據(jù)作為數(shù)據(jù)集,其中男生占比 46.3%,女生占比 53.7%。取 α=1,β=0,γ=0,即傳統(tǒng)k均值聚類算法對(duì)2015級(jí)2016年體質(zhì)測(cè)試數(shù)據(jù)進(jìn)行檢測(cè),T(xi)最大的10個(gè)同學(xué)具體成績(jī)?nèi)绫?所示。
根據(jù)k均值聚類結(jié)果的大小從上到下列出異常程度最高的10個(gè)結(jié)果。從表格中可以觀察出:①有7個(gè)同學(xué)的立定跳遠(yuǎn)成績(jī)?yōu)?0cm,推測(cè)應(yīng)該是設(shè)備問(wèn)題導(dǎo)致;②第1條、第2條數(shù)據(jù)是異常程度最高的兩個(gè),但根據(jù)其2015年的成績(jī)比較分析,這兩位成績(jī)穩(wěn)定、合理,屬于成績(jī)極差和極好的同學(xué),不應(yīng)歸為異常成績(jī),屬于誤檢。
下面使用 PFT-OI,取 α=0.4,β=0.3,γ=0.3,得到 T(xi)最大的10個(gè)同學(xué),他們成績(jī)?nèi)绫?所示。
根據(jù)T(xi)大小從上到下列出了異常程度最高的10個(gè)結(jié)果。從表4可得出:①除立定跳遠(yuǎn)成績(jī)50cm異常的行外,其余各行都存在明顯的成績(jī)異常;②沒(méi)有發(fā)現(xiàn)穩(wěn)定、合理的極差成績(jī)和極好成績(jī)出現(xiàn);③第6條數(shù)據(jù)只看2016年成績(jī)時(shí)屬于正常成績(jī),但同其2015年成績(jī)相比時(shí)發(fā)現(xiàn),其50米成績(jī)和引體向上差距大,說(shuō)明具有一定的異常性,用傳統(tǒng)的k均值聚類方法不能檢測(cè)出。
實(shí)驗(yàn)2使用某高校2014級(jí)2015年、2016年成績(jī)和2015級(jí)2015年、2016年成績(jī)分成若干小組作為數(shù)據(jù)集 (20000+條數(shù)據(jù)),取T(xi)較大的前1.5%的數(shù)據(jù)進(jìn)行誤檢率統(tǒng)計(jì),參數(shù)如表5所示。
表5 實(shí)驗(yàn)2參數(shù)設(shè)定表
由圖2可知,傳統(tǒng)的k均值聚類方法對(duì)異常成績(jī)檢測(cè)的誤檢率較高,PFT-OI相比傳統(tǒng)的k均值聚類方法在誤檢率方面有明顯的降低,尤其是當(dāng)α=0.4,β=0.3,γ=0.3時(shí),誤檢率達(dá)到較低水平。
圖2 7組數(shù)據(jù)誤檢率統(tǒng)計(jì)圖
使用相同數(shù)據(jù)集的情況下,從以上兩個(gè)實(shí)驗(yàn)可以看出,PFT-OI相比于傳統(tǒng)k均值聚類方法有較低的誤檢率,大大提升了異常檢測(cè)的精度。
傳統(tǒng)的k均值聚類方法對(duì)體質(zhì)測(cè)試數(shù)據(jù)進(jìn)行異常檢測(cè)具有高誤檢率的缺點(diǎn),PFT-OI和ADF-PFT算法的提出有效降低了誤檢率,完善了體質(zhì)數(shù)據(jù)異常檢測(cè)中缺乏縱向關(guān)系挖掘的問(wèn)題。該方法現(xiàn)已著手應(yīng)用到體質(zhì)測(cè)試成績(jī)管理系統(tǒng)中,在體質(zhì)測(cè)試成績(jī)分析和管理中可以有效輔助高校體育教師的工作,大大減輕工作量。
在實(shí)驗(yàn)過(guò)程中發(fā)現(xiàn),ADF-PFT算法中還存在密度計(jì)算復(fù)雜度較高和權(quán)值優(yōu)化難的問(wèn)題,這也是筆者在下一步需要解決和研究的主要問(wèn)題。