進階報告規範: PRISMA 2020已經雙重審閱,尚未人工抽查

系統性回顧與統合分析

SR 與 MA 不是同一件事、PRISMA 流程圖每一格在防什麼、為什麼「檢索到零篇」跟「篩選後零篇符合」必須分開寫,以及一個只存在於圖裡的結果如何讓整份回顧的結論失準。

先分清楚三個常被混用的詞

名稱做什麼有沒有統計合併
敘述性回顧(narrative review)專家挑自己認為重要的文獻來談
系統性回顧(systematic review, SR)事先訂好檢索式與納入排除條件,可重現地把符合條件的研究都找出來並評讀不一定
統合分析(meta-analysis, MA)把多篇研究的效果量用統計方法合併成一個估計

三者的關係是:SR 是流程,MA 是流程裡的一個步驟。有 SR 沒有 MA 很常見(研究之間差異太大, 合併起來的數字沒有意義時,正確的做法就是不合併);有 MA 沒有 SR 則是紅旗—— 如果連「怎麼找到這些研究的」都說不清楚,合併出來的數字是什麼母體的估計就無法回答。

PRISMA 流程圖:每一格在防什麼

PRISMA 流程圖看起來像行政文件,但每一層的數字都在回答一個「你是不是漏了什麼、或偷偷丟了什麼」的問題:

階段數字它在防什麼
Identification各資料庫各命中幾筆防「只查了 PubMed 就說做了系統性檢索」
去重後幾筆防重複計數灌水
Screening讀標題摘要排除幾筆防「篩選過程不透明」
Eligibility讀全文排除幾筆,各是什麼原因這一格是整張圖最有資訊量的——排除理由的分布會透露納入條件是不是事後調整過
Included最終納入幾篇對照前面每一層,看得出淘汰率是否合理

排除理由那一格要特別看。 如果「不符合 outcome 定義」排掉的篇數異常多, 合理的懷疑是 outcome 定義在看過結果之後被收窄了。

PRISMA 2020 流程圖的示範版本,分成左右兩個直行。左行是每一階段還留下多少筆紀錄,四個階段由上而下依序是 Identification、Screening、Eligibility、Included,階段名稱標在最左邊的縱向色帶上;右行是同一階段流失到哪裡去,每一格由左行拉一支橫箭頭過來。第一格列出四個資料庫各自命中幾筆(PubMed 812、Embase 936、Cochrane CENTRAL 271、Web of Science 388)與合計 2407 筆,右邊對應的是被移除的 861 筆重複紀錄;第二格是篩選標題與摘要的 1546 筆,右邊是在這一關被排除的 1394 筆;第三格是調閱全文的 152 份,右邊是調閱不到的 7 份;第四格是全文評讀的 145 份,右邊是一個較高的框,把被排除的 124 份逐條列出理由與份數(不是隨機分派 46、族群不符 31、結果未以可用形式呈現 24、追蹤短於六個月 12、已納入試驗的重複報告 8、取不到全文 3);最底下一格是最終納入回顧的 21 篇,以及其中實際進入合併分析的 18 篇,另外 3 篇沒有報出可用的變異數。圖中每一個數字都是為了教學構造的,不是任何一篇已發表回顧的紀錄。
PRISMA 2020 流程圖的四個階段。左行是留下來的,右行是流失的,兩行的減法必須對得起來。圖中所有數字均為示範用的構造值,不是任何已發表系統性回顧的資料。產圖腳本 figures/scripts/D7-sr-figures.R

這張圖最該停留的地方是右下角那個框。這份示範裡全文評讀了 145 份、排除 124 份, 排除理由的分布是:不是隨機分派 46 份最多,族群不符 31 份次之, outcome 沒有以可用的形式報告 24 份第三。上一段講的那個訊號,看的就是第三項會不會異常膨脹。

左行每一格減掉右行同一列的數字,必須等於左行的下一格。2407 筆去掉重複的 861 筆, 剩 1546 筆;再扣掉標題摘要階段排除的 1394 筆, 剩 152 份。讀別人的流程圖時這幾個減法值得真的算一次——對不起來就是有一層沒交代。

