Why Plausible Velocity Results Can Fail
An RNA velocity estimate is an inference about the local change in gene expression, not a direct observation of a cell moving through time. It depends on information in spliced and unspliced RNA counts, a kinetic description of how those counts change, and, when results are visualized on a neighbor graph, a meaningful relationship between that graph and the expression-space velocity. A persuasive arrow or smooth-looking trajectory is not evidence that these ingredients are reliable.
This tutorial focuses on four failure modes: weak intronic coverage, poor kinetic fits, incompatible scaling, and incoherent neighbor projections. Each can produce a result that looks numerically definite while being poorly supported. The appropriate response is to diagnose the source of the problem before interpreting direction or magnitude.
A basic diagnostic question is therefore not simply “Is the velocity positive or negative?” It is “What data and assumptions make that sign credible?” In particular, the observed counts must contain enough information to estimate the relevant kinetic relationship; the fitted model must describe the data adequately; the quantities and parameters must share a compatible scale; and a graph-based projection must agree with the local expression-space information it summarizes.
Failure Mode 1: Weak Intronic Coverage
Unspliced counts are often sparse. When few intronic reads are observed, small changes in a count can represent a large relative change in the evidence for unspliced abundance. A cell with zero observed unspliced counts is not necessarily a cell with exactly zero underlying abundance; conversely, one or two counts may be insufficient to determine a stable kinetic estimate. The problem is particularly serious when a velocity sign depends on a small difference between the production and removal terms.
A simple calculation illustrates the sampling issue. If counts are approximately Poisson with mean \(\lambda\), their standard deviation is \(\sqrt{\lambda}\), so the standard deviation relative to the mean is \(1/\sqrt{\lambda}\). This calculation is only a reference point: actual counts may be more variable, and uncertainty in kinetic rates adds further uncertainty. It nevertheless shows why low coverage deserves scrutiny rather than a confident interpretation.
Worked Example: A Velocity Sign Supported by Few Counts
Suppose, for illustration, that a gene in one cell has observed unspliced abundance \(u=1\) and spliced abundance \(s=10\). A fitted model gives \(\beta=0.8\) and \(\gamma=0.1\), in compatible units. Its estimated velocity is
The point estimate is negative, but the unspliced count is only one. Under a Poisson reference model with mean one, the count standard deviation is \(\sqrt{1}=1\), equal to the mean. If the rate estimates were held fixed, the contribution of unspliced-count variation to the velocity standard deviation would be approximately \(\beta\sqrt{u}=(0.8)(1)=0.8\), already larger than the estimated velocity magnitude of \(0.2\). This calculation does not provide a full uncertainty interval, but it shows that the sign is not well supported by the count information alone.
A corrective check is to examine intronic coverage and uncertainty for this gene across the relevant cells, not just the displayed point estimate. Compare the sign under reasonable perturbations or resampling of the counts and rates. If the sign changes readily, treat the cell-level direction as unresolved rather than as evidence of a definite decrease.
Pooling or smoothing can make a sparse estimate appear more stable, but does not create independent evidence for the individual cell. Check whether conclusions depend on the selected gene set, the cells included, or the smoothing choices. A gene with consistently inadequate coverage may need to be excluded from velocity interpretation; that decision should be based on an explicit coverage criterion and the analysis goal, not on whether its arrows agree with a preferred story.
Failure Mode 2: A Poor Kinetic Fit
A kinetic model is an approximation to the process generating the observed counts. If the approximation is poor, its estimated rates and velocities can be misleading even when counts are plentiful. A useful fit check asks whether residuals—the differences between observed values and model-predicted values—look consistent with the assumed noise and show no systematic pattern. A residual pattern across expression level, cell state, or inferred time suggests that the model is missing structure rather than merely encountering random sampling variation.
Residual magnitudes should be interpreted in relation to the noise model and the fitting procedure. Standardized residuals are residuals divided by their estimated standard deviations; under a well-calibrated model they should generally be on the scale anticipated by that model, without systematic trends. There is no universal residual cutoff that proves a model adequate. The key evidence is a combination of unusually large deviations, structure, and sensitivity of the resulting velocity to plausible modeling choices.
Worked Example: Detecting Structured Fit Error
Consider a hypothetical gene fit for which five standardized residuals, ordered by cell position along a candidate progression, are \(-2.4\), \(-1.8\), \(1.7\), \(2.2\), and \(2.5\). Their root mean squared value is
The residuals also change from negative at one end of the ordering to positive at the other. That ordered pattern matters: a model may be systematically underpredicting in one region and overpredicting in another. The root mean squared value summarizes the size of the residuals but does not, by itself, establish the cause or provide a universal pass-fail threshold.
The corrective check is to plot residuals against the variables used to organize the fit, such as expression level or the model’s inferred temporal coordinate, and inspect whether the pattern persists under an appropriate alternative kinetic specification. If the fit changes substantially and the residual pattern remains, the velocity should not be treated as a robust local derivative. A more flexible fit is not automatically better; it must also be supported by the data and avoid fitting noise.
A poor fit can reflect an inappropriate model for the gene, inadequate coverage, or biological variation not captured by the fitted kinetics. These possibilities are not interchangeable. First check the data and residual pattern; then compare plausible model specifications and assess whether velocity conclusions are stable. Do not interpret a poor fit as proof of a particular biological mechanism.
Failure Mode 3: Incompatible Scaling
Velocity depends on the numerical scales of \(u\), \(s\), and the kinetic parameters. Normalization or rescaling can be useful, but the transformation of the data and the interpretation of the parameters must agree. A particular danger is to use transformed abundances with rate estimates fitted on a different scale as if the rates were unchanged. The resulting velocity can have a distorted magnitude or even the wrong sign.
The required transformation can be derived directly. Suppose \(u^*=a_u u\) and \(s^*=a_s s\), where \(a_u\) and \(a_s\) are positive scale factors. Since \(\dot{s}=\beta u-\gamma s\), the transformed derivative is
Thus the coefficient multiplying \(u^*\) must be \(\beta^*=(a_s/a_u)\beta\), while the coefficient multiplying \(s^*\) remains \(\gamma\) under this constant rescaling. The transformation is valid only if the data, parameters, and resulting velocity are handled consistently. More complicated normalizations may not be represented by a single constant factor, so the corresponding model and interpretation need to be checked on their own terms.
Worked Example: A Sign Reversal From Mixing Scales
Suppose the compatible-scale values are \(u=4\), \(s=10\), \(\beta=1\), and \(\gamma=0.5\). The velocity on that scale is
Now suppose the reported abundances are transformed using \(u^*=2u=8\) and \(s^*=0.5s=5\), but the original coefficients are incorrectly applied without transformation. This gives
which has the opposite sign. To calculate on the transformed scale correctly, use \(\beta^*=(a_s/a_u)\beta=(0.5/2)(1)=0.25\) and \(\gamma=0.5\). Then
This is \(a_s\dot{s}=(0.5)(-1)=-0.5\), as required. The corrective check is to document the transformations applied to each abundance and confirm that the fitted or transformed parameters match those scales. A velocity sign that changes under a consistent change of units is a warning that something has been mixed incorrectly.
Failure Mode 4: Incoherent Neighbor Projections
An expression-space velocity can be projected onto displacements between a cell and its graph neighbors to help visualize local direction. Such a projection summarizes how the vector aligns with particular edges; it does not independently validate the underlying vector or prove a temporal transition. A graph built to represent expression similarity may connect cells in ways that are not equally informative about local dynamics. Projection results can therefore be unstable or contradictory across nearby cells.
For a cell with expression-space position \(z_i\), velocity vector \(v_i\), and neighbor \(j\) at \(z_j\), a basic directional score is the dot product \(q_{ij}=v_i^\mathsf{T}(z_j-z_i)\). A positive score means the vector points partly toward that neighbor; a negative score means it points partly away. The score depends on the coordinate scale and displacement length, so it is not by itself a probability or a measure of transition certainty. The weighted signs across edges are a diagnostic of local coherence, not a substitute for checking the model and graph.
Worked Example: Mixed Directions Across Neighbor Edges
Suppose a cell has three graph neighbors with projection scores \(q_{i1}=1.0\), \(q_{i2}=-0.8\), and \(q_{i3}=-0.6\), and their graph weights are \(0.40\), \(0.35\), and \(0.25\). The weighted average score is
Only the first edge has a positive projection. The total weight on positive edges is \(0.40\), while \(0.60\) is on negative edges. The near-zero weighted average is not evidence for a clear direction: substantial neighbor weight points against the vector’s direction. A visualization that displays one smooth arrow could conceal this edge-level disagreement.
The corrective check is to inspect projection signs and magnitudes across local edges and across nearby cells, rather than relying on the summarized arrow alone. Also check that the graph and the vector use compatible coordinates and that the apparent pattern is not driven by a small number of edges or by a change in embedding. If the local signs remain mixed, describe the projected direction as uncertain or incoherent at that location.
A Diagnostic Sequence and Its Limits
These checks are complementary. Adequate intronic coverage does not establish that the kinetic model fits; a good fit does not guarantee compatible scaling; and a coherent projection does not prove that the inferred direction is biologically correct. A practical sequence is to identify which link is least supported before interpreting the final visualization.
Inspect unspliced and spliced coverage in the cells and genes used for inference. Ask whether plausible count uncertainty could change the velocity sign or materially alter its magnitude.
Examine residual size and structure under the stated noise model. Compare plausible kinetic specifications and determine whether the substantive velocity pattern is sensitive to the fit.
Trace how each abundance was normalized or transformed and ensure the parameters used in the velocity equation apply to those transformed quantities.
Inspect edge-level projection scores, their weights, and behavior across nearby cells. Treat a mixed or unstable pattern as a limitation of the projected direction.
The earlier material on sparse counts and measurement noise is relevant when assessing uncertainty in the observations, while the earlier material on diagnosing kinetic model misfit provides context for interpreting fit checks. The present checks do not eliminate all uncertainty: kinetic assumptions can be wrong in ways that residual plots do not reveal, and a graph can misrepresent biological relationships even when its local projections are numerically consistent. Benchmarking against known transitions, when available, supplies a different kind of evidence, but it too depends on the scope and quality of the reference.
A common mistake is to treat a visually smooth field as confirmation that cells are progressing in the displayed direction. The wrong reasoning is: “The arrows are aligned, so the inferred dynamics must be reliable.” The correction is to separate evidence at each stage: assess count support, fit adequacy, scaling, and projection coherence independently. Smoothness may result from projection or averaging, and agreement among neighboring arrows cannot repair a poorly supported kinetic estimate.
Check Your Understanding
Use the diagnostic principles above. Brief solutions follow the questions.
- A gene has mostly zero unspliced counts, and its estimated velocity changes sign when one count is added. Which failure mode is most directly indicated, and what should be checked?
- Residuals are mostly negative at low expression and positive at high expression. What does this pattern suggest, and what is an appropriate next check?
- If \(u^*=3u\) and \(s^*=s\), what coefficient should multiply \(u^*\) in the transformed velocity equation?
- A projected velocity has a positive weighted average across neighbors, but most neighbor weight has negative edge scores. Is the local direction clearly coherent? Explain.
- Why does agreement among projected arrows not, by itself, establish that the inferred transitions are biologically correct?
Solutions. (1) Weak intronic coverage; assess count uncertainty and whether the direction is stable under reasonable perturbations, rather than interpreting the point estimate as definite. (2) The kinetic model may systematically underpredict at one expression range and overpredict at another; inspect residuals against expression and compare plausible fits. (3) Here \(a_u=3\) and \(a_s=1\), so \(\beta^*=(a_s/a_u)\beta=\beta/3\). (4) No. The positive average can be driven by a subset of edges; inspect edge-level scores and weights and report the mixed support. (5) Projection summarizes alignment with graph edges. It cannot establish that counts and kinetics are reliable or that the graph represents true biological progression.