程 豪,易丹輝,牟宗毅
(1.中國科協創新戰略研究院 北京 100012;2.中國人民大學應用統計科學研究中心 北京 100012;3.長春中醫藥大學附屬醫院 長春 130117)
隨著科技的發展,人與人之間的社交渠道越來越多樣,不同的人之間可能存在著不同的關系,同一群人在不同的環境下也可能存在著不同的關系,因此形成了很多錯綜復雜的網絡,比如,社會關系網絡、物流網絡、互聯網、犯罪網絡、學術成果引用網絡、病毒傳播網絡等等。這種網絡關系不僅形成于“人”與“人”之間,更存在諸多科學領域。比如,生命科學領域中,基因數據的研究與DNA本身的雙螺旋結構有很大的關系。具體來說,基因作為具有遺傳效應的DNA片段,每個DNA分子上有多個基因,每個基因含有成百上千個脫氧核苷酸。由于不同基因的核糖核苷酸的排列順序不同,不同的基因就含有不同的遺傳信息。因此,研究基因間關系、基因組邏輯結構及程序化表達成為探討基因邏輯和語言的核心問題。另外,細胞中包含各種復雜的結構,細胞包含細胞膜、細胞質和細胞核三部分。而各部分分別有各自的結構,包含不同的細胞器,這些細胞器構成了一個功能分化的網絡結構。
無論是人際關系網絡還是生命科學網絡,都存在構成網絡的基本單位,稱為變量、指標或者節點。一般地,網絡結構關系可分為如下幾種情況:第一,網絡中存在因變量,自變量個數不多且相互獨立,則會考慮回歸模型;當自變量個數較多時,通常會采用變量選擇方法,如果變量間存在結構關系,則需要考慮帶結構的變量選擇,如Group Lasso,MCP等。第二,網絡中不存在因變量,常用的方法主要有多元統計方法(主成分分析、聚類分析、因子分析等)、結構方程模型、貝葉斯網絡和隱結構。這些方法要求一個變量僅屬于一個群體,無法滿足同一變量在不同群體里的多重角色。第三,網絡中不存在因變量,自變量間存在未知結構關系,上述的方法均會失效。此時只能考慮采用社會網絡分析理論,對解釋變量間的結構關系進行挖掘和數值化的分析。比如,在由指標節點構成的網絡中,社會網絡分析方法有助于識別節點角色,有助于探索網絡中潛在的結構關系和節點行為,有助于預測網絡中的個體或群體的變化,以提供決策支持。

圖1 社會網絡發展圖
社會網絡理論發端于20世紀30年代,由R布朗在群體內部關系結構的研究中提出,是一種新的社會學研究范式。自從20世紀70年代以來,社會網絡分析成為社會學、心理學、人類學、數學等領域逐步發展起來的一個研究分支。經由巴恩斯、鮑特、納德爾、米歇爾、霍曼斯等諸多領域學者的研究和發展,構建了社會網絡分析理論,逐步形成一般性的學科。社會網絡分析的發展歷史如圖1所示。
多年來,一些國內外專家一直致力于將社會網絡分析理論應用到網絡關系測度及劃分的問題上。Freeman(1979)總結了度數中心性、接近中心性和中間中心性等測度網絡中心性的指標,并分別借助后兩個指標刻畫獲取資源的能力和控制他人的能力。Friedkin(1991)根據網絡環境特性,用社會網絡分析理論描述行動者在網絡中的地位。張存剛、李明和陸德海(2004)歸納關系取向和位置取向兩種分析取向及其基本特征。彭小川和毛曉丹(2004)應用社群圖和矩陣法概括了BBS群體的基本特征,并深入探討了各成員地位的形成、意見領袖的特點和群體內部人際交往的特征。李林艷(2004)梳理了社會網絡的不同研究取向、形式結構以及社會網絡分析的局限。為了進一步研究社區內社區成員的親屬關系,S.Parthasarathy、Y.Ruan和V.Satuluri(2011)通過研究節點及節點間的連接情況,分析同一社區內成員間的網絡結構關系。Theodoros Lappas、Kun Liu和Evimaria Terzi(2011)以專家為節點,研究社會網絡中專家之間的網絡分布和結構關系。
此外,還有一些學者也在動態社會網絡分析領域也取得一些研究成果。王飛躍(2005)研究了社會計算與數字網絡化社會的動態變化規律。周春光、曲鵬程和王曦(2008)根據隱結構和兩階段聚類法,提出一種新的動態社會網絡分析算法。于卓爾、周春光和楊濱等人(2008)基于社會網絡的靜態和動態特征,研究社會網絡中的社區發現問題,并提出適用于靜態社會網絡的Detstructure算法和適用于動態社會網絡的基于衰減策略的融合挖掘算法。陳瓊、李輝輝和肖南峰(2010)在節點動態屬性相似性的基礎上,研究社會網絡社區推薦算法。李靜永(2012)探討了動態社會網絡社區發現算法研究。楊通輝(2013)研究了基于節點屬性變化的個體動態演化過程。
利用社會網絡分析工具劃分指標群,必須以關系型數據為基礎。因此在分析前,需要利用相似度度量的方法對不同類型的數據間關系先進行數值計算,獲得關系型數據。根據數據類型的不同,相似度度量方法如表1所示。
因此,可以將評價不同類型變量相似度的度量方法整理為:

