Concept Note - Forecasting Replication from Published Effects
Summary
Concept note, no raw source. If journals publish significant results more readily than insignificant ones, the distribution of published -statistics is a renormalised, step-weighted version of the population distribution. Fitting a null/real mixture for effects through that filter lets one estimate how many published findings are real, how large real effects are, and the probability that an exact replication will again be significant. The vault already covers the selection-model identification in the Andrews and Kasy notes; this note only links the pieces and gives a small worked model.
Overview
Motivating PyMC example: E117 “Would that headline finding replicate? The publication filter, 76 repeated psychology experiments and a forecast that has to earn trust” (Reproducibility Project: Psychology master file, Open Science Collaboration 2015; null/real mixture with effects integrated out; closed-form renormalised step-selection likelihood checked by quadrature; one -scale for numerator and normaliser; prior predictive of a filtered sample in NumPy) - gallery.
Existing vault coverage (do not repeat): Andrews Kasy 2019 - Identification of and Correction for Publication Bias - Overview (step-function selection, identification from replications and meta-studies), Andrews Kasy 2019 - Identification Using Replication Studies, Andrews Kasy 2019 - Estimation and Replication Applications in Economics and Psychology (the OSC psychology data analysed there), Ioannidis 2005 - Why Most Published Findings Are False - Overview (PPV), Type S and Type M Errors (exaggeration of significant effects), The Replication Crisis and Multiple Levels of Variation.
Main Content
Publication filter (step selection; Hedges 1992; Andrews and Kasy 2019)
A study with test statistic is published with probability if () and otherwise. If the unfiltered density is , the published density is
Null/real mixture with effects integrated out
With probability a true effect is null (), otherwise on the standardised () scale. Then an original has marginal and , with the normal upper tail. The filtered likelihood is closed form (no integral over ) and can be checked by quadrature. Parameters are estimated by maximising or by Bayes.
Forecast of a replication
Given a published and population parameters, filtering does not change the posterior of for that study (the filter acts on the study as a whole): and, if real, . A replication with the same standard error yields , not filtered. Hence
The filter matters for estimating from published ‘s: ignoring it makes the estimates too optimistic (too few nulls, effects too large). A replication prediction is only as good as those estimates (“a forecast that has to earn trust”: check calibration against held-out replications).
Examples
A toy forecast
Parameters: , , , . Published . Normalisation check: by quadrature. ; given real, , so ; overall . Interpretation: although is significant, with half the field null and modest real effects the chance that the replication is again significant is only about 23% in this toy (replication power is limited by the shrinkage of toward zero, the winner’s-curse logic of Type S and Type M Errors).
import numpy as np
from scipy import stats
c, tau, pi0, p, z = 1.96, 1.0, 0.5, 0.1, 2.5
m = lambda z: pi0*stats.norm.pdf(z) + (1-pi0)*stats.norm.pdf(z, 0, np.sqrt(1+tau**2))
sig = 2*(pi0*stats.norm.sf(c) + (1-pi0)*stats.norm.sf(c, 0, np.sqrt(1+tau**2)))
Z = sig + p*(1 - sig) # renormalising constant
f_pub = lambda z: (1 if abs(z) > c else p) * m(z) / Z # integrates to 1
pr = (1-pi0)*stats.norm.pdf(z, 0, np.sqrt(1+tau**2)) / m(z)
mu, v = tau**2/(1+tau**2)*z, tau**2/(1+tau**2)
rep = pr*(stats.norm.sf(c, mu, np.sqrt(1+v)) + stats.norm.cdf(-c, mu, np.sqrt(1+v))) + (1-pr)*2*stats.norm.sf(c)
print(pr, rep) # 0.771 0.232PyMC-style sketch (untested). Put priors on , , ; add pm.Potential("lik", (pt.log(w(z)) + logsumexp([...mixture logpdfs...]) - pt.log(Z)).sum()) where is the closed-form normaliser above; then compute the replication probability per posterior draw.
Relevance to marketing measurement
The same filter applies to the A/B tests a team ships: winning variants are published internally more than losers. Forecasting whether a shipped lift will replicate in a holdout needs the selection-adjusted prior over effects, not the raw observed lift.
Connections
Hierarchical Models (the mixture is a two-component prior), Prior Predictive Checking (filtered-sample simulation), Proper Scoring Rules (CRPS, Log Score, Pinball Loss) (scoring replication forecasts), Simulation-Based Calibration - Overview.
See Also
Andrews Kasy 2019 - Estimation and Replication Applications in Economics and Psychology