From row-space / column-space projections to demographic age schedules — how SVD-Comp (Clark, 2015; Clark, 2019) and its multi-way successor MDMx (Clark, 2026b) relate to the Lee–Carter model (Lee & Carter, 1992), and why the difference matters for interpretation.
1. The four fundamental subspaces
Any $m \times n$ matrix $A$ defines four subspaces (Strang, 2009). The column space and left null space live in $\mathbb{R}^m$. The row space and null space live in $\mathbb{R}^n$. The column space and left null space are orthogonal complements (together they span all of $\mathbb{R}^m$), and likewise for the row space and null space in $\mathbb{R}^n$.
The rank $r$ of the matrix sets the dimensions: column space and row space are each $r$-dimensional, the null space is $(n-r)$-dimensional, and the left null space is $(m-r)$-dimensional.
2. What SVD gives you — matched pairs
$U$ is $m \times m$ orthogonal, $\Sigma$ is $m \times n$ diagonal with $\sigma_1 \ge \sigma_2 \ge \cdots \ge \sigma_r > 0$, and $V$ is $n \times n$ orthogonal. The columns of $U$ are the left singular vectors; the columns of $V$ are the right singular vectors. These aren't arbitrary orthonormal bases — they are matched pairs that diagonalize the action of $A$:
Each right singular vector maps to the corresponding left singular vector, scaled by the singular value. The right singular vectors with nonzero $\sigma$ form an orthonormal basis for the row space. The left singular vectors with nonzero $\sigma$ form an orthonormal basis for the column space. The remaining singular vectors fill out the null space and left null space respectively.
The geometric picture
$A$ takes the unit sphere in $\mathbb{R}^n$ to a hyperellipsoid in $\mathbb{R}^m$. The $v_i$ are the input sphere's axes that map onto the output ellipsoid's axes (the $u_i$). The singular values $\sigma_i$ are the ellipsoid's semi-axis lengths — how much $A$ stretches along each matched direction.
3. The directional flip
The same pairing and gains, but the arrows reverse:
Multiplying by $A$ maps vectors from the input (row) space to the output (column) space. Multiplying by $A^T$ reverses the direction. The pairing and gains are invariant — only the arrow flips. Toggle the diagram below to see the reversal:
4. The rank-$k$ approximation
The SVD lets you write $A$ as a sum of rank-1 matrices:
The Eckart–Young–Mirsky theorem (Eckart & Young, 1936; Mirsky, 1960) says the best rank-$k$ approximation (in the Frobenius or operator norm) is the SVD truncation: keep the $k$ terms with largest $\sigma$. Each term says: project the input onto row-space direction $v_i$, scale by $\sigma_i$, output in column-space direction $u_i$. The residual error is:
If singular values decay rapidly, the data is effectively low-dimensional and the truncation loses almost nothing. Golub, Hoffman and Stewart (1987) extend the theorem to the best lower-rank approximation that keeps a specified set of columns of $A$ fixed.
5. SVD-Comp — the uncentered SVD for demographic age schedules
This is where the subspace geometry connects to demography. Describing many life tables with a few underlying dimensions goes back at least to Ledermann and Breas (1959), who applied factor analysis to 157 life tables from about 50 countries and found that a small number of factors accounted for most of the variation. The key reference for SVD-Comp is Clark (2015), which develops a general SVD-based component model for age-correlated demographic quantities; Clark (2019) develops it into a model of age-specific mortality indexed by child mortality, or by child and adult mortality.
Organize a matrix $A$ so that each column is one population-year's age schedule and each row is an age group. Each row is a point in $\mathbb{R}^H$ (where $H$ = number of population-years). The SVD identifies the primary directions in this cloud of age-group points.
Why the uncentered cloud works for demography
The critical observation: because mortality (or fertility) at each age is similar across population-years, the age-group points cluster on a line from the origin with slope $\approx 1$. The first right singular vector $v_1$ points from the origin through the cloud — it captures level. How far each age-group point sits along $v_1$ encodes the canonical age schedule $u_1$.
For log mortality: old-age points (age 85, high mortality, small negative log) are near the origin; childhood points (age 5 in the figure, the lowest mortality, large negative log) are far from the origin. The spacing along $v_1$ is the bathtub curve of mortality.
6. Lee–Carter and SVD-Comp: centered and uncentered
Lee and Carter (1992) also build their model on the SVD, and its introduction marked a breakthrough in mortality forecasting (Basellini, Camarda & Booth, 2023). The model describes a population's mortality with an average age schedule $a_x$, an age pattern of change $b_x$, and a single index $k_t$ of the general level of mortality (Lee & Miller, 2001). Because $k_t$ usually changes smoothly over time, forecasting the whole age schedule reduces to forecasting one time series. The approach has spawned a large family of extensions, including coherent forecasts for groups of populations (Li & Lee, 2005), a functional-data generalization that smooths across age and is robust to outlying years such as wars and epidemics (Hyndman & Ullah, 2007), and rotation of the age pattern of mortality decline (Li, Lee & Gerland, 2013).
The two models differ mainly in one step: whether each age's mean is removed before the SVD. Toggle the figure above between "Uncentered" and "Centered by age" to see it.
Lee–Carter: center by age, then decompose the change
Lee–Carter subtracts each age's average over the years, $a_x$, before applying the SVD. In the figure, every age-group point slides along the diagonal until its coordinates average to zero, so the cloud lies on the line perpendicular to the level direction. What remains is change over time, and the leading SVD term of that residual gives $b_x$ and $k_t$: $$\ln(m_{x,t}) = a_x + b_x k_t + \varepsilon_{x,t}$$ with $\sum_x b_x = 1$ and $\sum_t k_t = 0$. Lee and Carter then re-estimate $k_t$ so that fitted deaths match observed deaths, and Wilmoth (1993) developed improved fitting methods based on a weighted SVD.
SVD-Comp: keep the average schedule inside the decomposition
SVD-Comp works on the uncentered matrix. The first term $\sigma_1 u_1 v_1^T$ is, literally, level × canonical age structure, and subsequent terms are separable age-specific deviations from canonical. Each column of the data matrix is a weighted sum of the $u_i$ components, with weights from the corresponding $v_i$ (Clark, 2015, Equation 10). Typically 2–3 weights suffice to reproduce an entire age schedule, and because every schedule is described by weights on the same components, schedules from different populations and periods can be compared, clustered, fitted, and predicted from covariates or summary indicators (Clark, 2015; Clark, 2019).
How do the two connect? If the first right singular vector $v_1$ were exactly constant across years, the first SVD-Comp term would equal the average schedule $a_x$ (repeated in every year), and the second term would equal Lee–Carter's $b_x k_t$. In real data the level changes over time, so $v_1$ tilts toward the time trend and the first SVD-Comp term also absorbs part of the change. The time pattern of the second weights, $v_2$, then tracks $k_t$ closely, but the age pattern $u_2$ is a blend of $b_x$ and the average schedule rather than $b_x$ itself. The two models organize similar information differently, for different purposes: Lee–Carter to describe and forecast change over time in one population, SVD-Comp to represent many schedules with a few shared components.
The column reconstruction — Equation 10 of Clark (2015)
Each column (population-year) of the data matrix can be written (in the paper's notation, $s_i = \sigma_i$ and $\rho = r$):
where $\Lambda_i = s_i \cdot u_i$ are the age-varying components. Taking the first $c$ terms gives a $c$-parameter model. The weights $v_{h,i}$ are the parameters — typically just 2 or 3 numbers capture an entire age schedule. For an application to fertility, see Pantazis & Clark (2018).
7. The directional flip in demographic terms
Right-multiplying $A$ by $v_1$ (projecting the data onto the dominant year-direction) gives $\sigma_1 u_1$ — the canonical age schedule, scaled by overall level. You're asking: "across all years, what is the dominant age pattern of mortality?"
Left-multiplying $A$ by $u_1^T$ (equivalently, computing $A^T u_1$, which projects the data onto the canonical age pattern) gives $\sigma_1 v_1$ — the year-to-year level index. You're asking: "given this canonical age shape, how does overall mortality level track across years?"
One matched pair, two directions. The first lives in age-space, the second in year-space, and $\sigma_1$ is the coupling strength between them.
In Lee–Carter terms
In Lee–Carter, $k_t$ is an index of the general level of mortality: it tracks how the level changes over time around the average schedule $a_x$, and $b_x$ gives how strongly each age responds. In SVD-Comp the average schedule is not set aside, so the whole level of each schedule, including its average, is carried by the first weight $v_{h,1}$, and the second matched pair describes the main way schedules depart from the canonical shape.
8. From SVD-Comp to MDMx
SVD-Comp factors a two-way table: ages by population-years. MDMx, the multi-dimensional mortality model (Clark, 2026b), takes the same idea to a multi-way array. Period life tables from the Human Mortality Database are organized as a four-way tensor of logit($_1q_x$) indexed by sex, age, country, and year, and decomposed with a Tucker decomposition (Tucker, 1966), a multi-way generalization of the SVD (De Lathauwer, De Moor & Vandewalle, 2000; Kolda & Bader, 2009).
The sex and age factor matrices are shared, so every output schedule is coherent between the sexes by construction — the goal that Li and Lee (2005) reach within the Lee–Carter framework by adding a common factor for a group of populations. One decomposition supports model life tables, life table fitting, prediction of complete schedules from child or adult mortality (SVD-Comp reformulated in tensor coordinates), and forecasting. A companion paper (Clark, 2026a) forecasts by following a flow field through the low-dimensional score space of the same decomposition, parameterized by mortality level, rather than by extrapolating a time index. A research preview compares it with Lee–Carter and other leading methods, and the MDMx app implements the methods.
9. Summary
The SVD of a matrix $A$ simultaneously provides orthonormal bases for all four fundamental subspaces and pairs the row-space basis with the column-space basis through the singular values. Each row-space direction $v_i$ has a partner column-space direction $u_i$, and $\sigma_i$ is the gain along that pair. This pairing is what makes the SVD so useful for structured data.
For demographic age schedules:
SVD-Comp (uncentered) keeps the average schedule inside the decomposition. The first matched pair captures level × canonical age structure; subsequent pairs capture separable age-specific deviations from canonical. Each column of the data matrix is a weighted sum of the $u_i$ components, with weights from the corresponding $v_i$. Typically 2–3 weights suffice, which makes the components a natural basis for model life tables, smoothing, and predicting complete schedules from covariates or summary indicators. MDMx extends the same logic to sex, age, country, and year at once.
Lee–Carter (centered by age) sets the average schedule aside as $a_x$ and applies the SVD to what remains, so its single component describes change over time: $b_x$ gives the age pattern of change and $k_t$ the general level of mortality. That design is what makes Lee–Carter so effective for forecasting a single population's mortality: the whole future reduces to forecasting $k_t$. The two approaches use the same tool to answer different questions.
References
- Basellini, U., Camarda, C. G. & Booth, H. (2023). Thirty years on: A review of the Lee–Carter method for forecasting mortality. International Journal of Forecasting 39(3): 1033–1049. doi:10.1016/j.ijforecast.2022.11.002
- Clark, S. J. (2015). A singular value decomposition-based factorization and parsimonious component model of demographic quantities correlated by age: Predicting complete demographic age schedules with few parameters. arXiv:1504.02057. arxiv.org/abs/1504.02057. An earlier version appeared as Working Paper No. 143 (2014), Center for Statistics and the Social Sciences, University of Washington.
- Clark, S. J. (2019). A general age-specific mortality model with an example indexed by child mortality or both child and adult mortality. Demography 56(3): 1131–1159. doi:10.1007/s13524-019-00785-3
- Clark, S. J. (2026a). Mortality forecasting as a flow field in Tucker decomposition space. arXiv:2603.24299. arxiv.org/abs/2603.24299
- Clark, S. J. (2026b). Multi-dimensional mortality (MDMx): Sex-age-specific model life tables, fitting, prediction from summary mortality indicators, and forecasting. arXiv:2603.20518. arxiv.org/abs/2603.20518
- De Lathauwer, L., De Moor, B. & Vandewalle, J. (2000). A multilinear singular value decomposition. SIAM Journal on Matrix Analysis and Applications 21(4): 1253–1278. doi:10.1137/S0895479896305696
- Eckart, C. & Young, G. (1936). The approximation of one matrix by another of lower rank. Psychometrika 1(3): 211–218. doi:10.1007/BF02288367
- Golub, G. H., Hoffman, A. & Stewart, G. W. (1987). A generalization of the Eckart-Young-Mirsky matrix approximation theorem. Linear Algebra and its Applications 88–89: 317–327. doi:10.1016/0024-3795(87)90114-5
- Hyndman, R. J. & Ullah, M. S. (2007). Robust forecasting of mortality and fertility rates: A functional data approach. Computational Statistics & Data Analysis 51(10): 4942–4956. doi:10.1016/j.csda.2006.07.028
- Kolda, T. G. & Bader, B. W. (2009). Tensor decompositions and applications. SIAM Review 51(3): 455–500. doi:10.1137/07070111X
- Ledermann, S. & Breas, J. (1959). Les dimensions de la mortalité. Population 14(4): 637–682. doi:10.2307/1526082
- Lee, R. D. & Carter, L. R. (1992). Modeling and forecasting U.S. mortality. Journal of the American Statistical Association 87(419): 659–671. doi:10.1080/01621459.1992.10475265
- Lee, R. & Miller, T. (2001). Evaluating the performance of the Lee-Carter method for forecasting mortality. Demography 38(4): 537–549. doi:10.1353/dem.2001.0036
- Li, N. & Lee, R. (2005). Coherent mortality forecasts for a group of populations: An extension of the Lee-Carter method. Demography 42(3): 575–594. doi:10.1353/dem.2005.0021
- Li, N., Lee, R. & Gerland, P. (2013). Extending the Lee-Carter method to model the rotation of age patterns of mortality decline for long-term projections. Demography 50(6): 2037–2051. doi:10.1007/s13524-013-0232-2
- Mirsky, L. (1960). Symmetric gauge functions and unitarily invariant norms. The Quarterly Journal of Mathematics 11(1): 50–59. doi:10.1093/qmath/11.1.50
- Pantazis, A. & Clark, S. J. (2018). A parsimonious characterization of change in global age-specific and total fertility rates. PLOS ONE 13(1): e0190574. doi:10.1371/journal.pone.0190574
- Strang, G. (2009). Introduction to Linear Algebra, 4th ed. Wellesley-Cambridge Press.
- Tucker, L. R. (1966). Some mathematical notes on three-mode factor analysis. Psychometrika 31(3): 279–311. doi:10.1007/BF02289464
- Wilmoth, J. R. (1993). Computational methods for fitting and extrapolating the Lee-Carter model of mortality change. Technical report, Department of Demography, University of California, Berkeley.