筆者於 2020/5 時介紹了診斷型統合分析的介紹,包括基本概念與傳統方法(https://reurl.cc/4a3Lxv);兩種主流方法(https://reurl.cc/Q96YQ2),包括雙變量模型(Bivariate model)以及階層模型(Hierarchical model);以及於 2021/3 時介紹了常用 R 套件的比較(https://reurl.cc/NrZYv6)。

在不久之前筆者也是介紹了用 SAS macroMetaDAS)執行標準的雙變量模型以及階層模型(https://reurl.cc/Rb43KZ )。

本系列文章旨在示範以 R 套件「meta4diag」進行雙變量模型之下的貝氏估計(Bayesian estimation)。首先注意,使用本套件需先安裝「INLA」(integrated nested Laplace approximation)套件,但此套件在 R 內建的套件搜尋功能並無法下載,需使用以下指令才能下載及安裝。

 

1.jpg

 

示範的資料與之前一樣(如下表),結果變項為急性腎損傷(Acute kidney injury, AKI),用來診斷的檢驗標記為尿液的 NGALurine neutrophil gelatinase-associated lipocalin, uNGAL)。TPTNFPFN分別為 Ture positive, True negative, False positive and False negative最右邊的欄位「S_M」代表病人族群,S為手術族群(surgical),M為非手術族群(medical),此為解釋變項/共變數(Covariate)。共計有32篇研究,下表擷取前10個研究以作為參考。

 

2.jpg

 

以下先將套件呼叫,以及將資料匯入。接著由於有些細格人數可能是由敏感度/特異度換算,因此有可能會有小數點,在此先以「as.interger」功能取整數位。最後再指定此資料是「data frame」,已確保後續分析時不會出現錯誤(例如:data$tp and data$tn and data$fp and data$fn has some non-integer value!!!)。

 

3.jpg

 

下一段則是執行貝氏估計的雙變量模型,「nsample」的預設是5千,原則上可以設更多,但不建議設的太少(例如至少要超過1千)。執行指令之後,稍待幾秒鐘到數分鐘(視電腦速度以及資料筆數多寡)就會執行完成,先執行「fit」,看一下模式估計的相關資訊,再用「summary(fit)」將報表列印出來。

 

4.jpg

 

下圖是「fit」列印出來關於模式估計的資訊,可看到是雙變量模型(Bivariate model)。模式未指定類別型(Modality)與連續型(Covariates)的共變數。

 

5.jpg

 

下圖是「summary(fit)」產生的報表,第一段「Time used」列出程式執行的時間。第二段「Fixed effects」則是估計完成的結果,「mu」是敏感度的 logit 值,「nu」是特異度的 logit 值。第三段「Model hyperpar」則分別列出敏感度與特異度估計的變異數,亦即隨機效果,以及這兩個隨機效果的相關係數。下方「mean (Se)」以及「mean (Sp)」則只是將敏感度與特異度的 logit 值轉換成機率,因為 log (P/1-P) = logit (P)

報表中的「0.025quant」、「0.5quant」以及「0.975quant」是代表 quantiles,也就是貝氏估計下的置信區間(credible interval),若用95%的置信區間,那就報告 0.025~0.975 的範圍。報表最下方則會列出兩個固定效果(敏感度、特異度)的相關係數,以及其他相關資訊。不過可注意到,這個套件並沒有提供診斷勝算比(diagnostic odds ratio, DOR)的的估計結果,這是比較可惜的地方。

 

6.jpg

arrow
arrow
    全站熱搜

    晨晰部落格新站 發表在 痞客邦 留言(0) 人氣()