進階已經雙重審閱,尚未人工抽查

累積統合分析與資訊量

把研究依年份排序、每加入一篇就重算一次合併值,這件事同時做了兩件事:它讓人看見「答案其實哪一年就已經在那裡了」,也讓同一個問題在時間軸上被檢定了幾十次。本頁用 Lau 等人那份靜脈 streptokinase 的正典資料,量出合併估計在哪一步停止改變、其後又收了多少人,示範顯著性怎麼出現又消失又回來,並說明 required information size 那條線為什麼是四個假設而不是一個事實。

每來一篇就重算一次,就是同一個問題被檢定很多次

系統性回顧不是一次性的產物。題目一旦成立,新的試驗會持續發表,作者(或 Cochrane 的更新流程)就會把新研究加進去、重跑一次合併模型、再看一次信賴區間有沒有排除無效值。累積統合分析(cumulative meta-analysis)只是把這個實務過程整個攤開來畫:把研究依發表年份排序,每加入一篇就重跑一次,於是一篇研究對應一列,每一列都是「到這篇為止,證據長什麼樣子」。

這張圖同時說了兩件相反的話,而它們都要講:

  • 往回看,它讓人看見合併估計其實在很早的某一步就不再改變了,後面那些試驗只是把信賴區間收窄。這是累積統合分析最有名的用途。
  • 往前看,它是一連串在同一個問題上做的檢定。每加入一篇就問一次「現在顯著了嗎」,問了幾十次,而每一次都用同一個未經調整的門檻。這跟多重比較那一頁講的是同一件事——只是那裡的軸是 endpoint 與次族群,這裡的軸是日曆時間。

本頁把這兩件事在同一份資料上量出來。

資料:靜脈 streptokinase 那批試驗

metadat::dat.lau1992 是累積統合分析的正典教材資料:33 篇比較靜脈注射 streptokinase(鏈激酶)與對照的隨機試驗,結果是死亡,橫跨 1959 到 1988 年、共 36,974 位受試者。它就是 Lau 等人 1992 年那篇 NEJM 論文背後的資料集,資料本身已依年份排好序。

治療組累積 1,892 件死亡,對照組 2,375 件;對照組的合併風險是 12.88%。全部合併之後,隨機效應(REML)的合併相對風險是 0.795,95% 信賴區間 0.746 到 0.847,p < 0.001,相當於相對風險降低 20.5%。異質性很低:I² 為 2.0%,τ² 為 0.00079,Q 檢定 38.5(df = 32,p = 0.199)未達統計顯著。

答案早就在那裡了

先看整張累積森林圖。每一列都不是單一試驗的結果,而是到那一篇為止的全部證據合併起來的結果。

累積森林圖,共 33 列,由上而下依年份排列,每一列標示該試驗名稱與年份,並畫出把該試驗與其之前所有試驗合併之後的相對風險與 95% 信賴區間。最上面幾列的區間很寬而且橫跨無效線;往下走區間持續收窄,中段有幾列的區間一度完全落在無效線左側、隨後又碰回無效線,之後才穩定停在左側。一條水平虛線橫跨整張圖,畫在 European 3(1979)那一列下方,把整份證據切成前後兩段;虛線以下的十幾列,點估計幾乎排成一條垂直線,只有區間繼續變窄。
每一列都重新合併一次「到這篇為止」的全部試驗。虛線以下,合併相對風險不再實質移動——但那之後還有 14 篇試驗、31,780 位受試者、9 年。產圖腳本 figures/scripts/B7-06-cumulative-meta.R

「合併值停止改變」這句話必須有判準,否則就只是看圖說故事。腳本把判準連同定義一起寫進 stats 檔的 stability.criterion 欄位,內容是:最早的那一步 j,使得其後每一步都同時滿足 (a) 累積合併相對風險落在最終合併值的正負 10% 以內,而且 (b) 95% 信賴區間排除 1。

