趙春霞,趙營穎
(河南中醫(yī)藥大學信息技術(shù)學院,河南鄭州450046)
在現(xiàn)階段,網(wǎng)絡(luò)數(shù)據(jù)庫數(shù)據(jù)丟失常常是大數(shù)據(jù)環(huán)境中不可避免的問題,如何處理缺少數(shù)據(jù)是目前數(shù)據(jù)分析領(lǐng)域研究的重點。由于在現(xiàn)階段很多數(shù)據(jù)分析都要依賴于完整的數(shù)據(jù)集,因此帶來了一些麻煩。為此,尋找一個有效而可行的方法來處理這些缺失的數(shù)據(jù)是目前急需解決的問題。
當前,已有較多學者開展了關(guān)于數(shù)據(jù)不完整信息填充的研究,文獻[1]中,王瑋等人提出了不同類別非完整大數(shù)據(jù)中缺失數(shù)據(jù)填充方法,該方法主要找出其它類型指標與某一類型指標的相關(guān)性,得到數(shù)據(jù)集,求得權(quán)系數(shù),利用相關(guān)理論和經(jīng)驗,計算初始數(shù)據(jù)庫的信息熵,確定缺失數(shù)據(jù)區(qū)間的下限,實現(xiàn)缺失數(shù)據(jù)的填充。但是該方法的缺失數(shù)據(jù)檢測時間較長,導(dǎo)致網(wǎng)絡(luò)數(shù)據(jù)庫不完整信息填充效率較低;文獻[2]中,何丹丹等人提出了分布式數(shù)據(jù)庫用戶丟失數(shù)據(jù)恢復(fù)重構(gòu)方法,該方法主要通過對近鄰進行加權(quán)計算,得到丟失數(shù)據(jù)的填充量,完成對丟失數(shù)據(jù)的恢復(fù)與重建。但是該方法的缺失數(shù)據(jù)預(yù)測誤差較大,導(dǎo)致缺失數(shù)據(jù)估計值準確度較低。
針對上述方法存在的問題,本文提出基于多元回歸KNN的網(wǎng)絡(luò)數(shù)據(jù)庫不完整信息填充方法。首先通過對網(wǎng)絡(luò)數(shù)據(jù)庫不完整信息進行檢測與預(yù)處理,并采用多元回歸KNN方法計算網(wǎng)絡(luò)數(shù)據(jù)庫中目標數(shù)據(jù)與完全值數(shù)據(jù)矩陣中所有數(shù)據(jù)記錄的歐氏距離,獲取缺失值,然后對網(wǎng)絡(luò)數(shù)據(jù)庫不完整信息進行估算與填補。最后通過實驗結(jié)果可知,此次研究的基于多元回歸KNN的網(wǎng)絡(luò)數(shù)據(jù)庫不完整信息填充方法較傳統(tǒng)方法填充效果更好,具備實際應(yīng)用意義。
此次研究的基于多元回歸KNN的網(wǎng)絡(luò)數(shù)據(jù)庫不完整信息填充方法的框架如圖1所示。

圖1 基于多元回歸KNN的網(wǎng)絡(luò)數(shù)據(jù)庫不完整信息填充框架
其中,數(shù)據(jù)預(yù)處理是后續(xù)數(shù)據(jù)挖掘與填充的基礎(chǔ),將直接影響填充結(jié)果,為此預(yù)先對數(shù)據(jù)檢測與預(yù)處理,具體內(nèi)容如下所示。
在對網(wǎng)絡(luò)數(shù)據(jù)庫不完整信息填充之前,預(yù)先對網(wǎng)絡(luò)數(shù)據(jù)庫不完整信息檢測與預(yù)處理[3-4]。假設(shè)樣本空間中有m個數(shù)據(jù)對象,每個數(shù)據(jù)對象中包含n分割屬性,將其表示為

