Słownik metodologiczny · Wielkość efektu

Niespójność w metaanalizie sieciowej – jak ją wykryć?

Niespójność to rozbieżność między dowodami bezpośrednimi i pośrednimi w metaanalizie sieciowej. Pokazujemy jej rodzaje, test globalny i rozdzielanie węzłów, przykład w R i opis do pracy.

Strona główna / Słownik / Niespójność w metaanalizie sieciowej
W skrócie: Niespójność w metaanalizie sieciowej to rozbieżność między dowodami bezpośrednimi i pośrednimi na ten sam kontrast. Sprawdza się ją globalnie (model interakcji schemat × leczenie) i lokalnie (rozdzielanie węzłów).

Co to jest niespójność?

Niespójność (ang. inconsistency, też incoherence) w metaanalizie sieciowej to rozbieżność między różnymi źródłami dowodów na ten sam kontrast, najczęściej między porównaniem bezpośrednim a pośrednim. Jeśli badania A–B dają inny efekt niż droga A–C–B, sieć narusza założenie spójności, a wspólne oszacowanie traci sens. Niespójność trzeba odróżnić od heterogeniczności: τ² opisuje rozrzut badań w obrębie jednego porównania, a niespójność – rozbieżność między porównaniami.

Niespójność pętli i schematów

Lu i Ades (2006) zdefiniowali niespójność jako relację w zamkniętej pętli dowodów: wymaga co najmniej trzech źródeł, a liczba możliwych niespójności (stopnie swobody niespójności) wynika ze struktury sieci. Higgins i in. (2012) odróżnili niespójność pętli od niespójności schematów (design inconsistency) – gdy np. badania trójramienne A–B–C dają inny wynik niż dwuramienne A–B. Zaproponowali model interakcji schemat × leczenie, w którym każdy schemat badań ma własne efekty. Model Lu i Adesa jest jego ograniczoną wersją.

Jak to sprawdzić

  • Test globalny. Model interakcji schemat × leczenie porównuje się z modelem spójności testem Walda albo testem ilorazu wiarygodności.
  • Metody lokalne. Rozdzielanie węzłów (node-splitting; Dias i in., 2010) szacuje dla wybranego porównania osobno efekt bezpośredni i pośredni, a następnie je zestawia. Ta sama praca opisuje obliczanie wsteczne (back-calculation), gdy dostępne są tylko wyniki zbiorcze.

Przykład

W sieci 24 badań nad rzucaniem palenia (dat.hasselblad1998; 4 interwencje, 8 schematów) model interakcji schemat × leczenie miał 7 parametrów więcej niż model spójności. Test ilorazu wiarygodności (ML): χ²(7) = 6.41, p = .49. Sygnału niespójności nie ma, ale pięć z ośmiu schematów to pojedyncze badanie, więc test ma małą moc.

Jak opisać w pracy

Spójność sieci sprawdzono modelem interakcji schemat × leczenie (Higgins i in., 2012). Test ilorazu wiarygodności nie wskazał niespójności, χ²(7) = 6.41, p = .49, przy czym większość schematów reprezentowało jedno badanie.

Na co uważać

  • Brak istotności to nie dowód spójności. W rzadkich sieciach testy niespójności mają małą moc.
  • Źródło problemu. Niespójność często sygnalizuje naruszenie przechodniości. Szukaj modyfikatorów efektu różniących porównania, np. przez metaregresję.
  • Ranking. Przy wyraźnej niespójności nie podawaj samego rankingu SUCRA – opiera się on na modelu spójności.

Rozdzielanie węzłów i rysunek sieci omawia wpis Metaanaliza sieciowa krok po kroku, a podstawy – Metaanaliza krok po kroku.

Przykład reprodukowalny

Test niespójności w R

Kod dopasowuje metodą ML model spójności i model interakcji schemat × leczenie (osobne efekty w każdym schemacie badań) i porównuje je testem ilorazu wiarygodności.

Globalny test niespójności sieci

Dane wejściowe: zbiór dat.hasselblad1998 z pakietu metafor (24 badania nad rzucaniem palenia, 4 interwencje: brak kontaktu, samopomoc, poradnictwo indywidualne i grupowe; liczba osób, które rzuciły palenie, w każdym ramieniu); schemat badania w zmiennej design.

Co odczytać: liczbę badań w schematach, różnicę liczby parametrów (df), statystykę LRT i pval.

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")
spojny <- rma.mv(yi, V, mods = ~ 0 + self_help + ind_counseling + grp_counseling,
                 random = ~ comp | study, rho = 1/2, data = dat, method = "ML")
