筆者於 2020/5 時介紹了診斷型統合分析的介紹,包括基本概念與傳統方法(https://reurl.cc/4a3Lxv);兩種主流方法(https://reurl.cc/Q96YQ2),包括雙變量模型(Bivariate model)以及階層模型(Hierarchical model);以及 R 套件的介紹與比較(https://reurl.cc/NrZYv6)。本系列文章旨在示範實際實作的步驟,示範的軟體為 SAS 的巨集「MetaDAS」,此巨集可於 Cochrane Methods 下載(https://methods.cochrane.org/sdt/software-meta-analysis-dta-studies),並有完整的使用手冊及範例。
本次示範資料為腎臟科的研究,研究結果變項為急性腎損傷(Acute kidney injury, AKI),用來診斷的檢驗標記為尿液的NGAL(urine neutrophil gelatinase-associated lipocalin, uNGAL)。收案條件均為住院病人,住院第一天收集 uNGAL 的資料,結果變項為七天內的 AKI。
資料輸入方式如下圖所示,TP、TN、FP、FN分別為 Ture positive, True negative, False positive and False negative。原則上大多數研究都是根據 Youden index 決定最適切點,但仍有少許研究是按照其他原則或是作者偏好而決定最適切點。最右邊的欄位「S_M」代表病人族群,S為手術族群(surgical),M為非手術族群(medical),此為解釋變項/共變數(Covariate)。共計有30篇研究,下表擷取前10個研究以作為參考。
首先先打開下載的 SAS 巨集(可於此連結直接下載,https://reurl.cc/Q96aeb),可看到此巨集最後一次更新是 2010/7 的時候,作者是英國伯明罕大學的 Yemisi Takwoingi 教授,她也是 Cochrane Screening and Diagnostic Test Methods Group 的主要成員,因此使用此巨集等於是 Cochrane Group 背書,大家可安心使用。
以下框線內為 SAS 的程式碼。首先我們先進行 Bivariate model,指令第二列為匯入資料,此資料集我儲存成名為「uNGAL」的舊版 Excel 檔案(副檔名:xls),需注意由於此巨集是較早之前撰寫的,因此沒有支援新版 Excel 檔案(副檔名:xlsx)。指令第三列則是分別定義tp、fp、fn、tn的欄位名稱,subject為研究的名稱,在此為資料中的「Author」;指令第四列的「method=b」代表指定執行「B」ivariate model;指令第五列則是指定報表的儲存位置。
執行之後,報表一開始是檔案產生的細節、起始值、收斂狀態以及模式契合度(AIC、AICC、BIC等),在此先不呈現。下表列出「Bivariate model parameter estimates」的報表,也就是參數估計的結果。「msens」就是敏感度(Sensitivity, Se)的 logit value,「mspec」則是特異度(Specificity, Sp)的 logit value;「s2usens」與「s2uspec」分別是敏感度與特異度 logit value 的估計變異數,開根號後就是估計的標準誤;「covsesp」則是敏感度與特異度的相關係數。
最後一張報表為「Summary estimates of test accuracy measures」,是我們主要抄寫數據的報表,可看到合併(pooled/summary)的敏感度為 0.7648,後方有 95% 的信賴區間。在上一張表已知敏感度的 logit 值為 1.1791,而 logit 值等於(ln [p/(1-p)]),因此可以回推出敏感度為 exp(1.1791) / ((1+exp(1.1791))。特異度也是一樣的算法與詮釋方式。
再來是一個很重要的數字「DOR」,它就是診斷勝算比(diagnostic odds ratio),這個數字越大就代表該檢驗標記(uNGAL)越能用來診斷/區別結果變項(AKI)。可注意到 DOR 的信賴區間沒有經過 1,代表其有達統計顯著。下方的 LR+ 與 LR- 分別為 positive and negative likelihood ratio,一般不是每個研究都會報告,有興趣的讀者可以參考筆者多年前的介紹文章(https://dasanlin888.pixnet.net/blog/post/34469429)。
留言列表