(1)
式(1)中,ωk代表網(wǎng)絡(luò)數(shù)據(jù)庫中第k個屬性值的權(quán)重,rik代表第i個屬性與第k個屬性的相關(guān)系數(shù),Ek、σk分別代表數(shù)據(jù)k的標準差。
為了綜合考慮網(wǎng)絡(luò)數(shù)據(jù)庫中的相關(guān)性、沖突性以及離散型特質(zhì),首先采用灰色關(guān)聯(lián)度計算方法對數(shù)據(jù)庫中的所有信息進行檢測[5-6]。假設(shè)給定一個數(shù)據(jù)庫中的數(shù)據(jù)區(qū)域,計算該網(wǎng)絡(luò)數(shù)據(jù)庫中的數(shù)據(jù)密度,獲取檢測到的不完整信息,用下述公式表示
w=ωk(t/n)+vi
(2)
式(2)中,t代表當前數(shù)據(jù)查詢時間,n代表數(shù)據(jù)樣本數(shù)量,vi代表第i樣本的數(shù)據(jù)密度。
同時,對于一個存在缺失數(shù)據(jù)的網(wǎng)絡(luò)數(shù)據(jù)庫,若采用較小的區(qū)間發(fā)現(xiàn)數(shù)據(jù)與數(shù)據(jù)之間的關(guān)系,會增加該數(shù)據(jù)庫中的信息熵[7]。信息熵是一個具有系統(tǒng)有序化程度的度量參數(shù),其值越大代表計算越混亂,信息熵值越小代表計算越趨于一致,為此將其定義為

(3)
式(3)中,p代表度量參數(shù)。
依據(jù)上述計算結(jié)果,利用信息熵的屬性約簡算法,對網(wǎng)絡(luò)數(shù)據(jù)庫中不完整信息進行約簡處理[8-9]。當采集的數(shù)據(jù)間隔更大時,數(shù)據(jù)間的線性相關(guān)就會減少。由此定義的基于時間相關(guān)性的線性差分公式如下

(4)
式(4)中,η代表預(yù)測誤差,d代表已知數(shù)據(jù)的距的均值,u代表線性差值樣本變量值,其值越大代表計算越精確。
通過上述過程完成網(wǎng)絡(luò)數(shù)據(jù)庫不完整信息的檢測與預(yù)處理。
在上述網(wǎng)絡(luò)數(shù)據(jù)庫不完整信息檢測與預(yù)處理的基礎(chǔ)上,對網(wǎng)絡(luò)數(shù)據(jù)庫不完整信息填充。在此過程中,主要采用多元回歸KNN方法對網(wǎng)絡(luò)數(shù)據(jù)庫不完整信息進行填充,其步驟如下所示:
第一,網(wǎng)絡(luò)數(shù)據(jù)庫數(shù)據(jù)初始化處理,計算出網(wǎng)絡(luò)數(shù)據(jù)庫中的分類間隔,其表達式如下所示
(5)
式(5)中,e代表網(wǎng)絡(luò)數(shù)據(jù)庫中數(shù)據(jù)與數(shù)據(jù)的間隔值,b代表最優(yōu)分類函數(shù),s代表分類的目標函數(shù),xi代表第i個數(shù)據(jù)的判別函數(shù)[10]。
第二,計算網(wǎng)絡(luò)數(shù)據(jù)庫中目標數(shù)據(jù)與完全值數(shù)據(jù)矩陣中所有數(shù)據(jù)記錄的歐氏距離,其表達式如下所示
(6)
式(6)中,zi代表第i個最近鄰的最近鄰參數(shù),o代表目標數(shù)據(jù)。
第三,通過上述過程計算出歐氏距離。選出歐式距離最小的數(shù)據(jù)記錄作為目標數(shù)據(jù)的最近鄰,并將其存儲到數(shù)據(jù)矩陣的響應(yīng)位置中;
第四,分別從完全值數(shù)據(jù)矩陣中選出與每個目標數(shù)據(jù)最近鄰歐氏距離最小的數(shù)據(jù)記錄,并將其存入數(shù)據(jù)組中[11-12];
第五,初始化每個目標數(shù)據(jù)最近鄰的近鄰重要程度,其表達式如下所示
(7)
式(7)中,R代表近鄰重要程度,B代表數(shù)據(jù)重要程度判斷參數(shù)。
第六,消除目標數(shù)據(jù)的最近鄰噪聲,其具體的判斷標準如下所示
(8)
式(8)中,xi代表目標數(shù)據(jù)記錄第i個最近鄰的噪聲判斷結(jié)果,M代表噪聲消除參數(shù)。
依據(jù)上述計算判斷目標數(shù)據(jù)的非噪聲最近鄰,完成對最近鄰噪聲的消除,獲取缺失值,在此基礎(chǔ)上通過一個適當?shù)姆蔷€性函數(shù)將數(shù)據(jù)由原始的特征空間映射到一個新的特征空間,其表達式為

(9)

