Why the Correction Structure Matters
Batch correction is not just a choice about how much variation to remove. It is also a claim about how technical differences act on expression measurements. A correction that assumes one common shift across genes makes a stronger claim than a model that allows each gene its own batch effect. If that claim is wrong, the remaining batch differences can be attributed partly to condition, especially when the conditions are unevenly distributed across batches.
The issue is particularly important in single-cell RNA sequencing, where batches may differ in processing, sequencing, or other technical conditions, while biological conditions may also be unevenly represented. The models below describe expression on a chosen additive scale, such as a specified normalized, transformed expression scale. A shift that is common on one scale need not be common on another.
In the shared model, \(\delta_b\) is a common additive shift in the stated expression units: for a given batch, it is the same number for every gene. In the gene-specific model, \(\gamma_{g,b}\) can differ in both size and direction across genes. Both models assume that the condition effect for a gene is the same across batches; allowing it to vary by batch is a separate interaction question.
Assumptions and What Is Estimable
These models are useful only when their assumptions match the analysis. First, an additive effect must be a reasonable description on the chosen scale. Second, the shared model requires the particularly strong assumption that a batch changes every gene by the same additive amount. The gene-specific model relaxes that restriction, but still assumes an additive batch effect for each gene and no batch-by-condition interaction.
For a condition contrast adjusted for batch to be estimable, the observed condition and batch pattern must contain enough overlap to distinguish their effects. If condition is perfectly determined by batch, a condition contrast and a batch effect cannot be separated from the data alone. With partial overlap, the contrast may be estimable but imprecise. This is the same identifiability concern addressed in the earlier material on confounding and estimable contrasts; choosing gene-specific effects does not create missing comparisons.
For interpretation of the equations below, suppose errors have conditional mean zero given condition and batch. The calculations describe the fitted mean contrast, not a claim that every cell is an independent biological replicate. In an actual analysis, uncertainty must reflect the experimental unit and the study’s dependence structure.
Worked Example: When a Shared Shift Fits the Observed Pattern
Suppose expression is summarized on an additive scale for two genes in two batches. The following hypothetical measurements are batch means for samples in the same condition, so condition does not vary across the four displayed entries.
| Gene | Batch 0 mean | Batch 1 mean | Difference, Batch 1 minus Batch 0 |
|---|---|---|---|
| Gene A | 5 | 7 | 2 |
| Gene B | 10 | 12 | 2 |
For Gene A, the batch shift is \(7-5=2\) units. For Gene B, it is \(12-10=2\) units. Thus these means are consistent with a shared shift \(\delta_1=2\) and reference shift \(\delta_0=0\). Subtracting 2 from each Batch 1 measurement puts both batch means on the Batch 0 scale: \(7-2=5\) and \(12-2=10\).
This example illustrates compatibility with the shared-shift structure; it does not establish that the structure is true for other genes or samples. Nor can these condition-constant means estimate a condition contrast. The model choice and the estimability of the biological contrast are distinct questions.
How a Wrong Shared Correction Biases a Condition Contrast
Consider two batches, coded \(B_i=0\) and \(B_i=1\), and a binary condition \(C_i=0\) or \(1\). For one gene, suppose the true mean model is \(Y_{ig}=\mu_g+\beta_g C_i+\gamma_g B_i+\varepsilon_{ig}\). If the applied shared correction subtracts \(\delta B_i\), the adjusted value is \(Y_{ig}-\delta B_i=\mu_g+\beta_g C_i+(\gamma_g-\delta)B_i+\varepsilon_{ig}\). Unless \(\gamma_g=\delta\), a batch term remains. If the condition estimate is then obtained by comparing the adjusted condition means without fully accounting for that remaining term, the batch imbalance contributes to the comparison.
The result follows by taking the mean of the adjusted model separately within each condition. The condition-1 mean contains \(\mu_g+\beta_g+(\gamma_g-\delta)\overline{B}_{C=1}+\overline{\varepsilon}_{C=1}\); the condition-0 mean contains \(\mu_g+(\gamma_g-\delta)\overline{B}_{C=0}+\overline{\varepsilon}_{C=0}\). Subtracting the latter from the former gives the displayed expression. Thus a wrong correction alone need not bias this contrast when batch proportions match, but a wrong correction combined with imbalance can.
Worked Example: Quantifying Bias From a Shared Correction
Suppose a hypothetical gene has true condition effect \(\beta_g=2\) expression units and true batch effect \(\gamma_g=4\) units. A shared correction of \(\delta=1\) unit is applied. Among condition 0 observations, one quarter are in Batch 1; among condition 1 observations, three quarters are in Batch 1. Assume the average errors in the two condition groups are zero.
The batch-proportion difference is \(0.75-0.25=0.50\), and the uncorrected portion of the batch shift is \(\gamma_g-\delta=4-1=3\) units. Therefore,
The estimated contrast is 3.5 units, which is 1.5 units above the true 2-unit effect. Equivalently, the batch means after correction still differ by \(4-1=3\) units, and the condition groups differ in Batch 1 representation by 0.50, yielding \(3(0.50)=1.5\) units of bias. The estimate is not evidence that the condition caused a 3.5-unit change; it is the result of the specified model and this hypothetical imbalance.
Why Gene-Specific Effects Can Change the Answer
A shared correction can be estimated by pooling information across genes, whereas gene-specific models estimate a separate batch effect for each gene. Pooling can be more stable when the common-shift assumption is credible. But if genes respond differently to batch, one pooled shift cannot match all of them. The model may then leave gene-specific residual batch effects, which can contaminate condition estimates in proportion to the condition-batch imbalance.
A gene-specific model avoids imposing equality of the batch effects across genes. Under the additive model, with sufficient condition-batch overlap and an adequately specified design, it can separate \(\beta_g\) from \(\gamma_{g,b}\) for each gene. This flexibility does not guarantee accurate estimates: with sparse overlap, little data per gene, or strong noise, gene-specific estimates can be unstable. More parameters do not fix non-identifiability.
Worked Example: A Pooled Shift Distorts Two Genes in Opposite Directions
Suppose two genes have true Batch 1 effects of \(4\) and \(-2\) units, respectively, relative to Batch 0. Assume equal fitting weights and the same design for both genes. For this simplified calculation, the fitted shared shift is the average of the two true effects:
Suppose the true condition effects are 1 unit for Gene A and 3 units for Gene B, and for each gene the Batch 1 proportion is 0.75 in condition 1 and 0.25 in condition 0. The batch-proportion difference is \(0.50\).
For Gene A, the uncorrected batch effect is \(4-1=3\) units. Its condition estimate is therefore \(1+3(0.50)=2.5\) units. For Gene B, the uncorrected batch effect is \(-2-1=-3\) units. Its condition estimate is \(3+(-3)(0.50)=1.5\) units. Thus the shared correction biases Gene A upward by 1.5 units and Gene B downward by 1.5 units. A gene-specific correction matching effects 4 and \(-2\), respectively, removes these residual batch terms in this model.
The calculation relies on the stated equal-weight simplification; actual pooled estimates depend on the design, weights, and fitting procedure. Its point is structural: when batch effects differ across genes, a common shift can leave errors of opposite signs.
Choosing and Checking a Correction Structure
A practical comparison starts by stating the scale and the restriction being imposed. A shared shift is parsimonious, but its common-effect assumption is strong. Gene-specific effects are more flexible, but can be noisy and require enough information to estimate them. Neither structure should be selected solely because one produces a visually well-mixed embedding or removes more batch-associated variation.
| Feature | Shared batch shift | Gene-specific batch effects |
|---|---|---|
| Batch effect | Same additive shift across genes | May vary by gene |
| Parameter sharing | Strong pooling across genes | Separate effects by gene |
| Main advantage | Fewer batch parameters; potentially more stable | Can represent heterogeneous gene responses |
| Main risk | Residual gene-specific batch effects bias contrasts when batches are imbalanced | Unstable estimates when gene-level information or overlap is limited |
Useful checks include comparing estimated batch differences across a representative set of genes on the analysis scale, examining whether residuals retain systematic batch patterns, and checking whether condition estimates change materially under the two stated structures. These checks diagnose model sensitivity; they do not by themselves identify which model is biologically correct. In particular, a strong condition-batch association can make model differences hard to interpret because the data provide limited information to distinguish the effects.
Failure modes include using one common correction just because it is computationally convenient, treating a gene-specific model as a remedy for complete confounding, or interpreting a corrected expression value as if all technical variation had been removed. A correction is conditional on a model and available comparisons. It cannot supply an unobserved condition-batch combination or prove that the remaining differences are biological.
Common Mistake
Wrong reasoning: “The batch effect is estimated across many genes, so the common correction must be accurate for every gene.”
Pooling may reduce noise in a genuinely shared effect, but it does not make heterogeneous effects equal. If gene \(g\)'s true shift is \(\gamma_g\) and the applied shift is \(\delta\), the residual is \(\gamma_g-\delta\). When the fraction of observations in that batch differs by condition, this residual contributes \((\gamma_g-\delta)(\overline{B}_{C=1}-\overline{B}_{C=0})\) to the estimated contrast. The correction's precision and its structural adequacy are different questions.
Check Your Understanding
Answer each question, then compare your reasoning with the solutions.
- A gene has a true batch effect of 5 units, but the shared correction is 3 units. The Batch 1 proportions are 0.60 in condition 1 and 0.20 in condition 0. Assuming zero average errors, what is the bias in the condition contrast?
- For what two distinct reasons can the bias in the displayed result be zero?
- Why does a gene-specific batch model not solve perfect condition-batch confounding?
- On an additive expression scale, two genes have batch shifts of 2 and 6 units. Is a single shared shift exactly correct for both? Explain.
Solutions. 1. The residual batch effect is \(5-3=2\) units and the batch-proportion difference is \(0.60-0.20=0.40\). The bias is \(2(0.40)=0.8\) expression units. 2. The bias is zero if the correction matches the gene-specific effect, so \(\gamma_g-\delta=0\), or if batch proportions are equal across conditions, so \(\overline{B}_{C=1}-\overline{B}_{C=0}=0\). 3. With perfect confounding, the observed design contains no comparison that separates condition from batch; multiple combinations of their effects can explain the same observations. Adding gene-specific batch parameters does not add the missing comparison. 4. No. A single common shift cannot equal both 2 and 6 units. It may approximate them, but it leaves a residual for at least one gene.