AdvancedIndependently reviewed, not yet spot-checked by a human

Meta-analysis of diagnostic test accuracy

A diagnostic study reports a pair of numbers, not one, and the pair is tied together by the study's cut-off. This page takes the textbook slogan apart on real AUDIT-C data — pooling the two measures separately barely moves the summary point, and what actually breaks is the joint statement, because crossing two independent intervals gives a rectangle with more area and less coverage whose shape includes exactly the combination the data rule out. Also covered are confidence versus prediction ellipses, and where the SROC curve stops being supported by data.

A diagnostic study reports a pair, not a number

An ordinary meta-analysis pools a scalar: one effect measure with its variance (see effect measures and their variances). A diagnostic accuracy study does not work that way. What it hands over is a 2×2 table, and the sensitivity and specificity read off that table are two outcomes fixed by one and the same cut-off (see the 2x2 table, sensitivity and specificity and choosing a cut-off).

Move the cut-off towards calling more people positive and sensitivity rises while specificity falls; move it the other way and they swap. So when a dozen studies each use a different cut-off — or nominally the same cut-off, read more or less strictly — the two numbers travel along a curve together across studies rather than scattering independently.

The consequence: handing sensitivity to one random-effects model and specificity to another amounts to declaring that the two are unrelated. What this page does is measure the price of that declaration rather than repeat the slogan. The data are mada::AuditC — 14 studies of the AUDIT-C alcohol screening questionnaire, 18,332 people in total, of whom 2,071 had the target condition.

What these studies look like

StudynTPFNFPTNSensitivitySpecificityDOR
18954791017380.8390.88036.4
21,9921265127215430.7120.85013.9
32331910121920.6550.94128.6
4393363782760.9230.78036.7
51,319130192119590.8720.82030.4
624384268890.9770.56744.2
76036801124231.0000.791515.7
86,9557520322629771.0000.4801388.9
9255595551360.9220.71226.6
103,5511425057127880.7400.83013.8
11626137241073580.8510.77018.7
126005731034370.9500.80969.4
1311234121560.9710.72760.4
1455515251882640.7490.7508.9

The sensitivity and specificity columns are the uncorrected observed values — what the studies actually reported. The DOR (diagnostic odds ratio) column is computed after adding 0.5 to every cell, because 2 studies report FN = 0 and their uncorrected DOR would be infinite. The studies differ enormously in size: the smallest has 112 participants, the largest 6,955, and that one study alone carries 38% of the total sample. That fact returns in a later section.

The mechanism: move the cut-off and the two numbers move opposite ways

Before fitting anything, plot each study’s logit sensitivity against its logit specificity:

A scatter plot with logit sensitivity on the horizontal axis and logit specificity on the vertical axis. The 14 circles run from upper left to lower right, circle area is proportional to each study's sample size, and a red regression line slopes downwards, showing that studies with higher sensitivity have lower specificity.
The 14 studies in mada::AuditC on the logit scale, with 0.5 added to every cell. Circle area is proportional to that study's total n, and the number beside each circle is its row in the table above.Plotting script figures/scripts/B7-08-diagnostic-meta.R

The Pearson correlation is -0.737 (95% CI -0.911 to -0.339, p = 0.0026, df = 12) and Spearman’s ρ is -0.732. The fitted line has slope -0.280 and R² 0.543.

This negative correlation is not held up by one high-leverage study, which matters enough to be checked rather than assumed. Refitting with each study dropped in turn leaves the correlation between -0.805 and -0.569 — the least negative value arises when study 8 is removed, which is the largest one and the one sitting furthest out along the logit sensitivity axis. Removing both zero-cell studies (studies 7 and 8) together leaves a correlation of -0.750.

In other words, the argument that follows rests on positive evidence you can cite, not on a disclaimer.

Where the threshold effect comes from, and one gap in these data