其中,rcontinous(A,B)表示連續性變量(A,B)間的相關系數,rdiscrete(A,B表)示離散型變量(A,B)的相關關系,rmixed(A,B)表示離散型和連續性變量之間的相關關系。而I1、I2、I3均為適性函數。


需要注意的是,在利用上述的三種相關系數對節點間相似性進行測度時,前兩種相關系數的取值范圍是[-1,1],第三種相關系數的取值范圍為[0,1]。因此,可以考慮取絕對值,判斷節點間相關性的強弱,再判斷變量間這種相關性的正負。
指標群的劃分是指根據指標間關系信息,對所有指標節點進行直接離散處理后形成的小群體(稱為指標子群),再結合指標子群間的關系,對指標子群進行凝聚所形成的群體。對于一個網絡,其復雜度不僅僅受制于網絡規模的大小,而且還會受到很多未知的或是已知的局部結構關系的影響。換句話說,對于一個復雜網絡來說,其中一定隱含著一些未知的結構模式,對于這些隱含模式的挖掘可以有助于進一步梳理錯綜復雜的網絡結構,提取關鍵信息,剔除不重要的干擾因素。一個最簡單的結構關系就是兩兩之間的相關性或相似性,在此基礎上,通過設置一定的界限,可以對網絡中的節點進行簡單的劃分,形成一些小群體。顯然,如果這些小群體之間獨立,后面我們稱這種情況為”成分”,則從網絡的整體角度來看,不存在結構關系,只是一些獨立的小群體,而如果小群體間存在不同程度的關系,則整個網絡就會形成一個結構關系網絡。如果繼續研究,根據這些指標小群體間的關系進行聚合,則有形成了介于整體網絡和小群體之間的群體,此時的結構關系就變得更為復雜。照此下去,如果一個網絡規模足夠大,則網絡中的結構關系內容就會非常的豐富,而對這種結構關系進行探討的復雜程度一般是由研究者來控制,只要滿足研究者的分析需求,就可以終止對網絡的分析。
由此可見,指標群劃分的基本思想是“先劃分再凝聚”,即從關系型數據出發,指標節點間結構劃分首先對網絡中所有指標節點離散化,完成了第一次結構劃分;其次是對已被離散化的指標子群進行凝聚,完成第二次結構劃分。
但是,離散化的程度和凝聚的程度都需要合理的控制。如果過離散化,則會將每個指標節點劃分成一個指標子群,同樣地,如果過凝聚化,則所有的指標子群又會被凝聚在一個指標群中。無論是哪種情況,都會使分析失效。因此在劃分和凝聚的過程中,需要注意的就是選擇適當的標尺,來控制指標子群和指標群的規模。而這種標尺的選擇會因分析方法的不同而不同。

