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

網絡統合分析:間接比較與治療排名

網絡統合分析怎麼把一個從來沒有人做過的頭對頭比較估出來、league table 裡哪一格其實沒有任何試驗撐著、netmeta 預設印出的那個不一致檢定為什麼跟你配的模型不是同一個,以及排名為什麼一定要跟效果量並排看。

一張表上會出現從來沒有人比較過的兩種藥

臨床問題常常長這樣:治這個病有十種藥,但沒有任何一篇試驗把第一種跟第七種擺在一起比過。網絡統合分析(network meta-analysis, NMA)處理的就是這件事——把所有試驗接成一張圖,節點是治療,邊是「真的有人做過的頭對頭比較」,然後利用共同對照把沒有連線的那些配對推算出來。

推算靠的是一個很單純的減法。如果有 A 對 B 的試驗、也有 C 對 B 的試驗,那麼

dACindirect=dABdCBd_{AC}^{\,\text{indirect}} = d_{AB} - d_{CB}

這條式子在算術上永遠成立,但它要成為對 A 與 C 的有效比較,需要兩個假設:

  • 傳遞性(transitivity):那些會修飾治療效果的因子(病情嚴重度、年齡、背景用藥、追蹤長度、結果定義)在 A 對 B 與 C 對 B 這兩群試驗裡分布得夠像,共同對照 B 在兩邊可以互換。這是一個關於臨床與方法學的判斷,不是一個檢定。
  • 一致性(consistency):同一個配對的直接證據與間接證據估的是同一個量。它是傳遞性在統計上唯一看得到的那一面——而且只在同時有直接與間接兩條路的配對上看得到。

本頁用 metadat::dat.senn2013:26 篇降血糖藥的隨機試驗、10 種處置(含安慰劑)、合計 6646 名參與者,結果變項是 HbA1c 的改變量(percentage points),數值越低越好

原始資料是 arm-based 長格式,一列一個試驗組,共 53 列;netmeta 要的是 contrast-based,所以第一步一定是 pairwise()。轉出來是 28 個對比:25 篇兩臂試驗各貢獻一個,剩下那篇三臂試驗貢獻 choose(3, 2) 個。

證據網絡:先看哪些配對真的有人試過

降血糖藥的證據網絡圖。安慰劑是最大的節點,並與 acarbose、benfluorex、metformin、miglitol、pioglitazone、rosiglitazone、sitagliptin、vildagliptin 八個節點相連;連到 rosiglitazone 的邊最粗(六篇試驗)。metformin、rosiglitazone、pioglitazone、acarbose、sulfonylurea 之間另有若干細邊。benfluorex、miglitol、sitagliptin、vildagliptin 各只有一條邊掛在安慰劑上。sulfonylurea 與安慰劑之間沒有任何一條邊。
metadat::dat.senn2013 的證據網絡。節點面積對應參與人數,邊寬與邊上的數字對應該配對的直接試驗篇數。注意 sulfonylurea 與 placebo 之間是空的——這個配對稍後還是會在 league table 裡拿到一個估計值。產圖腳本 figures/scripts/B7-05-network-meta.R
治療試驗篇數參與人數
acarbose3108
benfluorex2189
metformin81470
miglitol3208
pioglitazone3546
placebo192062
rosiglitazone101312
sitagliptin1106
sulfonylurea3513
vildagliptin1132

三個要先確認的數字:

  1. 網絡是連通的。 netconnection() 報 1 個子網絡——只要多於一個,就不存在「把所有治療放在同一張表上比較」這件事,該分開做。
  2. 設計(design)有 15 種,也就是 15 種不同的臂組合。其中 placebo:acarbose:metformin 是唯一的三臂設計。
  3. 有直接證據的配對只有 15 個。 10 種治療兩兩相比共 45 個配對,所以有 30 個配對完全沒有頭對頭試驗。

第三點是整張網絡圖最重要的資訊,而它是網絡圖裡唯一不會被畫出來的東西:沒有邊的地方看不見。讀網絡圖時要主動去數哪些配對是空的,而不是欣賞連起來的那些。

合併之後:league table 與它的異質性

模型是隨機效應的 netmeta(廣義最小平方),效果指標是平均差(MD),參考組是 placebo,並告訴模型數值越小越好(small.values = "desirable")。

