?

知識發現過程中的數據預處理技術研究

2022-03-27 11:02毛田野李華鄭健張驍駿
智能物聯技術 2022年5期
關鍵詞:預處理噪聲變量

毛田野,李華,鄭健,張驍駿

(91388 部隊,廣東 湛江 524022)

0 引言

“數據就是未來新時代的石油”。隨著互聯網經濟的快速發展和大數據時代的到來,數據作為一種生產要素在社會發展中的重要性日益凸顯,對數據的挖掘應用與知識發現已經逐漸滲透到了工業、軍事、教育等各個行業領域。但與此同時,我們所面對的數據體系越來越龐大,數據存儲規模已經達到了PB(Petabyte)、甚至EB(Exabyte)的級別,數據類型和組織形式也越來越多樣化[1,2]。海量數據的處理對我們來說本身就是一個不小的挑戰,而且原始數據中可能還包含著許多問題數據,例如數據屬性值出現了缺失或錯誤、數據信息存在重復冗余以及數據結構不一致等[3],對我們從中進行知識發現造成了諸多困難。因此,數據預處理技術的重要性日益凸顯出來:一方面,對數據進行預處理能夠排除問題數據,提高源數據的規范性,節省后續處理海量數據的時間;另一方面,數據預處理能夠優化改良問題數據,提升源數據的質量。如圖1 所示,目前數據預處理的工作內容主要包括數據清洗、數據集成、數據歸約以及數據變換等處理過程。在知識發現過程中,數據預處理扮演著承上啟下的重要角色[4,5]。

圖1 知識發現的基本過程示意圖Figure1 Schematic diagram of knowledge discovery

1 數據清洗

數據清洗是指檢測數據中存在的問題數據,通過填寫缺失的數值、識別和刪除離群點以及光滑噪聲數據等方法對數據進行處理,形成合理的數據集合[5]。根據所處理的問題數據類型,數據清洗可以分為以下幾種。

1.1 清洗缺失數據

由于系統存在缺陷或者出現運行錯誤等問題,導致所產生數據集的某些屬性值出現丟失,這種情況稱為數據缺失。例如某武器裝備信息表Weapon中某些記錄的“型號”屬性W.marque 的值被記為空(NULL)。關鍵信息的缺失,會導致數據集的價值大大降低,影響后續的信息匹配和計算,因此對缺失數據進行清洗有很大的必要性。常見的清洗方法主要分為刪除法和填充法兩大類。

1.1.1 刪除法

刪除法即是直接對存在屬性缺失的數據進行刪除。該方法操作過程簡單易行,經常作為缺省的方法用于缺失數據比較少的情況下。但當缺失數據占數據集的比例比較大時,采用直接刪除的方法可能會導致所得到的數據分析結果發生偏離,進而影響結論的準確性。此外,當缺失的數據為有價值的關鍵信息時,刪除法顯然會對后續的數據挖掘工作造成不利影響。

1.1.2 填充法

在實際操作中,人們更多地會利用最接近缺失值的數據來填充缺失數據,這種方法稱為填充法或插補法。利用填充法對數據進行清洗主要可以通過以下幾種途徑來實現。

(1)聚合值填充:當數據對象可直接進行加減運算時,則取算數平均值來填充缺失值,其他數據對象的眾數、中位數等均可用來賦予該缺失值。使用聚合值進行填充的方法簡單快速,但有可能會產生有偏估計,對缺失數據和其他數據之間原本的相關性產生不利影響。

(2)模型預測插補:通過機器學習模型對缺失值進行預測和插補,例如假設缺失值所在變量與樣本中其他變量之間存在線性關系,然后通過建立回歸模型對缺失值進行預測和填補。該方法利用了盡可能多的現有數據,得到的結果更具有說服力,但往往容易忽略隨機誤差。其他常用的模型還有決策樹、貝葉斯、隨機森林等。

(3)極大似然估計:通過引入隱變量創建概率模型來對未知參數進行極大似然估計,也可稱為忽略缺失值的數學期望。該方法適用范圍也比較廣泛,估計量具有一致性和有效性,但解方程時有可能得不到解或者不是有限解[6]。

1.2 清洗重復數據

在同一數據庫中可能會出現相同對象或屬性擁有不同的名稱,或者多個屬性表示同一特征的情況,這種現象稱為數據重復或數據冗余,主要包括屬性重復和屬性值重復兩種情況。在數據庫的實際應用中,大多數系統都存在數據重復現象。