最底下那格刻意拆成兩個數字:納入回顧的是 21 篇,真正進到合併分析的只有 18 篇, 差的 3 篇沒有報出可以合併的變異數。納入篇數與合併篇數不一樣是常態,把兩者寫成同一個數字才是問題。

檢索策略:可重現是最低要求

一篇 SR 的檢索段落應該讓別人照著做能得到相近的結果。這代表要寫出:

  • 查了哪些資料庫(PubMed / Embase / Cochrane CENTRAL / Web of Science / 各國語言資料庫)
  • 完整檢索式(通常放補充材料),含 MeSH 詞與自由文字詞怎麼組合
  • 檢索日期年代限制
  • 語言限制(有的話要說,而且要知道這會引入語言偏誤)
  • 有沒有手動追加(追引文、看納入研究的參考文獻、問領域專家)

篩選:兩人獨立,並報一致性

標準做法是兩位 reviewer 獨立篩選,不一致的由第三人仲裁。要報告的是篩選階段的一致性 (常用 Cohen’s kappa)。

如果你的 SR 是一個人做的、或用了 AI 輔助篩選,那要寫進論文的限制,不能只留在工作紀錄裡。 單一 reviewer 的漏篩率在文獻上是可觀的,讀者有權知道。

偏誤風險:不是「品質分數」

納入的研究要逐篇評估偏誤風險(risk of bias)。工具依設計不同:

  • RCT → RoB 2(隨機化過程、偏離既定介入、結果資料缺失、結果測量、選擇性報告,五個 domain)
  • 觀察性研究 → ROBINS-I(多了 confounding 與 participant selection)
RoB 2 traffic light 的示範圖。橫列是五個研究,取名為 Study A 到 Study E;直行是 RoB 2 的五個 domain,以 D1 到 D5 標示(依序是隨機化過程、偏離既定介入、結果資料缺失、結果測量、選擇性報告),全名列在圖的下半部;最右邊隔一條虛線另有一個 overall 直行。每一格畫成一個圓點,三種判定各自有顏色也有符號:綠色圓點中間是加號代表低偏誤風險,黃色圓點中間是問號代表有疑慮,紅色圓點中間是減號代表高偏誤風險,所以不靠顏色也分辨得出來。逐列讀下來的判定是:Study A 的 D1 到 D5 依序為綠(低偏誤風險)、綠(低偏誤風險)、綠(低偏誤風險)、綠(低偏誤風險)、黃(有疑慮),overall 是黃(有疑慮);Study B 的 D1 到 D5 依序為綠(低偏誤風險)、黃(有疑慮)、綠(低偏誤風險)、綠(低偏誤風險)、綠(低偏誤風險),overall 是黃(有疑慮);Study C 的 D1 到 D5 依序為紅(高偏誤風險)、綠(低偏誤風險)、黃(有疑慮)、綠(低偏誤風險)、綠(低偏誤風險),overall 是紅(高偏誤風險);Study D 的 D1 到 D5 依序為綠(低偏誤風險)、綠(低偏誤風險)、綠(低偏誤風險)、綠(低偏誤風險)、綠(低偏誤風險),overall 是綠(低偏誤風險);Study E 的 D1 到 D5 依序為黃(有疑慮)、紅(高偏誤風險)、紅(高偏誤風險)、黃(有疑慮)、綠(低偏誤風險),overall 是紅(高偏誤風險)。整張圖 25 個 domain 格子裡,17 格綠、5 格黃、3 格紅;overall 那一直行則是 1 篇低、2 篇有疑慮、2 篇高。圖的下半部依序是三種判定的圖例、五個 domain 的全名,以及 overall 的判定規則:任一 domain 判高就是 overall 高,否則只要有一個有疑慮就是 overall 有疑慮。所有評分都是為了教學構造的,沒有任何一篇試驗被實際評讀過。
RoB 2 的五個 domain 與 overall 判定,五個研究各一橫列。顏色與符號並行,不只靠顏色。所有評分均為示範用的構造值,不是任何真實試驗的評讀結果。產圖腳本 figures/scripts/D7-sr-figures.R