兩個條件都是必要的。只看 (a),很早就會滿足然後又被打破;只看 (b),那正是這份資料裡會來回閃動的東西。而且條件要求的是「其後每一步都成立」,不是「在第 j 步成立」——否則一個運氣好的步驟會被下一篇試驗推翻,判準卻已經宣告穩定了。

照這個判準,答案是:

項目
穩定於第幾步第 19 步(European 3,1979 年)
當時的累積合併相對風險0.826(95% CI 0.701 到 0.973)
當時的累積人數5,194
其後還收了幾篇試驗14
其後還收了多少人31,780(佔全部的 86.0%)
其後又過了幾年9

也就是說,在這個題目上,全部受試者的 86.0% 是在合併估計已經不再實質改變之後才被隨機分派的。這是累積統合分析被拿來講「證據累積的效率」時最常引用的那一類數字,而 Lau 等人 1992 年那篇論文正是這個論證的原型。

顯著性掉回去過一次

比「合併值收斂」更能說明重複檢定問題的,是顯著性本身來回閃動。把每一步的信賴區間有沒有排除 1 排成一列,這份資料的樣子是:

試驗(年)累積人數累積 RR95% CICI 排除 1這一步為什麼值得看
4European 2(1971)9620.7880.493 – 1.258換成固定效應或 Peto 勝算比的話,信賴區間在這一步就已經排除 1
14Austrian(1977)4,0840.8240.681 – 0.996隨機效應相對風險下,信賴區間首次排除 1
17N Ger Collab(1977)4,8210.8440.709 – 1.006又掉回跨 1。這篇試驗本身沒有任何問題
19European 3(1979)5,1940.8260.701 – 0.973合併值從這一步起穩定,判準見下一節
21GISSI-1(1986)18,6470.8280.740 – 0.926GISSI-1,第一篇萬人級的試驗
32ISIS-2(1988)36,9080.7960.747 – 0.849ISIS-2,單獨一篇就讓累積人數幾乎翻倍
33Wisenberg(1988)36,9740.7950.746 – 0.847最後一步,也就是一般所謂「這個題目的統合分析結果」

信賴區間首次排除 1 是在第 14 步(Austrian,1977 年,累積 4,084 人)。它撐了三步。到第 17 步(N Ger Collab,1977 年),累積合併值變成 0.844,95% 信賴區間 0.709 到 1.006——又跨回 1 了。要到第 19 步才回來,而且從那裡開始才沒有再掉出去。整段累積過程一共穿越無效線 3 次。

「第一次顯著是哪一年」取決於你用什麼尺度

上一節說「首次排除 1 是在 1977 年」,這句話只在本頁採用的模型與效果量之下成立。換一個組合,年份就會動。同一份資料、同樣的判準(信賴區間排除無效值),四種常見組合給出的答案是:

模型與效果量首次排除無效值的年份第幾步當時累積人數其後還有幾篇其後還有多少人
隨機效應(REML)、相對風險 —— 本頁採用的分析1977144,0841932,890
固定效應、相對風險197149622936,012
隨機效應(REML)、勝算比1977154,3141832,660
固定效應 Peto 勝算比 —— Lau 等人 1992 年用的197149622936,012

同樣是相對風險,固定效應與隨機效應之間差了 6 年。原因不神秘:固定效應在早期給小型試驗較大的權重,也不為研究間變異付出代價,所以信賴區間比較窄,比較早排除無效值;隨機效應在早期估到的研究間變異不小(前二十步的 I² 有好幾步超過四成),區間因此較寬。至於相對風險與勝算比的差別,則來自事件常見時兩者本來就不等價。

Required information size:一條線,四個假設

單一試驗有樣本數估計:先講清楚要偵測多大的效果、容忍多少型一與型二錯誤,才算得出要收多少人。Required information size(RIS,所需資訊量)把同一套算式搬到統合分析上:這個題目全部加起來,需要多少人才算「檢定力足夠」?

算式就是最普通的兩比例雙尾樣本數,再把兩組加總:

