post_RA | R Documentation |
Computes a table of posterior estimates and informativeness values
for the marginal posterior distributions
of different parameters in the NNHM
induced by the actual heterogeneity priors specified in tau.prior
.
Also provides the same estimates for the
posterior benchmarks proposed in Ott et al. (2021).
post_RA(df, tau.prior = list(function(x) dhalfnormal(x, scale = 1)),
show.re = FALSE,
estimate = "median", ci.method = "central",
H.dist.method = "integral",
scale.hn0 = 1/500, mu.mean = 0, mu.sd = 4)
df |
data frame with one column "y" containing the (transformed) effect estimates for the individual studies and one column "sigma" containing the standard errors of these estimates. |
tau.prior |
list of prior specifications, which are either functions returning the probability densities of the actual priors of interest for the heterogeneity parameter tau or character strings specifying priors implemented in the |
show.re |
logical. If |
estimate |
type of posterior point estimate. Either |
ci.method |
method for computation of 95% credible intervals (CrIs). Either |
H.dist.method |
method for computation of Hellinger distances between marginal posterior densities. Either |
scale.hn0 |
scale parameter of the half-normal benchmark prior (usually a small number to obtain an anti-conservative benchmark which has most of its probability mass close to 0). Defaults to 0.002. |
mu.mean |
mean of the normal prior for the effect mu. Defaults to 0. |
mu.sd |
standard deviation of the normal prior for the effect mu. Defaults to 4. |
The two posterior benchmarks used are
introduced in Ott et al. (2021, Section 3.4),
where they are denoted by
po_{J}(\Psi)
and po_{HN0}(\Psi)
.
Here, \Psi \in \{ \mu, \tau, \theta_1, ..., \theta_k, \theta_{new} \}
denotes the parameter of interest in the NNHM,
where \theta_{i}
is the random effect in the i
th study and
\theta_{new}
the predicted effect for a new study.
For the overall mean parameter \mu
,
we additionally consider the fixed-effects model benchmark
po_{FE}(\mu)
.
Note that Jeffreys reference posterior po_{J}
is proper if
there are at least two studies in the meta-analysis data set.
It is based on the improper Jeffreys reference prior,
which is minimally informative given the data.
The computation of the informativeness values is described in
Ott et al. (2021, Section 3.6).
The absolute value of the signed informativeness quantifies how close the
actual posterior and the reference posterior po_{J}
are.
If the signed informativeness is negative, then the actual prior is anti-conservative with respect to Jeffreys reference prior J (that is puts more weight on smaller values for \tau
than J).
If the signed informativeness is positive, then the actual prior is conservative with respect to Jeffreys reference prior J (that is puts more weight on larger values for \tau
than J).
If integral-based computation (H.dist.method = "integral"
) of Hellinger distances is selected (the default), numerical integration is applied to obtain the Hellinger distance between the two marginal posterior densities (by using the function H
).
If moment-based computation (H.dist.method = "moment"
) is selected, the marginal densities are first approximated by normal densities with the same means and standard deviations and then the Hellinger distance between these normal densities can be obtained by an analytical formula (implemented in the function H_normal
).
The default values for mu.mean
and mu.sd
are suitable for effects mu on the log odds (ratio) scale.
A matrix with 6 columns and a number of columns depending on the number
of actual heterogeneity priors specified and the parameters of interests in the NNHM
(if show.re = FALSE
, then there are 3 parameters of interest (\mu, \tau, \theta_{new}
) and the matrix has 3*(n+2)+1
rows, where
where n
=length(tau.prior
) is the number of actual heterogeneity priors specified;
if show.re = TRUE
, then the matrix has (k+3)*(n+2)+1
rows, where
k
is the number of studies in the meta-analysis data set
(so that there are k+3
parameters of interest).)
The row names specify the parameter in the NNHM for which the marginal posterior is considered,
followed by the heterogeneity prior used to compute that posterior.
HN0, J and FE denote the three benchmark priors introduced in Ott et al. (2021).
pri_act_i
denotes the i-th prior in the tau.prior
list.
The 6 columns provide the following estimates:
estimate
:posterior point estimate (median or mean)
CrI_low
:lower limit of the 95% credible interval
CrI_up
:upper limit of the 95% credible interval
length_CrI
:length of the 95% credible interval
H(po_HN0, po_act)
: Hellinger distance between the posterior benchmark po_{HN0}(\Psi)
and the marginal posterior induced by the heterogeneity prior listed on the left, for the parameter \Psi
listed on the left
signed_inf
: Signed informativeness, i.e. sign(H(po_{HN0}, po_{act}) - H(po_{HN0}, po_{J})) H(po_{act}, po_{J})
, for the marginal posterior induced by the heterogeneity prior listed on the left, for the parameter \Psi
listed on the left
If the integral-based method is used to compute Hellinger distances (H.dist.method = "integral"
),
numerical problems may occur in some cases, which may lead to implausible outputs.
Therefore, we generally recommend to double-check the results of the integral-based method using the moment-based method (H.dist.method = "moment"
) - especially if the former results are implausibe. If large differences between the two methods are observed, we recommend to rely on the moment-based method unless a normal approximation of the involved densities is inappropriate.
Ott, M., Plummer, M., Roos, M. (2021). How vague is vague? How informative is informative? Reference analysis for Bayesian meta-analysis. Statistics in Medicine 40, 4505–4521. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1002/sim.9076")}
post_RA_fits
,
post_RA_3bm
# for aurigular acupuncture (AA) data set with two
# actual half-normal heterogeneity priors
data(aa)
# it takes a few seconds to run this function
post_RA(df=aa, tau.prior=list(function(t)dhalfnormal(t, scale=0.5),
function(t)dhalfnormal(t, scale=1)))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.