摘 要:磷酸鋁合成反應(yīng)數(shù)據(jù)庫(kù)中有29%的數(shù)據(jù)存在不同情況的缺失。為了處理缺失值問(wèn)題,本文首次提出利用BP神經(jīng)網(wǎng)絡(luò)對(duì)其進(jìn)行估計(jì)補(bǔ)值。在不同缺失率下,通過(guò)大量的隨機(jī)實(shí)驗(yàn)結(jié)果證明了補(bǔ)值算法具有一定的有效性和可行性。
關(guān)鍵詞:微孔材料;BP神經(jīng)網(wǎng)絡(luò);缺失值
中圖分類號(hào):TP391.4 文獻(xiàn)標(biāo)識(shí)碼:A
1 前言
數(shù)據(jù)缺失(missing values,MVs)問(wèn)題是廣泛存在且無(wú)法回避的一個(gè)問(wèn)題。尤其是在面對(duì)處理現(xiàn)實(shí)問(wèn)題時(shí),缺失問(wèn)題更為普遍和嚴(yán)重[1]。數(shù)據(jù)參數(shù)缺失有很多種原因,如對(duì)實(shí)驗(yàn)數(shù)據(jù)沒(méi)有詳細(xì)的記錄、部分參數(shù)無(wú)法測(cè)定等。不完整的數(shù)據(jù)對(duì)后續(xù)的數(shù)據(jù)分析帶來(lái)不同程度的干擾。因此,對(duì)缺失值數(shù)據(jù)進(jìn)行補(bǔ)值是一步非常重要的數(shù)據(jù)預(yù)處理方法[2]。
近些年,國(guó)內(nèi)外學(xué)者子在研究是發(fā)現(xiàn),如果在補(bǔ)值時(shí)考慮參數(shù)間的相關(guān)性則補(bǔ)值的估計(jì)誤差率會(huì)明顯降低[3]。針對(duì)不同情況,學(xué)者們先后提出了不同的補(bǔ)值方法,如KNN補(bǔ)值方法(K-nearest neighbor imputes,KNNimpute)[4]、奇異值分解補(bǔ)值方法(singular value decomposition imputes,SVDimpute)[5]等。在生物信息學(xué)[6]和計(jì)量化學(xué)[7]等很多領(lǐng)域已經(jīng)開展了缺失值處理方法的研究。但目前還沒(méi)有針對(duì)磷酸鋁合成反應(yīng)數(shù)據(jù)的缺失值處理的相關(guān)方法研究報(bào)道。因此,本文首次提出基于BP神經(jīng)網(wǎng)絡(luò)的補(bǔ)值方法(BP neural networks imputes,BPimpute)應(yīng)用到磷酸鋁合成反應(yīng)數(shù)據(jù)上,并同其他經(jīng)典方法(基于KNN的補(bǔ)值方法(K-nearest neighbor imputes,KNNimpute)、基于SVD的補(bǔ)值方法(singular value decomposition imputes,SVDimpute)和基于最小二乘的補(bǔ)值方法(least square imputes,LSimpute)進(jìn)行對(duì)比,來(lái)驗(yàn)證算法的可行性和有效性。
本文結(jié)構(gòu)如下:在第二部分對(duì)現(xiàn)有的幾種經(jīng)典補(bǔ)值方法進(jìn)行簡(jiǎn)單介紹;然后在第三部分詳細(xì)描述BPimpute的補(bǔ)值過(guò)程;第四部分是實(shí)驗(yàn)設(shè)計(jì)和結(jié)果分析;最后給出本文結(jié)論。
2 補(bǔ)值方法簡(jiǎn)介
現(xiàn)有的補(bǔ)值方法一般被分為兩類:基于模型的方法和插補(bǔ)方法(hot-deck inputation)[8]。插補(bǔ)方法是最典型的無(wú)需構(gòu)建模型的補(bǔ)值方法,它利用含缺失數(shù)據(jù)的樣本較像數(shù)據(jù)的可用參數(shù)值來(lái)替換缺失值,最經(jīng)典方法就是KNNimpute[9]。插補(bǔ)方法簡(jiǎn)單、易用,能夠?qū)崿F(xiàn)完備集數(shù)據(jù),但是它沒(méi)有考慮數(shù)據(jù)參數(shù)間的相關(guān)性?;谀P偷姆椒ǎㄈ鏢VDimpute[10]和LSimpute[11])首先根據(jù)現(xiàn)有數(shù)據(jù)建立估計(jì)模型,然后對(duì)缺失值進(jìn)行補(bǔ)值,是一種更復(fù)雜、應(yīng)用更靈活的方法。近年來(lái),一些學(xué)者發(fā)現(xiàn)神經(jīng)網(wǎng)絡(luò)也能解決類似的問(wèn)題。
3 BPimpute方法
基于分子篩的合成機(jī)理,以及參數(shù)間存在潛在映射關(guān)系,而BP神經(jīng)網(wǎng)絡(luò)是能夠獲得從輸入到輸出之間的非線性映射關(guān)系的有效工具,因此利用BP神經(jīng)網(wǎng)絡(luò)來(lái)刻畫參數(shù)間的映射關(guān)系,首次提出基于BP神經(jīng)網(wǎng)絡(luò)的補(bǔ)值方法。
BPimpute采用三層BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)(輸入層、隱含層和輸出層)來(lái)構(gòu)建參數(shù)模型[12]。從Y中不含參數(shù)缺失的樣本隨機(jī)選出k個(gè)樣本作為訓(xùn)練樣本;假設(shè)第h個(gè)參數(shù)缺失。BPimpute方法分兩個(gè)階段進(jìn)行缺失值估計(jì),即訓(xùn)練模型階段和估計(jì)缺失值階段。在訓(xùn)練階段,每個(gè)訓(xùn)練樣本除第h個(gè)參數(shù)外的參數(shù)作為BP網(wǎng)絡(luò)的輸入向量,訓(xùn)練樣本的第h個(gè)參數(shù)值作為模型的輸出,訓(xùn)練好BP網(wǎng)絡(luò)模型。在估計(jì)階段,就是將測(cè)試樣本送入訓(xùn)練好的BP模型中,模型的輸出即為缺失值的估計(jì)值。
4 實(shí)驗(yàn)結(jié)果與分析
4.1 磷酸鋁合成反應(yīng)數(shù)據(jù)庫(kù)簡(jiǎn)介
磷酸鋁合成反應(yīng)數(shù)據(jù)庫(kù)[13]是由吉林大學(xué)徐如人院士領(lǐng)導(dǎo)的“無(wú)機(jī)合成與制備國(guó)家重點(diǎn)實(shí)驗(yàn)室”在國(guó)內(nèi)外大量學(xué)者、科研機(jī)構(gòu)研究的基礎(chǔ)上率先建立起來(lái)的,并對(duì)國(guó)內(nèi)外學(xué)者免費(fèi)開放(http://mezeopor.jlu.edu.cn/alpo/)。該數(shù)據(jù)庫(kù)共有約1600條數(shù)據(jù),對(duì)應(yīng)230余種磷酸鋁骨架結(jié)構(gòu)。
4.2 補(bǔ)值實(shí)驗(yàn)設(shè)計(jì)與結(jié)果分析
首先,從原始數(shù)據(jù)庫(kù)中挑選出不含參數(shù)缺失的數(shù)據(jù)構(gòu)建完備數(shù)據(jù)集,每條數(shù)據(jù)由凝膠成分、溶劑屬性、模板劑屬性和生成物結(jié)構(gòu)參數(shù)四部分組成。因?yàn)槿軇┖湍0鍎傩允枪潭▍?shù),所以本文僅考慮能夠生成含(6,12)元環(huán)無(wú)機(jī)微孔化合物的數(shù)據(jù)(398條)的4個(gè)凝膠成分參數(shù)[14](data_M)作為研究目標(biāo)。并做以下假設(shè):4個(gè)凝膠成分參數(shù)是相關(guān)的,且發(fā)生缺失的情況是獨(dú)立的、隨機(jī)產(chǎn)生的,每條樣本數(shù)據(jù)最多存在一個(gè)參數(shù)缺失。最后,根據(jù)以上假設(shè),隨機(jī)將部分?jǐn)?shù)據(jù)樣本的某個(gè)參數(shù)設(shè)為缺失,對(duì)其進(jìn)行補(bǔ)值,通過(guò)與真實(shí)值的誤差評(píng)價(jià)算法的有效性。
補(bǔ)值實(shí)驗(yàn)的設(shè)計(jì)描述如下所示:
(1)首先從原始數(shù)據(jù)中刪除含有缺失值的樣本,得到完備數(shù)據(jù)集;
(2)根據(jù)缺失比率q()在中隨機(jī)產(chǎn)生缺失情況;
(3)利用補(bǔ)值方法估計(jì)缺失值;
(4)計(jì)算估計(jì)值和真實(shí)值之間的誤差;
(5)重復(fù)l次實(shí)驗(yàn),獲得估計(jì)平均誤差來(lái)評(píng)價(jià)算法的性能。
補(bǔ)值方法的性能通過(guò)均方誤差根(normalized root mean squared error,NRMSE)來(lái)衡量,如公式(1)所示:
其中,是真實(shí)值,是通過(guò)補(bǔ)值方法獲得的估計(jì)值。NRMSE值越小說(shuō)明算法性能越好,誤差越小。
實(shí)驗(yàn)中data_M的缺失比率q被設(shè)為1%,3%,5%,10%,20%,30%和50%。重復(fù)l次實(shí)驗(yàn)的目的是為了保證至少99%的數(shù)據(jù)都參與了實(shí)驗(yàn),更符合統(tǒng)計(jì)規(guī)律。不同的數(shù)據(jù)和缺失率l設(shè)置不同,具體詳見表1。
表1 不同數(shù)據(jù)和缺失率下l值的設(shè)置
Tab.1 The setting of l
表2列出了不同方法的平均NRMSE結(jié)果??梢钥闯霎?dāng)訓(xùn)練樣本數(shù)量多、缺失率較低的情況下BPimpute效果最優(yōu),而在缺失率較高的情況下KNNimpute的補(bǔ)值結(jié)果不受其影響,如圖1所示。
表2 不同方法的平均NRMSE結(jié)果
Tab.2 The average NRMSE of different methods
針對(duì)反應(yīng)凝膠中第一種溶劑的摩爾數(shù)/Al的摩爾數(shù)(F3)無(wú)論那種補(bǔ)值方法的NRMSE都超過(guò)了1.0。
圖1 不同補(bǔ)值方法的NRMSE結(jié)果圖
Fig.1 Comparisons of NRMSE different methods
4.3 補(bǔ)值算法對(duì)現(xiàn)有數(shù)據(jù)的修正
除了補(bǔ)值實(shí)驗(yàn)外,本文還設(shè)計(jì)了通過(guò)補(bǔ)值算法對(duì)現(xiàn)有數(shù)據(jù)的修正的實(shí)驗(yàn)。如果算法有效,構(gòu)建的參數(shù)間關(guān)系模型準(zhǔn)確,可以對(duì)參數(shù)進(jìn)行校正,則那些被錯(cuò)誤分類的樣本經(jīng)過(guò)補(bǔ)值算法的修正后能夠被正確分類。實(shí)驗(yàn)描述如下:
(1)從數(shù)據(jù)庫(kù)中隨機(jī)選擇398個(gè)負(fù)樣本和398個(gè)正樣本構(gòu)建樣本集;
(2)隨機(jī)選擇199個(gè)正樣本和199個(gè)負(fù)樣本訓(xùn)練SVM分類器(RBF核函數(shù)),剩下的樣本作為測(cè)試樣本;
(3)重復(fù)t次5重交叉驗(yàn)證實(shí)驗(yàn),得到平均預(yù)測(cè)準(zhǔn)確率、錯(cuò)誤樣本和訓(xùn)練好的SVM模型;
(4)分別用BPimpute方法和KNNimpute()方法對(duì)錯(cuò)誤樣本進(jìn)行修正;
(5)將修正后的數(shù)據(jù)重新送入SVM模型中,得到修正后的預(yù)測(cè)準(zhǔn)確率。
圖2顯示,僅修正了(6,12)元環(huán)樣本后的預(yù)測(cè)準(zhǔn)確率就得到了提升,這也證明了補(bǔ)值方法對(duì)數(shù)據(jù)的修正作用,并從另一個(gè)角度證明了補(bǔ)值方法的有效性。如果能夠?qū)θw錯(cuò)誤樣本都進(jìn)行修正,那么準(zhǔn)確率一定會(huì)進(jìn)一步提升。
圖2 修正后的預(yù)測(cè)準(zhǔn)確率結(jié)果對(duì)比圖
Fig.2 Comparisons of prediction accuracy on
AlPOs dataset
5 結(jié)語(yǔ)
針對(duì)磷酸鋁數(shù)據(jù)庫(kù)的樣本含缺失值的情況,本文首次提出基于BP神經(jīng)網(wǎng)絡(luò)的補(bǔ)值方法。在不同缺失率下,通過(guò)大量的隨機(jī)實(shí)驗(yàn)結(jié)果證明了補(bǔ)值算法具有一定的有效性和可行性,尤其是當(dāng)完備數(shù)據(jù)較多、缺失率較小時(shí),BPimpute方法補(bǔ)值效果最好。但是本文僅針對(duì)(6,12)元環(huán)結(jié)構(gòu)進(jìn)行實(shí)驗(yàn),在后續(xù)的工作中將陸續(xù)開展其他結(jié)構(gòu)的實(shí)驗(yàn)工作。
參考文獻(xiàn)
[1] Celton M, Malpertuy A,Lelandais G,et al.Comparative analysis
of missing value imputation methods to improve clustering and
interpretation of microarray experiments[J].BMC
Genomics,2010,11-15.
[2] Aittokallio T.Dealing with missing values in large-scale studies:
microarray data imputation and beyond[J].Brief Bioinformatics,
2010,11: 253-264.
[3] Alizadeh A A,Eisen M B,Davis R E,et al.Distinct types of diffuse
large B-cell lymphoma identified by gene expression profiling[J].
Nature, 2000:403;503-511.
[4] Troyanskaya O,Cantor M,Sherlock G, Brown P,et al.Missing
value estimation methods for DNA microarrays[J].Bioinformatics,
2001,17:520-525.
[5] Watkins D S.Fundamentals of Matrix Computations[M].Wiley,
1991 New York.
[6] Liew A W C,Law N F and Yan H. Missing value imputation for
gene expression data:computational techniques to recover
missing data from available information (Review paper)[J].
Briefings in Bioinformatics,2011,1-16.
[7] Andersen C M,Bro R.Practical aspects of PARAFAC modeling
of fluorescence excitation- emission data[J]. Journal of
Chemometrics,2003, 17(4):200-215.
[8] Lakshminarayan K,Harp S,Samad T.Imputation of missing data
in industrial databases[J]. Applied Intelligen ce,1999,11(3),
259-275.
[9] Chen J,Shao J.Nearest neighbour imputation for survey data[J].
Journal of Official Statistics,2000,16(2),113-131.
[10] Mirkin B.Mathematical Classification and Clustering[M].
Kluwer Academic Publishers,1996.
[11] B? TH,Dysvik B,Jonassen I: LSimpute: accurate estimation
of missing values in microarray data with least squares
methods[J].Nucleic Acids Res, 2004,32(3):e34.
[12] Kong J,et al.A two stage neural network-based personal
identification system using handprint[J].Neurocomputing,2008
(71),641-647.
[13] 顏巖,等.開放骨架磷酸鋁合成反應(yīng)數(shù)據(jù)庫(kù)的建立與應(yīng)用[J].
中國(guó)科學(xué)B輯: 化學(xué),2009,39(11):1308-1313.
[14] Li J,et al.Missing value estimation for database of
aluminophosphate (AlPO) syntheses[J].Microporous and
Mesoporous Materials,2013(173):197-206.
作者簡(jiǎn)介:
李勁松(1980-),男,理學(xué)博士,中級(jí)工程師.研究領(lǐng)域:數(shù)據(jù)
分析.