郝志峰,陳正鳴,謝 峰,陳 薇,蔡瑞初
(1.廣東工業(yè)大學 計算機學院,廣州 510006;2.汕頭大學 理學院,廣東 汕頭 515063;3.北京大學 數(shù)學科學學院,北京 100871)
因果關系刻畫了變量間的生成機制,這有助于解釋數(shù)據,并進行有效的干預及回答“為什么”的問題[1-2]。因此,因果關系的研究在生物信息學[3]、氣象學[4]、社會科學[5-6]等領域中備受關注和應用。
因果發(fā)現(xiàn)旨在通過觀測數(shù)據挖掘變量間的因果關系[7]。常見的基于觀測數(shù)據學習因果結構的方法有基于約束[8]和基于得分[9]兩類方法。這兩類方法主要利用條件獨立性檢驗或評分搜索的方法來確定變量間的因果關系,但存在馬爾可夫等價類問題,即部分因果結構的方向無法確定。SHIMIZU 等[10-11]基于數(shù)據產生機制提出了線性非高斯無環(huán)模型(Linear Non-Gaussan Acyclic Model,LiNGAM)。該模型采用噪聲非高斯的假設,能識別出完整的因果結構。然而上述方法及相關的變體[12-13]僅關注估計觀測變量之間的因果結構,并沒有關注隱變量間的因果結構,而在實際應用中,往往還需要考慮隱變量之間的因果結構,如在醫(yī)生問診中,更需要關注所觀測到的癥狀背后病因之間的關系。
針對隱變量間的因果結構學習問題,SILVA等[14]提出了線性隱變量模型假設和經典隱變量學習兩階段框架。在判斷隱變量間因果關系方面,現(xiàn)有方法主要基于線性隱變量模型的假設,利用隱變量的直接孩子變量(也稱為測量變量)的協(xié)方差信息或引入非高斯假設等方法來解決。利用協(xié)方差信息的方法,典型的代表是四分體(Tetrad)約束,其通過利用測量變量的二階信息來恢復隱變量,如學習測量變量的聚類來定位隱變量。此類方法的局限性在于:在學習隱變量之間的因果方向時,存在等價類問題,換言之,基于協(xié)方差矩陣秩的信息不足以恢復完整的因果結構。CAI 等[15]引入非高斯假設,利用高階統(tǒng)計信息提出了三分體(Traid)約束,該方法可識別隱變量完整的因果結構。但是基于三分體約束的方法需要假設真實的因果結構中每個變量的噪聲都服從非高斯分布,而如果在真實的隱變量因果結構中存在超過一個含高斯噪聲的隱變量時,基于三分體約束的結構學習算法就無法學到正確的隱變量結構。此外,在實際應用中,由于無法得到隱變量的分布信息,通常無法確定數(shù)據是否完全滿足此假設。因此,研究任意分布下的隱變量間因果結構學習很有必要且具有一定的挑戰(zhàn)性。
由上述分析可知,四分體方法無需分布假設,但可以為基于三分體約束的方法提供部分隱變量結構信息來避免四分體方法存在的局限性。然而,直接對兩者進行結合是不可行的,因為基于三分體約束的算法無法確定可識別的邊,在任意分布下不能可靠地學習整個網絡結構。
本文證明任意分布下隱變量的可識別性理論,分析指出對于兩個直接相連且沒有混淆因子影響的隱變量,最小可識別條件是其中一個隱變量的噪聲是非高斯的。基于這個性質以及四分體方法所提供隱變量的部分結構信息,提出一種在任意分布下學習隱變量之間因果結構的算法。
常見的一些因果發(fā)現(xiàn)算法往往假設所有變量都是可觀測的,但也有一些方法考慮了隱變量存在的情況,典型的有基于獨立性約束的方法(如FCI[16]、RFCI[17]等)和基于LiNGAM 模型的一些變體(如ParceLingam[18]、RCD[19]等)。這些研究主要關注隱變量存在時觀測變量間的因果發(fā)現(xiàn)。而在現(xiàn)實世界中,如何把隱變量的因果關系也考慮到因果結構學習中備受人們的關注。PATRIK 等[20]提出基于完備ICA 的LvLingam 方法學習觀測變量的結構及部分隱變量信息。然而,此方法只能適用于變量較少的情況,容易在高維數(shù)據下陷入局部極值,并且其假設隱變量之間是互相獨立的,無法得到隱變量之間的結構信息。
類似于線性無環(huán)函數(shù)因果模型的假設,SILVA等[14]提出了線性隱變量模型。該模型包含線性隱變量模型假設和經典隱變量學習兩個階段:第一階段學習觀測變量的聚類,定位出隱變量,得到屬于同一個隱變量的觀測變量;第二階段根據得到的聚類學習隱變量之間的結構。線性隱變量模型示意圖如圖1 所示,其中:L代表隱變量;X代表觀測變量。首先學習觀測聚類,如得到(X1,X2,X3)是同一個聚類,定位出隱變量,即它們是隱變量L1的測量變量;然后根據得到的聚類學習隱變量之間的因果關系,如L1→L2。
圖1 線性隱變量模型示意圖Fig.1 Schematic diagram of linear latent variable model
基于線性隱變量模型,各種學習隱變量因果結構的方法應運而生,其中一類是基于四分體約束的方法(如BPC[14]、FOFC[21]、MIMBuild[14]等),此類方法主要利用受隱變量影響的測量變量的協(xié)方差信息來學習隱變量。如圖1 所示,如果X1~X4滿足Cov(X1,X3)Cov(X2,X4)-Cov(X1,X4)Cov(X2,X3)=0,則稱X1~X4滿足一個四分體約束。然而基于四分體約束的方法不能很好地識別隱變量的因果方向,如在圖1 中,基于四分體約束無法區(qū)分L1和L2之間的方向。另一類方法主要通過假設變量的噪聲都服從非高斯分布來解決隱變量因果結構學習問題(如Traid[15]、GIN[22]等方法),此類方法通過引入非高斯假設,可以利用高階信息使隱變量的因果結構完全可識別。然而在實際應用中,無法事先得到隱變量噪聲的分布信息,且實際場景的數(shù)據往往無法完全滿足基于三分體約束方法的非高斯假設,從而導致此類方法在很多實際應用中失效。因此,研究任意分布下隱變量間的因果結構學習是很有必要的。
當前隱變量因果結構學習方法的研究仍處于初始階段,較少有方法可解決任意分布下隱變量的結構學習問題。為彌補這一方面的不足,本文提出一種在任意分布下學習隱變量結構的方法,為相關領域研究提供參考。
本文主要關注無環(huán)線性結構因果模型[23]。令X=(X1,X2,…,Xm)為觀測變量集,L={L1,L2,…,LN}為隱變量集,V為兩者的并集,V={X∪L}。不失一般性,假設V的均值為0,則數(shù)據Vi產生方式如下:
其中:i=1,2,…,m+n;k(i)是有向無環(huán)圖中變量Vi的因果次序,也即后面的變量不是前面變量的原因或祖先節(jié)點;bij指Vi與其父親節(jié)點Vj的連接強度,也即Vj對Vi的因果效應;噪聲εVi是互相統(tǒng)計獨立的。遵從SILVA[14]定義方式給出本文研究的具體模型。
定義1(線性隱變量模型)一個模型如果滿足以下約束,則為線性隱變量模型:
1)因果馬爾科夫假設:任意節(jié)點在給定其父母集為條件集時都獨立于其非后裔節(jié)點。
2)因果忠誠性假設:在模型對應的因果圖中,不存在非條件獨立性的約束。
3)線性假設:數(shù)據產生的關系是線性關系。
4)測量假設:不存在觀測變量是隱變量祖先(父母)節(jié)點的情況。
5)純度假設:每個隱變量至少有3 個純的觀測變量。觀測變量滿足純度假設意味著觀測變量之間沒有直接的因果關系,即不存在非隱變量的父親節(jié)點。本文引入純度假設,是考慮到如果沒有任何額外的假設或者先驗知識,則無法恢復隱變量之間的因果關系,換言之,隱變量的因果結構不具有可識別性[14]。純度假設在經典的隱變量結構發(fā)現(xiàn)研究中是普遍存在的,且滿足很多實際場景需求[14-15]。
定義2(測量模型)[14]給定線性隱變量模型G及其頂點集V,對于一個包含所有頂點集V的子圖,子圖中有且僅有包含與觀測變量集O的有向邊,則稱此子圖對應的模型為G的測量模型。
定義3(結構模型)[14]給定線性隱變量模型G,其子圖有且僅有包含隱變量節(jié)點及隱變量之間的邊,則稱此子圖對應的模型為G的結構模型。
定義2 和定義3描述了SILVA[14]所提出的經典框架中學習隱變量結構的兩個步驟對應的模型。該框架在學習隱變量結構時首先學習測量變量的聚類,定位出隱變量,得到測量模型。在已知測量模型的基礎上,才能利用隱變量的測量變量信息學習隱變量的結構,即結構模型。圖2(a)所示的測量模型刻畫了隱變量和觀測(測量)變量之間的關系,其主要考慮受同一個隱變量影響的觀測變量。學習測量模型學習觀測變量的聚類定位出隱變量,其為學習隱變量結構的前提。在已知測量模型的基礎上,利用受隱變量影響的測量變量信息學習隱變量的結構,即結構模型。如圖2(b)所示,結構模型刻畫的是隱變量之間的結構,這也是本文研究的內容。
圖2 測量模型與結構模型示意圖Fig.2 Schematic diagram of measurement model and structural model
本文研究的問題是:在線性隱變量模型和純度假設成立的情況下,如何從任意分布的測量數(shù)據中學習隱變量間的因果結構,即如何學習結構模型。圖1 是該模型的一個示例,其中L1~L3為變量,代表每個隱變量影響的觀測變量,且數(shù)據的產生服從線性隱變量模型的假設。本文目標即是根據觀察變量{X1,X2,…,X9}恢復出如圖2(b)所示的隱變量間因果關系。
針對上文提出的問題,同時確保在任意分布下隱變量結構學習是可靠的,本節(jié)先給出任意分布下隱變量結構的識別性證明,再基于此理論提出一種融合四分體和三分體約束的算法,學習任意分布下隱變量的因果結構。
關于隱變量間的識別性理論,雖然SILVA 等[14]證明了高斯分布下的識別性,CAI 等[15]證明了非高斯分布下的識別性,但是當數(shù)據是任意分布時,隱變量間的識別性仍然未知。因此,本文需要先驗證任意分布下隱變量因果結構的可識別性,以及確認恢復其結構的最小信息。在給出識別性結論之前,首先給出三分體約束的定義。
定義4(三分體約束[15])在線性結構因果模型中,假設Xi、Xj和Xk是相關的且噪聲變量服從非高斯分布,令Cov(Vi,Vj)表示Vi和Vj的協(xié)方差,(Xi,Xj)相對于Xk的偽殘為如果E(i,j|k)與Xk統(tǒng)計獨立,則(Xi,Xj)和Xk滿足三分體約束。換言之,如果E(i,j|k)與Xk不統(tǒng)計獨立,則(Xi,Xj)和Xk違背三分體約束。
如果變量噪聲都服從非高斯分布,那么基于三分體約束,隱變量之間的因果方向是可識別的。如圖2 所示,假設所有的噪聲都服從非高斯分布,基于三分體約束,對于正向構造三分體約束,如E(X1,X4|X5)與X5互相獨立,也即滿足三分體約束。對于反向構造三分體約束,如E(X4,X1|X2)與X2互相依賴,則違背三分體約束。因此,在噪聲服從非高斯分布的情況下,根據獨立性的不對稱性可識別隱變量的結構。
從上述例子可知,基于三分體約束的可識別性依賴于非高斯信息所帶來的不對稱性。而任意分布不一定是非高斯的,以致無法滿足基于三分體約束的隱變量間因果發(fā)現(xiàn)方法的可識別性。因此,需要確定滿足任意分布下的識別性所需的最小信息。在提出可識別性定理之前,先引出D-S 定理:
定理1(D-S 定理[24])定義兩個隨機變量X1和X2由獨立的隨機變量εi(i=1,2,…,q)組合而成,即:
如果X1與X2統(tǒng)計獨立,那么對于αj βj≠0 的εi是高斯分布。換言之,如果存在非高斯的εi滿足αj βj≠0,那么X1與X2統(tǒng)計依賴。下面給出任意分布下隱變量之間的可識別性理論及證明。
定理2假設X={X1,X2,…,Xn}滿足線性隱變量模型且純度假設成立,對于其中任意兩個直接相連的隱變量Lx和Ly,如果Lx和Ly之間不存在混淆因子且其中至少一個隱噪聲是服從非高斯分布的,那么Lx和Ly的因果方向是可識別的。
證明不失一般性,在Lx和Ly中,假設Ly是非高斯的且Ly指向Lx,正向模型如圖3(a)所示。其中:Xi是Lx的測量變量;(Xj,Xk)是Ly的測量變量;方形中的變量代表噪聲服從非高斯分布,圓形中的變量代表噪聲服從高斯分布,如Ly的噪聲服從非高斯分布,Lx的噪聲服從高斯分布;變量之間的因果強度不為0。
首先證明對于正向三分體約束獨立性成立。此處允許隱變量Ly存在直接的隱變量父親節(jié)點,因為來自父親節(jié)點的因果效應可以合并在Ly的噪聲中。
由于變量服從線性無環(huán)加性噪聲假設,因此有:
其三分體殘差為:
由式(4)可知,殘差E(i,j|k)包含Lx的噪聲及Xi和Xj的噪聲。由于Xk包含Ly的噪聲和Xk的噪聲,而它們沒有共同的噪聲,因此統(tǒng)計獨立,三分體約束成立。
相似地,反向模型如圖3(b)所示,可以表示為:
圖3 正反向模型示意圖Fig.3 Schematic diagram of forward model and backward model
殘差E(i,j|k)包含的噪聲項有Lx、Ly、Xi和Xj,而Xk包含的噪聲項有Lx、Ly和Xk。由于因果強度不為0,因此殘差包含Ly的噪聲。根據假設,Ly的噪聲是非高斯的。由D-S 定理可知,它們包含共同的非高斯噪聲Ly,因此,三分體獨立性不成立。
根據正反向模型中三分體獨立性的不對稱性,其因果方向可識別,定理得證。
定理2 提供了任意分布下兩個隱變量之間的識別性條件。本質上,定理2 是三分體約束的拓展。筆者通過研究發(fā)現(xiàn),隱變量的識別性只依賴于隱變量噪聲的非高斯性,而不依賴于觀測變量的分布性質。此外,對于兩個隱變量的可識別問題,最少只需要其中一個隱變量的噪聲是非高斯的,也即只要其中一個噪聲分布是非高斯的,則對于隱變量三分體約束的不對稱性亦可成立。此處需要假設沒有混淆因子的影響是因為存在混淆因子時偽回歸的殘差估計不準,從而使得正向定向的三分體殘差與輔助變量不獨立,也即獨立性的不對稱性被破壞。換言之,當存在混淆因子且有充足的非高斯信息時,正向三分體約束和反向三分體約束都不成立。
基于任意分布下隱變量因果結構可識別性理論,本文提出一種融合四分體和三分體約束的適用于任意分布的隱變量因果結構學習算法。
三分體類方法在任意分布下失效的主要原因是其在學習隱變量因果結構的第一個步驟中就學到了錯誤的隱變量,在學習測量變量聚類以定位隱變量時,三分體約束在高斯分布下不再具備不對稱性。而對于四分體類方法,當每個隱變量都有至少3 個純的測量變量時,只需要利用測量變量的協(xié)方差信息便可學習到隱變量的部分結構信息,如定位出隱變量、學習隱變量的骨架圖等。四分體類方法可以學習到隱變量,并且進一步得到隱變量之間的d 分離等價模式。隱變量間的d 分離等價模式是刻畫隱變量d 分離等價類的一種圖表示方法,隱變量的d 分離等價類指一些包含同樣的條件獨立性約束的隱變量的圖,隱變量的d 分離等價模式則是這些等價圖合并后的一個部分有向圖。在一個關于隱變量的d 分離等價模型中,每一種可能的邊的定向都是一個d 分離等價類。
雖然四分體類方法不需要非高斯假設,能夠為三分體類方法提供部分隱變量結構信息,但是直接將兩者結合是不可行的,主要原因在于:即使已知隱變量的部分結構信息,仍然無法區(qū)分哪些邊是可識別的,特別是無法區(qū)分三分體約束成立是由于正確定向還是由于缺少非高斯信息,這將會導致錯誤定向(因為在沒有非高斯信息時,反向的三分體約束也成立)。筆者發(fā)現(xiàn),通過四分體提供的部分結構信息(如隱變量結構d 分離等價類)并結合定理2,能夠有效利用四分體類方法得到的結構信息,因此,給出以下推論:
推論1對于隱變量結構d 分離等價類,如果其中某個局部結構中因果邊的三分體約束不成立,那么該等價類與真實結構圖不一致。
推論1 實際上是定理2 的拓展。在任意分布下,對于兩個隱變量之間的三分體約束,雖然對于兩個隱變量噪聲都服從高斯分布的情況,正反向模型的三分體約束都成立,但是如果存在非高斯信息,由D-S 定理可知,其非因果方向的三分體約束是一定會出現(xiàn)沖突的。根據此性質,推論1 成立。同時這也說明:如果假設本局部結構與真實局部結構相同,那么三分體約束在非高斯噪聲下會成立;如果本局部結構與真實局部結構不同,那么三分體約束在非高斯下必然沖突。而在噪聲是高斯分布的情況下,三分體約束無法拒接本局部結構,由于缺乏非高斯信息,因此三分體約束無法幫助識別隱變量之間的因果方向。
基于上述分析,本文提出一種改進算法,實現(xiàn)在任意分布下正確學習隱變量的因果結構,算法偽代碼如算法1 所示。本文算法主要在現(xiàn)有算法(如BPC、MIMBuild[14])學到的隱變量的骨架基礎上,推斷可識別的邊的方向。通過枚舉所有d 分離等價類,基于推論1 檢測每一個等價類中蘊含的三分體約束。在本文算法中,剔除先序節(jié)點影響的方法與文獻[15]三分體相關研究中所提出的方法一致。當隱變量的結構圖中每一條邊都有足夠的非高斯信息時,本文算法輸出的是唯一的結構圖,也即隱變量的結構是完全可識別的。
為便于表示,首先進行符號定義。令Lx和Ly代表任意兩個隱變量,(X1,X2) 為Lx的測量變量,(Y1,Y2)為Ly的測量變量。特別地,對于Lx→Ly,如果E(X1,Y1|X2)⊥X2,那么稱其滿足三分體約束。
算法1任意分布下的隱變量結構學習算法
如算法1 所示,本文首先利用現(xiàn)有的方法學習測量模型和隱變量的骨架,然后在給定的隱變量骨架基礎上進一步確定隱變量的因果方向。需要注意的是,由于無法得到隱變量的分布信息,因此需要枚舉等價類進行判斷。如算法第3 行~第14 行所示,對于每一個等價類,從根節(jié)點出發(fā),依次判斷與根節(jié)點直接相連的因果方向的三分體條件。由于根節(jié)點與其他節(jié)點之間不存在混淆因子,因此根據定理2 和推論1,如果三分體條件沖突,那么本局部結構與真實結構不一致,從而拒絕本等價類,否則對本等價類中其余節(jié)點移除來自根節(jié)點的影響,更新等價類,找到新的根節(jié)點,重復以上步驟。最后,對于未被拒絕的等價類(主要是因為對于不存在非高斯信息的局部結構,基于三分體約束無法拒絕錯誤的因果方向)進行沖突邊合并,將在不同等價類中因果方向不一致的邊置為無向邊,避免錯誤定向。
以圖4 為例說明本文算法。為了方便起見,忽略每個隱變量下面的觀測變量,默認假設每個隱變量下面都有至少3個純的觀測變量。圖4(a)代表真實的隱變量結構。在算法的第一步驟中(算法第1 行~第2 行),通過基于四分體的算法先得到隱變量的骨架圖,如圖4(b)所示,其中包含了隱變量的d分離等價模型。在算法的第二步驟中(算法第3 行~第12 行),枚舉隱變量等價圖并判斷每一個圖中的三分體約束。若存在三分體約束沖突,則拒絕,否則保留。圖4(c)、圖4(d)代表本文算法未能拒絕的隱變量等價類圖。其中,由于L2和L3的噪聲是高斯的,因此邊L2和L3的因果方向無法識別。算法的最后一步(算法第12 行~第14 行)對剩余的無法拒絕的等價圖進行合并,圖4(e)代表本文算法最終的輸出結果。通過合并圖4(c)和圖4(d),將L2和L3的沖突邊置為無向邊,代表這條邊是不可識別的。
圖4 算法示例Fig.4 An example of the proposed algorithm
對本文算法進行復雜度分析:算法主體部分,復雜度受隱變量個數(shù)和隱變量骨架圖邊數(shù)約束。令N為隱變量的個數(shù),P為隱變量骨架圖的最大邊數(shù),那么在最壞的情況下,算法的復雜度最高為N!×P+N!。由于這是在最壞情況下的上界,其假設在N和P最糟糕的情況下整個隱變量的結構中都是服從高斯分布的,不存在等價類的局部結構能被三分體約束拒絕,因此需要測試所有的等價圖(等價圖個數(shù)本質上是關于隱變量個數(shù)的全排列)及每個等價圖中邊的約束。而在實際情況下,由于存在局部非高斯信息,多數(shù)的等價類并不需要測試P條邊的三分體約束即被拒絕。
為了驗證本文算法的有效性,分別使用仿真數(shù)據集和真實數(shù)據集對算法進行評估。將本文算法和MIMBuild[14]、LSTC[15](基于三分體約束的學習隱變量結構的算法)這2 種經典的隱變量結構學習算法進行對比。
在仿真數(shù)據集實驗中,設置以下控制變量:隱變量數(shù)為{4,5,6},相應的觀測變量的維度為{12,15,18};同時設置非高斯分布占比為{20%,35%,50%,65%,80%},對比的樣本數(shù)量為{1 000,2 000,3 000,4 000,5 000}。每次實驗都根據線性隱變量模型隨機生成不同的隱變量的因果結構,且每個隱變量下有3 個純的測量變量,變量之間的因果強度系數(shù)在[-2,-0.5]∪[0.5,2]中隨機產生。在相同的參數(shù)設置下進行50 次實驗。
評價指標選擇為傳統(tǒng)的準確率、召回率和F1 值,計算公式分別如下:
其中:TP代表在學到的鄰接矩陣信息中預測正確的定向的數(shù)量;FN代表將正向預測為反向或無向的數(shù)量;TN代表將反向預測為正向的數(shù)量。
1)驗證本文算法在任意分布不同隱變量維度下對隱變量結構的學習能力。設置非高斯占比為80%,因果圖的平均入度為2,實驗結果如圖5 所示。可以看出:在不同的隱變量維度和樣本量中,本文算法取得了最優(yōu)的結果;同時,隨著樣本增加,算法性能逐步提升,這表明本文算法在任意分布中具有較好的恢復隱變量結構的能力;而當隱變量數(shù)量增加時,網絡結構也變得復雜,算法性能逐漸降低,這是因為因果結構越復雜,其中測量變量中的混合成分越多,獨立性測試工具的性能也隨之下降,隨著樣本量的繼續(xù)增大,其效果也會繼續(xù)上升至理想的狀態(tài)。
圖5 不同隱變量時的性能評價指標Fig.5 Performance evaluation indexes with different latent variables
2)驗證本文算法在任意分布不同非高斯占比下對隱變量結構的學習能力。設置隱變量的個數(shù)為5,每個隱變量下有至少3 個測量變量,平均入度為2,且固定樣本量為3 000,實驗結果如圖6 所示??梢钥闯觯弘S著非高斯占比的增加,本文算法的F1 值在不斷增加,也即學習到的邊越多,這是由于非高斯占比的增加可以為隱變量的因果關系發(fā)現(xiàn)提供更多的信息,從而使得可識別的邊隨之增加;相比之下,MIMBuild 方法并沒有利用非高斯性去識別隱變量的因果方向,因此其性能隨非高斯占比的變化并沒有出現(xiàn)太大的波動;此外,本文算法的準確率較為穩(wěn)定且優(yōu)勢明顯,這也驗證了算法較強的魯棒性。
圖6 不同非高斯占比時的性能評價指標Fig.6 Performance evaluation indexes with different non-gaussian occupancy ratio
3)設置關于CPU 時間耗度的對比實驗。為更有效地體現(xiàn)出本文算法學習隱變量因果方向的時間耗度,在本部分實驗中給定隱變量的測量模型和骨架(也即基于BPC 學習測量模型和基于MIMBuild學習骨架圖的時間耗度不算入本文算法的時間消耗)。設置隱變量個數(shù)為{4,5,6},每個隱變量下有至少3 個測量變量,平均入度為2,且固定樣本量為500,實驗結果如圖7 所示??梢钥闯觯合噍^于對比方法,本文算法并不是最快的方法,這是因為本文算法是解決任意分布的情況,由于另外兩種對比方法有分布的先驗信息,而本文算法是在沒有分布先驗的情況下進行實驗的,因此需要去枚舉這些結構,以避免沒有非高斯信息時的錯誤定向。此過程可保證算法的正確性,雖然帶來復雜度的上升,但是本文算法具有更好的泛化性能,也即能夠在任意分布下學習到正確的因果結構;三分體約束方法(Traid)運行的時間最久,一個主要的原因是該方法在調用獨立性測試方法(如HSIC)時所需次數(shù)大于本文算法。
圖7 時間復雜度對比Fig.7 Time complexity comparison
選擇3 個真實的數(shù)據集進行測試。數(shù)據來源于公開的真實數(shù)據集,分別為efficay[25]、depress[25-26]和Yahoo stock[27-28]。數(shù)據集詳細信息如表1 所示。
表1 真實數(shù)據集結構信息Table 1 Structure information of real data set
在真實數(shù)據集實驗中,使用與仿真數(shù)據集實驗相同的設置,實驗結果如圖8 所示??梢钥闯觯涸诓煌恼鎸崝?shù)據集中,本文算法都取得了較優(yōu)的效果,相比MIMBuild,本文算法可以學習到更多結構信息,這是因為本文算法利用了高階信息去學習更多的因果結構,而對于三分體方法,本文算法能夠利用結構信息,保證學習到可識別的因果結構;三分體方法在隱變量節(jié)點較多時會錯誤學習到一些結構信息,這是因為三分體方法只能學習到隱變量的因果序列,從而導致引入一些冗余的邊及錯誤確定了一些沒有直接因果關系的邊的方向;對于比較簡單的隱變量結構(如efficay 數(shù)據集),由于只有兩個隱變量,因此本文算法和三分體方法性能接近,這是因為結構越簡單,三分體方法在任意分布下錯誤會相應減少。總體而言,應用在真實數(shù)據集中的實驗結果驗證了本文算法的有效性。
圖8 在真實數(shù)據集上的實驗結果Fig.8 Experiemental results in real data set
本文分析三分體約束隱變量結構學習的不足和優(yōu)勢,將其拓展到任意分布的情況,提出一種面向任意分布學習隱變量間因果結構的算法。基于四分體約束方法提供的信息,有效融合三分體約束,從而實現(xiàn)在任意分布下學習隱變量的結構。該算法一方面能夠解決四分體約束方法無法學習隱變量結構中方向信息的問題,另一方面能夠突破三分體約束方法中非高斯過強約束及其只能學習因果序列的瓶頸。實驗結果表明,與MIMBuild 和三分體約束方法相比,本文算法能夠在保證正確性的同時學習到更多的結構信息。未來將在任意分布且沒有結構信息的情況下,研究任意兩個隱變量之間的識別性理論,并對算法的應用范圍做進一步拓展。