葛蘇慧 萬 泉 白成杰
1(青島工學(xué)院信息工程學(xué)院 山東 青島 266300) 2(山東師范大學(xué)信息科學(xué)與工程學(xué)院 山東 濟(jì)南 250358)
大數(shù)據(jù)帶來的信息風(fēng)暴正在改變著人們的日常生活、工作模式和思維方式,但目前很多高校教育管理手段存在諸多弊端,管理方式大多停留在宣傳教育、定期檢查階段,管理模式多數(shù)是事后分析,管理手段既落后又被動,很難適應(yīng)大數(shù)據(jù)時代智慧校園智能管控的要求。學(xué)業(yè)危機(jī)、安全危機(jī)、心理危機(jī)、就業(yè)危機(jī)、輿情危機(jī)等成為高校學(xué)生管理亟須解決的問題。因此,大數(shù)據(jù)背景下,要求高校管理者轉(zhuǎn)變思維,運(yùn)用大數(shù)據(jù)分析技術(shù),開展多維、動態(tài)、全面、智能的教育管理新模式,建立動態(tài)的預(yù)警決策機(jī)制,主動掌握學(xué)生生活、學(xué)習(xí)、行為規(guī)律,對不良思想行為做到事先警示教育、事后跟蹤管理,從而實(shí)現(xiàn)個性化的管理新模式,探索實(shí)效性的管理新路徑。
本文主要利用Hadoop大數(shù)據(jù)框架及HDFS、Map-Reduce、Spark、Kafka、Flume大數(shù)據(jù)技術(shù)研發(fā)智慧校園預(yù)警決策系統(tǒng),使用Kafka、Flume進(jìn)行日志采集,HDFS為海量學(xué)生校內(nèi)軌跡數(shù)據(jù)提供存儲,MapReduce提供并行運(yùn)算,從而提供動態(tài)的學(xué)生校內(nèi)行為軌跡地圖和查詢功能。利用基于距離的聚類方法,對經(jīng)過降維后的學(xué)生特征數(shù)據(jù)進(jìn)行分類,分離出偏離中心點(diǎn)的狀態(tài)異常的學(xué)生;使用Echart、D3.js可視化呈現(xiàn),采用SaaS形式交付,生成“學(xué)生畫像”對學(xué)生行為進(jìn)行監(jiān)控、預(yù)警、根源分析的閉環(huán)管理,并通過網(wǎng)頁版和手機(jī)版html5技術(shù)以微信、短信的方式主動推送預(yù)警,實(shí)現(xiàn)異常事件的閉環(huán)管理,為智慧校園的學(xué)生行為管理提供智能的手段,實(shí)現(xiàn)一種全新的智能管控新思路。
Hadoop是一個開源的海量數(shù)據(jù)處理框架,最核心的設(shè)計是HDFS和MapReduce,HDFS為海量數(shù)據(jù)提供存儲和管理功能,處理非結(jié)構(gòu)化的數(shù)據(jù),MapReduce自動實(shí)現(xiàn)分布式并行計算,二者的巧妙結(jié)合使Hadoop擁有了高效的存儲和計算能力[1]。Hadoop可利用集群實(shí)現(xiàn)對海量數(shù)據(jù)的高效專業(yè)化處理,是一個對大規(guī)模數(shù)據(jù)存儲、計算、分析、挖掘的軟件平臺,具有低成本、高效率等優(yōu)點(diǎn),能可靠地存儲和處理PB級的數(shù)據(jù)[2-3]。
本文利用Hadoop框架的分布式文件系統(tǒng)HDFS和MapReduce對智慧校園多維學(xué)生軌跡數(shù)據(jù)進(jìn)行數(shù)據(jù)清洗、建模、計算、分析與可視化呈現(xiàn),HDFS負(fù)責(zé)學(xué)生多維校內(nèi)行為軌跡的存儲和管理[4],MapReduce負(fù)責(zé)對大規(guī)模數(shù)據(jù)集的并行處理。Hadoop能將一臺機(jī)器的計算能力無限次、高速地復(fù)制到集群機(jī)上,使集群具有超強(qiáng)的計算能力,不斷擴(kuò)充處理速度與運(yùn)算能力[5-7]。
基于Hadoop的高校學(xué)生行為預(yù)警決策系統(tǒng)分為權(quán)限管理、安全認(rèn)證、技術(shù)支撐四層模型、預(yù)警決策可視化呈現(xiàn)[8-9]四大部分。其中技術(shù)支撐四層模型分為數(shù)據(jù)采集層、運(yùn)行數(shù)據(jù)層、核心能力層、場景應(yīng)用層。數(shù)據(jù)采集層對學(xué)生的歷史數(shù)據(jù)、點(diǎn)擊流、實(shí)時日志等數(shù)據(jù)市場的數(shù)據(jù)進(jìn)行采集;運(yùn)行數(shù)據(jù)層利用Hadoop集群、云存儲、云數(shù)據(jù)庫等對多維數(shù)據(jù)進(jìn)行計算;核心能力層是對計算之后的數(shù)據(jù)進(jìn)行清洗、建模、分析,實(shí)現(xiàn)即時查詢;場景應(yīng)用層對數(shù)據(jù)進(jìn)行可視化呈現(xiàn)[10-11]。權(quán)限管理分用戶管理、角色管理、用戶組管理、文件管理。安全認(rèn)證可以分為iPaas、Ldap和Kerberos三類。預(yù)警決策系統(tǒng)可實(shí)現(xiàn)校園足跡、行為軌跡實(shí)時監(jiān)測、預(yù)警反饋、預(yù)警信息主動推送,并利用Echart、D3.js可視化呈現(xiàn),采用SaaS形式交付。該預(yù)警決策系統(tǒng)整體結(jié)構(gòu)如圖1所示。
圖1 預(yù)警決策系統(tǒng)整體結(jié)構(gòu)圖
通過高校智慧校園中的校園信息化基礎(chǔ)設(shè)施以及物聯(lián)網(wǎng)、智能感知、云計算等技術(shù),利用Kafka、Flume大數(shù)據(jù)采集工具,收集學(xué)生的靜態(tài)和動態(tài)特征屬性,靜態(tài)屬性包括姓名、性別、專業(yè)、年級、宿舍、年齡、籍貫、愛好等特征;動態(tài)屬性包括課堂考勤信息、線上線下學(xué)習(xí)情況、圖書館借閱情況、宿舍回歸率、門禁系統(tǒng)、校園一卡通、餐廳就餐情況、校內(nèi)上網(wǎng)情況、洗澡頻率等數(shù)據(jù)。通過大數(shù)據(jù)采集工具實(shí)現(xiàn)海量學(xué)生校內(nèi)軌跡數(shù)據(jù)的抓取與存儲,將多維的學(xué)生活動狀態(tài)數(shù)據(jù)進(jìn)行集成分類存儲,生成學(xué)生在校畫像屬性值。把軌跡數(shù)據(jù)的屬性值進(jìn)行分類,將當(dāng)前時刻數(shù)據(jù)屬性值的樣本,合并上一個周期采集到的并且已經(jīng)處理完畢的數(shù)據(jù)屬性值的樣本進(jìn)行清洗,采用曼哈頓函數(shù)計算目標(biāo)區(qū)域?yàn)榘霃街獾臄?shù)據(jù)距離本域中心點(diǎn)的偏離距離。然后計算某個屬性的異常度,通過排序設(shè)定一定的閾值,將所有離群點(diǎn)的偏離程度進(jìn)行比對,判斷該點(diǎn)與本域中心點(diǎn)之間的偏離距離,計算每個屬性值的異常情況[12-15]。步驟如下:
依據(jù)n個數(shù)據(jù)的屬性值,設(shè)每個屬性值的數(shù)據(jù)為m維,S(t0)為這次數(shù)據(jù)屬性值的樣本,不同時刻tk(tk∈[T,t0])采集到的數(shù)據(jù)屬性值的樣本為S(tk),因?yàn)樾?nèi)軌跡數(shù)據(jù)的時序性,需要把當(dāng)前時刻屬性值的樣本用式(1)合并上一周期已處理完的“干凈”數(shù)據(jù)進(jìn)行清洗。
(1)
式中:Sc(t-1)表示t-1時刻清洗完畢的軌跡數(shù)據(jù);r(Sc(t-1))表示對t-1時刻數(shù)據(jù)采集的結(jié)果;S+(t0)表示當(dāng)前時刻與上一周期合并之后待處理的數(shù)據(jù)集,為了防止較高密度簇影響異常數(shù)據(jù)的分離需要將冗余刪除。
設(shè)s為軌跡數(shù)據(jù)屬性值集合S+(t0)中的點(diǎn),區(qū)域半徑RAD(s)表示分析目標(biāo)距離中心點(diǎn)為第k遠(yuǎn)的對象的曼哈頓長度:
d(i,j)=∑|Xik-Xjk|
(2)
式中:Xik和Xjk表示第k遠(yuǎn)對象的坐標(biāo)值。
把點(diǎn)s作為本域的中心,該區(qū)域包含k個對象,這些對象的集合為Nk(s)。由此可以得出結(jié)論,分布不均勻的、密度較大的區(qū)域RAD(s)較小,反之密度較小的區(qū)域RAD(s)則較大。
定義點(diǎn)s與點(diǎn)p之間的距離:
REA(s,p)=max{RAD(Pp),d(s,p)}
(3)
利用式(3)可以求出軌跡數(shù)據(jù)集合S+(t0)內(nèi)的第i個屬性值的異常度LOF(si),對其排序,然后設(shè)置最大的閾值,從而分離出偏離中心點(diǎn)的異常數(shù)據(jù)。
(4)
式中:Lnr(p)和Lnr(s)分別為點(diǎn)p和點(diǎn)s的閾值長度。
(5)
式中:Lrdk(s)為Nk(p)軌跡數(shù)據(jù)集合中平均可達(dá)距離密度的倒數(shù)。
由式(3)、式(4)、式(5)可知,如果點(diǎn)s偏離中心點(diǎn)的距離較小,那么對于同一屬性的軌跡數(shù)據(jù)的可達(dá)距離RAD(s)則較大,并且分布較為均勻;反之如果點(diǎn)s是偏離中心距離較遠(yuǎn)的異常點(diǎn),那么可達(dá)密度的方差就較大,證明該點(diǎn)距離所有簇都相對較遠(yuǎn),通過設(shè)置閾值計算偏離中心點(diǎn)的異常數(shù)據(jù)。
利用Hadoop框架的HDFS、MapReduce技術(shù),采用分布式文件系統(tǒng)和并行計算,將學(xué)生的靜態(tài)和動態(tài)特征屬性貼上標(biāo)簽,生成協(xié)方差特征矩陣的特征值及特征向量,使用主成分分析法進(jìn)行降維處理,提取關(guān)鍵特征值,利用基于距離的方法進(jìn)行聚類分析,將多維數(shù)據(jù)進(jìn)行歸一化處理。把嚴(yán)重偏離中心點(diǎn)的學(xué)生特征異常信息提取出來,從而分離出學(xué)生的異常狀態(tài),對異常行為作出科學(xué)的預(yù)測和研判。
主成分分析法利用降維的思想,使用線性變換的方法,將給定的一組相關(guān)變量轉(zhuǎn)換成另一組不相關(guān)的變量,轉(zhuǎn)換之后的新的變量按照方差依次遞減的順序排列,在數(shù)學(xué)變換中保持變量的總方差不變[16-18]。利用主成分分析法,首先計算學(xué)生樣本屬性的協(xié)方差矩陣,再求出協(xié)方差矩陣的特征向量,根據(jù)這些特征向量生成變換矩陣的行向量,最后依據(jù)數(shù)據(jù)協(xié)方差矩陣的特征向量構(gòu)成新的坐標(biāo)系的基矢量。根據(jù)學(xué)生不同屬性向量的特征可以得到如下結(jié)論。樣本集在較大特征值對應(yīng)的特征向量上的投影方差較大,所以該分量對于區(qū)分樣本的貢獻(xiàn)就較大[19-20]。由此可見,通過主成分分析法可以清晰地找出區(qū)分性大的維和區(qū)分性不大的維。主成分分析法的具體實(shí)現(xiàn)步驟如下:
(1) 將n個學(xué)生,每個學(xué)生的m個特性屬性數(shù)據(jù),構(gòu)成n行m列的在校畫像矩陣S:
(6)
如果用j來表示學(xué)生畫像的某一項屬性,那么所有學(xué)生的這一項屬性xj可表示為:
(7)
(8)
(3) 將學(xué)生畫像屬性矩陣S進(jìn)行計算,得出協(xié)方差矩陣R:
(9)
為了使統(tǒng)計分析的結(jié)果達(dá)到更好的處理效果,需要對學(xué)生特征屬性的多維數(shù)據(jù)進(jìn)行歸一化處理,把經(jīng)過數(shù)據(jù)清洗、處理之后的特征矩陣代替原來的矩陣S,式(10)可以計算特征矩陣S的有關(guān)系數(shù)。
(10)
(4) 特征值表示為λ,協(xié)方差矩陣R的特征值λi=(λi1,λi2,…,λim),特征向量ɑi=(ɑi1,ɑi2,…,ɑim),貢獻(xiàn)率w由式(11)計算,特征值λi的貢獻(xiàn)率為w。
(11)
(5) 從標(biāo)準(zhǔn)化處理之后的學(xué)生的特征屬性數(shù)據(jù)中選擇主成分,按照貢獻(xiàn)率w將學(xué)生的特征屬性值由高到低降序排列,根據(jù)統(tǒng)計的實(shí)際需要提取屬性的前若干行,從而形成降維后的學(xué)生特征矩陣S。
(6) 采用KHM(K-HarmonicMeans)算法對特征矩陣S進(jìn)行聚類分析,如圖2所示,該算法根據(jù)式(12)最終計算出每個學(xué)生的特征屬性數(shù)據(jù)到各聚類中心的調(diào)和平均值的和。
圖2 學(xué)業(yè)成績分析
(12)
式中:第i個學(xué)生的m個特征表示為Si={Si1,Si2,…,Sim},第l個聚類中心表示為Cl=[Cl1,Cl2,…,Clm],第i個學(xué)生到中心點(diǎn)l的距離為d(Si,Cl)。利用初始值通過公式不斷迭代,最終使得各類趨于穩(wěn)定,從而分離出狀態(tài)異常的學(xué)生[21]。
最終該預(yù)警決策系統(tǒng)使用Echart、D3.js可視化輸出,采用SaaS形式交付,生成學(xué)生在校畫像,并提供學(xué)生校內(nèi)行為軌跡和查詢功能。學(xué)校管理人員可以實(shí)時感知學(xué)生生活、學(xué)習(xí)及活動狀態(tài),從而動態(tài)監(jiān)測學(xué)生異常,對于可能會發(fā)生的異常問題或已經(jīng)出現(xiàn)危機(jī)前兆的問題,通過網(wǎng)頁版和手機(jī)版html5技術(shù)以微信、短信的方式主動推送預(yù)警,實(shí)現(xiàn)學(xué)生異常事件的閉環(huán)管理,對異常事件真正做到可查、可管、可追溯。
實(shí)驗(yàn)在真實(shí)環(huán)境下進(jìn)行,采用基于Hadoop框架搭建的HDFS、MapReduce技術(shù),HDFS提供存儲和管理,MapReduce實(shí)現(xiàn)分布式計算。集群相關(guān)配置情況如表1所示。
表1 集群配置參數(shù)
為驗(yàn)證Hadoop架構(gòu)和MapReduce算法的性能,實(shí)驗(yàn)樣本集為某高校數(shù)據(jù)采集系統(tǒng)10個月的學(xué)生校內(nèi)軌跡數(shù)據(jù),學(xué)生軌跡數(shù)據(jù)每天采集量為120個點(diǎn),將原數(shù)據(jù)集橫向表示為10個不同大小的樣本集[22]。前 5 個軌跡數(shù)據(jù)樣本的差異性較小,在處理少量文件時Hadoop無法體現(xiàn)它的優(yōu)勢,但當(dāng)樣本集數(shù)據(jù)量日志增大時,Hadoop便能對大規(guī)模的學(xué)生軌跡數(shù)據(jù)集進(jìn)行分布式并行處理,清洗速度與清洗量近似正相關(guān)[23]。算例中采集了學(xué)生10個月的校內(nèi)軌跡數(shù)據(jù),最大樣本集中有5萬個監(jiān)測點(diǎn),100萬條數(shù)據(jù),數(shù)據(jù)清洗時間大約為10 s,其速度和處理能力完全滿足目前乃至今后一段時間內(nèi)的校內(nèi)軌跡數(shù)據(jù)采集量的要求。
圖3所示是某天15 870個軌跡數(shù)據(jù)采集點(diǎn)的日清洗情況,其中折線為平均斜率,表示平均變化趨勢。因?yàn)樾?nèi)軌跡數(shù)據(jù)采集所需的時間與學(xué)生異常數(shù)據(jù)的規(guī)模無關(guān),且Hadoop能夠處理大規(guī)模的非結(jié)構(gòu)化數(shù)據(jù),并將原數(shù)據(jù)分類進(jìn)行差異化處理、添加時間戳,所以數(shù)據(jù)的質(zhì)量不會影響軌跡數(shù)據(jù)的清洗效率。為驗(yàn)證算法的高效性,在樣本數(shù)據(jù)的24個時間段中隨機(jī)生成大規(guī)模異常數(shù)據(jù)。通過實(shí)驗(yàn)驗(yàn)證得出,Hadoop具有強(qiáng)大的快速處理能力,10萬條數(shù)據(jù)的清洗時間大約是5 636~6 340 ms,而且不同規(guī)模的異常數(shù)據(jù)量的清洗時間變化較為穩(wěn)定。
圖3 軌跡數(shù)據(jù)日清洗狀況
通過此預(yù)警決策系統(tǒng)對全校30多個專業(yè),10 000多名學(xué)生進(jìn)行了校內(nèi)活動軌跡數(shù)據(jù)的采集、清洗、處理和聚類分析,讀取歷史數(shù)據(jù),形成時間節(jié)點(diǎn)的數(shù)據(jù)集合,并合并上一次采集周期的數(shù)據(jù)進(jìn)行清洗,設(shè)置目標(biāo)區(qū)域半徑。通過曼哈頓長度計算異常數(shù)據(jù)距離中心點(diǎn)的離群程度,利用主成分分析法進(jìn)行降維處理,生成學(xué)生靜態(tài)和動態(tài)屬性的特征矩陣,使用基于距離的方法進(jìn)行聚類分析,并通過此預(yù)警決策系統(tǒng)最終可視化呈現(xiàn),將嚴(yán)重偏離中心點(diǎn)的學(xué)生異常提取出來。圖4為學(xué)生校內(nèi)軌跡數(shù)據(jù)聚類圖,通過采集10個月期間的大規(guī)模學(xué)生校內(nèi)軌跡數(shù)據(jù),進(jìn)行清洗以及聚類分析,然后將此預(yù)警決策系統(tǒng)測試的結(jié)果與學(xué)生的實(shí)際狀態(tài)進(jìn)行比對,得出的結(jié)論如表2所示??梢钥闯龃祟A(yù)警決策系統(tǒng)分析的結(jié)果與這些學(xué)生在校內(nèi)的實(shí)際狀態(tài)基本一致,數(shù)據(jù)預(yù)測成功率接近95%,誤差率可以控制在6.5%之內(nèi)。
圖4 校內(nèi)軌跡數(shù)據(jù)聚類圖
表2 系統(tǒng)預(yù)警與實(shí)際狀態(tài)結(jié)果比對
續(xù)表2
學(xué)生畫像標(biāo)簽分為內(nèi)容和權(quán)重。標(biāo)簽是可變的,權(quán)重也是實(shí)時變化的,隨時間延長而衰減。以學(xué)生成績記錄為例:張三,數(shù)學(xué)成績90,為學(xué)生打上某一學(xué)科成績的標(biāo)簽。通過編寫學(xué)生畫像規(guī)則,來計算標(biāo)簽權(quán)重,基本權(quán)重=90/100=0.9。時間衰減因子為R,隨著時間D(天數(shù))的延長,R會線性減少,R=1-0.05×D。標(biāo)簽權(quán)重=基本權(quán)重×衰減因子。 由此計算出張三的數(shù)學(xué)成績標(biāo)簽權(quán)重為0.9,標(biāo)簽內(nèi)容為科目名稱“數(shù)學(xué)”,因此該學(xué)生的一個標(biāo)簽為:數(shù)學(xué),0.9。一周之后如果衰減因子變?yōu)?.7,標(biāo)簽權(quán)重變?yōu)?.63,那么該生的標(biāo)簽為:數(shù)學(xué),0.63。當(dāng)標(biāo)簽權(quán)重不斷減小到某個值,如0.5時,就要為該生“撕下”數(shù)學(xué)的標(biāo)簽,從而更好地體現(xiàn)標(biāo)簽的實(shí)時性,因此將0.5記為閾值。再使用Hive規(guī)則生成學(xué)生標(biāo)簽,存入標(biāo)簽庫,表3為學(xué)生畫像表(User_Profile)。
表3 學(xué)生畫像表
HiveQL標(biāo)簽生成語句:
insert into table User_Profile select g. School_ID ,g.Student_ID,g.Student_Name,001,“數(shù)學(xué)”,0.9,2016-12-01 from Grade g where Subject=“數(shù)學(xué)”。
不是異常學(xué)生的概率為:
P(A2|B1)=1-P(A2|B1)=1-0.15=0.85
(13)
如果所具有的一項信息不是B1,而是B2、B3、B4,則是否是異常的概率分別為:
P(A1|B2)=0.13P(A2|B2)=0.87P(A1|B3)=0.11P(A2|B3)=0.89P(A1|B4)=0.16P(A2|B4)=0.84
(14)
再計算同時有2、3、4項特征的學(xué)生是異常狀態(tài)的概率,如表4所示。例如,同時有B1、B2兩項與B1、B2、B3三項的學(xué)生是異常的概率分別為:
P(A1|B1B2)=
(15)
P(A1|B1B2B3)=
(16)
表4 具有各種異常特征的概率
本文提出了基于Hadoop的智慧校園預(yù)警決策系統(tǒng)。通過智慧校園中各種智能終端、可感知設(shè)備,動態(tài)獲取學(xué)生海量活動軌跡與狀態(tài)數(shù)據(jù),利用Hadoop大數(shù)據(jù)技術(shù)對多維數(shù)據(jù)進(jìn)行關(guān)聯(lián)、分類、降維及聚類分析,生成“學(xué)生畫像”,實(shí)時監(jiān)測學(xué)生狀態(tài),科學(xué)研判異常行為,實(shí)現(xiàn)對異常事件監(jiān)控、預(yù)警、根源分析的閉環(huán)管理,預(yù)警信息主動推送,開創(chuàng)智慧校園管理決策的新途徑。該系統(tǒng)為高校智慧校園學(xué)生管理的決策科學(xué)化、監(jiān)督過程化提供智能參考的依據(jù),開創(chuàng)高校教育管理的新模式。同時該系統(tǒng)可在其他高校中逐步推廣,讓高校的智慧校園建設(shè)邁上一個嶄新的臺階,對高校的教學(xué)管理和人才培養(yǎng)具有重要的實(shí)際應(yīng)用價值。