表1 不同類型變量間相似性度量方法
派系是最早被提出的概念,通過對復雜網絡進行派系分析,可以將指標節點劃分為若干指標小群體,但是,派系分析存在網絡結構劃分不夠穩定等局限,此外,由于派系是建立在指標節點間鄰接基礎上的,因此忽視了通過一些間接關系連接在一起的指標小群體。
R.J.Mokken提出了n-宗派(n-clan),即任何兩點之間的捷徑距離都不超過n的一個n-派系(ncliques)。Seidman和Foster(1978)提出k-叢(k-plex)概念,即每個點都至少與除了k個點之外的其他點直接相連;如果一個子圖中的全部點都至少與該子圖中的k個其他點鄰接,則成為k-核(k-core)。這些方法都是根據指標群體內部成員之間關系來對指標節點進行結構劃分的。在復雜網絡中,如何對各個指標節點進行全面的結構劃分,一方面要關注子群內部的關系,另一方面需要比較指標群體內部節點之間的關系強度或頻次相對于指標群體內、外部指標節點之間的關系強度或頻次。
因此,在分析指標節點間結構關系時,既需要考慮指標群內指標節點間的關系,又需要考慮指標群內外的指標節點間的關系;既要按照一定標準,把一個網絡中的各個指標節點分成幾個離散的子集,又不能使同一個指標群體內指標節點相距太遠;既要實現對指標節點的劃分,形成指標子群體,又要研究出不同指標群體之間的關系,實現指標子群體的凝聚,形成指標群體。這樣就可以實現對復雜網絡中指標節點間結構關系的探討。

表2 塊模型后對結果解釋的三個層次

表3 不同指標網絡結構設計
綜上可以看出,只有塊模型才能解決本文的研究問題。塊模型的構建包含兩步:第一步是把各個指標節點分到各個塊中,常用CONCOR方法和Tabu搜索算法;第二步是根據一些標準,確定各個塊的取值(1或0)。常用整個網絡的平均密度值作為標準,稱為α-密度指標。在對指標節點進行塊模型分析后,可以從三個層次對結果進行解釋,具體見表2。
塊模型中最常使用的方法是CONCOR法和Tabu搜索算法。Tabu搜索算法是一種比CONCOR更高級的算法,Tabu搜索算法所遵循的標準是:如果有一個行動者集合,其中的各個行動者的截面的組內方差和最小,Tabu搜索算法就把這樣的行動者分為一組。當圖的規模較大時,CONCOR方法只能呈現樹形圖,無法迭代出元素只有1和-1的關系矩陣,因此無法得出指標群的劃分結果,而Tabu搜索算法則可以得到具體的指標成群的劃分情況,也可以通過迭代出的密度矩陣測度指標群間的關系。
此外,CONCOR只能生成系統決定的“塊”的個數,無法人為的設置,而Tabu搜索算法最終劃分的“塊”數可以提前人為設置,這樣可以避免劃分多度或者劃分不足所造成的指標群體規模太小和太大等劃分不均勻、不充分的問題。在實際操作的過程中,可以通過設置幾個“塊”數,對指標節點進行若干次數的劃分,并通過最終的劃分結果來確定最優的分塊數。
綜上所述,本文在對復雜網絡進行結構關系劃分時,選擇較為高級的Tabu搜索算法完成指標節點的劃分,形成指標群,并進一步測度指標群間關系。
因為現實存在的網絡結構千變萬化,而且隨著網絡規模的增加,網絡結構會越來越復雜,因此在模擬前需要對社會網絡的網絡結構進行歸類和選擇,選擇有代表性的社會網絡結構進行模擬,經文獻查閱可知,無論網絡的規模如何,在網絡建模方面,社會網絡的網絡結構可劃分為中心網絡結構和無中心網絡結構,有中心結構的社會網絡是指在整個網絡中,存在明顯的中心節點,所有的節點均是圍繞著中心節點進行連接的,無中心結構的社會網絡是指沒有中心,形狀類似與漁網,節點間彼此聯系的密度分布較為均勻。因此,本節將對這兩種網絡結構進行模擬。
對于有中心結構的指標網絡,借助Tabu搜索算法,經過不斷嘗試,當劃分群個數為5時,指標群的規模比較均勻,劃分結果如下所示:
B1-1={x3,x11,x22,x23,x24,x25,x26,x27};

