Słownik metodologiczny · Wielkość efektu

Metaregresja – jak sprawdzić, czy cechy badań wyjaśniają heterogeniczność?

Metaregresja sprawdza, czy cechy badań, czyli moderatory, wyjaśniają różnice wielkości efektu w metaanalizie. Pokazujemy model mieszany, test Knappa–Hartunga, analog R², przykład w metafor i najczęstsze pułapki.

Strona główna / Słownik / Metaregresja
W skrócie: Metaregresja to regresja wielkości efektu badań na ich cechy (moderatory) w modelu z efektami mieszanymi. Pokazuje, ile heterogeniczności (τ²) wyjaśnia moderator, ale daje związek obserwacyjny na poziomie badań, podatny na fałszywe pozytywy przy małej liczbie badań.

Co to jest metaregresja?

Metaregresja (ang. meta-regression) to regresja, w której jednostką analizy jest badanie, a zmienną zależną – jego wielkość efektu. Predyktory, nazywane moderatorami, opisują badania: średni wiek uczestników, dawkę, rok publikacji czy szerokość geograficzną. Metaregresja odpowiada na pytanie, czy cechy badań wyjaśniają różnice wyników, czyli heterogeniczność widoczną w metaanalizie.

Model mieszany i test Knappa–Hartunga

Standardem jest metaregresja z efektami mieszanymi: moderatory to efekty stałe, a heterogeniczność, której nie wyjaśniają, opisuje rezydualne τ². Thompson i Higgins (2002) podkreślają, że wagi muszą uwzględniać zarówno wariancję wewnątrz badań, jak i tę resztową heterogeniczność. Model efektu stałego ją pomija i daje zbyt wąskie przedziały. Testy współczynników warto liczyć metodą Knappa i Hartunga (2003), która używa rozkładu t lub F i lepiej trzyma nominalny poziom istotności niż test z. Analog R² mówi, jaką część τ² z modelu bez moderatorów wyjaśnił moderator. Więcej o miarach heterogeniczności przeczytasz w haśle I² i τ².

Przykład

W klasycznym zbiorze 13 badań szczepionki BCG (zbiór dat.bcg z pakietu metafor) τ² wynosiło 0.313. Po dodaniu szerokości geograficznej spadło do 0.076, więc R² = 75.6%. Współczynnik moderatora: b = −0.029 log RR na stopień, F(1, 11) = 12.59, p = .005 (Knapp–Hartung). Test z dał p = .0001, a test permutacyjny p = .014. Resztowa heterogeniczność pozostała istotna: QE(11) = 30.73, p = .001.

Jak opisać w pracy

W metaregresji z efektami mieszanymi (REML, test Knappa–Hartunga) szerokość geograficzna wiązała się z mniejszym ryzykiem względnym, b = −0.029, F(1, 11) = 12.59, p = .005, i wyjaśniała 75.6% heterogeniczności (τ² = 0.076).

Na co uważać

  • Mało badań na moderator. Higgins i Thompson (2004) pokazali, że przy niewielu badaniach, dużej heterogeniczności i wielu moderatorach odsetek fałszywie pozytywnych wyników mocno rośnie. Moderatory wskaż z góry, a mnogość testów potraktuj jak problem wielokrotnych porównań.
  • Związek obserwacyjny. Nawet gdy każde badanie jest randomizowane, moderator nie był losowo przydzielany badaniom.
  • Błąd ekologiczny. Związek ze średnim wiekiem w badaniach nie mówi, że efekt zmienia się z wiekiem pojedynczej osoby – to błąd ekologiczny.
  • Resztowa heterogeniczność. Podaj τ² po uwzględnieniu moderatora i przedział predykcji.

Pełną analizę moderatorów pokazuje wpis Metaregresja i analiza moderatorów, a całą metaanalizę – Metaanaliza krok po kroku.

Przykład reprodukowalny

Metaregresja w R

Kod liczy log RR dla 13 badań BCG, dopasowuje model bez moderatora i metaregresję z szerokością geograficzną, porównuje test Knappa–Hartunga z testem z i dodaje test permutacyjny.

Szerokość geograficzna jako moderator skuteczności BCG

Dane wejściowe: zbiór dat.bcg z pakietu metafor (13 badań: liczby zachorowań w grupach szczepionej i kontrolnej, szerokość geograficzna ablat); test permutacyjny z set.seed(3391).

Co odczytać: współczynnik ablat z testem F, rezydualne τ², R², QE oraz p z trzech testów.

R
suppressPackageStartupMessages(library(metafor))
dat <- escalc(measure = "RR", ai = tpos, bi = tneg, ci = cpos, di = cneg,
              data = dat.bcg)                       # 13 badań szczepionki BCG, log RR