異質性的部分:τ² = 0.109、τ = 0.330、I² = 81.4%(72.0% 到 87.7%)。整體 Q = 97.0(df = 18, p < 0.001),其中屬於設計內異質性的部分是 Q = 74.4(df = 11, p < 0.001)。

一個 I² 只告訴你「離散有多少比例不是抽樣誤差」,不告訴你它住在哪裡。設計層級的分解就告訴你了——下表只列出有兩篇以上試驗、因此算得出設計內 Q 的那 5 個設計:

設計Qdfp
metformin:rosiglitazone0.210.665
placebo:benfluorex4.410.036
placebo:metformin42.22< 0.001
placebo:miglitol6.420.040
placebo:rosiglitazone21.35< 0.001

設計內異質性有 57% 來自 placebo:metformin 一個設計(Q = 42.2,df = 2),再加上 placebo:rosiglitazone 就佔掉 85%。這比「I² 等於 81%」有用得多:它指出該去讀哪幾篇試驗的收案條件,而不是叫你對整個網絡失去信心。這一整套指標各自在講什麼,在異質性:I²、τ² 與預測區間那頁。

League table 是節錄,而且它不告訴你哪一格是空的

完整的 league table 有 45 列——全部列出來讀者只會滑過去。下面節錄與 placebo 的 9 個比較,加上前三名彼此之間的 3 個比較,共 12 列。負值代表該藥比後者更能降低 HbA1c。

比較網絡 MD(95% CI)直接試驗篇數證據來源
acarbose vs placebo-0.84(-1.32 到 -0.36)2直接 + 間接
benfluorex vs placebo-0.73(-1.29 到 -0.17)2直接 + 間接
metformin vs placebo-1.13(-1.43 到 -0.82)4直接 + 間接
miglitol vs placebo-0.95(-1.40 到 -0.50)3直接 + 間接
pioglitazone vs placebo-1.13(-1.56 到 -0.70)1直接 + 間接
rosiglitazone vs placebo-1.23(-1.48 到 -0.98)6直接 + 間接
sitagliptin vs placebo-0.57(-1.26 到 0.12)1直接 + 間接
sulfonylurea vs placebo-0.42(-0.89 到 0.06)0純間接
vildagliptin vs placebo-0.70(-1.39 到 -0.01)1直接 + 間接
metformin vs pioglitazone0.00(-0.44 到 0.44)1直接 + 間接
metformin vs rosiglitazone0.11(-0.22 到 0.43)2直接 + 間接
pioglitazone vs rosiglitazone0.10(-0.33 到 0.54)1直接 + 間接

直接與間接對得上嗎:net-splitting

一致性是這個方法唯一能自我檢查的地方。netsplit()(也叫 SIDE,separating indirect from direct evidence)對每一個有直接證據的配對做三件事:只用直接試驗估一次、只用間接路徑估一次、把兩者的差拿去做檢定。

分裂法結果圖,每一個有頭對頭試驗的配對佔一列,各畫三條區間:直接(紅色圓點)、間接(棕色三角)、網絡(藍色方塊)。各列依直接證據佔比由低到高排序,右側標註直接證據佔比與差異檢定的 p 值。最下面四列只有紅色與藍色兩條,右側標註「100% direct, no indirect route」,因為它們沒有間接路徑。
每一個有直接試驗的配對,直接、間接與網絡三個估計並排。三個區間互相重疊,代表直接與間接沒有明顯互相矛盾;最下面四列缺了間接那條,是因為那條路根本不存在。產圖腳本 figures/scripts/B7-05-network-meta.R
比較直接試驗直接證據佔比直接 MD間接 MD差異 p
acarbose:metformin128%0.200.320.84
acarbose:placebo265%-0.86-0.810.93
acarbose:sulfonylurea153%-0.40-0.450.92
benfluorex:placebo2100%-0.73無間接路徑不適用
metformin:pioglitazone144%-0.160.130.52
metformin:placebo456%-1.18-1.060.69
metformin:rosiglitazone234%0.070.120.88
metformin:sulfonylurea145%-0.37-0.990.19
miglitol:placebo3100%-0.95無間接路徑不適用
pioglitazone:placebo139%-1.30-1.020.54
pioglitazone:rosiglitazone135%0.100.110.99
rosiglitazone:placebo676%-1.18-1.400.46
sitagliptin:placebo1100%-0.57無間接路徑不適用
vildagliptin:placebo1100%-0.70無間接路徑不適用
rosiglitazone:sulfonylurea143%-1.20-0.520.16

