本發(fā)明涉及基因表達(dá)信息挖掘領(lǐng)域,具體地說是一種基于自適應(yīng)權(quán)重的微陣列缺失值估計(jì)方法。
背景技術(shù):
微陣列技術(shù)可以在不同實(shí)驗(yàn)條件下同時(shí)檢測成千上萬個(gè)基因表達(dá)水平值,研究者根據(jù)微陣列提供的數(shù)據(jù)并結(jié)合生物學(xué)知識(shí)可以獲取一些有價(jià)值的潛在生物信息。研究微陣列數(shù)據(jù)大量采用了機(jī)器學(xué)習(xí)算法,其中主要包括分類分析和聚類分析等。然而在微陣列技術(shù)應(yīng)用過程中的各個(gè)實(shí)驗(yàn)步驟都可能存在人為或者非人為的因素:例如微陣列芯片的使用步驟不規(guī)范,微陣列芯片的表面有劃痕或者灰塵,或者在實(shí)驗(yàn)過程中存在某些系統(tǒng)性錯(cuò)誤,這些問題都可能造成微陣列芯片的基因表達(dá)數(shù)據(jù)存在不同程度的缺失值,從而導(dǎo)致很多機(jī)器學(xué)習(xí)算法無法實(shí)施,因此微陣列數(shù)據(jù)中缺失值的處理是十分必要的。
處理缺失值的一種簡單方法是重復(fù)試驗(yàn),但是由于微陣列芯片價(jià)格昂貴,并且重復(fù)試驗(yàn)后微陣列數(shù)據(jù)可能仍然存在缺失值,所以這種方法一般不推薦使用。另外一些簡單的算法,例如直接將所有包含缺失值的整個(gè)基因表達(dá)數(shù)據(jù)剔除,或者利用基因觀測值的平均值或零值填充該基因的缺失值,但是這些算法的缺點(diǎn)顯而易見,因?yàn)橹苯觿h除整個(gè)不完整基因可能會(huì)造成大量有價(jià)值的信息丟失,如果利用基因觀測值的平均值或者零值填充該基因的缺失值,則沒有充分利用數(shù)據(jù)結(jié)構(gòu)所包含的信息。為了解決以上這些問題一些更復(fù)雜的缺失值填補(bǔ)算法相繼提出,其中基于最近鄰概念的缺失值填補(bǔ)算法的研究較為廣泛。KNNimpute是較早提出的基于最近鄰概念的缺失值填補(bǔ)算法,并且實(shí)驗(yàn)結(jié)果表明KNNimpute優(yōu)于行平均值填補(bǔ)算法以及基于奇異值分解的填補(bǔ)算法SVDimpute。在KNNimpute的基礎(chǔ)上SKNNimpute提出,該算法有選擇性的將包含最少量丟失值的基因作為目標(biāo)基因并填充缺失值,并且該填充后的基因被應(yīng)用到其它目標(biāo)基因缺失值的填補(bǔ)過程中。LSimpute算法在基于最近鄰概念的基礎(chǔ)上結(jié)合了一元線性回歸模型,相對(duì)于KNNimpute算法的精度有所提升,在LSimpute的基礎(chǔ)上結(jié)合多元線性回歸模型的填補(bǔ)算法LLSimpute提出,在LLSimpute的基礎(chǔ)上一種迭代的局部最小二乘填補(bǔ)算法ILLSimpute提出,同樣基于LLSimpute一種連續(xù)的局部最小二乘填補(bǔ)算法SLLSimpute提出。另外一些不是基于最近鄰概念的填補(bǔ)算法但是應(yīng)用同樣廣泛的有基于貝葉斯定理的缺失值填補(bǔ)算法貝葉斯主成分分析(BPCAimpute),以及基于支持向量機(jī)的缺失值填補(bǔ)算法支持向量回歸(SVRimpute)。
但是基于最近鄰概念的算法都存在一些弊端,這些弊端是由于最近鄰算法本身的特性所導(dǎo)致的。第一個(gè)弊端是最近鄰算法中的參數(shù)對(duì)于算法效果有直接的影響,并且目前沒有一種可以推理的方法來判定最優(yōu)的參數(shù)。第二個(gè)弊端是以上這些算法都沒有考慮到缺失值的預(yù)測值可能產(chǎn)生嚴(yán)重的偏置,原因主要是因?yàn)閿?shù)據(jù)集中各樣本之間關(guān)聯(lián)性是不同的?;谧罱徃拍畹奶钛a(bǔ)算法也稱為熱卡填補(bǔ)算法,熱卡填補(bǔ)算法的一個(gè)重要特點(diǎn)是缺失值是利用同一數(shù)據(jù)集中的其它觀測數(shù)據(jù)并采用某種方式填充的,基于最近鄰概念的缺失值填充算法都是利用與缺失值所在屬性中的其它觀測數(shù)據(jù)填充的,因此這些算法的缺失值填充模型是相同的,但是不同的算法的填充模型參數(shù)是各不相同的,也就是說多元線性回歸模型容易導(dǎo)致過擬合問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明是為了解決上述現(xiàn)有技術(shù)存在的不足之處,提出一種基于自適應(yīng)權(quán)重的微陣列缺失值估計(jì)方法,以期能有效挖掘微陣列數(shù)據(jù)中的數(shù)據(jù)結(jié)構(gòu)關(guān)系,在避免人工干預(yù)的前提下自動(dòng)預(yù)測微陣列數(shù)據(jù)中的缺失值,從而提高估計(jì)的準(zhǔn)確性。
本發(fā)明為解決技術(shù)問題采用如下技術(shù)方案:
本發(fā)明一種基于自適應(yīng)權(quán)重的微陣列缺失值估計(jì)方法,是應(yīng)用于由n個(gè)基因組成的微陣列數(shù)據(jù)集中,所述微陣列數(shù)據(jù)集記為G={g1,g2,…,gi,…gn};gi表示第i個(gè)基因;1≤i≤n;并有:表示第i個(gè)基因在第j個(gè)實(shí)驗(yàn)條件下的表達(dá)數(shù)據(jù),1≤j≤m;由n個(gè)基因在第j個(gè)實(shí)驗(yàn)條件下的表達(dá)數(shù)據(jù)組成第j個(gè)樣本,記為sj;其特點(diǎn)是,所述微陣列缺失值填補(bǔ)估計(jì)方法是按照如下步驟進(jìn)行:
步驟1、定義循環(huán)次數(shù)為c,并初始化c=1
步驟2、選取第c次循環(huán)下的微陣列數(shù)據(jù)集G(c)中所有具有缺失值的基因,并構(gòu)成第c次循環(huán)下的不完整基因集F(c),并將剩下的沒有缺失值的基因構(gòu)成第c次循環(huán)下的完整基因集H(c);
步驟3、選擇所述第c次循環(huán)下的不完整基因集F(c)中丟失率最小的不完整基因作為目標(biāo)基因若存在多個(gè)不完整基因的最小丟失率相同,則隨機(jī)選取任意一個(gè)最小丟失率的不完整基因作為目標(biāo)基因
步驟4、從所述第c次循環(huán)下的微陣列數(shù)據(jù)集G(c)中找出所述目標(biāo)基因的所有相似基因,構(gòu)成相似基因集表示所述目標(biāo)基因的第v個(gè)相似基因;1≤v≤V;
步驟5、計(jì)算第c次循環(huán)下的第v個(gè)相似基因?qū)τ谀繕?biāo)基因的相似度從而獲得所有相似基因?qū)τ谀繕?biāo)基因的相似度
步驟6、自適應(yīng)確定第v個(gè)相似基因的權(quán)重并構(gòu)建加權(quán)回歸模型用于填補(bǔ)目標(biāo)基因中的所有缺失值;
步驟7、將填補(bǔ)后的目標(biāo)基因加入所述完整基因集H(c)中,從而更新所述第c次循環(huán)下的完整基因集H(c),得到第c+1次循環(huán)下的完整基因集H(c+1);
步驟8、將所述目標(biāo)基因從所述第c次循環(huán)下的不完整基因集F(c)中刪除,從而更新所述第c次循環(huán)下的不完整基因集F(c),得到第c+1次循環(huán)下的不完整基因集F(c+1);
步驟9、判斷所述不完整基因集F(c+1)中是否存在具有缺失值的基因,若存在,則將c+1賦值給c后,再返回步驟3執(zhí)行;否則,表示缺失值填補(bǔ)完成。
本發(fā)明所述的微陣列缺失值估計(jì)方法的特點(diǎn)也在于,
所述步驟3的丟失率為具有缺失值的基因中所有缺失表達(dá)數(shù)據(jù)的總個(gè)數(shù)與樣本總個(gè)數(shù)m之比。
所述步驟4中的相似基因集G′(c)是按如下步驟進(jìn)行:
步驟4.1、在所述第c次循環(huán)下的微陣列數(shù)據(jù)集G(c)中尋找滿足式(1)所有基因,并構(gòu)成第c次循環(huán)下的包含有K(c)個(gè)基因的初步篩選基因集:
式(1)中,表示第c次循環(huán)下的目標(biāo)基因的缺失值位置,表示第c次循環(huán)下的微陣列數(shù)據(jù)集G(c)中第i個(gè)基因gi的缺失值位置;
步驟4.2、在所述包含有K(c)個(gè)基因的初步篩選基因集中尋找滿足式(2)的所有基因,并構(gòu)成所述相似基因集G′(c):
式(2)中,表示所述第c次循環(huán)下的初步篩選基因集中任意第k個(gè)基因gk的缺失率。
所述步驟5中的相似度wv是按如下步驟獲得:
步驟5.1、利用式(3)計(jì)算第v個(gè)相似基因與目標(biāo)基因之間的相似性距離
式(3)中,表示所述第v個(gè)相似基因中所有未缺失值的總個(gè)數(shù),表示所述目標(biāo)基因中所有未缺失值的總個(gè)數(shù),表示所述第c次循環(huán)下的目標(biāo)基因的未缺失值位置,表示所述第v個(gè)相似基因的未缺失值位置,表示所述第c次循環(huán)下的目標(biāo)基因在第j個(gè)實(shí)驗(yàn)條件下的表達(dá)數(shù)據(jù),表示所述第v個(gè)相似基因在第j個(gè)實(shí)驗(yàn)條件下的表達(dá)數(shù)據(jù);
步驟5.2、利用式(4)對(duì)相似性距離進(jìn)行尺度伸縮處理,得到標(biāo)準(zhǔn)化相似性距離wv:
式(4)中,表示第c次循環(huán)下所有相似基因與目標(biāo)基因之間最小的相似性距離;σ是標(biāo)準(zhǔn)差,取值范圍為[0,1]。
所述步驟6中的加權(quán)回歸模型是按如下步驟構(gòu)建:
步驟6.1、通過最小化式(5)的值以獲得第v個(gè)相似基因的權(quán)重向量從而獲得所有相似基因的權(quán)重向量作為回歸系數(shù)向量
式(4)中,表示所述第c次循環(huán)下的目標(biāo)基因的所有未缺失值組成的向量,表示所述第v個(gè)相似基因的所有未缺失值組成的向量;λ表示回歸系數(shù)向量β的二范數(shù)懲罰因子,并有:
式(6)中,A表示I表示對(duì)角元素全為1的對(duì)角矩陣;W表示由組成的對(duì)角矩陣;[*]+表示矩陣*的偽逆矩陣;
步驟6.2、利用式(7)計(jì)算所述目標(biāo)基因的缺失值的估計(jì)值
式(9)中,表示與所述目標(biāo)基因缺失值所對(duì)應(yīng)的第v個(gè)相似基因中表達(dá)數(shù)據(jù)所組成的向量。
與已有技術(shù)相比,本發(fā)明有益效果體現(xiàn)在:
1、本發(fā)明提出基于自適應(yīng)權(quán)重的微陣列缺失值估計(jì)方法,該算法始終選擇當(dāng)前丟失率最小的不完整基因作為目標(biāo)基因,目標(biāo)基因選定之后,在同一數(shù)據(jù)集中尋找所有完整的基因或者不完整但是滿足設(shè)定條件的基因作為相似基因,而不需要通過某種相似性度量標(biāo)準(zhǔn)來篩選相似基因,因此該缺失值填補(bǔ)方法不需要手動(dòng)調(diào)節(jié)參數(shù),從而方便了研究和使用。
2、本發(fā)明在目標(biāo)基因和所有相似基因選定之后,通過加權(quán)的多元線性回歸模型并結(jié)合2范數(shù)正則化計(jì)算出相應(yīng)的回歸系數(shù)作為填充模型參數(shù)并計(jì)算得到缺失值的估計(jì)值,從而避免了多元線性回歸模型所產(chǎn)生的過擬合問題,提高了缺失值估計(jì)精度。
附圖說明
圖1是本發(fā)明方法流程圖。
具體實(shí)施方式
本實(shí)施例中,一種基于自適應(yīng)權(quán)重的微陣列缺失值估計(jì)方法,是應(yīng)用于由n個(gè)基因組成的微陣列數(shù)據(jù)集中,所述微陣列數(shù)據(jù)集記為G={g1,g2,…,gi,…gn};gi表示第i個(gè)基因;1≤i≤n;并有:表示第i個(gè)基因在第j個(gè)實(shí)驗(yàn)條件下的表達(dá)數(shù)據(jù),1≤j≤m;由n個(gè)基因在第j個(gè)實(shí)驗(yàn)條件下的表達(dá)數(shù)據(jù)組成第j個(gè)樣本,記為sj;具體的說,如圖1所示,該微陣列缺失值填補(bǔ)估計(jì)方法是按照如下步驟進(jìn)行:
步驟1、定義循環(huán)次數(shù)為c,并初始化c=1
步驟2、選取第c次循環(huán)下的微陣列數(shù)據(jù)集G(c)中所有具有缺失值的基因,并構(gòu)成第c次循環(huán)下的不完整基因集F(c),并將剩下的沒有缺失值的基因構(gòu)成第c次循環(huán)下的完整基因集H(c);
步驟3、選擇所述第c次循環(huán)下的不完整基因集F(c)中丟失率最小的不完整基因作為目標(biāo)基因該目標(biāo)基因的缺失值估計(jì)完成之后可以用于后續(xù)其它目標(biāo)基因的缺失值估計(jì);若存在多個(gè)不完整基因的最小丟失率相同,則隨機(jī)選取任意一個(gè)最小丟失率的不完整基因作為目標(biāo)基因
步驟4、從所述第c次循環(huán)下微陣列數(shù)據(jù)集G(c)中找出所述目標(biāo)基因的所有相似基因,構(gòu)成相似基因集表示所述目標(biāo)基因的第v個(gè)相似基因;1≤v≤V;相似基因的數(shù)量由算法自動(dòng)確定,無需人工干預(yù)。
步驟4.1、在所述第c次循環(huán)下的微陣列數(shù)據(jù)集G(c)中尋找滿足式(1)所有基因,并構(gòu)成第c次循環(huán)下的包含有K(c)個(gè)基因的初步篩選基因集,經(jīng)過該步驟得到的基因滿足與目標(biāo)基因缺失值所在相同樣本上不存在缺失值:
式(1)中,表示第c次循環(huán)下的目標(biāo)基因的缺失值位置,表示第c次循環(huán)下的微陣列數(shù)據(jù)集G(c)中第i個(gè)基因gi的缺失值位置;
步驟4.2、在所述包含有K(c)個(gè)基因的初步篩選基因集中尋找滿足式(2)的所有基因,并構(gòu)成所述相似基因集G′(c):
式(2)中,表示所述第c次循環(huán)下的初步篩選基因集中任意第k個(gè)基因gk的缺失率。
步驟5、計(jì)算第c次循環(huán)下的第v個(gè)相似基因?qū)τ谀繕?biāo)基因的相似度從而獲得所有相似基因?qū)τ谀繕?biāo)基因的相似度
步驟5.1、利用式(3)計(jì)算第v個(gè)相似基因與目標(biāo)基因之間的相似性距離
式(3)中,表示所述第v個(gè)相似基因中所有未缺失值的總個(gè)數(shù),表示所述目標(biāo)基因中所有未缺失值的總個(gè)數(shù),這兩個(gè)數(shù)值之比為了自適應(yīng)調(diào)整相似基因與目標(biāo)基因之間的相似性,表示所述第c次循環(huán)下的目標(biāo)基因的未缺失值位置,表示所述第v個(gè)相似基因的未缺失值位置,表示所述第c次循環(huán)下的目標(biāo)基因在第j個(gè)實(shí)驗(yàn)條件下的表達(dá)數(shù)據(jù),表示所述第v個(gè)相似基因在第j個(gè)實(shí)驗(yàn)條件下的表達(dá)數(shù)據(jù);
步驟5.2、利用式(4)對(duì)相似性距離進(jìn)行尺度伸縮處理,以適應(yīng)后續(xù)的多元線性回歸模型的計(jì)算,得到標(biāo)準(zhǔn)化相似性距離wv:
式(4)中,表示第c次循環(huán)下所有相似基因與目標(biāo)基因之間最小的相似性距離,目的是為了對(duì)相似基因的權(quán)重系數(shù)進(jìn)行標(biāo)準(zhǔn)化;σ是標(biāo)準(zhǔn)差,取值范圍為[0,1]。
步驟6、自適應(yīng)確定第v個(gè)相似基因的權(quán)重并構(gòu)建加權(quán)回歸模型用于填補(bǔ)目標(biāo)基因中的所有缺失值;
步驟6.1、通過最小化式(5)的值以獲得第v個(gè)相似基因的權(quán)重向量從而獲得所有相似基因的權(quán)重向量作為回歸系數(shù)向量
式(4)中,表示所述第c次循環(huán)下的目標(biāo)基因的所有未缺失值組成的向量,表示所述第v個(gè)相似基因的所有未缺失值組成的向量;λ表示回歸系數(shù)向量β的二范數(shù)懲罰因子,主要的作用是防止多元線性回歸模型計(jì)算結(jié)果產(chǎn)生過擬合的現(xiàn)象,并有:
式(6)中,A表示I表示對(duì)角元素全為1的對(duì)角矩陣;W表示由組成的對(duì)角矩陣;[*]+表示矩陣*的偽逆矩陣;
步驟6.2、利用式(7)計(jì)算所述目標(biāo)基因的缺失值的估計(jì)值
式(9)中,表示與所述目標(biāo)基因缺失值所對(duì)應(yīng)的第v個(gè)相似基因中表達(dá)數(shù)據(jù)所組成的向量。
步驟7、將填補(bǔ)后的目標(biāo)基因加入所述完整基因集H(c)中,從而更新所述第c次循環(huán)下的完整基因集H(c),得到第c+1次循環(huán)下的完整基因集H(c+1);
步驟8、將所述目標(biāo)基因從所述第c次循環(huán)下的不完整基因集F(c)中刪除,從而更新所述第c次循環(huán)下的不完整基因集F(c),得到第c+1次循環(huán)下的不完整基因集F(c+1);
步驟9、判斷所述不完整基因集F(c+1)中是否存在具有缺失值的基因,若存在,則將c+1賦值給c后,再返回步驟3執(zhí)行;否則,表示缺失值填補(bǔ)完成,并且返回一個(gè)完整的微陣列數(shù)據(jù)集。