第七,在上述數(shù)據(jù)空間映射完成的基礎(chǔ)上,依據(jù)缺失值,對網(wǎng)絡(luò)數(shù)據(jù)庫不完整信息進行估算與填補。在處理過程中,需要注意的是,在大多數(shù)情況下數(shù)據(jù)庫內(nèi)的成分數(shù)據(jù)不同,即數(shù)據(jù)庫中的數(shù)據(jù)每一行都是不同的數(shù)據(jù),將其表示為
(10)
上述矩陣為觀測矩陣,n代表行的個數(shù)即樣本量,D代表列的個數(shù)為成分數(shù)據(jù)的部分數(shù)。
由于數(shù)據(jù)中每個觀測值的定和不同,因此為了填充的準確性,設(shè)置調(diào)節(jié)因子,將其表示為
(11)
式(11)中,xjk代表不同觀測值的平衡成分,c代表調(diào)節(jié)因子,V代表缺失值。
通過上述過程調(diào)整后能夠保證數(shù)據(jù)庫內(nèi)的成分數(shù)據(jù)的一致性。最后對網(wǎng)絡(luò)數(shù)據(jù)庫不完整信息填充,其表達式為

(12)

不斷迭代上述步驟,直到所有的網(wǎng)絡(luò)數(shù)據(jù)庫不完整信息檢測與填充完畢,以此,通過上述過程完成對網(wǎng)絡(luò)數(shù)據(jù)庫不完整信息的填充。
為驗證此次研究的基于多元回歸KNN的網(wǎng)絡(luò)數(shù)據(jù)庫不完整信息填充方法的有效性,進行實驗對比分析,并將文獻[1]提出的不同類別非完整大數(shù)據(jù)中缺失數(shù)據(jù)填充方法、文獻[2]提出的分布式數(shù)據(jù)庫用戶丟失數(shù)據(jù)恢復(fù)重構(gòu)方法與此次研究的方法進行對比。此次實驗硬件平臺配置為 CPU-INTEL CORE i7-8700K 3.7GHz6-Core等,軟件平臺基于Py Charm 利用sklearn和jupyter notebook 進行圖表繪制。
此次實驗研究共分為兩個實驗進行,在實驗1中,設(shè)置網(wǎng)絡(luò)數(shù)據(jù)庫中的數(shù)據(jù)缺失率為5%,主要對比三種方法的缺失數(shù)據(jù)檢測時間、缺失數(shù)據(jù)估計值準確度與網(wǎng)絡(luò)數(shù)據(jù)庫不完整信息的填充時間。在實驗2中,設(shè)置網(wǎng)絡(luò)數(shù)據(jù)庫的數(shù)據(jù)缺失率為10%左右,在該實驗中主要對比三種方法的缺失數(shù)據(jù)的預(yù)測誤差與信息填充時間。
實驗1中,對比基于多元回歸KNN的網(wǎng)絡(luò)數(shù)據(jù)庫不完整信息填充方法與文獻[1]提出的不同類別非完整大數(shù)據(jù)中缺失數(shù)據(jù)填充方法、文獻[2]提出的分布式數(shù)據(jù)庫用戶丟失數(shù)據(jù)恢復(fù)重構(gòu)方法的缺失數(shù)據(jù)檢測時間,對比結(jié)果如圖2所示。

圖2 缺失數(shù)據(jù)檢測時間對比
分析上圖可知,隨著數(shù)據(jù)量的不斷增加,此次研究方法與不同類別非完整大數(shù)據(jù)中缺失數(shù)據(jù)填充方法、分布式數(shù)據(jù)庫用戶丟失數(shù)據(jù)恢復(fù)重構(gòu)方法的缺失數(shù)據(jù)檢測時間也呈線性增加。經(jīng)過對比可知,此次研究的檢測方法較傳統(tǒng)方法的檢測時間少。
缺失數(shù)據(jù)估計值準確度的計算公式如下所示
(13)

以缺失數(shù)據(jù)估計值準確度為實驗指標,進行對比分析,對本文研究的基于多元回歸KNN的網(wǎng)絡(luò)數(shù)據(jù)庫不完整信息填充方法與文獻[1]提出的不同類別非完整大數(shù)據(jù)中缺失數(shù)據(jù)填充方法、文獻[2]提出的分布式數(shù)據(jù)庫用戶丟失數(shù)據(jù)恢復(fù)重構(gòu)方法的缺失數(shù)據(jù)估計值準確度進行對比分析,對比結(jié)果如圖3所示。