上表中差異達到統計顯著的配對有 0 個,最小的 p 值是 0.156。也就是說,在這份資料上沒有偵測到直接與間接證據的不一致。

這句話要照字面讀。SIDE 檢定的檢定力很低——本頁多數配對的直接證據只有一兩篇試驗,直接與間接兩個區間都很寬,要判定它們「不一樣」需要非常大的落差。沒有偵測到不一致,不等於一致性成立,跟 Q 檢定不顯著不等於同質是同一件事。

沒有不一致檢定的配對,不是通過了檢定

上表最後 4 列的間接欄是空的:benfluorex:placebomiglitol:placebositagliptin:placebovildagliptin:placebo

原因是這四種藥只透過 placebo 掛在網絡上——它們是網絡的葉子。從 benfluorex 走到 placebo 只有一條路,就是那些直接試驗本身;沒有第二條路,就沒有東西可以拿來跟直接估計比對。netsplit() 對它們回傳 NA,不是檢定失敗,是檢定不存在

這是前一節那個 sulfonylurea 例子的鏡像:一邊是「有估計值但沒有直接試驗」,另一邊是「有直接試驗但沒有間接路徑」。兩者在 league table 上都印成一個普通的格子,而它們的證據性質完全不同。

實務上的意思是:這四種藥的網絡點估計基本上就是它們自己的成對統合分析——下一節的表會看到,位移最大的一列也只有 0.046 個百分點。它們的點估計沒有從網絡借到任何東西,也沒有接受任何一致性檢查。

變的是區間:網絡用的 τ² 是跨所有設計估出來的,不是那一兩篇試驗自己估的,所以區間可能變寬(sitagliptin、vildagliptin)也可能變窄(benfluorex、miglitol)。把它們跟 rosiglitazone 那種有多條路互相印證的估計並排列在同一張排名表上,兩者的證據等級並不相同。

借間接證據的代價

網絡估計通常被說成「借了力,所以更精確」。在這份資料上可以直接對照:對每一種藥,把「只用安慰劑對照試驗做的成對統合分析」擺在「整個網絡的估計」旁邊。

直接試驗篇數只用直接證據 MD(95% CI)網絡 MD(95% CI)區間寬(直接 → 網絡)
acarbose2-0.82(-1.09 到 -0.55)-0.84(-1.32 到 -0.36)0.54 → 0.96
benfluorex2-0.69(-1.44 到 0.07)-0.73(-1.29 到 -0.17)1.51 → 1.12
metformin4-1.12(-1.84 到 -0.40)-1.13(-1.43 到 -0.82)1.44 → 0.60
miglitol3-0.95(-1.41 到 -0.49)-0.95(-1.40 到 -0.50)0.92 → 0.91
pioglitazone1-1.30(-1.55 到 -1.05)-1.13(-1.56 到 -0.70)0.50 → 0.86
rosiglitazone6-1.18(-1.40 到 -0.96)-1.23(-1.48 到 -0.98)0.44 → 0.50
sitagliptin1-0.57(-0.82 到 -0.32)-0.57(-1.26 到 0.12)0.51 → 1.39
sulfonylurea0無直接試驗-0.42(-0.89 到 0.06)— → 0.94
vildagliptin1-0.70(-0.95 到 -0.45)-0.70(-1.39 到 -0.01)0.50 → 1.39

多數列的位移很小,但 pioglitazone 這一列跟直覺相反。它的直接證據只有 1 篇試驗,估計是 MD -1.30(-1.55 到 -1.05);網絡估計是 -1.13(-1.56 到 -0.70)。間接證據把點估計往虛無方向拉了 0.17 個百分點,而且把區間變寬了(0.50 → 0.86)。

區間會變寬有兩個來源:間接路徑本身要串起好幾個對比,每一段的不確定性都會累加;而且網絡的 τ² 是跨所有設計估出來的,這一整包異質性會加到每一格上,包括原本只有一篇試驗、看起來很乾淨的那一格。借力不保證變準,只保證把整個網絡的不確定性一起借進來。