比較算法是處理數值型數據重復的常用方法。首先通過專門的公式計算出記錄不同屬性的相似度,例如當需要判斷某關系表中A 屬性和B 屬性兩者之間是否相互冗余時,可以通過皮爾遜相關系數即公式(1)來進行相關性計算[7]:

式中,rA,B為A 與B 屬性相似度;N 為A 或B屬性的屬性值個數;ai和bi分別為A、B 屬性的每個屬性值分別為A、B 屬性的平均值;σA和σB分別為A、B 屬性的標準差為A、B 兩屬性叉積的和。

得到不同屬性相似度之后,再考慮每個屬性的不同權重值,加權平均后得到記錄的相似度。若相似度超過了某一閾值,則認為兩條記錄是存在冗余的,可對其中的一條記錄進行刪除操作,否則則認為兩條記錄指向不同的實體。此外,近鄰排序法也常用于相似度計算[8],即對記錄按關鍵字進行排序后,以固定步長(窗口)來檢測其中的記錄是否相似,可以在一定程度上減少記錄的比較次數。需要注意的是,比較算法對計算機的運行速度和儲存空間要求比較高,配置有限的個人計算機往往采用在線刪除和離線刪除相結合的手段[9]。對于分類型數據的冗余檢測,可以利用公式(2)假設檢驗中的卡方檢驗來實現[10],通過能否拒絕原假設來對屬性是否冗余進行判斷。

式中,χ2為卡方值,其值越大表明變量越有可能相關;Ob 代表某個類別的觀測值,Ex 代表計算出來的期望值(Ex=行總數×列總數∕總數)。

1.3 清洗噪聲數據

由于系統工作狀況等原因,實際采集的數據、整理所得到的數據集往往會包含部分不在合理數據域內的數據,這些“離群”的數據被稱為噪聲數據。本質上來講,噪聲數據是一種隨機誤差。常見的處理噪聲數據的方法可以分為噪聲平滑和噪聲過濾兩大類。

1.3.1 噪聲平滑

平滑噪聲數據可以通過以下幾種方法來實現。

(1)分箱法:把需要進行預處理的數據分到若干個箱中,然后通過考察周圍臨近的數值來對有序數列進行平滑,分箱實質上是一種數據離散化。一般來講,箱的寬度越大,光滑的效果越好,也可以指定箱子的寬度,即箱值的范圍是一個常量。箱平均值、中位數以及最近的邊界值等均可作為噪聲數據的替代對象[11]。

(2)回歸法:由大多數穩定的數據樣本擬合得到回歸函數,根據回歸系數和預測變量反解出自變量的近似值,然后對原始數據進行近似值替換。該方法需要建立在穩定數據的基礎之上,而且只有符合線性趨勢的數據樣本才能進行回歸分析。對于比較復雜的多因素模型可利用多線性回歸法進行平滑,將數據擬合到多維曲面上,去噪聲效果比較好[12]。

(3)均值法:利用異常值臨近的若干數據均值來替換離群點的一種去噪方法。該方法操作簡單、計算速度快,但局限于具有序列特征的樣本,尤其是當數據集具有正弦時序特征時,均值法的去噪效果比較顯著。

1.3.2 噪聲過濾

利用聚類的方法找到并刪除數據集中的離群點,這種方法稱為噪聲過濾,又叫作離群點分析。在該方法中,聚類生成的數據對象集合被稱為簇,同一簇中的數據對象具有比較高的相似度,落在簇之外的點則被直觀地稱為離群點。本質上來講,利用聚類進行噪聲過濾是一種形式的數據規約,該方法需要預先知道數據樣本的分布特征,并建立在標準的統計學基礎上,對數據和檢驗類型的充分性要求也比較高,否則難以保證能發現所有的離群點。

2 數據集成

所謂數據集成,通俗來講是指將來自多個數據源的異構數據合并在一起,并存放在一個一致的數據存儲中。數據樣本的來源和涉及領域越廣泛,數據集成的難度也會越大,該過程需要解決數據的選擇、數據的一致性以及兼容性等問題[13]。而數據的一致性和兼容性主要面臨多數據源中屬性的語義差異、結構差異和冗余重復等難題。

2.1 屬性語義問題

