唐雪蓮,王姍姍
(1.寧波大紅鷹學院 經濟管理分院,浙江 寧波315175;2.浙江工商大學 杭州商學院,杭州 310018)
數據挖掘,是指從大量數據中找出具有潛在價值的、可理解的、新穎的、有效知識的整個過程,從而為決策者提供可靠的決策支持。數據挖掘共分為確定目標、準備數據、建立模型、模型評估四個操作環節。在數據挖掘技術基礎上發展起來的數據異常檢測,是為了檢測出數據中與絕大部分數據有差異的對象,通常將這些對象稱為離群點。這些差異對象的產生,可能與數據來源不可靠、數據發生自然變異、數據收集誤差、數據測量不當等因素有關。在數據挖掘問題中,絕大部分都認為離群點是噪聲,認為其影響非常小,甚至還會直接忽略其影響。但是在實際問題中,這些離群點的作用可能比普通節點更為重要,如欺詐檢測中的離群點就有可能是欺詐行為,所以在數據挖掘中進行離群點檢測是一項有意義的研究。
在數據異常檢測方面,國際上的研究成果較多,海量分布式數據庫就是在傳統異常檢測中融入新興技術的典范。在現實生活中,數據異常檢驗技術的應用十分廣泛,如網絡入侵、欺詐行為檢測以及醫療病例分析等。國內的數據挖掘技術起步較晚,在研究方法方面尚不成熟,在政府數據統計工作中也較少應用該項技術,統計工作中應用較多的就是OLAP方法。近年來,國內也有政府部門逐漸開始應用廠商生產的基于數據挖掘的統計信息系統,如馬克威統計系統。目前,上海市統計局已經開始使用該產品,用于分析人口變化、勞動力情況、城鎮化進程、經濟狀況等。然而,我國的中低層政府統計部門都還沒有引入這些商業化數據挖掘統計軟件,也就是說,我國絕大部分的統計部門都還沒有完全采納數據挖掘這項技術。為此,在政府統計工作中應用數據挖掘技術,開發出一套使用方便、經濟性好、真正滿足統計工作者需要的統計系統,提高異常數據檢出率,提升統計數據質量是一項具有重要現實意義的課題。
近年來,國外有相關研究人員提出了基于聚類的數據異常檢測法,該方法是通過聚類數據集,根據相關標準將其生成的簇劃分為異常簇和正常簇兩類。訓練數據集是傳統檢測方法的應用前提,而聚類法則突破了這一限制,在無訓練數據集時,也能夠應用聚類法進行異常檢測。實際中,在應用聚類算法時,需要注意對象先后位置、初始值、算法復雜度、參數影響、最優解等問題。在進行數據挖掘時,常會涉及到分割簇形狀的能力、異常數據影響、算法可伸縮性、輸入參數簡單性、對不同類型數據的處理能力、聚類結果直觀性、解決多維數據的能力等方面。
K-means聚類,是將一個涵蓋多個數據對象的數據集的分為若干份(即“簇”),將所得的簇數量(k)作為輸入參數。先選取k個初始聚類中心,每個對象都被指派到最近的聚類中心,而指派到一個中心的點集為一個簇,再根據每個簇中的點,對簇的聚類中心進行更新,如此重復更新、劃分,直至聚類中心無變化。K-means算法具有較高的聚類效率,是大規模數據聚類的常用算法,其作為一種經典的聚類算法,在理論上具有步驟簡單、快速可靠的優點,尤其是對海量數據的處理,更能體現其高效特點。但是,該算法也存在一定的局限性,具體體現在:一是該算法的使用必須滿足簇平均值可定義的條件,不適用于非數值屬性數據;二是必須事先確定簇的生成數目值,然而在實際中,對于無先驗分類信息的數據,是很難準確給出一個k值的,所以該算法容易產生不同簇數;三是初始聚類中心選擇任意,這種方法容易造成聚類結果極值化;四是K-means算法對離群點和噪聲十分敏感,即便是少量離群點,也容易對均值造成較大的影響。
DBSCAN算法可識別數據集中的特殊數據對象,并且還適用于任意形狀簇,但該算法的聚類結果會受到初始值MinPts、Eps的極大影響,由于該算法過于依賴MinPts、Eps,所以造成了其聚類結果的不穩定性,其在實際工作中難以發揮出實質性作用。另外,由于難以定義多維數據中的密度,所以會增加該算法的計算量,從而降低海量數據的處理效率。
在政府的人力資源數據統計中,異常檢測具有重要的應用價值,特別是在統計部門甄別統計對象虛假、錯誤數據方面,其對于提高人力資源統計數據質量具有重要作用。從上文分析可以看出K-means聚類和DBSCAN聚類異常檢測法均具有一定的局限性,故本文在應用這兩種聚類算法優點的基礎上,提出了一種可自動計算合適參數的自適應檢測法。

假設兩個簇(Ci、Cj),其中Cj簇中所有數據對象到簇質心的最大距離為maxJ,若Cj簇中有某一數據對象(m)與Cj簇質心距離≤maxJ,則需要對這兩個簇進行合并(如圖2所示)。簇合并應用DBSCAN算法中的小簇合并法,最終獲得的聚類結果以k表示。