反過來說,sulfonylurea 那一列的直接欄是空的——它的網絡估計是憑空多出來的,成對統合分析根本產生不了那個數字。這是 NMA 真正的價值所在,代價則是它整格都建立在傳遞性上。

最後才是排名,而且排名必須跟效果量一起看

到這裡才輪到排名。netmeta 給的是 P-score,它是貝氏 NMA 常報的 SUCRA(surface under the cumulative ranking curve)的頻率派對應物,兩者定義上等價,數值通常很接近。意思是「這個治療平均而言優於其他治療的程度」,介於 0 與 1 之間。

散布圖,橫軸是相對於安慰劑的網絡平均差(越左越好),縱軸是 P-score。每個治療畫成一個點加一條 95% 信賴區間。rosiglitazone 在最上方且區間最短;metformin 與 pioglitazone 的點幾乎疊在一起,兩者的 P-score 相差很小;sitagliptin 的區間最長,橫跨零;安慰劑落在圖的右下角。
把 P-score 對上它應該摘要的那個效果量。第一名與第二名的水平距離極短,第二名與第三名的點幾乎重疊,而排名把它們印成不同的名次。產圖腳本 figures/scripts/B7-05-network-meta.R
名次治療P-scoreMD vs placebo(95% CI)區間寬試驗篇數人數
1rosiglitazone0.893-1.23(-1.48 到 -0.98)0.50101312
2metformin0.782-1.13(-1.43 到 -0.82)0.6081470
3pioglitazone0.775-1.13(-1.56 到 -0.70)0.863546
4miglitol0.614-0.95(-1.40 到 -0.50)0.913208
5acarbose0.520-0.84(-1.32 到 -0.36)0.963108
6benfluorex0.436-0.73(-1.29 到 -0.17)1.122189
7vildagliptin0.423-0.70(-1.39 到 -0.01)1.391132
8sitagliptin0.333-0.57(-1.26 到 0.12)1.391106
9sulfonylurea0.210-0.42(-0.89 到 0.06)0.943513
10placebo0.014(參考組)192062

第一名與第二名之間,網絡並沒有偵測到差異

rosiglitazone 的 P-score 是 0.893,metformin 是 0.782。以「機率」呈現,這個差距看起來像一回事。換成效果量:MD -1.23 對上 -1.13,相差 0.11 個百分點的 HbA1c。

而這兩者的頭對頭網絡估計就在 league table 裡:metformin:rosiglitazone 是 0.11(-0.22 到 0.43)。區間包含零,也就是說網絡並沒有偵測到第一名與第二名之間有差異。排名表把其中一個印在第一列、另一個印在第二列,這件事本身不帶任何統計證據。

第二名與第三名更極端。metformin 的 MD 是 -1.127,pioglitazone 是 -1.129,相差 0.002;而且第三名的點估計其實更負,也就是在效果量上更好。它排在後面是因為 P-score 同時考慮了它跟其他每一個治療比較時的不確定性,而 pioglitazone 的區間比較寬(0.86 對 0.60)。

P-score 與 SUCRA 的三個限制

  1. 它不含效果大小。 P-score 只是「贏過其他治療的程度」。本頁第一名與第二名的 P-score 差 0.112,換算成 HbA1c 是 0.11 個百分點;同樣大小的 P-score 差距在另一份資料上可能對應完全不同的臨床落差。「這個差距值不值得換藥」不是排名回答得了的問題。
  2. 第一名可能只贏一點點。 上面已經看到了:第一名與第二名的頭對頭區間包含零。
  3. 排名本身的不確定性遠大於它看起來的樣子。 一個 P-score 是一個點估計,論文通常不給它的區間。真正的做法是看每個治療落在各個名次的機率分布(rankogram),或者做敏感度分析看拿掉一兩篇試驗名次會不會翻轉。

