余駿雯 胡天天 楊中方 何加敏 金依霖 朱政,2,3
(1.復(fù)旦大學(xué)護(hù)理學(xué)院,上海 200032;2.上海市循證護(hù)理中心,上海 200032;3.紐約大學(xué)護(hù)理學(xué)院, 紐約 10010)
根據(jù)癥狀的數(shù)據(jù)類型,癥狀網(wǎng)絡(luò)可以分為3種類型:基于橫斷面癥狀數(shù)據(jù)的同期網(wǎng)絡(luò)、基于單個個體癥狀數(shù)據(jù)的時態(tài)/個體化網(wǎng)絡(luò)和基于重復(fù)測量的群體面板癥狀數(shù)據(jù)的動態(tài)網(wǎng)絡(luò)。其中,同期網(wǎng)絡(luò)主要關(guān)注在同一時間點上不同癥狀之間的關(guān)聯(lián)性。這種網(wǎng)絡(luò)類型有助于幫助我們理解癥狀之間的共現(xiàn)模式,例如,抑郁癥和焦慮癥常常在同一患者中同時存在[1-2]。然而,同期網(wǎng)絡(luò)無法捕捉癥狀之間的時間序列關(guān)系,即它無法顯示一個癥狀是如何隨著時間的推移影響另一個癥狀的[3]。相比之下,動態(tài)網(wǎng)絡(luò)結(jié)合了同期網(wǎng)絡(luò)和時態(tài)/個體化網(wǎng)絡(luò)的優(yōu)點,它基于重復(fù)測量的群體面板癥狀數(shù)據(jù),可以捕捉到癥狀之間的時間序列關(guān)系,同時也可以反映出癥狀在群體中的共現(xiàn)模式。動態(tài)網(wǎng)絡(luò)的主要優(yōu)勢在于它可以更全面地理解癥狀的動態(tài)演變過程和癥狀之間的復(fù)雜交互關(guān)系。然而,動態(tài)網(wǎng)絡(luò)的建立和分析需要復(fù)雜的統(tǒng)計方法,這可能是其在實際應(yīng)用中的一個主要挑戰(zhàn)。本文將從癥狀動態(tài)網(wǎng)絡(luò)的定義、常用網(wǎng)絡(luò)特異性指標(biāo)以及R軟件的實現(xiàn)等方面進(jìn)行介紹,旨在為推廣和規(guī)范癥狀動態(tài)網(wǎng)絡(luò)的相關(guān)研究提供借鑒和指導(dǎo)。
1.1動態(tài)網(wǎng)絡(luò)的定義 動態(tài)網(wǎng)絡(luò)是一種基于重復(fù)測量的群體面板癥狀數(shù)據(jù)構(gòu)建的網(wǎng)絡(luò),這種網(wǎng)絡(luò)可以在多個時間點對同一群體的癥狀進(jìn)行測量[4]。動態(tài)網(wǎng)絡(luò)不僅反映了群體癥狀各類指標(biāo)隨時間變化的情況,還能揭示癥狀之間的時間序列關(guān)系,以及癥狀在群體中的共現(xiàn)模式。動態(tài)網(wǎng)絡(luò)的主要目標(biāo)是理解各種癥狀隨時間變化如何相互影響,以及這些癥狀如何共同影響其他癥狀的發(fā)展和演變。因此動態(tài)網(wǎng)絡(luò)是基于面板數(shù)據(jù)所形成的是有向網(wǎng)絡(luò),見圖1。
圖1 癥狀動態(tài)網(wǎng)絡(luò)的示意圖
既往研究基于癥狀動態(tài)網(wǎng)絡(luò)來剖析癥狀的發(fā)生機(jī)制。例如Van等[5]在比較處于精神病早期不同臨床階段的個體之間的跨診斷癥狀網(wǎng)絡(luò)研究中,構(gòu)建了基于10個關(guān)于抑郁、焦慮、精神病、非特異性和脆弱性領(lǐng)域的癥狀的時變向量自回歸的癥狀動態(tài)狀網(wǎng)絡(luò)。結(jié)果發(fā)現(xiàn)隨著臨床階段的增加,癥狀網(wǎng)絡(luò)的密度會增加,且精神病相關(guān)癥狀會在網(wǎng)絡(luò)中占據(jù)更核心的位置。研究結(jié)果強(qiáng)調(diào)了評估癥狀網(wǎng)絡(luò)的重要性。再如Zhu等[6]探索中國中老年人群中抑郁癥狀的縱向關(guān)系的研究使用了來自中國健康和退休縱向研究的3波數(shù)據(jù)(2013年、2015年和2018年),構(gòu)建了基于時變向量自回歸模型的動態(tài)網(wǎng)絡(luò)來識別十種抑郁癥狀之間隨時間動態(tài)變化的相互關(guān)聯(lián)。研究結(jié)果發(fā)現(xiàn)“感到恐懼”是具有最強(qiáng)預(yù)測性的因子。
1.2動態(tài)網(wǎng)絡(luò)的分析方法 分析動態(tài)網(wǎng)絡(luò)的方法主要包括網(wǎng)絡(luò)結(jié)果分析法、交叉滯后網(wǎng)絡(luò)分析法和時變向量自回歸分析法,這3種方法的應(yīng)用場景各異。見表1。
表1 常用癥狀網(wǎng)絡(luò)分析方法
這些方法的選擇應(yīng)根據(jù)研究的目標(biāo)和可用的數(shù)據(jù)來決定??偟膩碚f,無論是那種方法,動態(tài)網(wǎng)絡(luò)模型都需要大量的數(shù)據(jù),并且對數(shù)據(jù)的質(zhì)量和完整性有較高的要求。
1.3動態(tài)網(wǎng)絡(luò)中常用的網(wǎng)絡(luò)特異性指標(biāo) 動態(tài)網(wǎng)絡(luò)的特異性指標(biāo)與其他癥狀網(wǎng)絡(luò)類似,也可以分為節(jié)點指標(biāo)、網(wǎng)絡(luò)指標(biāo)、網(wǎng)絡(luò)擬合指標(biāo)和差異性檢驗指標(biāo)4類。但由于動態(tài)網(wǎng)絡(luò)生成的是有向網(wǎng)絡(luò),存在自變量與因變量的方向性,因此,在部分指標(biāo)存在“出”和“入”的區(qū)分。動態(tài)網(wǎng)絡(luò)中常用的特異性指標(biāo)的類型,見表2。
表2 動態(tài)網(wǎng)絡(luò)中常用的網(wǎng)絡(luò)特異性指標(biāo)類型
動態(tài)網(wǎng)絡(luò)根據(jù)研究目的和數(shù)據(jù)結(jié)構(gòu)可以采用不同的分析方法。例如,動態(tài)網(wǎng)絡(luò)可以采用交叉滯后網(wǎng)絡(luò)模型或時變向量自回歸模型進(jìn)行分析[7]。本文將重點介紹動態(tài)網(wǎng)絡(luò)中的交叉滯后網(wǎng)絡(luò)分析,并介紹如何使用R軟件進(jìn)行實現(xiàn)。
2.1數(shù)據(jù)準(zhǔn)備和清理 癥狀網(wǎng)絡(luò)分析的數(shù)據(jù)準(zhǔn)備和清理需要注意以下幾點。(1)數(shù)據(jù)收集: 首先,需要收集關(guān)于癥狀的數(shù)據(jù)。這可能包括從患者那里獲取的自我報告數(shù)據(jù),或者從醫(yī)療記錄中提取的數(shù)據(jù)。數(shù)據(jù)應(yīng)該包括癥狀的類型、嚴(yán)重程度,以及癥狀在不同時間點的變化。(2)數(shù)據(jù)清理:刪除或修正錯誤的數(shù)據(jù),處理缺失值,以及檢查數(shù)據(jù)的一致性。例如,如果一個患者在某一時間點報告了一個癥狀,但在下一個時間點沒有報告這個癥狀,那么需要增補(bǔ)數(shù)據(jù)或刪除數(shù)據(jù)。網(wǎng)絡(luò)分析不允許缺失值存在。(3)數(shù)據(jù)轉(zhuǎn)化和標(biāo)準(zhǔn)化:由于不同的癥狀可能有不同的度量標(biāo)準(zhǔn),在進(jìn)行網(wǎng)絡(luò)分析之前,可能需要對數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化。(4)數(shù)據(jù)保存:將癥狀數(shù)據(jù)轉(zhuǎn)化為構(gòu)建癥狀網(wǎng)絡(luò)所需的形式,可以提取需要的變量并保存為CSV格式。(5)設(shè)置癥狀發(fā)生率閾值:有些癥狀的發(fā)生率較低,導(dǎo)致網(wǎng)絡(luò)分析時出現(xiàn)錯誤,建議剔除此類癥狀。
完成數(shù)據(jù)整理后,需要進(jìn)行以下步驟:按照glmnet,qgraph和lavaan安裝包,設(shè)置工作目錄、讀取數(shù)據(jù),并導(dǎo)入命令包、標(biāo)簽化節(jié)點名稱、剔除缺失值。glmnet是一個用于擬合廣義線性模型的工具包,特別是用于處理具有大量預(yù)測變量的情況[8]。它使用了彈性網(wǎng)正則化,這是一種結(jié)合了L1和L2正則化的方法,可以有效地進(jìn)行變量選擇和復(fù)雜度調(diào)整。qgraph是一個R語言的命令包,主要用于構(gòu)建同期癥狀網(wǎng)絡(luò)圖模型。該包的主要功能是利用圖形和統(tǒng)計方法來可視化網(wǎng)絡(luò)數(shù)據(jù),以幫助研究者更好地理解網(wǎng)絡(luò)結(jié)構(gòu)和關(guān)系[9]。lavaan是一個用于結(jié)構(gòu)方程模型的工具包。結(jié)構(gòu)方程模型是一種復(fù)雜的統(tǒng)計模型,可以同時估計多個回歸方程,并允許變量之間存在復(fù)雜的相互關(guān)系[10]。讀取方式,見框1,掃二維碼獲取框1。
2.2運(yùn)算交叉滯后面板模型 運(yùn)算交叉滯后面板模型采用glmnet包進(jìn)行Lasso回歸,以構(gòu)建1個矩陣,該矩陣表示數(shù)據(jù)集中各個變量之間的關(guān)系。以框1案例為例,首先,設(shè)定節(jié)點的數(shù)量為9,并創(chuàng)建1個9×9的零矩陣和一個長度為9的零向量。此后,開始一個循環(huán),對每個變量進(jìn)行Lasso回歸,預(yù)測變量是數(shù)據(jù)集中的前9列,響應(yīng)變量是第9列之后的列。在進(jìn)行回歸之前,所有的變量都被標(biāo)準(zhǔn)化。接著,提取出使交叉驗證誤差最小的lambda值,并使用這個lambda值計算Lasso回歸的系數(shù)。最后,這些系數(shù)被存儲在9×9的矩陣的相應(yīng)列中。這個矩陣可以被用來理解數(shù)據(jù)集中變量之間的關(guān)系,或者用來構(gòu)建1個網(wǎng)絡(luò)模型。
2.3動態(tài)網(wǎng)絡(luò)的可視化 動態(tài)網(wǎng)絡(luò)的可視化主要分為包含和去除自回歸模型2個部分。它使用了qgraph函數(shù)來創(chuàng)建網(wǎng)絡(luò)圖,見圖2。
注:(a)自回歸網(wǎng)絡(luò)示意圖 (b)去除自回歸網(wǎng)絡(luò)示意圖圖2 動態(tài)網(wǎng)絡(luò)示意圖
在包含自回歸模型中,首先定義一個變量標(biāo)簽的向量,再創(chuàng)建一個JPEG文件來保存圖像。接著,使用qgraph函數(shù)來創(chuàng)建一個網(wǎng)絡(luò)圖,其中adjMat是之前通過Lasso回歸計算得到的系數(shù)矩陣,groups是一個向量,用于指定每個節(jié)點的組別,labels是節(jié)點的標(biāo)簽,colors用于定義節(jié)點的顏色。此后,創(chuàng)建一個新的圖形區(qū)域,并添加一個圖例來標(biāo)識變量。最后,使用dev.off函數(shù)關(guān)閉圖形設(shè)備,保存圖像。
在去除自回歸模型中,首先創(chuàng)建一個新的系數(shù)矩陣adj Mat 2,并將其對角線上的元素(即自回歸的系數(shù))設(shè)置為0,從而去除了自回歸。接著,創(chuàng)建一個新的JPEG文件來保存圖像,和上一部分的操作類似,使用qgraph函數(shù)來創(chuàng)建一個網(wǎng)絡(luò)圖,再添加一個圖例,并使用dev.off函數(shù)關(guān)閉圖形設(shè)備,保存圖像。
這2部分代碼的主要區(qū)別在于是否包含自回歸。在包含自回歸模型中,網(wǎng)絡(luò)圖中的每個節(jié)點都有一個指向自己的箭頭,表示自回歸的效應(yīng)。而在去除自回歸模型中,這些箭頭被去除,只保留了節(jié)點之間的關(guān)系。通常會使用去除自回歸的可視化結(jié)果,保留自回歸會導(dǎo)致當(dāng)自回歸系數(shù)過大時,其他邊緣系數(shù)可視化差異性減小。
2.4計算和可視化預(yù)測性 預(yù)測性是指一個變量能夠預(yù)測其他變量的程度。在代碼中主要要進(jìn)行2個部分:計算預(yù)測性和可視化預(yù)測性結(jié)果。
2.4.1在計算預(yù)測性的部分 代碼首先創(chuàng)建了3個空向量來存儲預(yù)測性的結(jié)果。接著,開始一個循環(huán),對每個變量進(jìn)行處理。在每次循環(huán)中,首先讀取因變量的標(biāo)簽和分組信息,再定義3種模型:包含變量自回歸的模型、剔除變量自回歸的模型和明確自變量分組的模型。此后,使用sem函數(shù)來擬合這3種模型,并計算模型的R2值,這個值被用來衡量模型的預(yù)測性。最后,將計算得到的R2方值存儲在之前創(chuàng)建的空向量中。
2.4.2在可視化預(yù)測性 代碼首先創(chuàng)建了一個JPEG文件來保存圖像。之后,使用barplot函數(shù)來創(chuàng)建2個條形圖,分別表示入可預(yù)測性(in-predictability)和出可預(yù)測性(out-predictability)。接著,創(chuàng)建1個新的圖形區(qū)域,并添加1個圖例來標(biāo)識變量。最后,使用dev.off函數(shù)關(guān)閉圖形設(shè)備,保存圖像結(jié)果的部分,見圖3。
圖3 預(yù)測性結(jié)果的示意圖
這段代碼的結(jié)果是1個包含2個條形圖的圖像,這2個圖分別表示了每個變量的“入預(yù)測性”和“出預(yù)測性”。這2個指標(biāo)可以幫助我們理解每個變量對其他變量的預(yù)測能力。
2.5中心化指標(biāo)分析 在癥狀網(wǎng)絡(luò)中,中心性指標(biāo)是用來描述節(jié)點在網(wǎng)絡(luò)中核心地位的重要指標(biāo),主要包括入強(qiáng)度中心性、出強(qiáng)度中心性、緊密中心性和中介中心性,見圖4。這段R代碼使用qgraph包的centrality和centralityPlot函數(shù)來計算和可視化網(wǎng)絡(luò)中節(jié)點的中心性指標(biāo)。centrality(g)函數(shù)和centralityPlot函數(shù)計算和可視化網(wǎng)絡(luò)g中每個節(jié)點的入強(qiáng)度中心性、出強(qiáng)度中心性、緊密中心性和中介中心性,這些指標(biāo)有助于理解網(wǎng)絡(luò)中每個節(jié)點的重要性。
圖4 中心化指標(biāo)分析結(jié)果示例
3.1癥狀動態(tài)網(wǎng)絡(luò)的模型選擇 在癥狀動態(tài)網(wǎng)絡(luò)的研究中,模型的選擇主要取決于研究的目標(biāo)和數(shù)據(jù)的特性,常用方法包括網(wǎng)絡(luò)結(jié)果分析法、交叉滯后網(wǎng)絡(luò)分析法和時變向量自回歸分析法[11]。
3.1.1網(wǎng)絡(luò)結(jié)果分析法 是動態(tài)網(wǎng)絡(luò)模型中的一種特殊情況,該方法將預(yù)測變量(t1時刻)和結(jié)果變量(t2時刻)整合為1個網(wǎng)絡(luò)。這種方法允許研究者在控制了t1時刻所有其他變量的關(guān)聯(lián)后,檢查預(yù)測變量和結(jié)果變量之間是否存在直接的預(yù)測關(guān)聯(lián)。這種方法僅適用于只有在部分?jǐn)?shù)據(jù)收集波次中才能獲得重要結(jié)果變量的情況,其關(guān)鍵優(yōu)點是它可以直接考慮到預(yù)測變量和結(jié)果變量之間的關(guān)系,而不需要對整個網(wǎng)絡(luò)進(jìn)行全局分析。
3.1.2交叉滯后網(wǎng)絡(luò)分析法 可用于研究不同變量之間隨時間而動態(tài)變化的關(guān)聯(lián),通過正則化回歸來估計除自身外所有其他節(jié)點的滯后交叉關(guān)聯(lián),并考慮其自回歸效應(yīng)。這些滯后關(guān)聯(lián)表示在調(diào)整了第一個波次所有其他變量后的有向效應(yīng)。該方法的關(guān)鍵優(yōu)點是它可以直接考慮到時間的影響,從而更準(zhǔn)確地描述變量之間的動態(tài)關(guān)系。然而,其主要限制是它需要至少2個測量時間點的數(shù)據(jù)。
3.1.3時變向量自回歸分析法 可以區(qū)分個體內(nèi)和個體間效應(yīng),其在結(jié)構(gòu)上類似于隨機(jī)截距滯后面板模型,并且需要至少3個測量時間點的數(shù)據(jù)。每個變量通過自身和模型中其他所有變量的滯后交叉值來進(jìn)行預(yù)測,從而得到自回歸和時間滯后的估計。這種方法的一個關(guān)鍵優(yōu)點是它可以同時考慮多個變量,并且可以直接考慮到個體內(nèi)和個體間的差異。
在選擇癥狀動態(tài)網(wǎng)絡(luò)的分析方法時,需要綜合考慮多種因素。(1)研究目標(biāo)和數(shù)據(jù)特性是決定分析方法的關(guān)鍵。研究者需考慮研究的目標(biāo)是探索變量之間的關(guān)系,還是預(yù)測未來的變化;數(shù)據(jù)是時間序列還是橫截面數(shù)據(jù),并兼顧數(shù)據(jù)量的大小以及數(shù)據(jù)的質(zhì)量等。(2)需要考慮數(shù)據(jù)的時間序列特性,如季節(jié)性、趨勢性等,以及變量的性質(zhì),如變量是否為連續(xù)性變量、二分類變量或等級變量等。此外,計算資源也是一個重要的考慮因素,一些復(fù)雜的方法可能需要大量的計算資源。(3)研究問題的復(fù)雜性也會影響分析方法的選擇,對于涉及到多個交互效應(yīng)或非線性關(guān)系的復(fù)雜研究問題,可能需要使用更復(fù)雜的模型。
3.2網(wǎng)絡(luò)結(jié)果的異質(zhì)性 動態(tài)網(wǎng)絡(luò)在總?cè)巳褐械慕Y(jié)果可能存在異質(zhì)性,異質(zhì)性來源的識別需要研究者對該領(lǐng)域人群特征有較好的把握,識別異質(zhì)性的來源和處理異質(zhì)性是一個重要的挑戰(zhàn)。以下是一些可以使用的策略:(1)分層分析,如果研究者對特定的人群特性(如年齡、性別、種族等)有先驗的假設(shè),可以進(jìn)行分層分析,即分別在不同的人群中建立和分析網(wǎng)絡(luò)模型。這可以幫助研究者理解不同人群中網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù)的差異。如Zhu等[6]探索中國中老年人群中抑郁癥狀的縱向關(guān)系的研究中,對性別進(jìn)行了亞組分析,結(jié)果發(fā)現(xiàn)男性與女性中老年人在抑郁癥狀的發(fā)生機(jī)制上存在較大的差異。(2)多群體比較,如果研究者對多個人群的網(wǎng)絡(luò)結(jié)構(gòu)或參數(shù)是否存在差異感興趣,可以使用多群體比較的方法。這種方法可以測試網(wǎng)絡(luò)的全局結(jié)構(gòu)是否在不同的人群中保持一致,以及特定的網(wǎng)絡(luò)參數(shù)是否在不同的人群中有顯著的差異。(3)隨機(jī)效應(yīng)模型,如果人群間的異質(zhì)性主要表現(xiàn)在網(wǎng)絡(luò)參數(shù)而非網(wǎng)絡(luò)的全局結(jié)構(gòu)上,可以使用隨機(jī)效應(yīng)模型來建模這種異質(zhì)性。該模型假設(shè)每個人群的網(wǎng)絡(luò)參數(shù)都是從一個共同的總體分布中抽取的,因此可以用來估計總體分布的參數(shù),并測試個體參數(shù)是否顯著地偏離總體參數(shù)。(4)個體化網(wǎng)絡(luò)模型,如果人群間的異質(zhì)性非常大,以至于無法通過上述方法進(jìn)行有效的建模,可以考慮使用個體化網(wǎng)絡(luò)模型。
在本文中,深入探討了癥狀動態(tài)網(wǎng)絡(luò)的核心理念,并詳細(xì)介紹了如何使用R軟件進(jìn)行動態(tài)網(wǎng)絡(luò)的分析和可視化。我們重點討論了交叉滯后網(wǎng)絡(luò)分析法,并解析了如何根據(jù)研究目標(biāo)和數(shù)據(jù)特性選擇合適的方法。癥狀動態(tài)網(wǎng)絡(luò)分析的目的是幫助研究者更深入地理解癥狀的動態(tài)交互機(jī)制,從而為制定更精準(zhǔn)的預(yù)防和治療策略提供依據(jù)。我們希望本文能對初學(xué)者了解癥狀動態(tài)網(wǎng)絡(luò)分析方法有所幫助,并為該領(lǐng)域的研究者提供一定的參考價值。