The most direct reading of that downward slope is that the studies used different cut-offs. In practice several sources leave the same footprint, and a reader has to keep them apart:

  • Explicitly different cut-offs — the same questionnaire or biomarker, scored against a lower threshold in some studies and a higher one in others.
  • The same cut-off read more or less strictly — commonest in imaging and pathology: one nominal criterion, different effective thresholds between readers.
  • Different reference standards — change what counts as truly having the target condition and both measures move together.
  • A different spectrum of disease — symptomatic inpatients versus community screening changes both measures at once.

The first two are threshold effects in the strict sense; the last two are not, but what they leave in the data looks much the same. The bivariate model does not distinguish the four sources. All it does is acknowledge that the two measures are correlated and build that into the variance structure; separating the sources requires meta-regression with cut-off, reference standard or population characteristics as covariates (the machinery is the same as in the heterogeneity page, with two outcomes instead of one).

Pooling separately: the summary point barely moves

Now fit two separate univariate random-effects models (REML, logit scale) and one bivariate model with mada::reitsma(), holding the continuity correction the same across both, and put the results side by side:

MeasurePooled separatelyBivariateGap (percentage points)
Sensitivity0.893 (0.814–0.941)0.891 (0.808–0.941)+0.19
Specificity0.781 (0.715–0.835)0.780 (0.715–0.833)+0.11
Two panels. The left panel shows four horizontal intervals: the separate and bivariate estimates of sensitivity almost coincide, and so do the two estimates of specificity. The right panel has false positive rate on the horizontal axis and sensitivity on the vertical axis, with a dashed rectangle formed by crossing the two independent intervals and a solid bivariate joint confidence ellipse; their centres nearly coincide but their shapes clearly differ, and the upper left and lower right corners of the rectangle fall outside the ellipse.
Two pooling strategies on the same studies. Panel A: the summary estimates with their 95% intervals. Panel B: the two independent intervals crossed into a rectangle (dashed) overlaid on the bivariate 95% joint confidence region (solid ellipse).Plotting script figures/scripts/B7-08-diagnostic-meta.R

The summary point barely moves; the joint statement does. Separate pooling does sit above the bivariate model on both measures, the direction the textbooks describe, but by 0.19 and 0.11 percentage points — a difference nobody could spot in an abstract, and one that vanishes on rounding to two decimal places. This page will not say that separate pooling badly overstates accuracy, because on these data it does not.

Nor are these data unusually well behaved. With no covariates in the model, the marginal point estimates from a bivariate fit are expected to sit very close to those from two univariate fits: the fixed-effect parts are estimating the same thing, and the correlation enters through the variance structure rather than the location. Correlation changes the shape of the uncertainty, so the difference only becomes visible one level up, at the joint statement.

For the record, between-study heterogeneity is large on both measures: τ² = 1.215 with I² = 93.5% for sensitivity, τ² = 0.427 with I² = 98.6% for specificity. I² is a proportion rather than an amount (see heterogeneity — I², τ² and prediction intervals), but τ² that size on the logit scale is genuinely wide spread, and the prediction ellipse below turns it into something visible.

The joint statement is what breaks

The commonest shape of a published result is two sentences: pooled sensitivity 0.893 (95% CI 0.814–0.941), pooled specificity 0.781 (95% CI 0.715–0.835). A reader then does the natural thing: crosses the two intervals into a rectangle and says the test’s true performance lies somewhere in there.

That step is wrong, and it is wrong on two levels.

First: crossing two 95% intervals does not give a 95% region. Even if the two were genuinely independent, the joint coverage would be 90.25% (0.95 squared). That has nothing to do with the model; it is arithmetic.

Second, and this is the point of the page: the shape is wrong. Drawing 200,000 Monte Carlo samples from the bivariate sampling distribution, the rectangle’s actual joint coverage is 91.9%. The same draws give the bivariate confidence ellipse 94.93%, which is the check on the procedure itself — that number should come out near 95%, and it does.

The rectangle’s area is 0.0152 against 0.0117 for the ellipse, a ratio of 1.30. Roughly a third more area, and less coverage — because the extra area is in the wrong places.