表4 指標群的密度矩陣及群間關系矩陣
B1-2={x2,x8,x9,x10,x16,x17,x18,x19,x20,x21};
B1-3={x7,x12,x31,x32,x33,x34,x35,x36};
B1-4={x6,x13,x15,x37,x38,x39,x40,x41};
B1-5={x1,x4,x5,x14,x28,x29,x30,x42,x43,x44,x45};
對于無中心結構的指標網絡,借助Tabu搜索算法,經過不斷嘗試,當劃分群個數為6時,指標群的規模比較均勻,劃分結果如下所示:
B2-1={x8,x27,x28,x29,x30};
B2-2={x3,x12,x32,x33,x34};
B2-3={x1,x9,x10,x11,x18,x35,x36,x37,x38};
B2-4={x6,x7,x21,x23,x24,x25,x39,x40};
B2-5={x2,x16,x17,x22,x26,x41,x42};
B2-6={x4,x5,x13,x14,x15,x19,x20,x31,x43,x44}
不難發現,Tabu搜索算法實現了對指標群的劃分,與表3中的指標網絡結構圖對照發現,Tabu搜索算法的劃分結果與直觀判斷的結果非常接近,說明能夠真實反映指標間客觀存在的網絡結構關系。
對于有中心結構的指標網絡,經計算可知,整個網絡的密度為0.044,將表4有中心結構部分的密度矩陣中大于0.044的元素賦值為1,小于0.044的元素賦值為0。可以得到右側有中心結構部分的群間關系矩陣,指標群間關系矩陣中只有對角線元素為1,其余元素全部為0,說明所形成的指標群是完全自反的,即該有中心結構的社會網絡形成的指標群間沒有關系,而指標群內存在著緊密的聯系。換句話說,在這個社會網絡中,指標可以被劃分為5個指標群,但是這5個指標群間獨立無關。對于無中心結構的指標網絡,因為整個網絡的密度為0.075,將上述矩陣中大于0.075的元素賦值為1,小于0.075的元素賦值為0。由表4下半部分的計算結果可知,指標群間關系矩陣中除了對角線元素為1,還有兩處非對角線元素為1,說明所形成的指標群是自反的,但是B 1與B 5相關。因此指標群間的關系如下:B 1與B 5相關,但是其他指標群間都無關。
近年來,隨著人們生活水平的提高和生活質量的改善,冠心病的發病率和死亡率均明顯增加,而且,冠心病患者也越來越趨于年輕化。為了積極控制冠心病的危險因素,西醫采用以硝酸酯類藥物,鈣通道阻滯劑及β受體阻滯劑為治療基石,配合他汀類藥物及多重抗血小板藥物,使冠心病的控制率及遠期生存率得到一定程度的改善。但是,無論從治療的經濟性,藥物的安全性,還是從長期治療的依從性都沒有得到很好的解決。相比之下,中醫中藥在治療方面具有有效性、安全性和經濟性,但是,由于種種原因,中醫的整體觀念、辨證論治等個體化治療的方案較難歸納總結,因此,其療效評價的差距較大。如何尋找特定疾病的證侯共性,規范指導治療,提高療效,成為目前中醫科研中亟待解決的問題。
證候屬于中醫學的范疇,是指一系列有相互關系的癥狀總稱。證素是辨證的基本要素,其內容是根據中醫學理論來確定。朱文鋒教授將證素的概念引入了辨證新體系。王永炎院士在辨證分型及診斷研究方面也提供了很好的思路,提出了證候要素和應證組合理論。