narm=(z1α/22pˉ(1pˉ)+z1βp1(1p1)+p2(1p2))2(p1p2)2n_{\text{arm}} = \frac{\left(z_{1-\alpha/2}\sqrt{2\bar p\,(1-\bar p)} + z_{1-\beta}\sqrt{p_1(1-p_1)+p_2(1-p_2)}\right)^2}{(p_1-p_2)^2}

其中 p1p_1 是假設的對照組事件率、p2p_2 是它在假設的相對風險降低之下會變成的值。這頁用的四個輸入是:

輸入它是哪來的
對照組事件率12%血栓溶解劑年代之前,急性心肌梗塞短期死亡率的一個整數,事先挑的;這批試驗實際觀察到的對照組風險是 12.88%,兩者不是同一個東西
相對風險降低20%當年的試驗設計者會想偵測到的最小死亡率好處,一個整數目標值。不是從這份統合分析算出來的
α0.05慣例的雙尾值,且未對本頁在講的那些重複檢視做任何調整
檢定力80%慣例值

代進去得到 RIS = 5,250(每組 2,625)。這批試驗在第 20 步(ISAM,1986 年)累積到 6,935 人時越過這條線,其後還有 13 篇試驗、30,039 位受試者。

上下兩格共用一條橫軸,橫軸是累積受試者人數,採對數刻度,從數十人一路到四萬人。上格畫累積合併相對風險與其 95% 信賴區間帶:左端區間極寬並橫跨無效線,隨人數增加迅速收窄,並在中段之後穩定停在無效線左側。下格畫同一批步驟的累積 Z 統計量,並以兩條水平虛線標出正負 1.96;曲線由上往下穿過下方那條虛線後又回到虛線之上,該處以實心點標出,之後才持續往下遠離。兩格都有一條垂直點線標出 required information size 的位置,位於中段偏左。
橫軸是對數刻度,這是刻意的:線性刻度下 ISIS-2 那 17,187 位受試者會把前面 19 篇全部壓進畫面最左邊一小段,而那一段正是本頁在談的東西。下格的實心點就是上一節那次「顯著性掉回去」。產圖腳本 figures/scripts/B7-06-cumulative-meta.R

那句「換一個數字就分開」不該只是聲明,所以把整條 grid 列出來。只改相對風險降低這一個輸入,其餘三個不動:

假設的相對風險降低RIS(兩組合計)在第幾步達到哪一年其後還有幾篇其後還有多少人
10%22,020321988166
15%9,5602119861218,327
20%5,2502019861330,039
25%3,2761319762033,618
30%2,218719732634,748

從 10% 改到 30%,RIS 從 22,020 掉到 2,218,差了將近十倍;達標的年份從 1988 提前到 1973。這條 grid 才是誠實的呈現方式,單獨一條線不是。 一張圖上畫一條垂直線,看起來像是資料的性質;畫五條,讀者才看得到那是一個旋鈕。

動手跑一次

library(metafor)
library(metadat)

data(dat.lau1992, package = "metadat")
d <- dat.lau1992          # 已依年份排序;累積統合分析吃的就是這個順序

# add = 1/2, to = "only0" 只對有零格的那一篇加 0.5(Baroffio 1986 治療組零事件)。
# 這是 metafor 的預設,寫出來是為了讓這個選擇看得見。
e <- escalc(measure = "RR", ai = ai, n1i = n1i, ci = ci, n2i = n2i,
            data = d, slab = paste(trial, year), add = 1/2, to = "only0")
res <- rma(yi, vi, data = e, method = "REML")

cu <- cumul(res)          # 一步一列:每一列都是「到這篇為止」的合併值
forest(cu, atransf = exp, refline = 0,
       xlab = "Cumulative pooled risk ratio (death)")

cud <- as.data.frame(cu)
cud$rr    <- exp(cud$estimate)
cud$ci_lb <- exp(cud$ci.lb)
cud$ci_ub <- exp(cud$ci.ub)
cud$sig   <- cud$ci_ub < 1        # 信賴區間排除 1(保護的那一側)

# 穿越無效線幾次:sig 這個布林序列變號幾次
sum(diff(as.integer(cud$sig)) != 0)