看這張圖要從最右邊那一行往回讀。Study D 五個 domain 全部是綠的,overall 才是低偏誤風險; Study A 只有選擇性報告那一格是黃的,overall 就已經是有疑慮;Study E 有兩格紅的,overall 是高。 overall 不是把五格平均起來,它是一條規則:任何一個 domain 判高,overall 就是高。 一格紅拉不回來,這就是「不給總分」在實際判讀上的樣子。

整張圖 25 格裡有 17 格是綠的,看起來大致沒問題; 但五篇研究裡 overall 是低偏誤風險的只有 1 篇,高偏誤風險的有 2 篇。 這個落差就是 domain-by-domain 的重點——綠格子的數量不能拿來抵掉一格紅的。

偏誤風險評估的用途不是把研究排名,是決定:要不要做敏感度分析(只納入低偏誤風險的研究再合併一次), 以及最終證據等級要不要降級。

合併:什麼時候該做,什麼時候不該

技術細節在方法頁(forest plot、固定與隨機效應、I² 與 τ²、漏斗圖),這裡只講決定要不要合併

判準是臨床與方法學上的可比性,不是統計上的可行性:

  • 族群差太多(兒童與老人、初治與復發)→ 合併出來的平均對誰都不適用
  • 介入不可比(劑量差三倍、療程差半年)
  • Outcome 定義不同(「心衰竭住院」在各研究的定義可能完全不同)
  • 追蹤長度差異大

以本站方法頁用的 BCG 疫苗資料為例:13 篇試驗合併後 RR 0.49 (95% CI 0.34–0.70),但 I² 高達 92.2%。 這麼高的異質性不是拿來壓下去的,而是要問它從哪來——這份資料最常被拿來示範的候選解釋是 試驗地點的緯度。但要記得那是研究層級的(ecological)關聯:緯度與試驗年代、族群營養狀態、 BCG 菌株、診斷標準與試驗品質全都共變,meta-regression 分不開它們;而且把緯度放進模型之後, 殘餘的異質性依然存在。所以緯度是一個產生假說用的解釋候選,不是這份資料已經定案的答案 (異質性 那一頁把這幾個限制拆開來寫)。 即使如此,去找異質性的來源(用 meta-regression 或亞組分析),仍比報一個合併數字有價值得多。

證據等級:GRADE

GRADE 把每一個 outcome 的證據等級評為高/中/低/極低。起點依設計而定(RCT 從高開始, 觀察性研究從低開始),然後依五個理由降級

  1. 偏誤風險(納入研究的 RoB)
  2. 不一致性(異質性無法解釋)
  3. 間接性(族群/介入/outcome 與問題不完全對應)
  4. 不精確(信賴區間寬到涵蓋臨床上相反的決策)
  5. 發表偏誤

觀察性研究有三個升級理由:效果量極大、有劑量反應關係、可能的干擾會讓效果變小而非變大。