怎麼讀一篇網絡統合分析

  1. 網絡圖裡沒有邊的地方在哪裡。 先找出你關心的那個配對有沒有直接試驗。沒有的話,那一格完全由傳遞性撐著。
  2. 網絡是不是連通的。 分成兩個子網絡卻硬給一張總表,是最嚴重的錯誤之一。
  3. 傳遞性的論證在哪一段。 應該有一段文字(或一張附錄表)比較各設計的效果修飾因子分布。只寫「我們假設傳遞性成立」等於沒寫。
  4. 不一致檢定是在哪個模型下算的。 看到很顯著的 design-by-treatment Q,先確認它跟主要分析的異質性假設一不一樣。SIDE 檢定應該逐配對列出來,不是只給一個總結 p 值。
  5. 沒有不一致檢定的配對有幾個。 只透過共同對照掛上網絡的治療,它們的估計沒有經過任何一致性檢查。
  6. 主要結論是用效果量寫的,還是用名次寫的。 摘要裡出現「X 排名第一」而沒有出現「X 對 Y 的 MD 是多少」,是警訊。
  7. 排名有沒有跟不確定性一起呈現。 P-score / SUCRA 的點估計單獨出現時,讀者無從判斷名次是否穩固。
  8. 異質性住在哪個設計裡。 一個總體 I² 不夠;設計層級的分解才指得出該去讀哪幾篇試驗。

動手跑一次

library(metadat)
library(netmeta)

data(dat.senn2013, package = "metadat")
d <- dat.senn2013            # arm-based:一列一個試驗組

# ── 第一步:arm-based -> contrast-based ──
# 三臂試驗會展開成 choose(3, 2) 列,且這三列彼此相關;
# netmeta 會處理這個相關性,自己動手串資料時最容易漏掉的就是它。
pw <- pairwise(treat = treatment, n = ni, mean = mi, sd = sdi,
               studlab = study, data = d, sm = "MD")
nrow(pw)

# ── 網絡連通嗎 ──
netconnection(treat1, treat2, studlab, data = pw)

# ── 隨機效應 NMA ──
net <- netmeta(TE, seTE, treat1, treat2, studlab, data = pw,
               sm = "MD", common = FALSE, random = TRUE,
               reference.group = "placebo",
               small.values = "desirable")   # HbA1c 越低越好
net

netgraph(net, thickness = "number.of.studies", number.of.studies = TRUE)

# ── League table:每一格都有數字,包括沒人做過的配對 ──
netleague(net, digits = 2)

# ── 直接 vs 間接(SIDE)──
# 直接欄是 NA -> 沒有頭對頭試驗;間接欄是 NA -> 沒有第二條路可比。
netsplit(net)

# ⚠️ print(net) 印的「Test of inconsistency (between designs)」是
#    COMMON-EFFECT 分解。本頁配的是隨機效應模型,對應的檢定在這裡:
decomp.design(net)$Q.inc.random

# 異質性住在哪個設計裡(比一個總體 I^2 有用)
decomp.design(net)$Q.het.design

# ── 排名放最後,而且不要單獨呈現 ──
netrank(net, small.values = "desirable")
forest(net, reference.group = "placebo")

驗證環境:R 4.6.0 + netmeta 3.6.1 + meta 8.5.0 + metadat 1.6.0

常見誤用

誤用為什麼錯
把 league table 的每一格當成同等證據多數格子完全沒有直接試驗,只由傳遞性撐著
用一致性檢定不顯著宣稱傳遞性成立檢定力極低,而且對只有一條路的配對根本不存在
netmeta 預設印的 common-effect 不一致 Q 放在隨機效應結果旁兩者對 τ² 的假設不同,會報出模型沒有主張的不一致
用排名作為主要結論P-score 不含效果大小,相鄰名次的差異可能完全未達統計顯著
只報 P-score / SUCRA 的點估計名次本身的不確定性沒有呈現,讀者無法判斷是否穩固
把「排名第一」寫成「療效最佳」第一名與第二名的頭對頭區間可能包含零
對不連通的網絡硬做一張總表兩個子網絡之間不存在任何可估的比較
假設借了間接證據就會更精確間接路徑會累加不確定性,網絡的 τ² 也會加到每一格上
把區間跨過零的配對寫成「兩者相當」未達統計顯著不等於相當;要主張相當需要非劣性設計與事先設定的 margin
只報一個總體 I²設計層級的分解才指得出異質性住在哪裡
納入臨床上不可互換的共同對照(不同劑量、不同給藥途徑合併成一個節點)直接破壞傳遞性,而模型不會抱怨

網絡統合分析的其餘基礎——效果量與它的變異數怎麼算、固定與隨機效應在問什麼、森林圖的每個元素在編碼什麼——分別在效果量與它的變異數固定效應與隨機效應模型Forest plot 與 funnel plot。整篇系統性回顧的流程在系統性回顧與統合分析那章。