# 合併值哪一步之後不再改變:兩個條件都要,而且要對其後每一步都成立
tol <- 0.10
ok  <- abs(cud$rr / cud$rr[nrow(cud)] - 1) <= tol & cud$sig
min(which(rev(cumprod(rev(as.integer(ok)))) == 1L))

# 換一個尺度或模型,「第一次顯著」的年份就會動
cumul(rma(yi, vi, data = e, method = "FE"))            # 固定效應、相對風險
cumul(rma(measure = "PETO", ai = ai, n1i = n1i, ci = ci, n2i = n2i,
          data = d, method = "FE"))                    # Lau 原文的 Peto 勝算比

# required information size:兩比例、雙尾、兩組人數相加
ris_total <- function(pc, rrr, alpha, power) {
  p1 <- pc; p2 <- pc * (1 - rrr); pbar <- (p1 + p2) / 2
  n_arm <- (qnorm(1 - alpha / 2) * sqrt(2 * pbar * (1 - pbar)) +
            qnorm(power) * sqrt(p1 * (1 - p1) + p2 * (1 - p2)))^2 / (p1 - p2)^2
  2 * ceiling(n_arm)
}
# 不要只算一個值:把假設的降幅掃過一整排,才看得出它有多敏感
sapply(c(0.10, 0.15, 0.20, 0.25, 0.30),
       function(r) ris_total(0.12, r, 0.05, 0.80))

# 異質性調整版本(本頁報了但沒畫,因為 I^2 太低,兩條線會重疊)
ceiling(ris_total(0.12, 0.20, 0.05, 0.80) / (1 - res$I2 / 100))

驗證環境:R 4.6.0 + metafor 5.0.1 + metadat 1.6.0

怎麼讀報表

  1. 累積森林圖的每一列是什麼。 它不是單一試驗的結果,而是「到這篇為止」的合併值。把它當成一般森林圖讀,會以為每一篇試驗都很精確。
  2. 排序的依據是什麼。 依年份是最常見的,但也有人依樣本數、依品質、依風險偏差排序。依年份以外的排序不叫「證據何時足夠」,那是敏感度分析,要另外講。
  3. 有沒有交代「首次顯著」的門檻。 如果只寫「到某年就達到統計顯著」而沒說是哪個模型、哪個效果量、哪個 p 值門檻,這句話幾乎不可驗證。
  4. 有沒有 required information size,以及它的四個輸入寫在哪。 沒有寫出對照組事件率與目標效果的 RIS,等於沒有 RIS——那條線的位置幾乎完全由這兩個數字決定。
  5. RIS 有沒有做敏感度分析。 一條線是一個假設,一組線才是一個結論。
  6. 有沒有畫 TSA 邊界,畫的是哪一族。 O’Brien-Fleming、Pocock、alpha-spending 收緊的速度不同,同一份資料可以給出不同的「穿越了沒有」。
  7. 異質性調整過的 RIS 旁邊有沒有 I²。 沒有 I² 就無法判斷那個調整是實質的還是幾乎沒動。
  8. 結論的措辭。 「證據已經足夠」與「在這組假設下,累積資訊量已超過 required information size」是兩句不同的話。

常見誤用

誤用為什麼錯
把累積森林圖當成一般森林圖讀每一列是累積合併值,不是單一試驗;列與列之間高度相關,不是獨立的證據
引用「答案在某年就已經在了」而不說模型與效果量那個年份是資料、效果量、模型、門檻四者的聯合結果,換一個就會移動
用累積統合分析事後指責當年的研究者「不該再做試驗」判準用到最終合併值,那是當年不存在的資訊;事前判斷需要事前定義的停止規則
把每次更新後的「首次達到顯著」當成一般 p 值讀那個 p 值沒有為前面數十次檢視做調整,名目 5% 已經不是實際的型一錯誤率
顯著性一出現就宣告結論、後續更新掉回去卻不提這正是重複檢定的表現;只報有利的那一次是選擇性呈現
報 required information size 而不報它的四個輸入線的位置幾乎完全由假設決定,讀者無法判斷它有沒有意義
只畫一條 RIS 線,不做敏感度分析單一條線讓假設看起來像資料的性質
把 RIS 與某個實質時點的巧合當成證據假設的效果量與觀察到的效果量接近時,兩者本來就會撞在一起
用「累積人數未達 RIS」直接說「證據不足、需要更多試驗」RIS 是針對某個假設效果的檢定力算式,不是證據品質的總結;效果比假設更大時,較少的人數就夠了
把 TSA 的「未穿越邊界」講成「證明沒有效果」未穿越只代表在該組假設與邊界下尚未達到結論門檻,不能推論效果不存在
異質性調整後的 RIS 不附 I²調整幅度完全由 I² 決定,沒有它就看不出調整做了什麼
把「合併值不再改變」等同於「不需要再做研究」死亡以外的結果、次族群、長期安全性、不同給藥方式,都可能仍然未解