GRADE Summary of Findings 表的示範版本,畫成一張六個直行的表。第一直行是 outcome 與追蹤長度;第二直行是納入的研究數與總人數;第三與第四直行合起來是絕對效果,共用一個跨欄標題,分別是對照組每 1000 人中的事件數,以及介入組每 1000 人中的事件數與其信賴區間;第五直行是相對效果,寫成 RR 與信賴區間;第六直行是證據確定性,以四個圓點填滿的個數表示等級,圓點下方是等級名稱,再下方是括號裡的降級理由代號。各橫列的內容是:全因死亡,追蹤 12 個月,12 篇研究、4218 人,對照組每 1000 人 180 例對介入組 144 例(126 到 167),RR 0.80(0.70 到 0.93),確定性高;住院再入院,追蹤 6 個月,15 篇研究、5104 人,對照組每 1000 人 320 例對介入組 275 例(243 到 320),RR 0.86(0.76 到 1.00),確定性中等,掛代號 a;嚴重不良事件,追蹤 12 個月,9 篇研究、2960 人,對照組每 1000 人 65 例對介入組 78 例(57 到 107),RR 1.20(0.88 到 1.65),確定性低,掛代號 b、c。最後一列是健康相關生活品質,追蹤 12 個月,6 篇研究、1487 人,屬於連續型 outcome,因此以平均差 3.4 分(-0.4 到 7.2)呈現,量表是 0 到 100 分、分數愈高愈好,相對效果那一格標成不適用,確定性是極低、掛代號 b、c、d。表格下方先有一句提醒說兩個效果欄是同一個估計的兩種寫法,再逐條列出四個降級理由(a 是不一致性、b 是偏誤風險、c 是不精確、d 是間接性)。表中所有數字與等級都是為了教學構造的,不是任何真實證據體的綜整結果。
GRADE Summary of Findings 表的欄位結構:兩個絕對效果欄、一個相對效果欄,以及一個帶降級理由代號的確定性欄。所有數字與等級均為示範用的構造值,不是任何真實證據體的結果。產圖腳本 figures/scripts/D7-sr-figures.R

這張表看起來只是把數字排整齊,但它的兩個效果欄其實是同一個估計寫了兩次。以第一列的全因死亡為例: 對照組每一千人 180 例,相對效果 RR 0.80, 介入組那一格的 144 就是這兩者相乘的結果, 括號裡的 126 到 167 也是把信賴區間的兩端各乘一次。 絕對效果不是另外一個發現,它是同一個 RR 套到一個假定的基線風險上——所以基線風險換一個族群,整欄都會變。

第二列示範的是措辭上最常出錯的地方。住院再入院的 RR 是 0.86, 但 95% CI 的上界是 1.00,正好貼在無效果那一點上, 換算過去的介入組風險上界也就回到與對照組相同的 320。 這一列只能寫成未達統計顯著,或說這份證據未偵測到差異,不能寫成兩組一樣。

最右邊那一欄括號裡的字母才是整張表最該讀的東西:它是降級理由的代號,對應表格下方的註腳。 等級本身只是結論,代號才說出為什麼。這份示範裡,住院再入院那列掛的是代號 a, 理由是不一致性,於是從高降到中等; 生活品質那列掛了 b、c、d 三個代號,分別是偏誤風險、不精確與間接性, 一路降到極低。

這一章最該記住的一件事:有些結果只存在於圖裡

做 SR 的時候,你會用檢索式、會用全文搜尋、可能還會用語言模型幫忙讀。這些方法有一個共同的盲點:

論文的關鍵結果可能只畫在圖的繪圖區裡,正文與摘要一個字都不提。

這不是假設。本站作者做的一個心衰竭研究,原本要主張「至今沒有研究檢驗過某個交互作用」, 人工調閱最相似的那幾篇之後才發現,其中一篇的交互作用 p 值只出現在 Figure 4 最右欄—— 純文字檢索、全文 grep 都抓不到它,那份 novelty 主張因此必須收窄。

同樣的事在本站的 隨機對照試驗 那一章也遇到一次:那個試驗的 CONSORT 篩選人數 在 Methods 與 Results 全文裡一次都沒出現,只在 Figure 1 的圖片裡。上面那張 PRISMA 流程圖是同一件事的另一面—— 流程圖是一種把數字只放在圖裡的體例,而它偏偏是整篇回顧最需要被逐格核對的地方。

常見誤用

