Co to jest SUCRA?
SUCRA (ang. surface under the cumulative ranking curve, pole pod skumulowaną krzywą rang) streszcza ranking interwencji w metaanalizie sieciowej jedną liczbą od 0 do 1. Wartość 1 miałaby interwencja na pewno najlepsza, a 0 – na pewno najgorsza. Salanti, Ades i Ioannidis (2011) zaproponowali ją jako podsumowanie prawdopodobieństw zajęcia kolejnych miejsc, uzupełniające same oszacowania efektów.
Jak się ją liczy
Dla każdej z a interwencji potrzebne są prawdopodobieństwa zajęcia miejsc 1, 2, …, a. W podejściu częstościowym uzyskuje się je symulacyjnie: losuje się wiele wektorów efektów z przybliżonego rozkładu normalnego oszacowań (z ich macierzą kowariancji) i w każdym losowaniu układa ranking. SUCRA to suma skumulowanych prawdopodobieństw dla miejsc od 1 do a − 1 podzielona przez a − 1, czyli (a − średnia ranga) / (a − 1). Rücker i Schwarzer (2015) pokazali, że P-score – średnia jednostronnych wartości p z porównań z pozostałymi interwencjami – daje niemal te same liczby bez losowania.
Przykład
W sieci 24 badań nad rzucaniem palenia (dat.hasselblad1998; wyższy log OR oznacza lepszy wynik) 10 000 losowań dało SUCRA: poradnictwo grupowe 0.85, indywidualne 0.71, samopomoc 0.40, brak kontaktu 0.04. P-score wyniosły 0.85, 0.71, 0.40 i 0.04. Poradnictwo grupowe było najlepsze w 65% losowań, ale jego OR wobec indywidualnego to 1.17, 95% przedział ufności [0.59, 2.30] – przewaga jest niepewna.
Jak opisać w pracy
Na co uważać
- To nie wielkość efektu. Wysoka SUCRA może wynikać z różnicy bez praktycznego znaczenia.
- Niepewność. Rücker i Schwarzer (2015) piszą, że ani SUCRA, ani P-score nie dają dużej przewagi nad oglądaniem przedziałów ufności. Zawsze pokaż efekty z przedziałami, np. na wykresie lasu.
- Kierunek. Ustal, czy lepsza jest wyższa, czy niższa wartość efektu – przy zdarzeniach niepożądanych ranking się odwraca.
- Spójność sieci. Ranking ma sens tylko wtedy, gdy nie ma wyraźnej niespójności.
Ranking w pełnej analizie pokazuje wpis Metaanaliza sieciowa krok po kroku, a podstawy – Metaanaliza krok po kroku.
Ranking SUCRA w R
Kod dopasowuje model sieciowy w metafor::rma.mv, losuje 10 000 wektorów efektów z wielowymiarowego rozkładu normalnego oszacowań, liczy prawdopodobieństwa miejsc i SUCRA, a dla porównania P-score bez losowania.
SUCRA i P-score dla czterech interwencji
R
suppressPackageStartupMessages(library(metafor))
dat <- to.wide(dat.hasselblad1998, study = "study", grp = "trt",
ref = "no_contact", grpvars = 6:7) # 24 badania, format kontrastów
dat <- escalc(measure = "OR", ai = xi.1, n1i = ni.1, ci = xi.2, n2i = ni.2,
add = 1/2, to = "all", data = dat) # log OR każdego kontrastu
kow <- function(x) { # kowariancja kontrastów z tym samym ramieniem
v <- matrix(1 / (x$xi.2[1] + 1/2) + 1 / (x$ni.2[1] - x$xi.2[1] + 1/2), nrow(x), nrow(x))
diag(v) <- x$vi
v
}
V <- bldiag(lapply(split(dat, dat$study), kow))
dat <- contrmat(dat, grp1 = "trt.1", grp2 = "trt.2")
res <- rma.mv(yi, V, mods = ~ 0 + self_help + ind_counseling + grp_counseling,
random = ~ comp | study, rho = 1/2, data = dat)
b <- c(no_contact = 0, coef(res)) # log OR wobec braku kontaktu
vb <- matrix(0, 4, 4, dimnames = list(names(b), names(b)))
vb[2:4, 2:4] <- vcov(res)
set.seed(4392)
los <- MASS::mvrnorm(10000, mu = b, Sigma = vb) # losowania z rozkładu oszacowań
rangi <- t(apply(-los, 1, rank)) # 1 = najwyższy log OR
P <- sapply(1:4, function(r) colMeans(rangi == r))
colnames(P) <- paste0("miejsce_", 1:4)
round(P, 3)
a <- ncol(rangi)
sucra <- (a - colMeans(rangi)) / (a - 1)
p_score <- sapply(1:a, function(i) mean(sapply((1:a)[-i], function(j)
pnorm((b[i] - b[j]) / sqrt(vb[i, i] + vb[j, j] - 2 * vb[i, j])))))
round(cbind(sredni_rank = colMeans(rangi), P_najlepszy = P[, 1],
SUCRA = sucra, P_score = p_score), 3)Wynik w R
miejsce_1 miejsce_2 miejsce_3 miejsce_4
no_contact 0.000 0.004 0.113 0.883
self_help 0.065 0.182 0.644 0.109
ind_counseling 0.290 0.557 0.153 0.000
grp_counseling 0.645 0.257 0.090 0.008
sredni_rank P_najlepszy SUCRA P_score
no_contact 3.878 0.000 0.041 0.041
self_help 2.798 0.065 0.401 0.399
ind_counseling 1.864 0.290 0.712 0.713
grp_counseling 1.460 0.645 0.847 0.846Bibliografia oprogramowania
Wyniki pochodzą z uruchomienia pokazanego kodu w R 4.5.3 (pakiety metafor i MASS). W pracy podaj wersje faktycznie użytych pakietów (sessionInfo()).
- R: R Core Team. (2026). R: A language and environment for statistical computing (Version 4.5.3) [Computer software]. R Foundation for Statistical Computing. https://www.R-project.org/
- metafor (wersja 5.0.1): Viechtbauer, W. (2010). Conducting meta-analyses in R with the metafor package. Journal of Statistical Software, 36(3), 1–48. https://doi.org/10.18637/jss.v036.i03
- MASS (wersja 7.3-65): Venables, W. N., & Ripley, B. D. (2002). Modern applied statistics with S (4th ed.). Springer. https://www.stats.ox.ac.uk/pub/MASS4/
Najczęstsze pytania
Czym SUCRA różni się od prawdopodobieństwa bycia najlepszym?
Prawdopodobieństwo bycia najlepszym bierze pod uwagę tylko pierwsze miejsce. SUCRA uwzględnia cały rozkład miejsc: interwencja, która często bywa pierwsza, ale też często ostatnia, dostaje w niej wynik pośredni, a nie najwyższy.
Czy wysoka SUCRA oznacza, że interwencja działa najlepiej?
Nie. SUCRA mówi o kolejności, nie o wielkości różnic. Interwencja może mieć wysoką SUCRA przy różnicy bez znaczenia praktycznego i przedziale ufności obejmującym brak efektu względem następnej.
Jak policzyć SUCRA w R bez netmeta?
Dopasuj model w metafor::rma.mv, wylosuj efekty z MASS::mvrnorm(10000, coef, vcov), ustal rangi w każdym losowaniu i policz (a − średnia ranga)/(a − 1). P-score policzysz z pnorm() bez losowania.
Powiązane hasła
Poradniki, w których użyjesz tego pojęcia
Metaanaliza sieciowa krok po kroku
Dowody bezpośrednie i pośrednie, przechodniość, model w metafor::rma.mv, niespójność lokalna i globalna, ranking SUCRA i PRISMA-NMA.
Czytaj →PoradnikMetaanaliza krok po kroku
Od pytania do PRISMA 2020: g Hedgesa, model efektów losowych, heterogeniczność i przedział predykcji, moderatory, wykres lejkowy – z kodem metafor.
Czytaj →Potrzebujesz wsparcia w analizie danych?
Wybierz ofertę dopasowaną do pracy dyplomowej albo profesjonalnego projektu naukowego.
Wyceń analizęOferta dla studentówBibliografia i dalsza literatura naukowa (APA 7)
- Rücker, G., & Schwarzer, G. (2015). Ranking treatments in frequentist network meta-analysis works without resampling methods. BMC Medical Research Methodology, 15(1), Article 58. https://doi.org/10.1186/s12874-015-0060-8 ● Otwarty dostęp
- Salanti, G., Ades, A. E., & Ioannidis, J. P. A. (2011). Graphical methods and numerical summaries for presenting results from multiple-treatment meta-analysis: An overview and tutorial. Journal of Clinical Epidemiology, 64(2), 163–171. https://doi.org/10.1016/j.jclinepi.2010.03.016
Cytowania BibTeX
@article{rucker2015ranking, author={Rücker, Gerta and Schwarzer, Guido}, title={{Ranking treatments in frequentist network meta-analysis works without resampling methods}}, journal={BMC Medical Research Methodology}, year={2015}, volume={15}, number={1}, eid={58}, doi={10.1186/s12874-015-0060-8}}@article{salanti2011graphical, author={Salanti, Georgia and Ades, A. E. and Ioannidis, John P. A.}, title={{Graphical methods and numerical summaries for presenting results from multiple-treatment meta-analysis: An overview and tutorial}}, journal={Journal of Clinical Epidemiology}, year={2011}, volume={64}, number={2}, pages={163--171}, doi={10.1016/j.jclinepi.2010.03.016}}