重跑本頁的所有數字

/opt/homebrew/bin/Rscript figures/scripts/B7-06-cumulative-meta.R

讀讀看這張圖

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

這 33 篇鏈激酶試驗的累積統合分析,合併估計在 1979 年就穩定下來——此後每一步都落在最終值的一成之內,區間也不再跨無效值——當時累積 5194 人。這件事說明了什麼?

看答案與解析

正確答案: 此後又收了 31780 人,占全部參與者的八成以上,而合併估計已經不再改變

累積統合分析的重點不是最後那個數字,而是它在哪一步就不再改變。這裡是 1979 年、5194 人;此後又有 31780 人被隨機分派進來,占全部參與者的八成以上,而合併估計與它的區間都沒有再實質變動。5250 是本頁那個假設性的所需資訊量,它與 5194 落在幾十個人之內純屬巧合——公式裡設定的相對風險下降是兩成,而這批資料剛好測到大約兩成,兩者本來就會落在一起,換一個目標它們立刻分開。4084 是區間第一次排除無效值的那一步,但那一步之後區間又跨回去過,先到達顯著並不等於定案,這正是下一題要看的東西。

這張累積圖上,區間第一次排除無效值是在 1977 年、第 14 步。到了第 17 步,同樣是 1977 年,上界回到 1.006,區間又跨了回去。這代表什麼?

看答案與解析

正確答案: 代表累積過程中的顯著性會來回擺盪:最終值是 0.795,而一路上區間三度跨過無效值,每加一篇就看一次結果等於做了三十幾次未經調整的重複檢定

累積統合分析每加一篇研究就重算一次、也看一次結果,這批資料一共看了三十幾次,而每一次都用未經調整的名目水準。後果就在圖上:區間第一次排除無效值之後又跨了回去,整段過程一共跨過三次。0.844 是跨回去那一步的合併估計,它不是離群值——它是把當時所有研究合起來的結果,而把一個不合意的中間狀態說成離群值,正是重複檢視會誘發的行為。0.795 是最終值,方向從頭到尾沒有翻轉;翻轉的是「有沒有達到顯著」這個二分判斷,而那正是重複檢定出問題的地方。0.847 是最終的區間上界,用最終結果回頭替中途每一次判讀背書是後見之明。這也是為什麼本頁不畫任何序列監測邊界:怎麼為重複檢視調整仍有爭議,畫一條線等於把一種慣例當成定論。

「證據在哪一年就足夠了」這個問題,同一批資料換模型會得到不同答案:固定效應的風險比在 1971 年就達到顯著,隨機效應要到 1977 年。這說明什麼?

看答案與解析

正確答案: 說明「證據夠了」是一個依賴模型與效果量的判斷:換成勝算比、同樣隨機效應,門檻落在累積 4314 人的那一步,四種組合給出四個答案