X <- model.matrix(~ 0 + self_help + ind_counseling + grp_counseling, data = dat)
Xd <- do.call(cbind, lapply(sort(unique(dat$design)),
              function(d) X * (dat$design == d)))            # osobne efekty w każdym schemacie
Xd <- Xd[, colSums(abs(Xd)) > 0]
pelny <- suppressWarnings(rma.mv(yi, V, mods = Xd, intercept = FALSE,
                 random = ~ comp | study, rho = 1/2, data = dat, method = "ML"))
table(dat$design[!duplicated(dat$study)])                    # liczba badań w schematach
anova(pelny, spojny)                                          # interakcja schemat × leczenie
Wynik w R
   gr-in gr-in-no gr-in-se    gr-no    gr-se    in-no    in-se    se-no
       2        1        1        1        1       14        1        3

        df     AIC     BIC    AICc   logLik    LRT   pval       QE
Full    11 76.9143 90.7534 95.7714 -27.4572               187.3484
Reduced  4 69.3252 74.3576 71.2300 -30.6626 6.4109 0.4927 202.3334

Bibliografia oprogramowania

Wyniki pochodzą z uruchomienia pokazanego kodu w R 4.5.3 (pakiet metafor). W pracy podaj wersje faktycznie użytych pakietów (sessionInfo()).

  1. 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/
  2. 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

Najczęstsze pytania

Czym niespójność różni się od heterogeniczności?

Heterogeniczność to rozrzut wyników badań tego samego porównania (τ²). Niespójność to rozbieżność między porównaniami, np. gdy efekt A–B z badań bezpośrednich różni się od efektu wyliczonego przez C.

Co zrobić, gdy test niespójności jest istotny?

Sprawdź dane i przechodniość: czy porównania różnią się modyfikatorami efektu. Zlokalizuj problem rozdzielaniem węzłów, rozważ metaregresję lub analizy podgrup i ostrożnie interpretuj wspólne oszacowania i ranking.

Jak przetestować niespójność w R bez netmeta?

W metafor dopasuj metodą ML model spójności i model z osobnymi efektami w każdym schemacie badań (rma.mv), a następnie porównaj je anova(pelny, spojny) – to test ilorazu wiarygodności.

Powiązane hasła

Poradniki, w których użyjesz tego pojęcia

Potrzebujesz wsparcia w analizie danych?

Wybierz ofertę dopasowaną do pracy dyplomowej albo profesjonalnego projektu naukowego.

Wyceń analizęOferta dla studentów

Bibliografia i dalsza literatura naukowa (APA 7)

  1. Dias, S., Welton, N. J., Caldwell, D. M., & Ades, A. E. (2010). Checking consistency in mixed treatment comparison meta-analysis. Statistics in Medicine, 29(7–8), 932–944. https://doi.org/10.1002/sim.3767
  2. Higgins, J. P. T., Jackson, D., Barrett, J. K., Lu, G., Ades, A. E., & White, I. R. (2012). Consistency and inconsistency in network meta-analysis: Concepts and models for multi-arm studies. Research Synthesis Methods, 3(2), 98–110. https://doi.org/10.1002/jrsm.1044 ● Otwarty dostęp
  3. Lu, G., & Ades, A. E. (2006). Assessing evidence inconsistency in mixed treatment comparisons. Journal of the American Statistical Association, 101(474), 447–459. https://doi.org/10.1198/016214505000001302 ● Otwarty dostęp: pełny tekst

Cytowania BibTeX

@article{dias2010checking, author={Dias, S. and Welton, N. J. and Caldwell, D. M. and Ades, A. E.}, title={{Checking consistency in mixed treatment comparison meta-analysis}}, journal={Statistics in Medicine}, year={2010}, volume={29}, number={7–8}, pages={932--944}, doi={10.1002/sim.3767}}
@article{higgins2012consistency, author={Higgins, J. P. T. and Jackson, D. and Barrett, J. K. and Lu, G. and Ades, A. E. and White, I. R.}, title={{Consistency and inconsistency in network meta-analysis: Concepts and models for multi-arm studies}}, journal={Research Synthesis Methods}, year={2012}, volume={3}, number={2}, pages={98--110}, doi={10.1002/jrsm.1044}}
@article{lu2006assessing, author={Lu, Guobing and Ades, A. E.}, title={{Assessing evidence inconsistency in mixed treatment comparisons}}, journal={Journal of the American Statistical Association}, year={2006}, volume={101}, number={474}, pages={447--459}, doi={10.1198/016214505000001302}}
R