誤用為什麼錯
只查一個資料庫就稱系統性檢索各資料庫收錄範圍不同,單一來源的漏檢率高
「檢索到零篇」與「篩選後零篇符合」混寫兩者對讀者的意義完全不同,前者多半是檢索式壞了
絕對句不附檢索範圍限定「至今沒有研究做過 X」若不說查了什麼,這句話無法被檢驗
單一 reviewer 篩選卻不揭露漏篩率可觀,讀者有權知道
用加總品質分數(如 Jadad)取代 domain-by-domain 評估等於假設不同偏誤可以互相抵消
異質性高還是硬給一個合併數字該找異質性的來源,或直接不合併
把 GRADE 等級當成整篇論文的等級GRADE 評的是每一個 outcome
少於 10 篇還做漏斗圖不對稱檢定檢定力不足到不可解釋(Cochrane Handbook 的慣例門檻,不是本頁資料的結果)
宣稱 novelty 卻沒看過最相似研究的圖表關鍵結果可能只存在於繪圖區內
合併結果未達顯著就說「該治療無效」只能說現有證據未偵測到差異

讀讀看這張圖

答案取自產生本頁圖表的同一份統計輸出,不是另外打上去的。

PRISMA 流程圖最底下那一格刻意拆成兩個數字:納入回顧的篇數,以及實際進入合併分析的篇數。為什麼要拆?

看答案與解析

正確答案: 因為有 3 篇符合納入條件卻沒有報出可以合併的變異數——納入與合併不是同一件事

被納入回顧的研究不一定都進得了合併分析,最常見的原因就是沒有報出可以合併的變異數。把兩者寫成同一個數字,讀者就無法判斷合併估計代表的是哪一群研究。145 是調閱全文後被評讀的份數,124 是在這一關被排除的份數,兩者相減才是納入的篇數;它們屬於流程圖的上一層,回答的是「篩選過程透不透明」,不是「合併了誰」。順帶一提,排除理由那一格特別值得看:如果「outcome 沒有以可用的形式報告」排掉的篇數異常多,合理的懷疑是 outcome 定義在看過結果之後被收窄了。

PRISMA 流程圖左行是每一階段還留下多少筆、右行是同一階段流失到哪裡去。讀別人的流程圖時,這兩行之間該做什麼?

看答案與解析

正確答案: 把減法真的算一次。1546 就是總命中數扣掉重複紀錄之後應該剩下的數字——對不起來就是有一層沒交代

左行每一格減掉右行同一列的數字,必須等於左行的下一格,這是流程圖唯一能被外部核對的性質。2407 筆去掉重複的 861 筆剩 1546 筆;再扣掉標題摘要階段排除的份數才是調閱全文的份數。這幾個減法值得真的算一次——對不起來代表有一層沒交代,而那一層通常正是篩選過程最不透明的地方。第三個說法把「判斷」與「記帳」混在一起:每一格的判斷確實是篩選者做的,但格與格之間的加減不是判斷,是可以驗算的。

RoB 2 的示範圖裡,二十五個 domain 格子有十七格是綠的,但五篇研究裡 overall 判為低偏誤風險的只有一篇。這個落差怎麼來的?

看答案與解析

正確答案: 因為 overall 不是把五格平均起來。只有五個 domain 全綠的研究才算低偏誤風險,符合的只有 1 篇

overall 是一條規則不是一個平均:任何一個 domain 判高,overall 就是高;沒有高但有疑慮,overall 就是有疑慮。所以五格全綠的那一篇才算低偏誤風險,一格黃就足以把 overall 拉成有疑慮。17 格綠看起來很多,但它們分散在五篇研究上,抵不掉任何一格紅或黃。這正是「不給總分」在判讀上的樣子——早年 Jadad 那類把不同性質的偏誤加總成一個分數的做法已經不建議使用,因為加總等於假設盲性做得好可以補償隨機化做得差,而那不成立。偏誤風險評估的用途也不是把研究排名,是決定要不要做敏感度分析、以及證據等級要不要降級。

BCG 疫苗那十三篇試驗合併之後,異質性指標高到九成以上。這個數字該怎麼處理?

看答案與解析

正確答案: 把它當成要解釋的東西。92.22 說的是各試驗的效果差很多,該做的是去找差異從哪來