重跑本頁的所有數字

/opt/homebrew/bin/Rscript figures/scripts/B7-05-network-meta.R

讀讀看這張圖

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

這張 league table 上 sulfonylurea 對 placebo 的網絡估計是 -0.417(95% CI -0.889 到 0.056)。這一格與 metformin 對 placebo 那一格有什麼不同?

看答案與解析

正確答案: 這一格完全沒有頭對頭試驗,-0.417 是靠三條間接路徑推出來的,而 league table 印它時與有直接試驗的格子長得一模一樣

sulfonylurea 從來沒有跟安慰劑做過頭對頭試驗,它的直接試驗篇數是零。那個 -0.417 是從 metformin、acarbose 與 rosiglitazone 三條路推算出來的,而 league table 把它印成一個普通的格子,與有四篇直接試驗撐著的 metformin 那一格外觀完全相同。0.944 是它的區間寬度,寬窄不是重點——重點是那個估計背後有沒有人真的比過這兩種藥,一個窄的純間接估計仍然是純間接的。至於 -1.127,那是 metformin 對安慰劑的網絡估計,那一格有四篇直接試驗,而且它的直接與間接估計還互相對照過,證據性質與 sulfonylurea 那一格差得很遠。讀 league table 的第一件事,就是回頭看網絡圖或直接試驗篇數表,把哪些格子從來沒有人比過標出來。

netmeta 物件直接 print 出來的設計間不一致檢定,在這份資料上是 Q = 22.53、df = 7、p = 0.002,看起來網絡嚴重不一致。這個數字能直接寫進報告嗎?

看答案與解析

正確答案: 不能。那是 common-effect 分解,它假設研究間沒有異質性;改在本頁實際配的隨機效應模型下算,同一個設計間檢定的 p 是 0.948,完全沒有訊號

那一列是 common-effect 分解:它假設研究之間沒有異質性,於是把 τ² 的 0.109 這一整包離散全部推給「設計之間對不上」。同一個設計間檢定改在本頁實際配的 design-by-treatment 交互作用隨機效應模型下算,p 是 0.948,完全沒有訊號,而且與逐配對的 SIDE 檢定一致——後者最小的 p 是 0.156,離顯著還很遠,說它接近顯著是把一個「未偵測到」讀成半個訊號。把 common-effect 的那個數字放在隨機效應 league table 旁邊,等於告訴讀者這個網絡不一致,而模型並沒有這樣說;不一致的宣稱會讓整組合併結果失去可信度,而這裡的落差純粹來自兩個檢定對 τ² 的處理方式不同。報表要寫清楚不一致檢定是在哪個模型下算的;讀論文時看到設計間的 Q 很顯著,先確認它跟主要分析用的是不是同一個異質性假設。

netsplit 表上直接與間接差異達到統計顯著的配對是 0 個,最小的 p 值是 0.156。可以寫成「這個網絡的一致性已經確認」嗎?

看答案與解析

正確答案: 不行。多數配對的直接證據只有一兩篇試驗,差異的區間寬到上界可以張到 1.546,這種寬度下判不出「不一樣」,沒偵測到不等於一致成立

SIDE 檢定的檢定力很低:這個網絡多數配對的直接證據只有一兩篇試驗,直接與間接兩個區間都很寬,差異的區間因此可以張到 1.546 那麼寬——在這種寬度下,除非落差非常大,否則什麼都判不出來。所以正確的講法是「未偵測到直接與間接的不一致」,跟 Q 檢定不顯著不等於同質是同一件事。0.156 確實離顯著很遠,但那反映的是檢定力,不是印證。0.948 是設計間的隨機效應不一致檢定,它與 SIDE 用的是同一批資料、同一個異質性假設,兩者一致並不是兩個獨立的證據,把它們相加當成確認,是把同一件事數了兩次。還有四個配對根本沒有間接路徑,netsplit 對它們回傳的是不適用,不是通過。

vildagliptin 只跟安慰劑做過一篇試驗。它的網絡估計相對於安慰劑是 -0.700,而只用那一篇做的成對估計也是 -0.700。網絡對它做了什麼?

看答案與解析

正確答案: 點估計沒有借到任何東西,變的是區間:網絡用的 τ² 是跨所有設計估出來的,區間因此撐到 1.385

