Tutorials › Multivariate Statistics (Graduate) › Spiked Covariance Models

High-Dimensional PCA and Factors · Tutorial 854 of 975

Spiked Covariance Models

Learn to specify spiked population covariance matrices and calculate their signal and noise eigenvalues and eigendirections.

Advanced 10 min read

What You'll Learn

  • Define a rank-one covariance spike and interpret its excess strength
  • Extend the model to a fixed number of orthogonal signal directions
  • Calculate population eigenvalues and eigenvectors from a covariance matrix
  • Distinguish spike eigenvalues from the repeated isotropic noise eigenvalue
  • Explain why nonorthogonal factor loadings need not be covariance eigenvectors
  • Separate population spikes from eigenvalues of a sample covariance matrix

Why Spiked Covariance Models Separate Signal From Noise

In high-dimensional principal component analysis (PCA), a population covariance matrix can have a small number of directions with more variation than the rest. A spiked covariance model represents this structure by combining isotropic background variation with a low-rank signal component. The model is useful because it makes the population eigenvalues and eigendirections explicit, while keeping the number of signal directions small relative to the dimension.

Here, “spike” refers to an eigenvalue of the population covariance that is larger than the common noise eigenvalue. It does not refer to an observed sample eigenvalue. A sample covariance matrix is random, and its eigenvalues need not equal the population eigenvalues. The present focus is the population model itself, not the asymptotic behavior of those sample eigenvalues.

The Rank-One Model

Let \(X\) be a random vector in \(\mathbb{R}^p\) with finite second moments, mean \(\mu=E[X]\), and positive definite covariance matrix \(\Sigma=\operatorname{Cov}(X)\). In the rank-one model, a unit vector \(u\in\mathbb{R}^p\) gives the signal direction, and the covariance is

$$ \Sigma=\sigma^2 I_p+\theta uu^\mathsf{T}, \qquad u^\mathsf{T}u=1,\quad \sigma^2>0,\quad \theta>0. $$

Here \(I_p\) is the \(p\)-dimensional identity matrix, \(\sigma^2\) is the isotropic noise variance, and \(\theta\) is the excess variance in direction \(u\). The population eigenvalue in that direction is \(\sigma^2+\theta\). All directions orthogonal to \(u\) have eigenvalue \(\sigma^2\). When \(\sigma^2=1\), it is also common to call \(\alpha=1+\theta\) the spike eigenvalue; \(\theta\) and \(\alpha\) are different quantities.

Definition: A rank-one spiked covariance model is a covariance matrix \(\Sigma=\sigma^2 I_p+\theta uu^\mathsf{T}\), where \(u\) is a unit vector, \(\sigma^2>0\), and \(\theta>0\). The population spike eigenvalue is \(\sigma^2+\theta\); the isotropic noise eigenvalue is \(\sigma^2\).

The form of the model can also be seen from a simple random-effects construction. Suppose \(Z\) is a scalar with mean zero and variance one, and \(\varepsilon\) is a random vector with mean zero and covariance \(\sigma^2 I_p\), independent of \(Z\). Set \(X=\mu+\sqrt{\theta}\,uZ+\varepsilon\). Independence makes the cross-covariance terms zero, so

$$ \operatorname{Cov}(X) =\theta uu^\mathsf{T}\operatorname{Var}(Z)+\operatorname{Cov}(\varepsilon) =\theta uu^\mathsf{T}+\sigma^2 I_p. $$

This construction explains the interpretation: one shared scalar source of variation moves the vector along \(u\), while the noise contributes equally in every direction. The covariance model itself does not require this particular distributional construction; finite second moments and the stated covariance are enough.

Proposition: For the rank-one model, \(u\) is an eigenvector of \(\Sigma\) with eigenvalue \(\sigma^2+\theta\), and every vector \(v\) satisfying \(u^\mathsf{T}v=0\) is an eigenvector with eigenvalue \(\sigma^2\).

Proof. Since \(u^\mathsf{T}u=1\),

$$ \Sigma u=\sigma^2 I_pu+\theta u(u^\mathsf{T}u) =\sigma^2u+\theta u=(\sigma^2+\theta)u. $$

For any \(v\) orthogonal to \(u\), \(u^\mathsf{T}v=0\), and therefore

$$ \Sigma v=\sigma^2 I_pv+\theta u(u^\mathsf{T}v) =\sigma^2v. $$

The vector \(u\) together with an orthonormal basis for its \((p-1)\)-dimensional orthogonal complement spans \(\mathbb{R}^p\). These eigenvectors account for all \(p\) eigenvalues, completing the result. \(\square\)

Worked Example: A Rank-One Spike in Three Dimensions

Let \(p=3\), \(\sigma^2=2\), \(\theta=4\), and \(u=(1,2,2)^\mathsf{T}/3\). First check the unit-length condition: \(u^\mathsf{T}u=(1+4+4)/9=1\). Compute the covariance matrix and its population eigenvalues and eigenvectors.

