Tutorials › Multivariate Statistics (Graduate) › Kronecker Covariance for Multidimensional Arrays

Structured Covariance Models · Tutorial 885 of 975

Kronecker Covariance for Multidimensional Arrays

Learn to translate separable dependence across array dimensions into a Kronecker covariance matrix, verify its properties, and count its factor parameters.

Advanced 11 min read

What You'll Learn

  • Define a separable covariance model for a multidimensional random array
  • Match a vectorization convention to the order of its Kronecker factors
  • Compute covariances and correlations between array entries from the factors
  • Verify positive definiteness of a Kronecker covariance
  • Compare nominal factor parameter counts with an unrestricted covariance count

Why Use a Kronecker Covariance?

A multidimensional measurement can have several distinct sources of dependence. For example, repeated outcomes might be recorded for each subject at several visits and across several anatomical sites. A covariance matrix for the vector of all measurements treats every pair of cells as a separate relationship. That can be difficult to estimate and interpret when the array is large.

A Kronecker covariance model expresses covariance between two cells as a product of contributions from their coordinates along each array dimension. This is a separability assumption: dependence along one index is described by one factor, dependence along another index by another factor, and the factors combine multiplicatively. The model is structured, not assumption-free; whether that structure is plausible depends on the application.

Definition: Let \(X_{i_1,\ldots,i_d}\) be the entries of a random array with dimensions \(m_1\times\cdots\times m_d\). A separable Kronecker covariance model specifies symmetric positive-definite matrices \(\Sigma_k\) of size \(m_k\times m_k\), for \(k=1,\ldots,d\), such that $$ \operatorname{Cov}(X_{i_1,\ldots,i_d},X_{j_1,\ldots,j_d}) = \prod_{k=1}^{d}(\Sigma_k)_{i_kj_k}. $$ The mean array may be arbitrary; this covariance specification applies to the centered entries.

Each factor describes covariance across one index while the other indices are held fixed in the product formula. The full covariance is not generally any one factor by itself. Its diagonal entries, for instance, are products of the factor diagonal entries.

Vectorization and the Order of the Factors

A covariance matrix requires a vector ordering. Use the convention that the first index varies fastest: for a two-dimensional array \(X\) with \(m_1\) rows and \(m_2\) columns, \(\operatorname{vec}(X)\) stacks the columns of \(X\). More generally, the linear position of \(X_{i_1,\ldots,i_d}\) is $$ 1+\sum_{k=1}^{d}(i_k-1)\prod_{r=1}^{k-1}m_r, $$ where an empty product is \(1\). With this convention, the covariance matrix has the factor order $$ \operatorname{Cov}\{\operatorname{vec}(X)\} = \Sigma_d\otimes\cdots\otimes\Sigma_1. $$

For two dimensions this becomes \(\operatorname{Cov}\{\operatorname{vec}(X)\}=\Sigma_2\otimes\Sigma_1\), not \(\Sigma_1\otimes\Sigma_2\). The Kronecker product \(A\otimes B\) is the block matrix whose \((i,j)\) block is \(A_{ij}B\). Thus the entry of \(\Sigma_d\otimes\cdots\otimes\Sigma_1\) corresponding to two array cells is the product of the factor entries for their respective indices.

Result: Under the stated first-index-fastest vectorization, the separable covariance formula is equivalent to \(\operatorname{Cov}\{\operatorname{vec}(X)\}=\Sigma_d\otimes\cdots\otimes\Sigma_1\).

Justification. Consider two cells \(X_{i_1,\ldots,i_d}\) and \(X_{j_1,\ldots,j_d}\). By the definition of the Kronecker product, the matrix entry in row indexed by \((i_d,\ldots,i_1)\) and column indexed by \((j_d,\ldots,j_1)\) of \(\Sigma_d\otimes\cdots\otimes\Sigma_1\) is $$ (\Sigma_d)_{i_dj_d}\cdots(\Sigma_1)_{i_1j_1} = \prod_{k=1}^{d}(\Sigma_k)_{i_kj_k}. $$ The vectorization convention assigns those row and column positions to the corresponding array cells. The resulting matrix therefore has exactly the covariance specified by the separable formula. \(\square\)

Worked Example: A Two-Dimensional Array