圖1 簇劃分示意圖

圖2 簇合并示意圖
輸入數據集:I={i1,i2,…,in}
輸出簇集:U={u1,u2,…,uk}

MinPts、Eps參數會對聚類效果產生直接影響,這兩項參數的確定也是DBSCAN算法最大的局限性。應用K-means算法聚類后,得到了簇集U,要獲得離群點,就可應用簇集U確定MinPts、Eps值,再運用DBSCAN算法獲得離群點。為減小離群點對算法的影響,需要篩選聚類結果,本文選取數據對象數量≥4的簇,獲得簇集R={N1,N2,…,Np},Ri∈U,p≤k。
MinPts、Eps計算:先計算出每個簇(Ri)中數據對象間的平均距離(di),再計算每個簇所得的di值進行加和,求平均值,即Eps值;先統計周圍距離≤Eps值的數據對象個數,再取平均值,即MinPts。
在獲得MinPts、Eps值后,應用DBSCAN算法做二次聚類,最終檢測出離群點。自適應異常檢測法是一種結合了DBSCAN和K-means算法的混合聚類算法,通過分階段聚類,排除人為干預因素,從而提高檢測的自動化水平,提高估值的準確性。如圖3所示為自適應數據異常檢測法的流程圖。

圖3 自適應檢測流程
3.1.1 數據集
實驗數據源自我市企事業單位的工資匯總表中的合計情況,每項數據都包含女性數量、單位類別、單位代碼、從業人員總數、工資總額、平均人數等屬性。工資匯總表如表1所示,為滿足保密要求,本文對單位編碼進行了處理。在這些屬性中,部分數據具有冗余特點,故只能選擇最能體現數據對象特點的屬性,并根據平均人數和工資總額,計算出人均工資總額。本實驗最終選取代表企業人數及工期情況的期末總人數、人均工資總額兩項屬性。
3.1.2 數據預處理
在進行數據挖掘前,要對所有參與的數據進行預處理,即篩查、剔除各種不符合實際情況、空的、錯誤的數據對象。比如:期末總人數值不可能為零;工資總額一項不得小于零等。在一個統計表格中,不同的屬性項目之間可能存在邏輯關聯,若統計結果與邏輯關聯不相符,則提示這些數據欠真實。屬性間的邏輯關聯可分為兩類:一是量化關系,即某些數據項之間的大小關系,比如期末總人數不得小于期末女性人數;二是控制關系,即某個數據項的值可影響其他數據項結果,比如機關單位的生產運輸設備操作員一項,其數據值應為零,負責生產人員數據項的值也應為零。在統計數據中,若有數據項不滿足以上審核關系,表明統計數據有誤,該企事業單位應重新上報數據。
在本次實驗中,數據屬性所應用到的邏輯關系包括:35歲以下人數不大于期末總人數,女性人數不大于期末總人數,有職稱技能等級人數不大于期末總人數;初中及以下人數與中專及高中、專科、本科、研究生人數之和等于期末總人數,工資總額不為零。
在一個數據對象中,不同的屬性,在度量單位與方法方面會有明顯差異,這些差異都與數據距離有著直接關系,所以在剔除不符合實際情況、空的、錯誤的數據對象后,還需做標準化處理,以排除上述因素的干擾。先將各數字型屬性值做歸一化處理,再計算絕對偏移平均值(Sf),計算公式:

mf:第f個屬性的平均值;xif:各數據的第f個屬性取值。
再應用公式,對各屬性做標準化處理,公式如下:
Zif:第i個數據的第f個屬性。在對數據進行預處理后,可將數據直接應用于聚類算法,經預處理提取出的不合邏輯的數據對象,也是最終異常數據的組成部分之一,其也能為提升統計數據質量提供有效參考。
3.1.3 結果與分析
本次實驗的數據集共抽取了998個事業單位,并對數據集進行了預處理。采用自適應異常檢測法對數據集進行檢測,并將檢測結果與應用DBSCAN算法和改進K-means算法獲得的結果進行比較,以驗證自適應異常檢測法的有效性、科學性。
(1)實驗結果
在進行邏輯關系檢驗時,篩查出4各不符合邏輯關系的數據,將其排除,最終有994個數據對象參與聚類。在應用改進K-means算法對數據對象進行聚類后,獲得的聚類數目共30個,符合參與聚類條件的簇共6個(見表2)。簇1~6均參與MinPts、Eps參數計算,計算結果為分別為4和0.36,檢出的異常數據個數為34。

表2 改良K-means聚類結果
根據計算出的MinPts、Eps值,應用DBSCAN算法,對數據對象進行聚類,聚類結果見表3。應用DBSCAN算法聚類,最終獲得的簇數目共5個,數據對象共958個,異常數據共36個,加上預處理階段篩查出的4個不符合邏輯關系的數據對象,共檢測出40個異常數據。

表3 DBSCAN聚類結果
(2)結果比較
應用K-means算法對本次實驗中的數據對象(994個)進行處理,將初始值k設為6,隨機選擇初始質心,進行聚類后的結果,詳見表4。