The outer product is

$$ uu^\mathsf{T}=\frac{1}{9} \begin{pmatrix} 1&2&2\\ 2&4&4\\ 2&4&4 \end{pmatrix}. $$

Thus

$$ \Sigma=2I_3+4uu^\mathsf{T} = \begin{pmatrix} 2+\frac49&\frac89&\frac89\\ \frac89&2+\frac{16}{9}&\frac{16}{9}\\ \frac89&\frac{16}{9}&2+\frac{16}{9} \end{pmatrix} = \begin{pmatrix} \frac{22}{9}&\frac89&\frac89\\ \frac89&\frac{34}{9}&\frac{16}{9}\\ \frac89&\frac{16}{9}&\frac{34}{9} \end{pmatrix}. $$

The direction \(u\) has eigenvalue \(2+4=6\). To display two noise directions, take \(v_1=(0,1,-1)^\mathsf{T}/\sqrt{2}\) and \(v_2=(-4,1,1)^\mathsf{T}/\sqrt{18}\). Each has unit length and is orthogonal to \(u\); they are also orthogonal to each other. Hence \(\Sigma v_1=2v_1\) and \(\Sigma v_2=2v_2\). The full eigenvalue list is \(6,2,2\), with the repeated value \(2\) representing isotropic noise.

Finite-Rank Spikes

A model with \(r\) signal directions replaces the single direction \(u\) by a matrix \(U=(u_1,\ldots,u_r)\) whose columns are orthonormal. With positive excess strengths \(\theta_1,\ldots,\theta_r\), write

$$ \Sigma=\sigma^2 I_p+U D U^\mathsf{T}, \qquad U^\mathsf{T}U=I_r,\qquad D=\operatorname{diag}(\theta_1,\ldots,\theta_r),\qquad \theta_j>0. $$

The orthonormality condition says \(u_j^\mathsf{T}u_k=0\) for \(j\ne k\) and \(u_j^\mathsf{T}u_j=1\). It makes the columns of \(U\) the population signal directions. The covariance has eigenvalue \(\sigma^2+\theta_j\) in direction \(u_j\), for each \(j\), and eigenvalue \(\sigma^2\) on the orthogonal complement of the column space of \(U\). If \(r<p\), the latter eigenvalue has multiplicity \(p-r\). In high-dimensional settings, the number \(r\) is often held fixed as \(p\) and the sample size grow; the spikes are then a low-rank departure from the noise covariance.

Proposition: Under the finite-rank model above, \(\Sigma u_j=(\sigma^2+\theta_j)u_j\) for every \(j=1,\ldots,r\), and \(\Sigma v=\sigma^2v\) for every \(v\) orthogonal to all columns of \(U\).

Proof. Let \(e_j\) be the \(j\)th coordinate vector in \(\mathbb{R}^r\). Since \(U^\mathsf{T}u_j=e_j\) and \(De_j=\theta_j e_j\),

$$ \Sigma u_j=\sigma^2u_j+UDU^\mathsf{T}u_j =\sigma^2u_j+UDe_j =\sigma^2u_j+\theta_j Ue_j =(\sigma^2+\theta_j)u_j. $$

If \(v\) is orthogonal to every column of \(U\), then \(U^\mathsf{T}v=0\), so

$$ \Sigma v=\sigma^2v+UD(U^\mathsf{T}v)=\sigma^2v. $$

The \(r\) orthonormal columns of \(U\) and an orthonormal basis for their orthogonal complement together form an orthonormal basis of \(\mathbb{R}^p\). The displayed eigenvalues therefore describe the entire covariance spectrum. \(\square\)

Worked Example: Two Orthogonal Spikes

Let \(p=4\), \(\sigma^2=1\), and take \(u_1=(1,1,0,0)^\mathsf{T}/\sqrt{2}\), \(u_2=(1,-1,0,0)^\mathsf{T}/\sqrt{2}\), with \(\theta_1=3\) and \(\theta_2=0.5\). Both vectors have unit length, and \(u_1^\mathsf{T}u_2=(1-1)/2=0\).

The population eigenvalues in the two signal directions are \(1+3=4\) and \(1+0.5=1.5\). The remaining two dimensions are orthogonal to both \(u_1\) and \(u_2\), so each has eigenvalue \(1\). Directly, the first two coordinates of \(\Sigma\) form the block

$$ I_2+3u_1u_1^\mathsf{T}+0.5u_2u_2^\mathsf{T} = \begin{pmatrix} 1+\frac{3+0.5}{2}&\frac{3-0.5}{2}\\ \frac{3-0.5}{2}&1+\frac{3+0.5}{2} \end{pmatrix} = \begin{pmatrix} 2.75&1.25\\ 1.25&2.75 \end{pmatrix}. $$

