
利用動態貝氏網路生成第二型糖尿病縱向合成數據:以 LEADER 試驗數據集為例的案例研究
講者: Sara Poletto (義大利帕多瓦大學 資訊工程學系 博士生) 背景資訊: 本研究由歐盟 Horizon 2022 研究與創新計畫資助的 REDDIE(Real-World Evidence for Decisions in Diabetes)專案支持,發表於 2026 年第 19 屆 ATTD(糖尿病先進科技與治療國際會議,西班牙巴塞隆納)。
臨床背景與核心問題
第二型糖尿病(Type 2 Diabetes)是一種慢性的代謝性疾病,其特徵在於受損的血糖數值持續高於生理正常範圍。這種情況會導致影響多個身體系統的長期併發症。特別是,罹患第二型糖尿病的患者,其發生心血管事件(Cardiovascular events)的風險會顯著增加,例如心肌梗塞(Myocardial infarction)和缺血性中風(Ischemic strokes)。這些長期併發症最終將導致患者的生活品質下降與預期壽命縮短。
為了解決這些問題,**縱向數據(Longitudinal data)**成為了不可或缺的工具。縱向數據可用於評估長期的糖尿病預後、衡量治療的有效性、識別潛在的風險因子,並支援具成本效益的分析。在臨床實務中,這些數據通常透過隨機對照試驗(Randomized Controlled Trials, RCTs)或真實世界(Real-world)的糖尿病登錄資料庫來收集。然而,我們也可以透過模擬模型(Simulation models)來生成這些數據,在這種情況下,我們稱之為「合成縱向數據(Synthetic longitudinal data)」。
本研究的核心目標,是利用基於**動態貝氏網路(Dynamic Bayesian Networks, DBNs)**的新型分析流程(Pipeline),生成一個能精確反映 LEADER 臨床試驗母體特徵的「合成人口(Synthetic population)」。
動態貝氏網路(DBNs)的概念與優勢
在深入探討研究流程之前,我們先來了解什麼是動態貝氏網路(DBNs)。
DBNs 是一種機率圖形模型(Probabilistic graphical models),它結合了有向無環圖(Directed Acyclic Graph, DAG)與條件機率分佈(Conditional probability distributions),用以建立一組變數隨時間變化的機率關係模型。在這樣的網路圖中,每一個「節點(Nodes)」代表一個變數,而節點之間的「邊(Edges)」則代表變數之間的依賴關係(Dependencies)。每個節點都會根據數據估算出一組條件機率表。
DBNs 專門設計用來處理變數之間的時間依賴性(Temporal dependencies),並能在一個統一的框架內共同呈現多個相互依賴的臨床結果。它提供了一個具備可解釋性(Interpretable)、透明度(Transparent)且統一的機率框架,並允許我們將領域專家的知識(Experts' knowledge)無縫整合進模型中。在我們的研究中,DBNs 被用來針對人口隨時間的演變進行機率建模(Probabilistically model)、估計長期預後,並為合成人口生成縱向數據集。
LEADER 試驗數據集概述
本案例研究採用的是 LEADER 試驗的數據。LEADER 是一項跨越 32 個國家執行的隨機對照試驗,收案對象為具有高心血管風險的第二型糖尿病患者。該試驗的主要目的是評估利拉魯肽(Liraglutide)治療對心血管預後的影響。其主要終點被定義為重大不良心血管事件(MACE)的發生,這是一個複合性的心血管結果,包含心血管死亡、非致命性心肌梗塞以及非致命性中風。
我們在此研究中使用的數據集規模相當龐大,它是一個混合型別的縱向數據集(Longitudinal mixed-type dataset),包含了 8,301 位患者的資料、82 個變數(涵蓋靜態變數與動態變數),總觀測次數超過 45,000 次。
研究方法與架構流程
我們提出的分析流程可以分為兩個主要步驟,以及兩個中間步驟(模型視覺化 Model visualization 與合成數據驗證 Synthetic data validation)。整個流程的目標是將原始的縱向混合型別數據集,轉化為模擬的縱向混合型別數據集。
步驟一:模型學習階段(Learning Step)
在第一階段,我們必須從縱向數據集中學習出 DBN 模型。這包含了學習網路的結構(Structure)(即節點與有向邊的集合)以及網路的參數(Parameters)(即條件機率分佈)。此學習步驟主要使用了 bnstruct 程式庫來執行。
為確保模型具備臨床合理性,我們整合了領域知識,並引入了**層級化(Layering)**的概念。透過設定層級約束(Layering constraints),我們限制了依賴關係的方向:允許每個變數只能在「同一層」或「上層」尋找其父節點。這種結構確保了我們能有效管理時間上的約束。具體的層級結構設計如下:
在演算法的選擇上,我們使用了爬山演算法(Hill climbing algorithm)並結合貝氏資訊準則(Bayesian Information Criteria, BIC)來學習網路結構;對於網路參數的學習,我們則採用了最大後驗機率估計(Maximum a posteriori estimation, MAP)。此外,為了提高學習網路的穩健性(Robustness)與泛化能力(Generalizability),我們執行了五折交叉驗證(5-fold cross-validation)。最終生成的 DBN 模型圖,清晰展示了所有臨床變數在單一時間點內以及跨越時間點的依賴關係。
步驟二:數據模擬階段(Simulation Step)
在第二階段,我們使用學習到的 DBN 模型來模擬人口的演變(Simulate the evolution),使其特徵與 LEADER 試驗的人口高度相似。
模擬的過程是模擬患者連續的就診紀錄(Consecutive visits)。系統會從學習階段建立的條件機率表中進行抽樣,根據網路結構,讓變數的值從某個時間點( ttt )接續演變至下一個時間點( t+1t+1t+1 )。具體而言,受試者 iii 的靜態特徵,加上其在 ti,1t_{i,1}ti,1 的動態特徵,會推導出其在 ti,2t_{i,2}ti,2 的動態特徵;接著再以此類推至 ti,3t_{i,3}ti,3 。
在模擬參數的設定上,我們針對每位受試者設定模擬步長為 1 年,最大時間跨度為 5 年,並且針對這個過程重複模擬了 50 次,以確保數據的豐富度與統計顯著性。
合成數據驗證與結果
最後一個環節是合成數據的驗證(Synthetic data validation),我們需要比較真實數據與模擬數據之間的差異:
結果解讀: 觀察心血管事件的 Kaplan-Meier 存活曲線(Y軸為存活機率,X軸為 0 至 5 年的時間間隔),我們可以看到代表真實數據集(R)與模擬數據集(S)的兩條曲線幾乎完全重疊(Overlapped)。這強烈表明我們的模型極好地重現了 LEADER 試驗母體的特徵。
結論: 總結來說,我們透過這個流程生成的合成數據集,不僅有效地重現了原始數據集的統計與時間特徵,同時也精準重現了臨床上高度相關的事件(在本案例中即為心血管事件)。非常感謝各位的聆聽。
問答時間 (Q&A)
觀眾提問 1: 非常感謝您的精彩演講。您認為您所選擇的這種方法,以及所創建的數據集,有什麼樣的局限性(Limitations)?
Sara Poletto: 謝謝您的問題。關於局限性,其中一個是這個流程目前並非完全自動化(Not fully automatic)。使用者必須手動指定並輸入層級約束(Layer constraints)的領域知識,這使得整個流程無法做到全自動。 至於臨床數據集本身的局限性,我認為 LEADER 是一個涵蓋多種結果、非常棒的第二型糖尿病數據集。但當然,我們提出的這項合成技術必須應用於其他不同的數據集上,才能進一步深入調查其潛在的局限性與泛化能力。
觀眾提問 2: 恭喜您的研究成果。考慮到 LEADER 是一個隨機介入試驗(Randomized intervention trial),從理論的角度來看,您認為您的模擬方法應用在「真實世界數據(Real-world data)」時,是否具有再現性(Reproducible)?它在真實世界的意義是什麼?
Sara Poletto: 是的,我認為 DBN 模型絕對可以應用於真實世界的數據登錄資料庫。這項技術的核心能力在於,它能夠直接從給定的數據集中學習網路結構以及條件機率表。因此,如果我們給它一份真實世界數據集,它同樣可以從中學習出一個全新的 DBN 模型架構與參數。非常感謝您的提問。