m0 <- rma(yi, vi, data = dat)                       # model bez moderatora (REML)
m1 <- rma(yi, vi, mods = ~ ablat, data = dat, test = "knha")   # metaregresja, Knapp–Hartung
mz <- rma(yi, vi, mods = ~ ablat, data = dat)                  # ta sama, test z
m1
round(c(tau2_bez = m0$tau2, tau2_z = m1$tau2, R2 = m1$R2,
        p_knha = m1$pval[2], p_z = mz$pval[2]), 4)
set.seed(3391)
permutest(m1, iter = 1000, progbar = FALSE)         # test permutacyjny (Higgins i Thompson, 2004)
Wynik w R
Mixed-Effects Model (k = 13; tau^2 estimator: REML)

tau^2 (estimated amount of residual heterogeneity):     0.0764 (SE = 0.0591)
tau (square root of estimated tau^2 value):             0.2763
I^2 (residual heterogeneity / unaccounted variability): 68.39%
H^2 (unaccounted variability / sampling variability):   3.16
R^2 (amount of heterogeneity accounted for):            75.62%

Test for Residual Heterogeneity:
QE(df = 11) = 30.7331, p-val = 0.0012

Test of Moderators (coefficient 2):
F(df1 = 1, df2 = 11) = 12.5905, p-val = 0.0046

Model Results:

         estimate      se     tval  df    pval    ci.lb    ci.ub
intrcpt    0.2515  0.2839   0.8857  11  0.3948  -0.3735   0.8764
ablat     -0.0291  0.0082  -3.5483  11  0.0046  -0.0472  -0.0111  **

---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

tau2_bez   tau2_z       R2   p_knha      p_z
  0.3132   0.0764  75.6245   0.0046   0.0001

Test of Moderators (coefficient 2):¹
F(df1 = 1, df2 = 11) = 12.5905, p-val = 0.0140

Model Results:

         estimate      se     tval  df    pval¹    ci.lb    ci.ub
intrcpt    0.2515  0.2839   0.8857  11  0.7380   -0.3735   0.8764
ablat     -0.0291  0.0082  -3.5483  11  0.0140   -0.0472  -0.0111  *

---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

1) p-values based on permutation testing

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

Ile badań potrzeba do metaregresji?

Nie ma twardej granicy, ale przy kilku badaniach na moderator wyniki są niestabilne, a ryzyko fałszywie pozytywnych wyników wysokie (Higgins i Thompson, 2004). Ogranicz liczbę moderatorów, wskaż je z góry i używaj testu Knappa–Hartunga.

Czym metaregresja różni się od analizy podgrup?

Analiza podgrup porównuje efekt w kategoriach jednego moderatora jakościowego. Metaregresja jest ogólniejsza: obejmuje moderatory ciągłe i kilka moderatorów naraz, a analiza podgrup to jej szczególny przypadek.

Jak policzyć metaregresję w R?

W pakiecie metafor: rma(yi, vi, mods = ~ moderator, data = dane, test = "knha"). Odczytaj współczynnik moderatora, test F, rezydualne τ², R² i QE; do kontroli istotności użyj permutest().

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. Higgins, J. P. T., & Thompson, S. G. (2004). Controlling the risk of spurious findings from meta-regression. Statistics in Medicine, 23(11), 1663–1682. https://doi.org/10.1002/sim.1752
  2. Knapp, G., & Hartung, J. (2003). Improved tests for a random effects meta-regression with a single covariate. Statistics in Medicine, 22(17), 2693–2710. https://doi.org/10.1002/sim.1482
  3. Thompson, S. G., & Higgins, J. P. T. (2002). How should meta-regression analyses be undertaken and interpreted? Statistics in Medicine, 21(11), 1559–1573. https://doi.org/10.1002/sim.1187

Cytowania BibTeX

@article{higgins2004controlling, author={Higgins, Julian P. T. and Thompson, Simon G.}, title={{Controlling the risk of spurious findings from meta-regression}}, journal={Statistics in Medicine}, year={2004}, volume={23}, number={11}, pages={1663--1682}, doi={10.1002/sim.1752}}
@article{knapp2003improved, author={Knapp, Guido and Hartung, Joachim}, title={{Improved tests for a random effects meta-regression with a single covariate}}, journal={Statistics in Medicine}, year={2003}, volume={22}, number={17}, pages={2693--2710}, doi={10.1002/sim.1482}}
@article{thompson2002how, author={Thompson, Simon G. and Higgins, Julian P. T.}, title={{How should meta-regression analyses be undertaken and interpreted?}}, journal={Statistics in Medicine}, year={2002}, volume={21}, number={11}, pages={1559--1573}, doi={10.1002/sim.1187}}
R