表5 癥狀指標的編碼
因此,利用中醫診斷所獲的癥狀信息,對不同癥狀間存在的多層次結構關系進行研究,探索證候的可能構成,評價癥狀在證素構成方面的重要性,成為本文要解決的實際問題,具有一定的應用研究價值。
本文數據來源于該項調查中發作期數據,調查時間相隔3個月,有效訪問了595例患者。數據分為個人信息、相關病史、心絞痛發作特點和癥狀四部分。其中,癥狀可以概括為面色、唇色、爪甲色、形態、寒熱、汗出、頭身胸腹、口渴、口味、飲食、大便、小便、睡眠和舌脈共14個方面。而且,除舌脈外,每個方面下均存在一些癥狀表征,而且這些癥狀表征相互平行,比如:面色包括面色恍白、面色萎黃、滿面通紅、兩顴潮紅、面色晦暗、面色黧黑、面色無華、面色虛浮8種癥狀表征,其中,恍白和萎黃不可能同時出現,恍白和晦暗也不可能同時出現等等。表5是對癥狀指標編碼情況的具體說明。
73個癥狀指標構成的網絡結構關系復雜,如圖2所示。很難從圖上直觀的看出成群情況,因此,需要通過Tabu搜索算法對發作期的癥狀指標進行結構劃分。
對于73個癥狀指標,Tabu作為一種更加高級的算法,雖然無法直接呈現出從單個指標節點到整個指標節點的過程,但是,可以提前設置最終形成的“塊”(block)數k,通過最終形成的指標群體的規模大小來判斷劃分是否恰到好處。比如,如果劃分出現了單個癥狀指標的指標群,就要考慮是否過度劃分(一般要求最小指標群體規模大于等于3,獨立指標節點除外,不納入分析);如果每個指標群體規模都很大,則需要考慮加大k值,增加劃分的充分性。經過對k=10、11、12、13四種情況的劃分,可以看出,k=11時,劃分的結果較佳,因此,得到下面11個指標群體,又稱為“塊”。每個塊中所包含的的癥狀指標如下所示:
Block1={x50,x51,x52,x54,x57,x58,x73}={頭痛,頭暈,耳聾,頭身胸腹類-其他,口渴欲飲,口渴喜熱飲,失眠};
Block2={x2,x20,x21,x32,x41,x60,x68}={面色萎黃,肢體困重,肢體麻木,四肢不溫,腹脹,口苦,小便頻數};