92.22 不是一個要壓下去的數字,它是這批研究彼此不一致的證據。改用固定效應模型不會讓不一致消失,只會把它藏進一個更窄的區間裡——固定效應假設所有研究在估同一個量,而這裡的資料正好在說那個假設不成立。0.49 與上界 0.70 描述的是合併估計本身,區間沒跨無效值也不代表這個平均值對誰都適用:族群、介入、outcome 定義與追蹤長度差太多時,平均出來的數字可能對任何一個臨床情境都不成立。這份資料最常被拿來示範的解釋候選是試驗地點的緯度,但那是研究層級的關聯,緯度與年代、營養狀態、菌株、診斷標準全都共變,meta-regression 分不開;而且放進緯度之後殘餘的異質性依然存在。即使如此,去找異質性的來源仍然比報一個合併數字有價值。

示範的 Summary of Findings 表裡,住院再入院那一列的相對風險小於無效值,但信賴區間的上界正好貼在無效點上。這一列該怎麼寫?

看答案與解析

正確答案: 寫成未達統計顯著,或說這份證據未偵測到差異。上界是 1.00,換算過去剛好回到與對照組相同的水準

上界 1.00 貼在無效點上,所以這一列只能寫成未達統計顯著,或說這份證據未偵測到差異。第一個說法把點估計當結論,忽略了區間本來就在說「這份資料容得下沒有效果」;第三個說法方向相反但錯得更重——未達顯著不等於兩組相同,要主張相當需要事先設定的等效界限,而 0.76 到 1.00 這個區間同時容納了可觀的獲益與完全沒有獲益。順帶一提,這張表的兩個絕對效果欄不是另外的發現,它們是同一個相對風險套到一個假定的基線風險上算出來的,所以基線風險換一個族群,整欄都會變。

同一篇系統性回顧裡,全因死亡那一列的證據確定性是高,生活品質那一列是極低。這代表什麼?

看答案與解析

正確答案: 代表 GRADE 評的是每一個 outcome,不是整篇論文。生活品質那一列的 6 篇研究是分開評的

GRADE 針對每一個 outcome 各評一次,起點依設計而定,再依偏誤風險、不一致性、間接性、不精確與發表偏誤逐項降級。所以同一篇回顧裡主要 outcome 是高確定性、某個次要 outcome 是極低,完全正常——而後者常常正是新聞標題會拿去寫的那一個。12 篇與 1487 人這兩個數字都不是等級的決定因素:篇數多而每一篇都有嚴重偏誤風險,等級照樣降;人數多而區間仍然同時涵蓋可觀的獲益與可觀的傷害,不精確那一項照樣要扣。最右欄括號裡的代號才是整張表最該讀的東西——等級只是結論,代號說出為什麼。

延伸觀看

Narrative vs systematic vs scoping review
ENResearch Masterminds· 9 min先把三種回顧的差別分清楚,本章第一節講的就是這件事。
How To Conduct A Systematic Review and Write-Up in 7 Steps (PRISMA, PICO)
ENDr Amina Yonis· 18 min從 PICO 到 PRISMA 走完一遍流程,適合真的要動手做之前看。
文獻搜尋 – Cochrane Library + PubMed
繁中Cochrane Taiwan· 96 min繁中,實際示範怎麼把 PICO 轉成檢索式。第三節講的檢索策略,這支是動手版。
如何選擇一個統合分析的研究題目
繁中杜裕康老師研究室· 11 min繁中,講的是題目怎麼選才做得成——這一步做錯,後面的統計再漂亮都沒用。
How to Critically Appraise a Systematic Review: Part 1
ENTerry Shaneyfelt· 8 min從讀者角度評讀一篇 SR,與本章最後的「常見誤用」對照著看。

素材來源與授權

回報內容問題

這個站的統計內容由 AI 撰寫、AI 互審,人工只做抽查。你看得出來的錯,我們不一定看得出來。

寫得越具體越修得動,例如哪一句話跟哪本教科書/哪篇論文的說法不一致。

留了才回得了信;不留也會看。

一併送出的資訊

這些是自動帶上的,每一項都可以取消。