例如在對來自兩個數據源中的武器裝備信息統計表進行集成時,發現兩個數據樣本中都有名為“Date”的屬性,但實際上一個記錄的是出廠時間,另一個記錄的是列裝時間。上述情況在數據集成中是經常發生的,通常需要操作人員在數據集成之前對數據樣本進行調研,確認各個屬性的實際意義。

2.2 屬性結構問題

屬性結構差異幾乎是數據集成中必須要解決的問題。以武器裝備信息表Weapon 中的“造價”屬性W.price 為例,表1 總結了數據集成中幾種常見的屬性結構差異問題。針對這類問題,往往需要在數據集成過程中對數據屬性進行結構上的明確,通過再定義來對數據進行約束,避免屬性結構問題對數據集成造成阻力。

表1 常見的屬性結構差異Table1 Common differences of property structure

2.3 冗余重復問題

仍以武器裝備信息表中的造價屬性為例,兩個數據樣本記錄的都是某型武器裝備的造價情況,但一個屬性名為“Price”,另一個屬性名為“Value”,若對兩個表進行數據集成,則同時保留的兩個屬性是相互冗余的。對于判斷數值型屬性是否相互冗余,可以通過公式(1)來實現,標稱型屬性則可通過公式(2)來實現,具體方法在此不再贅述。此外,對數據重復還可以通過表的主鍵進行判定,沒有主鍵的表則需要在數據集成前進行調研和定義主鍵,或者對表進行拆分和整合。

3 數據變換

數據變換是指采用線性或者非線性的數學變換方法對數據進行規格化處理,將多維數據壓縮成較少維的數據,以達到消除其在時間、空間、屬性及精度等特征表現方面差異的目的。簡單來講,數據變換就是根據需要將數據從一個大的區間壓縮到一個小的區間內。例如將數據集{-5,2,18,100}轉換為數據集{-0.5,0.2,1.8,10}即是一個簡單的數據變換過程。又如在武器裝備信息表Weapon中,裝備“造價”屬性W.price 要比裝備的“使用壽命”屬性W.age 的值大得多,如果不進行數據變換而直接開展基于類似神經網絡的數據挖掘工作的話,W.price 屬性的作用將會在數據對象的距離計算中被遠遠放大,進而對數據挖掘帶來不利影響。表2 總結了幾種常用的數據變換方法[14]。

表2 常用的數據變換方法Table2 Common methods of data transformation

4 數據歸約

在盡可能保證數據原有的完整性和有效性基礎上,通過使用降低數據規模、減少數據存儲空間、將數據以合乎要求的方式表示出來等策略對數據進行預處理操作叫作數據歸約[15]。對數據集進行歸約處理將有助于改善后續挖掘分析效果。數據規約過程所涉及的方法主要有以下幾種。

4.1 維度歸約

維度歸約是使用數據編碼或數據變換方案,以得到原始數據的簡化或壓縮表示,其核心是減少隨機變量或屬性的個數。維度歸約常用的技術手段主要有小波變換、主成分分析、屬性子集選擇以及單變量重要性等。

4.1.1 小波變換

小波變換是一種由傅里葉變換發展而來的線性信號處理技術。在方法上,小波變換將傅里葉變換的基由無限長的三角函數基換成了有限長會衰減的小波基,能實現在獲取頻率的同時定位時間[16]。當用于數據變量X 的時候,可以將其變成數值上不同的小波系數向量X’,向量具有相同的長度。在數據歸約中,每個元組可以看作為一個n 維數據向量X=(x1,x2,…,xn),用來描述n 個數據庫屬性在元組上的n 個測量值,對數據進行小波變換后截斷數據,保留最強的小波系數,從而保留近似的壓縮數據,達到數據歸約的目的。

在實際的數據預處理操作中,小波變換適合用于處理高維度數據,如數據立方體等,可以將變換用于第一個維,然后第二個,如此依次進行。對于稀疏或者傾斜數據,以及具有有序屬性的數據,小波變換往往也能給出較好的處理效果。除數據歸約以外,小波變換在圖像壓縮處理、計算機嗅覺等領域也有廣泛的應用[17,18]。

4.1.2 主成分分析

相對于小波變換法,主成分分析(Principal Component Analysis,PCA)更適合用于處理離散或稀疏數據。該方法通常是搜索k 個最能代表數據的n 維正交向量(k≤n),將原始數據投影到一個更小的空間中,實現維度歸約[19]。其基本處理過程如圖2 所示。