圖3 缺失數(shù)據(jù)估計值準確度對比
分析上圖可知,在數(shù)據(jù)量少于數(shù)據(jù)量多的情況下,此次研究的基于多元回歸KNN的網(wǎng)絡(luò)數(shù)據(jù)庫不完整信息填充方法的缺失數(shù)據(jù)估計值準確度都較高,初始準確度稍低,原因是在初始分析時,輔助信息較少,隨著信息量的增加,誤差隨之減小,并逐漸呈平衡的趨勢。經(jīng)過對比可知,此次研究的填充方法較傳統(tǒng)的兩種方法估計準確度高。
當網(wǎng)絡(luò)數(shù)據(jù)庫的數(shù)據(jù)缺失率為5%時,對三種方法的不完整信息填充時間進行對比,對比結(jié)果如圖4所示。

圖4 缺失率為5%時不完整信息的填充時間
分析上圖可知,此次研究的基于多元回歸KNN的網(wǎng)絡(luò)數(shù)據(jù)庫不完整信息填充方法在情況不完整信息的填充上,花費的時間較少,對比可知,此次研究的方法比傳統(tǒng)兩種方法的不完整信息填充花費的時間少。
對不同類別非完整大數(shù)據(jù)中缺失數(shù)據(jù)填充方法、分布式數(shù)據(jù)庫用戶丟失數(shù)據(jù)恢復(fù)重構(gòu)方法與此次研究的基于多元回歸KNN的網(wǎng)絡(luò)數(shù)據(jù)庫不完整信息填充方法的缺失數(shù)據(jù)的預(yù)測誤差進行對比分析,對比結(jié)果如圖5所示。

圖5 缺失數(shù)據(jù)的預(yù)測誤差
通過圖5能夠看出,隨著確實數(shù)據(jù)量的增加,不同類別非完整大數(shù)據(jù)中缺失數(shù)據(jù)填充方法和分布式數(shù)據(jù)庫用戶丟失數(shù)據(jù)恢復(fù)重構(gòu)方法的預(yù)測誤差也隨之增大,并且變化幅度較大,對比可知,沒有此次研究的填充方法的預(yù)測準確度高。
當網(wǎng)絡(luò)數(shù)據(jù)庫的數(shù)據(jù)缺失率為10%時,對三種方法的不完整信息填充時間進行對比,對比結(jié)果如圖6所示。

圖6 缺失率為10%時不完整信息的填充時間
從填充時間上對比可知,隨著數(shù)據(jù)量的不斷增加,三種方法的不完整信息填充時間也在不斷的增長,但是可以看出,此次研究的填充方法運行時間上升幅度較小,不完整信息填充時間最短,不同類別非完整大數(shù)據(jù)中缺失數(shù)據(jù)填充方法與分布式數(shù)據(jù)庫用戶丟失數(shù)據(jù)恢復(fù)重構(gòu)方法花費的時間都較多。
綜上所述,此次研究的基于多元回歸KNN的網(wǎng)絡(luò)數(shù)據(jù)庫不完整信息填充方法較傳統(tǒng)的兩種方法的缺失數(shù)據(jù)檢測時間少、對缺失數(shù)據(jù)估計值準確度高、預(yù)測誤差低與信息填充時間少,充分驗證了此次研究方法的有效性。原因是因為此次研究的填充方法預(yù)先對網(wǎng)絡(luò)數(shù)據(jù)庫中不完整信息進行了檢測與預(yù)處理,并采用多元回歸KNN方法對其進行了填充,從而獲得了較好的填充效果,滿足填充方法設(shè)計需求。
本文設(shè)計了一個基于多元回歸KNN的網(wǎng)絡(luò)數(shù)據(jù)庫不完整信息填充方法,該方法能夠通過系數(shù)的調(diào)整有效消除缺失數(shù)據(jù)帶來的噪聲對填充結(jié)果的影響,更好的解決了因缺失數(shù)據(jù)噪聲帶來填充結(jié)果偏差大的問題,通過觀察實驗結(jié)果可知,此次研究的網(wǎng)絡(luò)數(shù)據(jù)庫不完整信息填充方法較傳統(tǒng)兩種填充方法填充速度快,對于網(wǎng)絡(luò)數(shù)據(jù)庫不完整信息檢測花費的時間也少,證明此次研究的方法較傳統(tǒng)方法應(yīng)用效果好。
但是此次研究的方法也存在一定的不足,對缺失數(shù)據(jù)補全之后得到的重組矩陣秩的確定是不唯一的,如何找到最優(yōu)的秩仍需要進一步研究,從而提高數(shù)據(jù)庫不完整信息填充效果。