表4 K-means聚類結果
對自適應檢測法中改進K-means算法和傳統K-means算法的聚類質量進行比較,評估標準為目標函數的誤差平方和(SSE),即計算各數據與最近質心的歐氏距離,再計算誤差平方和,數值越小,則聚類效果越好。K-means算法獲得的SSE值為175.64,改進K-means算法的SSE值為157.98,這表明改進K-means算法的聚類效果比以前的K-means算法更好。
DBSCAN算法中,MinPts、Eps參數的計算,是通過觀察K-距離圖,找出急劇變化點位置,來估計Eps值。MinPts值取4在大多數的二維數據集中都是合理的。本次實驗數據集的K-距離圖,見圖4。從圖4可看出,曲線的急劇變化范圍在0.3~0.4范圍內,但要確定具體值,還需應用人員結合自身經驗進行估計和判斷。在自適應異常檢測法中,應用改良K-means算法計算出的Eps值為0.35,這一數值與K-距離圖值域完全吻合,該方法無需繪制K-距離圖,也無需人工判定Eps值,且計算所得的Eps值正確、合理,其能較好地避免因操作者經驗不足造成的認為誤差。

圖4 數據對象的K-距離圖
本文在人力資源實際統計數據基礎上,結合自適應異常檢測法,提出了統計數據異常檢測系統的設計思路,以期發現人力資源統計數據中的異常情況。
3.2.1 系統結構設計
人力資源數據異常檢測系統的開發平臺為Windows操作系統,數據庫為Access 2000,開發語言為SQL和C#,該系統主要實現數據導入、圖表顯示及檢測結果顯示幾項功能。

圖5 數據異常檢測系統的算法流程圖
異常統計數據主要來源于瞞報、虛報,操作錯誤,經營方式特別的企事業,規?;蛐б孑^高的特大型企業等。在發現統計數據中的異常情況,應將檢測重點放在與員工工資、工作人數相關的數據上。針對運行正常的企業,其統計數據的波動幅度應該較小或相對穩定,而類似企業,其數據也應具有一定的相似性,這是異常數據檢測應掌握的最基本原理。
在結構方面,異常檢測系統共有四層:應用層及數據挖掘、數據處理、數據源層。數據源層用于獲取工資統計及人力資源信息系統中的相關數據,將這些數據匯總到同一數據源中,建立一個數據倉庫;數據處理層用于預處理源數據,使統計數據符合數據挖掘需求;數據挖掘層負責檢驗數據異常;應用層負責創建交互式操作界面,展示檢測結果。
3.2.2 算法流程
異常檢測系統的檢測對象包括企事業單位工資匯總表、人力資源年度報表、勞動工資季度及年度報表。在異常數據檢測中,這四張報表間的差別主要體現在邏輯檢查方面,其他實現方法相同,該系統的算法實現流程,如圖5所示。
本文在深入分析DBSCAN和K-means聚類算法局限性及應用優勢的基礎上,提出了結合兩種算法優點,彌補二者局限性的混合聚類算法——自適應異常檢測法。該算法較好地彌補了K-means和DBSCAN算法的不足,在檢測過程中最大限度地排除了人為干預,實現了初始參數的自適應計算。在人力資源統計數據中應用自適應異常檢測法,能夠較好地檢出其中存在的異常數據,實驗證明,自適應檢測法獲得的異常數據檢測結果能夠達到專家檢測水平,其能為統計部門的人力資源數據抽查提供科學的參考、借鑒。
[1]Liu Y B,Zhang L,Wang J M.Mining Workflow Event Log to Facilitate Parallel work Item Sharing Among Human Resources[J].International Journal of Computer Integrated Manufacturing,2011,24(7/9).
[2]Hanadi Al-Zegaier H,Al-Zu'bi H A,S Barakat S Investigating the Link between Web Data Mining and Strategic Human Resources Planning[J].Computer and information science,2011,4(3).
[3]王玉紅,王康碧,薛紅月等.基于Gini Index決策樹的人力資源挖掘研究[J].云南民族大學學報(自然科學版),2013,22(2).
[4]馬正友.基于知識管理的人力資源管理信息系統分析和模型設計[J].人力資源管理(學術版),2009,(8).
[5]洪強.基于數據挖掘的人力資源故障診斷技術[J].科技資訊,2009,(6).
[6]瞿丹.數據挖掘技術在高校人力資源管理中的應用研究[J].電腦知識與技術,2014,(10).
[7]孫進.淺析人力資源數據挖掘中的數據清理[J].福建電腦,2010,26(12).
[8]高福良.淺談數據挖掘在人力資源管理中的應用[J].科技信息,2011,(33).
[9]陳曉璠,鄧硯谷,鄭玉莉等.數據挖掘在企業人力資源績效管理中的應用[J].上海管理科學,2009,31(6).
[10]李琦,蘇立玢,王劍霞等.基于Oracle數據挖掘技術的高職院校人力資源管理系統的研究與實現[J].科技信息,2010,(20).