Functions & Formulae

Each applied formula has its own function page, with a signature, implementations, and tests.

Copas selection model publication probability and implied number of unpublished studies

copas(gamma_0, gamma_1, s_i, n_g) = (P_i, M)

Takes the two selection parameters of the Copas selection model, gamma_0 and gamma_1, and the standard errors of the published studies, and returns each study's probability of publication, Phi(gamma_0 + gamma_1 / s), and the number of unpublished studies those parameters imply, M. In a Copas sensitivity analysis gamma_0 and gamma_1 are fixed over a grid, and at each point the mean effect theta, the heterogeneity tau and the correlation rho are estimated by maximising the likelihood of the published estimates conditional on publication. That adjusted estimate has no closed form and comes from software such as the copas function of the R package metasens, so it is not written as a formula here; the publication probability and M are the quantities that label each grid point. The unadjusted estimate the analysis starts from is the common-effect inverse-variance mean of HE-FM-ADMA-001 (random-effects form HE-FM-ADMA-005), and the article's unadjusted 0.3671 is HE-FM-ADMA-001 applied to its twelve illustrative trials. A rank test for small-study effects is HE-FN-BEGG-001, with HE-FM-BEGG-002 and HE-CF-BEGG-001. Carrying an adjusted odds ratio into a decision model uses HE-FM-NMA-004 for the response probability on the new therapy and HE-FM-ICER-001 for the cost per extra responder. Notation follows the Copas Model article.

  • Copas probit probability that a study with standard error s is published

    u = gamma_0 + gamma_1 / s; P = Phi_u

    Under the selection equation of the Copas model a study is published when a latent propensity Z = gamma_0 + gamma_1 / s + delta is above zero, with delta standard normal, so its marginal probability of publication is the standard normal distribution function at the index u = gamma_0 + gamma_1 / s. Phi(gamma_0) is the probability of publishing a study with an infinitely large standard error, and gamma_1 sets how fast the probability rises as the standard error shrinks. The site calculator has no normal distribution function, so Phi_u is entered as a named input from NORM.S.DIST(u, TRUE) or pnorm(u), the convention of HE-FM-MCID-004. That record's normal share above a threshold returns the same number with a threshold of zero, a standard deviation of 1 and a mean of u; the Copas form adds the index in the study's precision with its two selection parameters.

  • Expected number of unpublished studies implied by Copas selection parameters for two standard error groups

    u_1 = gamma_0 + gamma_1 / s_1; u_2 = gamma_0 + gamma_1 / s_2; P_1 = Phi_1; P_2 = Phi_2; M = n_1 * (1 - P_1) / P_1 + n_2 * (1 - P_2) / P_2

    Copas and Shi translate a pair of selection parameters into the expected number of unpublished studies, M, the sum over the published studies of (1 minus P_i) / P_i, with P_i the publication probability of HE-FM-COPAS-001 at study i's standard error. The formula is written for two groups of published studies that share a standard error within each group, n_1 at s_1 and n_2 at s_2, as in the article's example of two large and ten small trials; each further standard error adds a term of the same form, which the R and Python code of HE-CF-COPAS-001 handles. Each published study with probability P stands in expectation for (1 minus P) / P unpublished studies of the same precision, so groups with a low publication probability dominate M; in the article's moderate scenario 18.57 of the 18.68 come from the ten small trials. The step that turns P into M is the same algebra as the bed turnover interval of HE-FM-BTO-004 in another setting; the Copas content is the chain from gamma_0, gamma_1 and the standard errors.