Let \(X\) be a \(2\times2\) random array, with row factor and column factor $$ A=\begin{pmatrix}0.5&0.1\\0.1&1.5\end{pmatrix}, \qquad B=\begin{pmatrix}\sqrt{6}&0.4\\0.4&2\end{pmatrix}. $$ Both factors are positive definite: their diagonal entries are positive, and their determinants are \(0.5(1.5)-0.1^2=0.74>0\) and \(2\sqrt{6}-0.16>0\), respectively.

With column-stacking vectorization, \(\operatorname{Cov}\{\operatorname{vec}(X)\}=B\otimes A\). The variance of cell \(X_{11}\) is the product of the first diagonal entries: $$ \operatorname{Var}(X_{11})=A_{11}B_{11} =\frac{1}{\sqrt{4}}\sqrt{6} =\frac{\sqrt{6}}{2} \approx 1.225. $$ In this multiplication, \(1/\sqrt{4}=0.5\) is multiplied by \(\sqrt{6}\); it is not divided by \(\sqrt{6}\).

The covariance between \(X_{11}\) and \(X_{21}\) changes the row index but not the column index: $$ \operatorname{Cov}(X_{11},X_{21})=A_{12}B_{11} =0.1\sqrt{6}\approx0.245. $$ Their variances are \(0.5\sqrt{6}\) and \(1.5\sqrt{6}\). Hence their correlation is $$ \frac{0.1\sqrt{6}}{\sqrt{(0.5\sqrt{6})(1.5\sqrt{6})}} =\frac{0.1}{\sqrt{0.75}} \approx0.115. $$ The column factor cancels from this correlation because the two cells have the same column index.

What the Factors Say About Dependence

For any two cells, the covariance is the product of the factor entries at the corresponding pairs of indices. If two cells agree in one coordinate, the contribution from that dimension is a diagonal factor entry. If factor matrices are scaled to have unit diagonal, they are correlation matrices, and the covariance between the cells is the product of their factor correlations. In that case, the variance of every cell is \(1\), and the covariance formula is also a correlation formula.

More generally, normalizing the covariance between two cells by their standard deviations gives $$ \operatorname{Corr}(X_{i_1,\ldots,i_d},X_{j_1,\ldots,j_d}) = \prod_{k=1}^{d} \frac{(\Sigma_k)_{i_kj_k}} {\sqrt{(\Sigma_k)_{i_ki_k}(\Sigma_k)_{j_kj_k}}}. $$ This follows because the variance of a cell is \(\prod_k(\Sigma_k)_{i_ki_k}\), so the square root of the product of the two cell variances separates into the corresponding factorwise square roots. Thus the model says not only that covariance separates, but also that correlations across dimensions multiply.

Worked Example: Multiplying Correlations Across Indices

Suppose a \(2\times3\) array has unit-diagonal factors $$ R_1=\begin{pmatrix}1&0.5\\0.5&1\end{pmatrix}, \qquad R_2=\begin{pmatrix}1&0.2&0\\0.2&1&0.2\\0&0.2&1\end{pmatrix}. $$ The first matrix is positive definite because its eigenvalues are \(1.5\) and \(0.5\). The second is positive definite: its leading principal minors are \(1\), \(0.96\), and \(0.92\), all positive.

Consider \(X_{11}\) and \(X_{22}\). Their row-index correlation is \((R_1)_{12}=0.5\), and their column-index correlation is \((R_2)_{12}=0.2\). Since both factors have unit diagonal, each cell has variance \(1\), and $$ \operatorname{Cov}(X_{11},X_{22}) =\operatorname{Corr}(X_{11},X_{22}) =(R_1)_{12}(R_2)_{12} =0.5(0.2)=0.1. $$ For \(X_{11}\) and \(X_{13}\), the row coordinate is unchanged and the column factor entry is \((R_2)_{13}=0\). Their covariance is therefore \(1(0)=0\). A zero contribution from either factor makes the full covariance zero.

Positive Definiteness of the Full Covariance

A covariance matrix must be positive semidefinite. In this model, taking every factor to be positive definite guarantees the full Kronecker covariance is positive definite as well.

Theorem: If \(\Sigma_1,\ldots,\Sigma_d\) are symmetric positive-definite matrices, then \(\Sigma_d\otimes\cdots\otimes\Sigma_1\) is symmetric positive definite.