vildagliptin 是網絡的葉子:它只透過安慰劑掛在網絡上,從它走到安慰劑只有一條路,就是那一篇直接試驗本身。沒有第二條路就沒有東西可以借,也沒有東西可以拿來做一致性檢查——netsplit 對它回傳的是不適用,不是通過。所以點估計原封不動。變的是區間:網絡用的 τ² 是跨所有設計估出來的,不是那一篇試驗自己估的,於是區間從 0.499 撐到 1.385。0.499 正是只用那一篇算出來的寬度,把它讀成「網絡收窄之後的結果」剛好把方向講反了。0.423 是它的 P-score,那是一個排名摘要而不是新的證據;把葉子節點跟有多條路互相印證的治療並排印在同一張排名表上,兩者的證據等級並不相同,而表面上完全看不出來。

P-score 排第一的 rosiglitazone 是 0.893,第二的 metformin 是 0.782。以機率呈現這個差距看起來不小,換成效果量之後呢?

看答案與解析

正確答案: 兩者頭對頭的網絡估計區間上界到 0.430,區間包含零,網絡並沒有偵測到第一名與第二名之間有差異

P-score 說的是「這個治療平均而言優於其他治療的程度」,它不含效果大小。第一名與第二名的頭對頭網絡估計就在 league table 裡,區間上界到 0.430,包含零——網絡並沒有偵測到兩者有差異,而排名表把其中一個印在第一列、另一個印在第二列,這件事本身不帶任何統計證據。0.107 是兩者相對於安慰劑的差距,換算成 HbA1c 只有這麼多個百分點;方向一致不等於排名反映了效果大小,同樣的 P-score 落差在另一份資料上可以對應完全不同的臨床差別。0.112 是 P-score 自己的落差,它是一個無單位的相對量,回答不了「這個差距值不值得換藥」。主要結論該用效果量與它的區間來寫:某藥相對於某對照的差是多少、區間多寬、由幾篇直接試驗支撐;排名可以放附錄,或者強制與效果量畫在同一張圖上。

這張排名表上 sitagliptin 的 P-score 是 0.333,它與安慰劑的區間寬 1.388,背後只有一篇試驗;第一名 rosiglitazone 的區間寬 0.501,有 10 篇。這說明排名表的什麼問題?

看答案與解析

正確答案: 說明排名表抹平了證據強度:sitagliptin 與安慰劑的區間上界是 0.124,跨過零、未達統計顯著,卻仍與其他治療並排印成一個名次

一般教學會說「排第一的往往是證據最少、區間最寬的那個」,這份資料剛好不是那個故事:第一名有 10 篇試驗,區間寬 0.501,是活性藥物裡最窄的。問題出在另一個方向——排名表把證據強度完全抹平了。sitagliptin 只有一篇試驗,它與安慰劑的區間上界是 0.124,跨過零,在這份資料上未達統計顯著,卻仍然以一個普通的名次印在表上,跟建立在 10 篇試驗上的第一名長得一模一樣。至於 -0.570,那是它的點估計,數字本身沒錯,但它並沒有「擠進」什麼——排名表沒有門檻,每一個治療都會拿到一個名次,包括安慰劑自己。0.501 確實是最窄的區間,但第一名可信不等於整張表可信:第二名與第三名的點估計幾乎重疊而名次不同,就是同一張表上的反例。

延伸觀看

為什麼傳遞性假設對網絡統合分析很重要?
繁中杜裕康老師研究室· 15 min傳遞性是整個方法的地基,而它不是靠統計檢定得出來的。讀本頁第一節之前先看這支。
利用 Stata 進行網絡統合分析
繁中杜裕康老師研究室· 17 min從資料長相一路做到報表;本頁用的是 R,但報表上要看的東西完全一樣。
使用 SUCRA 進行網絡統合分析治療排名
繁中杜裕康老師研究室· 18 min排名指標講得最完整的一支,正好對應本頁最後一節。
元件網絡統合分析簡介
繁中杜裕康老師研究室· 19 min當「一種治療」其實是好幾個成分組成時(複方、合併療法)的延伸做法。本頁不談,但值得知道有這條路。

素材來源與授權

本頁為原創內容

回報內容問題

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

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

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

一併送出的資訊

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