孫杰
(中國勞動關(guān)系學院應用技術(shù)學院,北京100044)
在教學過程中,難免對學生進行知識學習效果的檢測。在理想情況下,學生的測驗成績是穩(wěn)定的、平穩(wěn)的,但在實際情況下難免出現(xiàn)異常成績情況,這些異常成績情況恰好體現(xiàn)了某些學生在學習過程中的問題及存在的風險。有效檢測學生成績中的異常成績,能夠及時地發(fā)現(xiàn)問題,指導教師教學。
假設在任何一次測驗中所有同學的測驗成績符合正態(tài)分布,且同一個學生在一次測驗中的成績排名是基本穩(wěn)定的。本文采用2016級至2019級本科生共465人的兩次平時測驗成績作為數(shù)據(jù)樣本。通過對所采集數(shù)據(jù)樣本的觀察發(fā)現(xiàn):在測驗成績中,有的同學沒有參加測驗或成績遠低于正常成績。這種情況恰恰說明,某些同學學習過程中可能存在一定的問題。這些學生成績數(shù)據(jù)與一般的測驗成績的高低或特征不一致,這些數(shù)據(jù)對象就是孤立點(outlier)。當訓練數(shù)據(jù)集沒有孤立點污染時,通過訓練數(shù)據(jù)集構(gòu)造模型,通過模型判斷新加入的點是否滿足要求(一般通過閾值判斷),不滿足條件的點稱為異常點(novelty)。孤立點和異常點的檢測和分析是一種十分重要的數(shù)據(jù)挖掘類型。
基于高斯概率密度函數(shù)的異常點檢測,首先利用異常較少的數(shù)據(jù)集擬合出一個高斯分布,當要預測一個樣本是否為異常時,只需將這個新樣本代入高斯分布求出概率,如果概率小于指定的閾值,我們就認為這個樣本是異常的。因此,異常點檢測的關(guān)鍵是訓練數(shù)據(jù)集的收集和閾值的設定。孤立點的檢測不要求用于擬合模型的數(shù)據(jù)純凈,孤立點的檢測有基于統(tǒng)計學的方法[1]、基于聚類的方法[2]、One Class SVM算法[3]和孤立森林算法[4]等多種。本文基于已有學生成績滿足高斯分布的假設,試圖采用FAST-MCD算法對上述異常成績進行檢測,通過構(gòu)建限度橢圓檢測學生測驗成績中的異常成績。
n維正態(tài)向量X=(X1,X2,…,Xn)T的密度函數(shù)為:
其中,
且矩陣B正定的。此時
假設一組有n個樣本的數(shù)據(jù),每個樣本有p個元素,數(shù)據(jù)構(gòu)成X=(x1,x2,…,xp)T,其中,xi=(xi1,xi2,…,xip)T,i=1,2,…,n。經(jīng) 典 的 限 度 橢 圓(Tolerance Ellipse)定義為一組p維數(shù)據(jù)x,其馬氏距離計算如下:
其中xˉ為均值,B是協(xié)方差矩陣,卡方分布的α分位數(shù)。
實驗證明:基于馬氏距離的限度橢圓模型并不能很好地估計孤立點,而基于魯棒距離(the robust distances)的計算方法獲取的限度橢圓模型可以較好地辨識孤立點。魯棒距離的計算方法如下:
FAST-MCD算法的步驟如下:
(1)假設有n個樣本的樣本集X,選取其子集H1,且而和分別是子集H1的均值和協(xié)方差。如果子集則有n個樣本中每個元素到子集H1的距離:
實驗運行在Windows系統(tǒng)中的“Anaconda 3+Python 3.7”環(huán)境下,采集選修《計算機I》課程的465名同學的兩次平時測驗成績?yōu)闃颖军c,其中包含異常成績,所占比例大約為10%。異常成績包含未參加考試的成績?yōu)?或者遠離一般成績范圍的成績。
本文實驗中分別使用經(jīng)驗協(xié)方差(最大似然估計)和魯棒協(xié)方差(最小協(xié)方差估計)兩種方法對兩次學生測驗成績中的孤立點(或稱為異常成績)進行檢測,兩次測驗成績中的異常成績檢測結(jié)果,如圖1所示。
圖1 學生兩次測驗成績中的異常值檢測
可以看出,兩次測驗成績中只要有一次成績較低(或為0),或者兩次測驗成績均較低,即可視為異常成績。另外,雖然經(jīng)驗協(xié)方差方法更容易被離群點影響[5],但在異常成績比例為10%時,兩種檢測方法在成績檢測的最終效果上并沒有太大的差別。
本文實驗中設置異常成績比例為10%,最終篩選出47個點為異常點。刪除異常成績后兩次測驗成績的散點圖,如圖2所示。
圖2 刪除異常成績后兩次測驗成績的散點分布
可以看出,在刪除異常成績之后,學生成績分布更集中,學生兩次測驗成績集中在70~100和65~95之間的數(shù)據(jù)區(qū)域。
當設定成績異常比例為1%時,檢測結(jié)果如圖3所示。
圖3 學生兩次測驗成績中的異常值檢測
可以看出,通過魯棒協(xié)方差方法得到的限度橢圓完全劃分出了其中一個成績?yōu)?的5個數(shù)據(jù)點,而經(jīng)驗協(xié)方差方法卻將第二次測驗成績?yōu)?的一個數(shù)據(jù)點認為是正常的。這也說明魯棒協(xié)方差方法具有更好的穩(wěn)定性,能夠較為合理地檢測異常成績。
最小協(xié)方差估計(MCD)是能夠較好地識別樣本集中的異常點,但由于計算較為復雜,我們采取FAST-MCD算法簡化計算過程。通過實驗發(fā)現(xiàn),F(xiàn)AST-MCD方法能夠較快、較穩(wěn)定地檢測出異常成績。但本文實驗存在一些不足,如依據(jù)經(jīng)驗給出的異常成績的比例比較隨意,缺少理論依據(jù)。因此,在將來的研究中,希望能夠依據(jù)實際采集的樣本值自適應得到異常數(shù)據(jù)的比例。