When performing a MBNMA by pooling relative treatment effects, the modelling approach assumes consistency between direct and indirect evidence within a network. This is an incredibly useful assumption as it allows us to improve precision on existing direct estimates, or to estimate relative effects between treatments that have not been compared in head-to-head trials, by making use of indirect evidence.
However, if this assumption does not hold, this is extremely problematic for inference, so it is important to be able to test it. A number of different approaches exist to allow for this in standard Network Meta-Analysis (NMA) (Dias et al. 2013), but within dose-response MBNMA there is added complexity because the consistency assumption can be conceptualised either for each treatment comparison (combination of dose and agent), or for each agent, where consistency is required for the agent-level parameters governing the dose-response relationship. A detailed description of consistency testing in MBNMA models is given in Pedder et al. (2021).
Testing for consistency at the agent-level is challenging as there is unlikely to be the required data available to be able to do this - included studies in the dataset must have multiple doses of multiple agents, so that sufficient information is available to estimate dose-response parameters within that study. However, testing for consistency at the treatment-level is possible in MBNMA, and this is described below. In practice, testing for consistency at the treatment-level should suffice, as any inconsistency identified at the treatment level should also translate to inconsistency at the agent level and vice versa (Pedder et al. 2021).
Consistency also depends on the functional form assumed for the dose-response relationship, and so is inextricably linked to model fit of the dose-response relationship. A thorough assessment of the validity of the fitted model is therefore important to be confident that the resulting treatment effect estimates provide a firm basis for decision making.
When meta-analysing dose-response studies, the potential for inconsistency testing may actually be reasonably rare, as most (if not all) trials will be multi-arm placebo-controlled. Since each study is internally consistent (the relative effects within the trial will always adhere to consistency relationships), there will be no closed loops of treatments that are informed by independent sources of evidence.
Another approach for consistency checking is node-splitting. This
splits contributions for a particular treatment comparison into direct
and indirect evidence, and the two can then be compared to test their
similarity (Valkenhoef et al. 2016).
Node-splitting in dose-response MBNMA is an extension to this method, as
indirect evidence contributions can be calculated incorporating the
mbnma.nodesplit() takes similar
mbnma.run(), and returns an object of
In addition to these, the argument
comparisons can be
used to indicate which treatment comparisons to perform a nodesplit on.
If left as
NULL (the default) node-splits will
automatically be performed in all closed loops of treatments in which
comparisons are informed by independent sources of evidence. This is
somewhat similar to the function
gemtc::mtc.nodesplit.comparisons(), but uses a fixed
network reference treatment and therefore ensures differences between
direct and indirect evidence are parameterised as inconsistency rather
than as heterogeneity (Dias et al. 2013).
However, it also allows for indirect evidence to be informed via the
dose-response relationship even if there is no pathway of evidence
between the treatments, which can in fact lead to additional potentially
inconsistent loops. To incorporate indirect evidence in this way
incldr=TRUE can be set in
inconsistency.loops(), the default when using
The complexity of the dose-response relationship fitted and the
amount of indirect evidence available will also affect the number of
comparisons on which node-splitting is possible (Pedder et al. 2021). If there is only limited
indirect dose-response information for a given comparison (e.g. only two
doses available for the agents in the comparison), then only a simpler
dose-response function (e.g. exponential) can be fitted. The values
inconsistency.loops()$path can give an indication
as to the number of doses available for each comparison. For example,
drparams 3 4 would indicate that the indirect evidence is
estimated only via the dose-response relationship, and that within the
indirect evidence there are three doses available for estimating the
dose-response of the agent in
t1 of the comparison, and
four doses available for estimating the dose-responses of the agent in
t2 of the comparison. This means that a three-parameter
dose-response function would be the most complex function that could be
used when node-splitting this comparison.
As several models have to be run for each closed loop of treatments, node-splitting can take some time to run, and it therefore is not shown for the purposes of this vignette.
# Using the psoriasis dataset (>75% improvement in PASI score)
psoriasis$r <- psoriasis$r75
psorinet <- mbnma.network(psoriasis)
# Identify comparisons on which node-splitting is possible
splitcomps <- inconsistency.loops(psorinet$data.ab, incldr = TRUE)
# If we want to fit an Emax dose-response function, there is insufficient
# indirect evidence in all but the first 6 comparisons
nodesplit <- mbnma.nodesplit(psorinet, fun = demax(), comparisons = splitcomps[1:6,
], method = "common")
print() method on an object of
class("nodesplit") prints a summary of the node-split
results to the console, whilst the
summary() method will
return a data frame of posterior summaries for direct and indirect
estimates for each split treatment comparison.
The nodesplit object itself is a list with results for each treatment comparison that has been split. There is a lot of information within the results, but the most useful (and easily interpretable) elements are:
p.values the Bayesian p-value for the posterior overlap
between direct and indirect estimates
quantiles the median and 95%CrI of the posterior
distributions for direct and indirect evidence, and for the difference
forest.plot a forest plot that shows the median and 95%
CrI for direct and indirect estimates
density.plot a plot that shows the posterior
distributions for direct and indirect estimates
It is possible to generate different plots of each nodesplit