程理++張楠
摘 要:本文根據生物樣本數據之間有關聯性的特點,對一種最基本的缺失數據填補辦法進行逐步優化。首先對數據進行預處理,摘取部分R統計軟件中自帶的iris鳶尾花數據,每一行代表一株花的記錄,并人為隨機挖空。其次,使用最基本的均值填補對缺失數據進行填補。然后,針對均值填補法的主要缺點,提出改進方法:對樣本數據進行系統聚類,再對分類后的各組數據分別進行均值填補??紤]樣本數據之間的關聯性,對分類之后的填補方法再一次進行優化,采用回歸填補法填補缺失數據。比較基本的均值填補、分類后的均值填補、分類后的回歸填補,發現三者的誤差率逐步遞減,證明本文提出的優化方法是可行的。最后,由于仍然存在相當大的誤差,考慮到分類方法是基于歐氏距離,沒有考慮指標間的相關性,本文提出馬氏距離作為改進。
關鍵詞:填補缺失數據 聚類分析 回歸填補 馬氏距離
中圖分類號:TP31 文獻標識碼:A 文章編號:1674-098X(2017)09(b)-0138-03
基因芯片是分子生物學、微電子學和信息學等學科交叉形成的一種新型生物技術,目前已經廣泛應用于分子生物學、生物醫學等研究領域,如DNA測序、基因調控網絡和癌癥檢測等[1]。由于實驗中存在很多變異來源,基因表達數據矩陣通常含有缺失,比普通缺失數據更為復雜的是,涉及到基因表達譜的相似性度量。對于缺失數據,先將缺失值填充,然后對產生的完全數據用標準方法進行分析。對于完全數據處理,有很多經典的統計方法,所以重難點在于如何填補數據。
本文首先對數據進行預處理,摘取部分R統計軟件中自帶的iris鳶尾花數據,每一行代表一株花的記錄,并人為隨機挖空。其次,使用最基本的均值填補對缺失數據進行填補。然后,針對均值填補法的主要缺點,提出改進方法:對樣本數據進行系統聚類,再對分類后的各組數據分別進行均值填補??紤]樣本數據之間的關聯性,對分類之后的填補方法再一次進行優化,采用回歸填補法填補缺失數據。比較基本的均值填補、分類后的均值填補、分類后的回歸填補,發現三者的誤差率逐步遞減,證明優化方法是可行的。最后,由于仍然存在相當大的誤差,分析其原因,是因為前面的改進都是基于最基本的統計方法結合其他交叉學科,例如張磊等人關于的KNN-RVM分類器的研究[2]中采用的KNN法是將統計方法與模式識別相結合,卻沒有考慮到這些分類方法都是基于歐氏距離,沒有考慮指標間的相關性,可能不太適用于有關聯的生物樣本數據研究,因此本文提出馬氏距離作為改進。
1 數據預處理
為了證明方法的優劣,直接用缺失數據是不妥的,因為無法進行驗證。所以先找一些有相關性的完整數據進行隨機挖空,然后用不同的方法模型對得到的缺失數據進行填補,最后和原始數據進行比較,衡量填補的精確度。筆者摘取了部分R統計軟件中自帶的iris鳶尾花數據,每一行代表一株花的記錄,并人為隨機挖空,從上往下空缺部分的原數據分別為1.4,1.7,2.5。
2 原始模型
均值填補是一種簡單有效的處理指標值缺失的方法[3],可以將它看作最基本的缺失值填補方法,即在數據中每一行為一個紀錄單元,設Yij是單元i的Yj值,則用有記錄的Yj取平均值來替代缺失值,從上往下得到的NA值分別為3.9,1.2,3.1。
但是這種方法并沒有考慮數據間的關聯性,估計的準確度大受影響。尤其在基因數據中,需要消除不相似基因對基因表達譜中缺失值估計的影響,直接均值填補得到的偏差是很大的,我們可以對該方法進行適當改進,例如先對數據進行分類再填補,考慮數據間的相關性的缺失填補方法,將會更適用于生物統計中。
3 模型改進
3.1 分類填補
關于分類,可用聚類分析[4],聚類分析又稱群分析,它是研究對樣品或指標進行分類的一種多元統計方法。但這些統計方法都是基于完全數據,對于本身具有缺失值的數據,不能直接分類,而應先刪去不完全記錄,然后對完全記錄的數據聚類分析。
系統聚類法,即一開始每個對象自成一類,然后每次將最相似的兩類合并,合并后重新計算新類與其他類的距離或相近性測度,一直繼續直到所有對象歸為一類為止,并類的過程可用一張譜系聚類圖描述[5]。
3.1.1 系統聚類
先將含NA的行刪去,因為每一個指標的單位不盡相同,所以需要對數據進行變換,變換方法有中心化變換、標準化變換、極差標準化變換、對數變換等,此處我們采用標準化變換,使得變換后每個變量的樣本均值為0,標準差為1,且標準化后的數據與變量的量綱無關。
然后用系統聚類法進行聚類分析,在聚類過程中采用Ward法[6],也稱為離差平方和法。它基于方差分析思想,如果類分得正確,則同類樣品之間的離差平方和應當較小,不同類樣品之間的離差平方和應當較大,得到譜系聚類圖(見圖1)。
記上圖中框線標出的3類從左往右依次為第1、2、3類。
3.1.2 分類后的均值填補
第一個NA值所在記錄為7號,對應數據為4.6,3.4,NA,0.3,將此行加入到第一步處理的完全數據中,運用類似思想,將NA值所在的列刪去,僅考慮另外3個指標對這28條記錄進行聚類分析。得到7號記錄歸為第1類,則取第一類中9條完全記錄的第三個指標的平均值作為7號記錄所缺失的值,計算得到1.4。
同理,第二個NA值所在的78號記錄數據分別為6.7,3,5,NA,將此行加入第一步的完整數據中并將第四個指標值都去掉后聚類分析,得到78號記錄歸為第3類,求得缺失值為1.9;第三個NA值所在的114號記錄數據分別為5.7,NA,5,2,得到114號記錄歸為第3類,缺失值為3。
3.1.3 分類后的回歸填補
回歸填補即考慮單個變量的不響應[7],變量Y1,…,YK-1全都有觀測,Yk對前r個有觀測而丟失了后n-r個觀測。回歸借補基于r個完全個體計算Yk關于Y1,…,YK-1的回歸,然后用回歸的預測值填充缺失值。即與分類填補中思想類似,逐個對每個NA值進行填補,則K值為3,n為28,n-r為1。endprint
記iris數據集的4個指標Sepal.Length,Sepal Width,Petal.Length,Petal.Width分別為X1,X2,X3,X4,例如填補7號記錄中的NA,刪去78、114號兩行記錄,則剩下的28行數據中,指標量X1,X2,X4全都有觀測,X3指標量缺失7號記錄的數據。用27條完全數據,計算X3關于X1,X2,X4的回歸,得到方程為:X3=-0.2763+0.7391X1-0.6483X2+1.4184X3,回歸系數與回歸方程都是顯著的,所以可以預測,當X1=4.6,X2=3.4,X4=0.3時,X3=1.3;同理對78號的NA值處理,計算X4關于X1,X2,X3的回歸,得到方程:X4=-0.23557-0.27041X1+0.28417X2+0.57135X3,回歸系數與回歸方程顯著,預測NA值為1.7;對于114號NA值,計算X2關于X1,X3,X4的回歸,得到方程:X2=0.6256+0.7141X1-0.7030X3+0.7650X4,回歸系數與回歸方程顯著,預測NA值為2.7。
與分類后均值填補比較,回歸填補準確度更高。
3.2 分類方法的距離改進
對偏差產生原因進行分析,在聚類分析中默認計算距離的方法都是用歐氏距離[8],但歐式距離與各變量的量綱有關,且沒有考慮指標間的相關性,也沒有考慮各變量方差的不同,即變差大的變量在距離中的貢獻就會大。所以很有可能會造成填補結果出現較大偏差[9]。
馬氏距離是歐幾里德空間中非均勻分布的歸一化距離[10],不用考慮各個變量的量綱,它引入協方差來描述變量之間的相關性。例如樣品Xi和樣品Xj的馬氏距離為:
其中S-1為樣本協差陣的逆矩陣。馬氏距離既排除了變量間相關性的干擾,而且還不受各項指標量綱的影響,還對線性變換具有不變性[11]。
dij(M)=(Xi-Xj)S-1(Xi-Xj)
但在運算過程中,同一類樣品間的馬氏距離要用這一類的協差陣來計算。但類的形成卻要依賴樣品間的距離,而樣品間合理的馬氏距離又依賴于類,這就形成了一個循環。且馬氏距離會夸大變化微小的變量的作用,而且受到方差矩陣不穩定的影響[12],我們不一定能順利計算出馬氏距離。
4 方法評價與推廣
均值法沒有考慮數據間的關聯性,準確性會大大降低,分類后再使用均值法,效果優于分類前。分類后的回歸填補考慮到各指標間的相關性,其效果有比分類后的均值填補更優。但是這些經典統計方法都是基于歐氏距離計算和分類,沒有考慮指標間的相關性,可能會造成填補結果出現較大偏差,使用馬氏距離進行改進,可能會得到更精確的結果。
本文所使用的生物樣本數據指標數較少,如果遇到指標數過多的情況,就要先使用主成分分析法或因子分析法對數據進行降維,再進行缺失數據的填補。
參考文獻
[1] 胡昇.基于生物信息學技術篩選慢性乙型肝炎血液相關基因的研究[D].南方醫科大學,2013.
[2] 張磊,劉建偉,羅雄麟.基于KNN和RVM的分類方法——KNN-RVM分類器[J].模式識別與人工智能,2010(3):376-384.
[3] 李偉棟,劉慧燕,肖晚晴,等.衛生項目評價指標缺失值均值填補的效果評價[J].中國婦幼保健,2014(24):3871-3874.
[4] 張麟,潘紅巖.聚類分析算法應用研究[J].數字技術與應用,2016(10):143,145.
[5] 高惠璇.應用多元統計分析[M].北京大學出版社,2005.
[6] 李瓊.系統聚類分析中的遺傳算法[J].武漢交通科技大學學報,2000(3):301-304.
[7] Little R J A,Rubin D B.Statistical Analysis with Missing Data, Second Edition[M]// Statistical Analysis with Missing Data, 2002:200-220.
[8] 張大克,王玉杰.隨機平均歐氏距離的統計性質與分類閾值[J].天津科技大學學報,2008(4):85-88.
[9] 鄒凌君.流數據的聚類分類算法研究[D].揚州大學,2008.
[10] 陳加順.海洋環境下聚類算法的研究[D].南京航空航天大學,2014.
[11] 王振麗.基于加權馬氏距離的方法研究[D].南京理工大學,2016.
[12] 陶建波.基于嶺估計的馬田系統分類方法研究及其應用[D].南京理工大學,2016.endprint