Multiplying this block by \((1,1)^\mathsf{T}\) gives \((4,4)^\mathsf{T}\), verifying the eigenvalue \(4\) in direction \(u_1\). Multiplying it by \((1,-1)^\mathsf{T}\) gives \((1.5,-1.5)^\mathsf{T}\), verifying eigenvalue \(1.5\) in direction \(u_2\). The full matrix has a final \(2\)-by-\(2\) identity block and zero cross-block entries, so its complete spectrum is \(4,1.5,1,1\).

When Factor Loadings Are Not Orthogonal

A low-rank covariance contribution need not be presented using orthonormal columns. For example, a factor model may write \(\Sigma=\sigma^2 I_p+BB^\mathsf{T}\) for a loading matrix \(B\). In that expression, the columns of \(B\) need not themselves be covariance eigenvectors. The population spikes are determined by the eigenvalues and eigenvectors of the full covariance matrix, not by simply reading off the loading columns.

Worked Example: Nonorthogonal Loadings

Take \(\sigma^2=1\) and let \(B\) have columns \(b_1=(1,0,0)^\mathsf{T}\) and \(b_2=(1,1,0)^\mathsf{T}\). The columns are not orthogonal because \(b_1^\mathsf{T}b_2=1\). Their outer products give

$$ \Sigma=I_3+BB^\mathsf{T} = \begin{pmatrix} 3&1&0\\ 1&2&0\\ 0&0&1 \end{pmatrix}. $$

The upper-left block has characteristic equation \((3-\lambda)(2-\lambda)-1=0\), or \(\lambda^2-5\lambda+5=0\). Its eigenvalues are \((5+\sqrt{5})/2\) and \((5-\sqrt{5})/2\); the third eigenvalue is \(1\). For the larger eigenvalue, the first row of the eigenvector equation gives \(y=(\lambda-3)x\). Choosing \(x=1\) gives an eigenvector proportional to \((1,(\sqrt{5}-1)/2,0)^\mathsf{T}\). For the smaller eigenvalue, the same equation gives an eigenvector proportional to \((1,-(\sqrt{5}+1)/2,0)^\mathsf{T}\). Neither is simply one of the loading columns. This example makes the distinction concrete: a factor loading describes how a factor enters the variables, while a covariance eigenvector describes a principal direction of total variation.

What the Model Says—and What It Does Not

In the finite-rank model, the population spectrum has \(r\) signal eigenvalues \(\sigma^2+\theta_j\) and a noise eigenvalue \(\sigma^2\) repeated on the remaining directions. The spike strengths are population quantities. Estimating them from data requires studying a sample covariance matrix, whose eigenvalues depend on the realized observations as well as the population model. In a high-dimensional asymptotic regime, the sample spectrum can behave differently from the population spectrum; the population calculation alone does not establish where a sample eigenvalue will lie.

The model is useful for expressing a clear structural assumption: most directions share a common background variance, while a small number of directions have additional variance. It provides a baseline for studying high-dimensional PCA without assuming that the population covariance is itself diagonal in the observed coordinate system. The signal vectors can be any orthonormal directions, including directions formed from many coordinates.

Common Mistakes

  • Calling the excess strength the spike eigenvalue. In \(\Sigma=\sigma^2 I_p+\theta uu^\mathsf{T}\), the eigenvalue is \(\sigma^2+\theta\), not \(\theta\). When \(\sigma^2=1\), the eigenvalue is \(1+\theta\).
  • Assigning a spike to every coordinate. The signal directions are the eigenvectors \(u_j\), which can combine several coordinates. The entries of \(u_j\) describe the direction; they are not separate eigenvalues.
  • Treating sample and population eigenvalues as identical. The model specifies \(\Sigma\). A sample covariance matrix computed from finitely many observations is random, so its eigenvalues are not generally exactly the eigenvalues of \(\Sigma\).
  • Assuming arbitrary loading columns are eigenvectors. That conclusion follows in the stated finite-rank form because \(U^\mathsf{T}U=I_r\). Without orthonormality, calculate the eigensystem of the covariance contribution instead.
Key takeaway: A spiked covariance model adds a low-rank signal covariance to isotropic noise. For orthonormal signal directions, each population eigenvalue is the noise variance plus its excess signal strength, while directions outside the signal subspace retain the noise eigenvalue.

Check Your Understanding

Answer each question using the population covariance model.

  1. For \(\Sigma=3I_p+2uu^\mathsf{T}\) with \(u^\mathsf{T}u=1\), what are the signal eigenvalue and the noise eigenvalue?
  2. In a finite-rank model with \(p=8\) and \(r=3\), what is the multiplicity of the isotropic noise eigenvalue?
  3. Why does the model require orthonormal signal directions for the simple eigenvalue formula \(\sigma^2+\theta_j\) to apply directly to each column?
  4. For \(\Sigma=I_3+BB^\mathsf{T}\), explain why a column of \(B\) need not be a population eigenvector.
  5. What does a population spike specify, and why does it not by itself determine the exact eigenvalues of a sample covariance matrix?
Clinical Biostats