Proof. For each \(k\), the spectral theorem gives an orthogonal matrix \(Q_k\) and a diagonal matrix \(\Lambda_k\) with positive diagonal entries such that \(\Sigma_k=Q_k\Lambda_kQ_k^\mathsf{T}\). The Kronecker product rules give $$ \Sigma_d\otimes\cdots\otimes\Sigma_1 = (Q_d\otimes\cdots\otimes Q_1) (\Lambda_d\otimes\cdots\otimes\Lambda_1) (Q_d\otimes\cdots\otimes Q_1)^\mathsf{T}. $$ The first factor is orthogonal. The middle matrix is diagonal, with diagonal entries equal to products of one positive eigenvalue from each \(\Lambda_k\). Every such product is positive. For any nonzero vector \(v\), an orthogonal change of coordinates preserves nonzeroness, so the quadratic form of the displayed matrix at \(v\) is a sum of positive diagonal entries times squared coordinates, with at least one nonzero squared coordinate. It is strictly positive. The matrix is therefore positive definite. \(\square\)

Counting the Factor Parameters

A symmetric \(m_k\times m_k\) factor has \(m_k\) diagonal entries and \(m_k(m_k-1)/2\) distinct off-diagonal entries. Its nominal number of free entries is therefore $$ \frac{m_k(m_k+1)}{2}. $$ With \(d\) unrestricted symmetric factors, the nominal factor-parameter count is $$ \sum_{k=1}^{d}\frac{m_k(m_k+1)}{2}. $$ By comparison, the covariance matrix of the full vectorized array has dimension \(M\times M\), where \(M=\prod_{k=1}^{d}m_k\), and an unrestricted symmetric covariance matrix has \(M(M+1)/2\) free entries. Positive definiteness restricts the allowed values of these parameters but does not change these dimensions of the parameter spaces. The factor count is a count of factor coordinates; it should not automatically be interpreted as a count of distinct covariance matrices without checking whether different factor choices can represent the same covariance.

Worked Example: Counting Parameters for a Three-Way Array

Consider a \(2\times3\times4\) array. Its vector has \(M=2(3)(4)=24\) entries. A completely unrestricted covariance matrix for that vector has $$ \frac{24(25)}{2}=300 $$ distinct entries.

Under a Kronecker model with three unrestricted symmetric factors, the nominal count is $$ \frac{2(3)}{2}+\frac{3(4)}{2}+\frac{4(5)}{2} =3+6+10=19. $$ Thus the structured description uses 19 factor coordinates instead of 300 entries in an unrestricted covariance matrix. This comparison illustrates the dimension reduction built into the model. The 19 is specifically the raw count of symmetric-factor entries, not a claim that every choice of 19 entries produces a distinct full covariance.

Common Mistake and Model Interpretation

A common mistake is to reverse the factor order or to treat a covariance in the vectorized array as a single factor entry. Under column-stacking for a matrix, the correct order is \(B\otimes A\) when \(A\) describes rows and \(B\) describes columns. The entry for two cells is \(A_{i i'}B_{j j'}\), not just \(A_{i i'}\) or \(B_{j j'}\). Checking one pair of cells directly against the array-index formula is a reliable way to catch a mismatched ordering.

A second pitfall is to infer that a Kronecker model is appropriate simply because it uses fewer parameters. It imposes a substantive restriction: the covariance between cells must factor into dimension-specific contributions. If dependence along one dimension changes with the level of another dimension, that separability may be inadequate. The model matters because it can make covariance estimation and interpretation more manageable, but its structural assumption should be assessed in the context of the measurements.

Key takeaway: A separable array covariance assigns each index dimension a factor matrix. Under first-index-fastest vectorization, the full covariance is \(\Sigma_d\otimes\cdots\otimes\Sigma_1\), and each array-entry covariance is the product of the corresponding factor entries.

Check Your Understanding

Use the definitions and conventions above to answer the following.

  1. For a \(3\times4\) array whose first factor describes rows and second factor describes columns, what is the covariance matrix of the column-stacked vector?
  2. Write the separable covariance between \(X_{i_1,i_2,i_3}\) and \(X_{j_1,j_2,j_3}\) for a three-way array.
  3. If two cells agree in one coordinate, what factor entry contributes from that dimension?
  4. How many nominal symmetric-factor parameters are used for a \(2\times3\times4\) array, and how many entries does an unrestricted covariance matrix for its vector have?
  5. Why can a zero entry in one factor make the covariance between two array cells zero?
Back to Tutorials
Clinical Biostats