圖2 主成分分析處理過程Figure2 Process of principal component analysis

4.1.3 屬性子集選擇

屬性子集選擇是通過檢測相關程度較弱或重復的屬性,對其刪除來達到數據歸約目的的一種方法。該方法的關鍵之處在于找到最小屬性集,使得該屬性集的數據概率分布與包含所有屬性的原分布盡可能地接近,簡單來講即是用最小屬性集“描述”原數據樣本。壓縮搜索空間的啟發式算法為該方法常用算法,其策略為期望通過做局部最優選擇來獲得全局最優解,實踐證明該方法的確行之有效[20,21]。常用的基本啟發式方法包括:逐步向前選擇、逐步向后刪除、逐步向前選擇與向后刪除的結合、決策樹歸納等。

4.1.4 單變量重要性

單變量重要性是從統計學和信息的角度分析單變量與目標變量的相關性,對預測能力較低的變量進行刪除。常用的方法主要有:利用皮爾遜相關系數或卡方檢驗分析目標變量與單變量之間的相關性、利用線性回歸對變量的表決系數進行重要性排序、利用決策樹提取變量的重要度并進行排序等[22]。

4.2 數值歸約

數值歸約是指選擇替代的、較小的數據形式來替換原數據,達到減小數據量的目的。數值歸約技術主要可以分為參數化模型和非參數化模型兩大類[23]。

4.2.1 參數化模型

參數化數據歸約可以利用回歸和對數線性模型來實現。對于數值型數據,采用回歸模型建模方法,使之擬合到一條直線上。例如可以用以下公式將隨機變量Y 表示成另一個隨機變量X 的線性函數:Y=aX+b,其中X 稱為自變量,Y 稱為因變量,假定Y 的方差為常量,a 和b 分別為直線的Y 軸截取和斜率,可用最小二乘法求得。當分析多個分類變量間的關系時,可以采用對數線性模型。常見的邏輯回歸就是對數線性模型的一種。

4.2.2 非參數化模型

常見的非參數化數據歸約主要包括以下幾種:

(1)直方圖。利用直方圖將屬性的數據分布劃分為若干不相交的子集或桶,桶表示給定屬性的一個連續空間。該方法適用于處理近似稀疏和稠密數據、高傾斜和均勻數據。

(2)聚類。將數據元組劃分為群或簇,一個簇中的對象相互相似,不同簇中的對象相互相異,在數據歸約中,用數據的簇來替代原始數據。

(3)抽樣。因為抽樣基于用小數據量的樣本來表示大數據集的思想,所以剛好適用于數據歸約。常見的抽樣方法有樣本無放回隨機抽樣、樣本有放回隨機抽樣、聚類抽樣、分層抽樣等。

(4)數據立方體聚集。將細粒度的屬性聚集到粗粒度的屬性,最細的粒度是最小的立方體,每個較高層抽象成更大的立方體,進一步減小數據的規模。

5 結語

綜上所述,數據預處理工作包含了許多處理步驟,每一個步驟都有多種不同的實現方法,也有不少方法能夠應用在不同的預處理階段中。例如,回歸法既可以在數據清洗階段用于平滑噪聲,又可以在數據歸約階段實現數值歸約;相關性分析可以用于數據清洗、數據集成以及數據規約等。不同預處理方法之間既相互獨立又相互關聯,實施起來也沒有嚴格的先后順序,在實際的應用過程中,需要針對具體研究的問題以及面向數據的類型選用合適的預處理方法。在當今大數據時代背景下,數據的重要性日益彰顯,同時我們所面對的數據體系規模也越來越龐大,數據預處理技術發展至今仍是一個活躍的研究領域。作為對海量數據挖掘分析和知識發現過程的核心環節,它也將會發揮越來越重要的作用。

猜你喜歡
預處理噪聲變量
抓住不變量解題
噪聲可退化且依賴于狀態和分布的平均場博弈
也談分離變量
控制噪聲有妙法
基于預處理MUSIC算法的分布式陣列DOA估計
淺談PLC在預處理生產線自動化改造中的應用
絡合萃取法預處理H酸廢水
基于自適應預處理的改進CPF-GMRES算法
一種基于白噪聲響應的隨機載荷譜識別方法
分離變量法:常見的通性通法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合