Introduction
PET-PEESE (Stanley & Doucouliagos, 2014) is a regression-based method for detecting and correcting small-study effects — the tendency for smaller, less precise studies to report larger effects, a pattern consistent with publication bias or inflated estimates in underpowered research.
The key insight is that under publication bias, small-sample studies survive the publication filter only if they produce large effects. This creates a correlation between standard error and effect size. PET and PEESE use regression to estimate the effect that would be reported if a study were infinitely large (i.e., ).
bayesma implements a fully Bayesian version of PET-PEESE via bayesma() with model = "pet_peese".
PET — Precision Effect Test
PET regresses the effect estimate on its standard error:
The intercept estimates the true effect at infinite precision (). The slope captures the association between standard error and effect size: a positive indicates that less precise studies report larger effects.
The error term allows for residual heterogeneity:
When to use PET: PET is the correct specification when the true effect is zero. Its intercept estimate is unbiased in that case. If the true effect is non-zero, the term in the regression absorbs some of the real effect, biasing downward.
PEESE — Precision Effect Estimate with Standard Error
PEESE replaces the linear term with :
The quadratic specification is better calibrated when the true effect is non-zero: the term changes more slowly for imprecise studies, leaving more of the true effect in the intercept. PEESE is therefore preferred as the primary bias-correction model when prior evidence suggests a non-zero effect.
Priors
These are the defaults. The prior on is weakly informative and symmetric — it does not enforce the direction of small-study effects.
Fitting PET-PEESE in bayesma
#| eval: false
fit_pet <- bayesma(data, model = "pet")
fit_peese <- bayesma(data, model = "peese")
summary(fit_peese)summary() reports the posterior for (bias-corrected effect), (small-study effect slope), and (residual heterogeneity).
The conditional PET-PEESE rule
Stanley & Doucouliagos (2014) proposed a two-step decision rule:
- Fit PET. If the PET intercept is clearly different from zero (95% CI excludes 0), proceed to PEESE.
- Report the PEESE intercept as the bias-corrected effect estimate.
The Bayesian version of this rule uses the posterior probability that :
#| eval: false
# Fit both
fit_pet <- bayesma(data, model = "pet")
fit_peese <- bayesma(data, model = "peese")
# Posterior probability of non-zero effect (PET intercept)
interpret(fit_pet, parameter = "alpha")
# Report PEESE if PET provides clear evidence of non-zero effect
summary(fit_peese)In bayesma, Bayes factors for are computed using the Savage-Dickey density ratio, providing a continuous measure of evidence for vs. against a non-zero effect.
Interpreting the output
| Parameter | Interpretation |
|---|---|
alpha |
Bias-corrected pooled effect () |
beta |
Small-study effect coefficient |
tau |
Residual between-study heterogeneity |
BF_alpha |
Bayes factor for vs |
Limitations
- PET-PEESE assumes that small-study effects are the only source of funnel asymmetry. Genuine small-study effects (e.g., smaller studies targeting different populations) can mimic publication bias.
- The method has low power when and performs poorly when heterogeneity is large relative to the precision range of the included studies.
- If true heterogeneity and publication bias both exist, PET-PEESE may overcorrect.
For a more comprehensive approach that models multiple sources of bias simultaneously, see Robust Bayesian Meta-Analysis (RoBMA), which averages over PET-PEESE and selection model assumptions.
References
Stanley TD, Doucouliagos H (2014). Meta-regression approximations to reduce publication selection bias. Research Synthesis Methods, 5(1), 60–78.