圖2 發作期癥狀指標網絡圖
Block3={x4,x11,x15,x49,x72}={兩顴潮紅,唇色紫暗,爪甲色紫,腰膝酸軟,小便短赤};
Block4={x36,x37,x38,x53,x56}={胸痛,心悸,心煩,耳鳴,口渴不欲飲};
Block5={x8,x18,x19,x24,x25,x26,x27,x30,x46,x59,x67,x70}={面色虛浮,面目浮腫,四肢腫脹,毛發干枯,肌膚甲錯,皮膚粗糙,皮膚青灰,潮熱,急躁易怒,口淡,小便少,小便澀痛};
Block6={x6,x16,x43}={面色黧黑,形體肥胖,泛酸};
Block7={x33,x45,x55}={自汗,善太息,有無口感口渴};
Block8={x13,x17,x23,x47,x48,x63,x69,x71}={爪甲色青,形體瘦弱,肢冷,協脹,情志抑郁,食少納呆,夜間多尿,小便清長};
Block9={x31,x34,x35,x65,x66}={手足心熱,盜汗,胸悶,便秘,便溏};
Block10={x5,x7,x22,x28,x29}={面色晦暗,面色無華,關節疼痛,惡風,惡寒};
Block11={x1,x3,x9,x10,x12,x14,x39,x40,x42,x44,x61,x62,x64}={面色恍白,滿面通紅,唇色淡白,唇色深紅,唇色青黑,爪甲色暗,暖氣,食少納呆,脘痞,惡心嘔吐,口臭,口粘膩,消谷善饑}.
到目前為止,整個癥狀指標構成的網絡被劃分成11個指標子群,下一步就需要研究這11個指標子群間的關系,哪些指標子群可以構成指標群。具體請見下面的初始密度矩陣(見表6):
而整個網絡的密度值為0.256,所以對上述原始密度矩陣進行0-1賦值,具體的規則如下:大于0.256的元素賦值1,小于0.256的元素賦值0。表6可得到指標子群(即塊)之間的關系。從密度矩陣的非對角線的位置上是否出現1,可以說明指標子群間是否存在關系,具體來說,1表示指標子群間存在關系,0表示指標子群沒有關系。因此,存在指標子群間關系的指標群有:{Block1,Block4},{Block1,Block7},{Block1,Block10},{Block2,Block7},{Block2,Block8},{Block2,Block10},{Block3,Block7},{Block4,Block7},{Block4,Block9},{Block5,Block8},{Block5,Block9},{Block5,Block10},{Block6,Block10},{Block7,Block8},{Block7,Block9},{Block7,Block10},{Block8,Block10}。
由下面的圖3是指標子群間的結構關系圖,可以更加直觀的展示出指標子群間的結構關系。
由圖3可知,除了癥狀指標子群11與任何其他的指標子群間無關外,其余10個指標子群間會存在一些關系。經過上述的分析,可以探索出指標子群的構成及指標群間的結構關系。從醫學上來講,通過對癥狀指標的多層次結構劃分,即可解決證候的構成,及證候間存在的結構關系。因為在中醫領域中,某種疾病的診斷需要通過望、聞、問、切獲得多種癥狀指標的情況,而不同的癥狀組合,或是證候組合可以用來判斷患者是否某種疾病。
真實世界中的網絡是普遍存在的,網絡中的結構關系是錯綜復雜的。本文從網絡中指標節點間關系角度出發,借助社會網絡分析理論中的Tabu搜索算法,主要完成如下幾項研究工作:1)提出復雜網絡“先劃分再凝聚”的分析思路;2)基于大量社會網絡分析方法的Tabu搜索算法的選擇;3)將紛繁復雜的指標網絡劃分成若干個指標群以及指標群間關系的測度;4)應用到中醫癥狀指標間關系的討論。

表6 發作期初始密度矩陣及關系矩陣

圖3 發作期指標子群間結構關系圖
對于一個由眾多指標節點構成的復雜網絡,如果要進一步挖掘指標節點間隱含的結構關系,就需要利用社會網絡理論的方法,對所有的指標進行重排,將復雜網絡劃分為多個“指標子群”,再對“指標子群”進行凝聚,形成較大規模的“指標群”。這種“先劃分再凝聚”的思想,實現了復雜網絡在產生指標群后,進一步對指標群間關系進行了深入的研究和探討。
可供選擇的社會網絡結構劃分方法種類繁多,每種方法研究的角度不同,適用范圍不同,存在的局限性不同。因此需要對社會網絡結構關系劃分方法的局限性及關系進行比較研究,選出最優的方法,用于指標節點間結構關系問題的探討。Tabu搜索算法既可以人為提前設定群數,也可以實現“先劃分再凝聚”的思想,完成指標成群以及群間關系的研究工作。
醫學上存在眾多中醫癥狀指標,中醫診斷更多的是大夫或專家根據這些指標的表現,判斷患者的狀況。本文借助社會網絡分析理論,用Tabu搜索算法客觀的研究不同癥狀指標的組合,以及這些癥狀指標間關系,為中醫指標間結構關系的測度提供一種方法指導和技術支持。
本文通過有中心結構和無中心結構的指標網絡結構的仿真實驗,驗證Tabu搜索算法在不同類型網絡結構的劃分和測度效果。研究表明,該算法較為準確的實現指標節點網絡結構的劃分,反映網絡中不同指標的“凝聚”情況,同時又可以定量測度指標群間的關系。真實世界的網絡均由仿真實驗中若干個有中心和無中心的網絡結構組成,因此,在一定程度上,Tabu搜索算法可以推廣到規模較大或網絡結構更復雜的指標間關系的測度問題。但當網絡規模增加或結構關系復雜度提升到何種程度時,Tabu搜索算法對指標間關系測度效果會存在顯著差異,有待進一步研究。