同一批資料、同一個「區間排除無效值」的門檻,換一個模型或換一個效果量,答案就從 1971 年跳到 1977 年。勝算比配隨機效應落在累積 4314 人的那一步,風險比配隨機效應是另一步,兩種固定效應版本又更早——四種組合給出四個年份。所以「證據在某年就已經足夠」是一個帶著模型假設的宣稱,不是資料本身的性質,報告時必須把模型、效果量與門檻一起寫清楚。36012 與 32890 分別是兩種模型判定「夠了」之後仍然收進來的人數,把它們當成浪費是倒果為因:選模型的判準是它的假設對不對,不是它多早給出顯著結果,用「哪個先顯著」挑模型正是先看結果再挑分析。而且這一整套判定都沒有為重複檢視做過任何調整。

本頁算出的所需資訊量是 5250 人,這批資料在 1986 年、第 20 步跨過它。這個數字可以直接寫成「這個問題需要多少人」嗎?

看答案與解析

正確答案: 不行。它整個建立在四個假設上,其中想偵測的相對風險下降尤其敏感:目標改成一成,所需資訊量就變成 22020 人,要到最後一篇試驗才跨得過

所需資訊量是把單一試驗的樣本數公式搬到統合分析上:對照組事件率、想偵測的相對風險下降、顯著水準、檢定力,四個全部是事先選定的假設,不是這批資料量出來的結果。目標定在兩成時得到 5250 人;改成一成就變成 22020 人,要到最後一篇試驗才跨得過;改成三成則只要 2218 人,早了十幾年就跨過了。同一批資料,三個完全不同的「證據夠了」的時點。5360 是用 I² 調整之後的版本,這裡 I² 很小,兩者只差約百分之二,它不是問題的所在——真正的敏感度在那四個假設上。所以這個數字只能與它的假設一起報,最好像本頁一樣附一張隨目標變動的表;單獨引用一個所需資訊量,讀者無從判斷它在說什麼。

這 33 篇試驗的最終合併風險比是 0.795(95% CI 0.746 到 0.847),I² 只有 2.0%。既然最後的結論這麼清楚,累積統合分析到底多做了什麼?

看答案與解析

正確答案: 多的是一條時間軸:它指出估計在哪一步就不再改變——1979 年那一步的 0.826 已經落在最終值的一成之內,而後面還有十四篇試驗要做

一般的統合分析只回答「把所有研究合起來之後結論是什麼」,累積統合分析多回答一個問題:這個結論是在哪一個時點就已經成立的。這裡是 1979 年那一步的 0.826,此後每一步都落在最終值的一成之內、區間也不再跨無效值,而後面還有十四篇試驗、三萬多人。0.001 是最終的 τ²,異質性確實極低,但那說的是各研究彼此一致,不是累積圖沒有內容——同一個最終結論配上不同的到達時間,臨床與倫理上的意義完全不同。0.229 是第一篇試驗的估計,它的區間寬到幾乎沒有資訊;早期估計不穩是小樣本的正常表現,不是把那些研究挑出來排除的理由,事後依結果排除研究正是這個方法最容易被誤用的地方。

1979 年之後這批資料又收了 14 篇試驗、31780 人,而合併估計沒有再實質變動。對後續那些試驗該下什麼判斷?

看答案與解析

正確答案: 不能一概而論:本頁那個所需資訊量要到累積 6935 人那一步才被跨過,而估計穩定與資訊量足夠是兩個不同的判準

這是累積統合分析最容易被過度延伸的地方。圖上看得到的是一個回顧性的事實:估計在 1979 年之後不再實質改變,而其後仍有 14 篇試驗、31780 人。要從這裡跳到「那些試驗都是浪費」需要好幾個額外前提——當年沒有人在做這種累積分析、各試驗的給藥時機與族群並不相同,而且估計穩定與資訊量足夠是兩個不同的判準:本頁那個假設性的所需資訊量要到累積 6935 人那一步才被跨過。至於 36974,那是全部參與者,說「每一篇都同等必要」則走到另一個極端,等於宣稱累積圖上沒有任何資訊,而它正好顯示後半段的貢獻集中在把區間再收窄一點,不是改變結論。合理的講法是:這張圖讓「還需不需要再做一個試驗」變成一個可以被事先檢視的問題,而不是替過去的決定打分數。

素材來源與授權

本頁為原創內容

回報內容問題

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

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

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

一併送出的資訊

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