系統性回顧與統合分析
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 定義在看過結果之後被收窄了。
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)
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 從高開始, 觀察性研究從低開始),然後依五個理由降級:
- 偏誤風險(納入研究的 RoB)
- 不一致性(異質性無法解釋)
- 間接性(族群/介入/outcome 與問題不完全對應)
- 不精確(信賴區間寬到涵蓋臨床上相反的決策)
- 發表偏誤
觀察性研究有三個升級理由:效果量極大、有劑量反應關係、可能的干擾會讓效果變小而非變大。
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
How To Conduct A Systematic Review and Write-Up in 7 Steps (PRISMA, PICO)
文獻搜尋 – Cochrane Library + PubMed
如何選擇一個統合分析的研究題目
How to Critically Appraise a Systematic Review: Part 1素材來源與授權
- The PRISMA 2020 statement: an updated guideline for reporting systematic reviewsCC BY本章的流程骨架與各節順序依 PRISMA 2020 的項目編排,文字為原創改寫。