Panel B above shows it at a glance. The upper left corner of the rectangle is high sensitivity together with high specificity; the lower right corner is both low at once. Those are exactly the combinations the negative correlation rules out: the ellipse excludes them and the rectangle includes them. What the rectangle leaves out instead are the two ends of the ellipse’s long axis — high sensitivity with low specificity, and low sensitivity with high specificity — which are the possibilities the data actually support.

What happens if you take a corner of the rectangle to a likelihood ratio

The problem still sounds abstract until the rectangle is pushed into a quantity clinicians use. The likelihood ratio is such a quantity, and its definition consumes both measures at once (see likelihood ratios): the positive likelihood ratio is sensitivity divided by the false positive rate, and the negative one is 1 minus sensitivity divided by specificity.

Computed from the bivariate summary point, the positive likelihood ratio is 4.04 and the negative one is 0.140. Now take the most flattering corner of the rectangle instead — sensitivity at its upper bound 0.941, specificity also at its upper bound 0.835 — and the positive likelihood ratio becomes 5.69, some 1.41 times the summary value, while the negative one becomes 0.071, about half of it.

That pair is not an optimistic estimate; it is a combination the model says will not occur together. A reader who crosses the two intervals ends up with a persuasive-looking test that no data support.

Hence a simple working rule: for anything that needs both measures at once — likelihood ratios, predictive values, decision curves — the interval cannot be built by arithmetic on two sets of bounds. It has to be computed on the model’s joint distribution: sample from the bivariate sampling distribution, compute the likelihood ratio for each draw, take quantiles; or use the delta method. The simulation snippet in the previous section becomes exactly this with a small change.

The confidence ellipse and the prediction ellipse are not the same thing

That ellipse has a more frequently misread sibling. Both are centred on the same point; they differ in what they are the uncertainty of:

An SROC plot with false positive rate on the horizontal axis and sensitivity on the vertical axis. Fourteen circles of differing size are the individual studies' operating points, a diamond is the bivariate summary point, a solid line is the SROC curve over the observed range with dotted extensions beyond it, a small solid ellipse inside is the confidence region, and a much larger dashed ellipse outside it is the prediction region.
One curve, one point and two regions that are not the same thing. The inner region is the 95% confidence region (where the average operating point lies); the outer one is the 95% prediction region (where the next study's true operating point lies).Plotting script figures/scripts/B7-08-diagnostic-meta.R
  • The confidence ellipse uses vcov(fixed effects) and describes where the average operating point lies. It shrinks as studies accumulate.
  • The prediction ellipse uses vcov(fixed effects) + Psi and describes where the true operating point of the next study lies. It does not shrink with more studies, because Psi is real between-study spread rather than our ignorance.

⚠️ The prediction ellipse refers to the next study’s true operating point and excludes that study’s own sampling error. It is the two-dimensional analogue of a univariate prediction interval (see the heterogeneity page), not an interval for the point a next study would be observed at — predicting an observed point would require adding that study’s sampling variance, which depends on its sample size.

The two differ enormously here. The prediction ellipse covers 10.37 times the area of the confidence ellipse:

RegionSensitivity rangeSpecificity rangeArea
95% confidence (the average operating point)0.781–0.9490.698–0.8440.0117
95% prediction (the next study’s true point)0.291–0.9940.412–0.9470.1210

The interval around the summary sensitivity looks reassuringly tight, yet the next study’s true sensitivity could be as low as 0.291. That contrast is far stronger than the 0.19 percentage points between the two pooling methods, and it answers the question clinicians actually have: what will this test do in my clinic. A meta-analysis reporting only the confidence region is answering how precisely the average is known when the question was what happens next time.

The SROC curve: past the data it is extrapolation

The curve in that figure is the summary ROC (SROC) curve, here in the Rutter-Gatsonis parameterisation. It shows how sensitivity and specificity trade off if the cut-off is moved along the trajectory the model estimates. The area under it is AUC = 0.887, and restricted to the observed range the partial AUC is 0.861.

This AUC is not the area under a single study’s ROC curve (see ROC curves and the area under them). A single study’s ROC comes from moving the cut-off within one group of people; an SROC is across studies, each with a different population, different readers and possibly a different reference standard. They look alike and mean quite different things.

Only part of the curve has data behind it. These 14 studies have false positive rates between 0.059 and 0.520; inside that range the curve is drawn solid, outside it dotted. The dotted segments are extrapolation — their shape is determined entirely by the model’s assumptions, and no study contributed information there. When a paper draws its SROC curve out to a false positive rate of 0.01 and quotes the sensitivity at that point, that number was computed, not measured.

Two model names you will see in reports

The methods section of a diagnostic accuracy meta-analysis usually names one of the following two, and readers often take them for competing approaches:

  • Bivariate random effects (Reitsma and colleagues) — a two-dimensional random-effects model on the pair (logit sensitivity, logit false positive rate), estimating the summary operating point and its joint uncertainty. This is what the page uses.
  • HSROC (hierarchical summary ROC, Rutter and Gatsonis) — parameterised in terms of an accuracy component and a threshold component, estimating the curve.

With no covariates the two are the same model written two ways and can be converted into each other — which is why this page can both report a summary point (from the bivariate parameters) and draw an SROC curve (the ruttergatsonis parameterisation). They part company once covariates are added: putting a covariate on the accuracy component is not the same question as putting it on sensitivity and specificity.

So a paper saying bivariate while showing an SROC curve is not contradicting itself, and neither is one saying HSROC while reporting a summary point. The things worth asking are which level the covariates sit on, and whether the summary point was estimated directly or picked off the curve.

Why not just pool the DOR

Faced with an awkward pair, the natural move is to squash it into a scalar. The diagnostic odds ratio does that, and it is the last column of the first table on this page. Once it is a scalar, ordinary meta-analysis tooling works again — the early Moses-Littenberg approach regressed each study’s log DOR against a proxy for its threshold to trace an SROC curve.

There are two costs, and neither is small.

First, the DOR discards the distinction that matters clinically. Two tests with the same DOR can differ completely: one with high sensitivity and unremarkable specificity (good for ruling out), the other the reverse (good for ruling in). An equal DOR does not make them interchangeable, and where a test belongs in a diagnostic pathway is precisely what has to be decided.

Second, the DOR is unstable on extreme tables. The 2 zero-cell studies here end up with the two most extreme DORs in the set after correction, and with the two largest standard errors of log DOR among all 14 studies (both near 1.42, while the rest fall between 0.17 and 0.87). Across the set the DOR runs from 8.9 to 1388.9, two orders of magnitude, and the largest two are entirely an artefact of the zero cells.

So the DOR’s place now is descriptive rather than the target of pooling: useful in a table to show how much overall discrimination varies between studies, unsuitable as the headline result.

One point, or the whole curve

The stronger the threshold effect, the less a statement of the form pooled sensitivity is X means on its own — it averages across studies operating at different thresholds and lands on a point at which possibly no study operated. The between-study spread here is genuinely wide: Psi’s two standard deviations on the logit scale are 1.175 for sensitivity and 0.638 for the false positive rate, which is why the prediction ellipse is so much larger.

Three usual ways of handling this; which one applies is decided by the data, not by taste:

  1. Report the whole SROC curve together with the summary point and the prediction region. This page’s approach, and the honest presentation when the cut-offs really do differ: the curve says roughly how good the test is, the prediction region says where a next study might land.
  2. Pull out the studies using one common threshold and pool those separately, leaving the rest for a sensitivity analysis. Only then does the summary point mean something definite — performance at that threshold. This requires the thresholds to be obtainable.
  3. Meta-regression on the cut-off. The most informative option and the most demanding; it runs into the gap described earlier.

A different mistake entirely: adding up the 2x2 tables

Everything above is about the model. There is a more basic error that remains common in practice: adding the four cells of all 14 tables and computing sensitivity and specificity from the totals.

ApproachSensitivitySpecificity
Add up, then divide0.8900.691
Pooled separately0.8930.781
Bivariate0.8910.780

The three approaches agree well enough on sensitivity. They do not agree on specificity: adding up and dividing gives 0.691, about 8.9 percentage points below both meta-analytic estimates.

The cause has nothing to do with thresholds and everything to do with the unit of analysis. Adding up treats each participant as the unit, so the study with 6,955 participants — 38% of the sample — very nearly decides the answer on its own, and its specificity is the lowest of all 14. In a meta-analysis the unit is the study, not the person; random-effects weighting pulls the weights towards each other precisely so that one study cannot drown out a dozen others (see fixed-effect and random-effects models).

This error and the separate-pooling one are two different things and should not be run together: one ignores the link between the two measures, the other ignores that studies are the unit of analysis. A paper can commit either without the other.

Continuity correction: hold it fixed or the comparison is not clean

The side-by-side table above rests on one condition: both approaches used the same continuity correction — 0.5 added to every cell, which is what mada::reitsma() does internally. Only then does the remaining difference reflect the model.

Switch the univariate side to metafor’s default instead (adding 0.5 only where a cell is zero) and the gap widens to 0.98 and 0.20 percentage points:

Correction used on the univariate sideSensitivitySpecificity
Every cell (matching the bivariate fit)0.8930.781
Zero cells only (metafor’s default)0.9010.782

The extra difference is the correction, not the model. A paper comparing zero-cell-only univariate results against a bivariate fit and attributing the whole gap to separate pooling has attributed it wrongly. Zero-cell handling has no settled answer of its own, and the costs of the various choices are covered in effect measures and their variances; the requirement here is only this: when comparing, hold fixed everything that is not what you are comparing.

Run it yourself

library(mada)
library(metafor)
library(ellipse)

data(AuditC, package = "mada")     # 14 studies, columns TP / FN / FP / TN
cc <- AuditC + 0.5                 # 0.5 on every cell, as reitsma() does

# -- 1. look at the mechanism before fitting anything ------------------------
madad(AuditC, correction = 0.5)$cor_sens_fpr   # sens vs FPR (positive)
cor.test(qlogis(cc$TP / (cc$TP + cc$FN)),      # sens vs spec (negative)
         qlogis(cc$TN / (cc$TN + cc$FP)))

# -- 2. separate pooling: two independent univariate models ------------------
es_sens <- escalc(measure = "PLO", xi = cc$TP, ni = cc$TP + cc$FN)
es_spec <- escalc(measure = "PLO", xi = cc$TN, ni = cc$TN + cc$FP)
m_sens  <- rma(yi, vi, data = es_sens, method = "REML")
m_spec  <- rma(yi, vi, data = es_spec, method = "REML")
plogis(c(m_sens$beta, m_sens$ci.lb, m_sens$ci.ub))   # pooled sens and 95% CI
plogis(c(m_spec$beta, m_spec$ci.lb, m_spec$ci.ub))   # pooled spec and 95% CI

# -- 3. bivariate: one model, with a between-study covariance ----------------
fit <- reitsma(AuditC, correction = 0.5, correction.control = "all")
summary(fit)          # pooled sensitivity and false pos. rate with 95% CIs
fit$Psi               # between-study covariance; psi12 > 0 IS that correlation
AUC(fit)              # area under the SROC curve (not a single study's ROC)

# -- 4. two ellipses: mada draws the confidence one, add Psi for the other ---
b <- as.numeric(coef(fit))                 # (logit sens, logit fpr)
V <- fit$vcov                              # sampling covariance of the fixed effects
e_conf <- ellipse(V[c(2, 1), c(2, 1)],            centre = b[c(2, 1)], level = 0.95)
e_pred <- ellipse((V + fit$Psi)[c(2, 1), c(2, 1)], centre = b[c(2, 1)], level = 0.95)

plot(fit, sroclwd = 2, xlim = c(0, 0.62), ylim = c(0.25, 1))
points(fpr(AuditC), sens(AuditC), pch = 21)
lines(plogis(e_conf[, 1]), plogis(e_conf[, 2]), lwd = 2)
lines(plogis(e_pred[, 1]), plogis(e_pred[, 2]), lty = 2)   # the much larger one

# -- 5. what does that rectangle actually cover? simulating beats reading ----
set.seed(20260823)
z <- matrix(rnorm(2 * 2e5), ncol = 2) %*% chol(V)
sim_sens <- plogis(b[1] + z[, 1])
sim_spec <- 1 - plogis(b[2] + z[, 2])
mean(sim_sens >= plogis(m_sens$ci.lb) & sim_sens <= plogis(m_sens$ci.ub) &
     sim_spec >= plogis(m_spec$ci.lb) & sim_spec <= plogis(m_spec$ci.ub))

Verified with R 4.6.0, mada 0.5.12, metafor 5.0.1 and ellipse 0.5.0

Reading the report

  1. Whether the model is named. Bivariate random effects (Reitsma) or HSROC (Rutter-Gatsonis) are acceptable answers; pooled sensitivity and specificity with no model named usually means two univariate models.
  2. Whether a between-study covariance or its correlation is given. That is where the threshold effect appears in a report. Two τ² values and nothing else means the model treated the measures as independent.
  3. Whether the two intervals are used crossed. An abstract giving sensitivity X (CI) and specificity Y (CI), with the body making a joint claim from them, is the rectangle from the section above.
  4. Whether the region reported is a confidence or a prediction region. A meta-analysis with only the former cannot answer what the test will do in your population.
  5. How far the SROC curve is drawn. If the observed range of false positive rates is not marked, treat the ends of the curve as extrapolation.
  6. How zero cells and the continuity correction were handled. This matters most when two approaches are being compared: unless the correction is the same, the attribution of the difference is wrong.
  7. Whether an add-up-and-divide result is being presented as a meta-analysis. Easy to check: if the pooled value equals total TP divided by total (TP + FN), that is what it is.
  8. Whether the model converged, and the residual degrees of freedom. A bivariate fit estimates five parameters (two means, two variances, one covariance) and can converge poorly, or push the covariance to a boundary, when studies are few. This fit converged, with 23 residual degrees of freedom and a log-likelihood of 31.56. When convergence is not mentioned, at least check that Psi’s correlation is not exactly plus or minus one — usually the sign of a boundary estimate.

Common misuses

MisuseWhy it is wrong
Fitting a random-effects model to each measure, then crossing the two intervalsThe rectangle covers corners the negative correlation rules out, and its actual joint coverage is below the nominal level
Adding the 14 2×2 tables and dividingThe unit of analysis becomes the participant, so the largest study dominates
Describing the prediction ellipse as where the next study will be observedIt is the next study’s true point, excluding that study’s own sampling error
Reporting only the confidence ellipseIt answers how precisely the average is known, not what happens next time
Quoting SROC coordinates outside the observed rangeThat segment is determined by model assumptions alone, with no study contributing
Reading the SROC AUC as a single study’s ROC AUCThe former spans studies, populations and readers; it is not one group of people with a moving cut-off
Comparing two pooling methods under different continuity correctionsThe gap then mixes in the correction, and the attribution is wrong
Calling two tests interchangeable because their DORs are similarThe DOR is a scalar and hides whether a test suits ruling in or ruling out
Treating bivariate and HSROC as competing conclusionsWith no covariates they are equivalent; they differ in which level covariates enter
Building a likelihood ratio interval by arithmetic on two sets of boundsThe corner combinations are incompatible under the model; intervals belong on the joint distribution
Declining to pool because heterogeneity is highHigh heterogeneity is normal in diagnostic accuracy research; the response is to model and explain it, not to abandon the synthesis
Using separate pooling overstates accuracy as an all-purpose argumentHere the overstatement is only 0.19 percentage points; the real argument is about the joint statement, not the summary point

Reproducing every number on this page

/opt/homebrew/bin/Rscript figures/scripts/B7-08-diagnostic-meta.R

Read the figure

The answer comes from the same statistical output that produced this page's figures, not from a number typed in beside them.

People say sensitivity and specificity must not be pooled separately. On these 14 AUDIT-C studies separate pooling gives a sensitivity of 0.893 and a specificity of 0.781, while the bivariate model gives 0.891 and 0.780. Is the warning wrong?

Show the answer and why

Correct answer: It is right, but not about the summary point: the two differ by 0.193 percentage points, and what actually breaks is the joint statement made by crossing the two intervals

Separate pooling does overstate both measures here, the direction the textbooks predict, but by around 0.193 of a percentage point — far too little to matter clinically. What breaks is the joint statement: cross two independent 95% intervals into a rectangle and the joint coverage is only about ninety per cent even if the two really were independent, and the shape is wrong on top of that. The 0.691 is the specificity from adding the 14 tables and dividing, which is a different error entirely — it discards the study as the unit of analysis, and the largest study alone carries nearly forty per cent of the total sample. That error is worse, but it is not what this question asks. The 1.215 is the sensitivity τ² under separate pooling; the heterogeneity is real, but a random-effects model exists to handle heterogeneity, so its size is not what makes separate pooling wrong. What makes it wrong is that one cut-off produces both measures, and pooling them separately declares them unrelated.

Crossing the two 95% intervals for sensitivity and specificity gives a rectangle 1.30 times the area of the bivariate confidence ellipse, yet Monte Carlo puts its actual joint coverage at only 91.9%. How does more area cover less?

Show the answer and why

Correct answer: Because the extra area is in the wrong place: the same draws give the ellipse 94.927%, and what the rectangle adds are the top-left and bottom-right corners, precisely the combinations the negative correlation rules out

The error has two layers. The arithmetic one first: even if the two measures really were independent, crossing two 95% intervals gives a joint coverage of 90.250%, and that holds regardless of the model. The second layer is the point — the shape is wrong. The top-left corner of the rectangle is high sensitivity together with high specificity and the bottom-right is both low, and those are exactly the combinations the negative correlation excludes. The rectangle includes them while giving up the two ends of the ellipse's long axis, which are the possibilities the data actually supports. Hence a third more area and less coverage. The 94.928% is the same set of draws applied to the confidence ellipse, and its sitting near nominal is what shows the procedure is sound — it is the counterexample to blaming the rectangle's coverage on the draws. The 0.015 is the rectangle's area, and area is not the problem; where the area lies is.

Someone takes the most optimistic corner of the rectangle — sensitivity at its upper limit of 0.941 and specificity also at its upper limit of 0.835 — and computes a positive likelihood ratio from it. What is wrong with that?

Show the answer and why

Correct answer: That corner is a combination the model says cannot occur together: the between-study correlation on the logit scale is 0.854, so taking both upper limits picks a point the data excludes

A likelihood ratio consumes both measures by definition, so its interval cannot be built by arithmetic on two boundaries. The top-left corner — both measures at their upper limits — is precisely the direction the negative correlation excludes: Psi's correlation on logit sensitivity and logit false positive rate is 0.854, which translates into a clear negative correlation between sensitivity and specificity, and both being high at once is what the data says cannot happen. The 0.220 is the summary false positive rate, and calling the corner using the uncertainty in full mistakes the shape of that uncertainty; it is not an optimistic estimate but a combination with no support at all. The 0.844 is the ellipse's extreme in the specificity direction, higher than the rectangle's limit — but the boundary of an ellipse is not the corner of a rectangle: at that specificity the ellipse's sensitivity is nowhere near its own extreme, and pairing the extremes of two directions repeats the same error. The right approach is to work on the model's joint distribution: draw from the bivariate sampling distribution, compute a likelihood ratio per draw, and take quantiles, or use the delta method.

The SROC plot carries two concentric ellipses, the outer one 10.37 times the area of the inner. What separates them?

Show the answer and why

Correct answer: The outer is the prediction ellipse, saying where the next study's true operating point lies: its sensitivity reaches as low as 0.291, and it does not shrink as studies accumulate

The two ellipses share a centre and differ in what they are uncertain about. The confidence ellipse takes its variance from the vcov of the fixed effects and says where the average operating point lies, shrinking as studies accumulate. The prediction ellipse takes that vcov plus Psi and says where the next study's true operating point lies; it does not shrink with more studies, because Psi is real between-study spread rather than our ignorance. So the next study's true sensitivity can be as low as 0.291 while the summary interval looks quite precise. The 0.781 is the confidence ellipse's lower reach in sensitivity, and the prediction ellipse is not that with per-study sampling error added — it refers to the next study's true value, and predicting an observed point would require adding that study's sampling variance on top. The 1.175 is Psi's standard deviation on logit sensitivity and is precisely why the outer region is so much larger, but the two are not one quantity at two levels: one is uncertainty about a mean, the other is the spread of a distribution. A meta-analysis reporting only the confidence ellipse answers what will happen next time with how certain the average is.

The false positive rates of these 14 studies lie between 0.059 and 0.520. A paper draws its SROC curve out to a false positive rate of 0.01 and quotes the sensitivity there. What is that number?

Show the answer and why

Correct answer: An extrapolation: 0.017 is determined entirely by the model's assumptions, and no study supplied information in that region

Only one stretch of an SROC curve has data under it: these studies span false positive rates from 0.059 to 0.520, and beyond that the curve is extrapolation whose shape is fixed entirely by the model's assumptions. A false positive rate of 0.01 sits far outside the observed range, and the 0.017 there is computed, not measured. The 0.887 is the area under the whole curve, and reading it as every point being equally reliable mistakes a summary for evidence — squeezing a curve into one number does not grow data where there was none. The 0.861 is the partial AUC, whose meaning is the opposite: it is deliberately restricted to the observed range precisely so the extrapolated segment stays out. Note also that this AUC is not the area under a single study's ROC curve — a single study's ROC comes from moving the cut-off within one population, while an SROC runs across studies whose populations, readers and reference standards all differ.

Given how awkward a pair of numbers is, why not reduce each study to a diagnostic odds ratio and pool that with ordinary meta-analysis tools?

Show the answer and why

Correct answer: Because a DOR discards the distinction that matters clinically: two tests with equal DORs can suit rule-out and rule-in respectively, and a summary specificity of 0.780 is what decides where a test belongs in the pathway

Reducing to a scalar makes ordinary meta-analysis tools immediately usable, at two costs. First, a DOR discards the clinically decisive distinction: two tests with the same DOR can have high sensitivity with middling specificity, suiting rule-out, or the reverse, suiting rule-in, and where a test belongs in the pathway is exactly what a clinician has to decide — the summary specificity of 0.780 is the sort of quantity that decision runs on, and a DOR does not show it. Second, a DOR is unstable on extreme tables: the two studies here with no false negatives get pushed, after correction, to the most extreme DORs in the set, with the two largest standard errors on the log scale. The 0.887 is the SROC AUC, which like a DOR summarises overall discrimination — but equal summaries do not make tests interchangeable, which is the first cost restated. The 0.861 is the partial AUC; the early Moses-Littenberg approach drew SROC curves precisely from each study's log DOR, so the curve does not become impossible. What disappears is the information about where on the curve a test should stand.

Sources and licences

This page is original writing

Report a content problem

The statistics on this site are written by AI and reviewed by AI; a human only spot-checks. What you can see may be what we cannot.

The more specific, the more fixable — e.g. which sentence disagrees with which textbook or paper.

Needed only if you want a reply; reports without it are still read.

Sent along with your report

These are attached automatically. You can drop any of them.