tr()
: trace of the matrix. Sum of diagonals is the same as the sum of the eigen-values.
averageCorr()
: The average correlation is computed by summing the off-diagonal values in the correlation matrix. The sum of all elements in a matrix is \(g = \sum_{i,j} C_{i,j} = 1^T C 1 \), where \(1\) is a vector of \(p\) elements with all entries 1. This last term is a quadratic form of the correlation matrix that can be computed efficiently using the SVD and shrinkage parameter from eclairs()
. Given the value of \(g\), the average is computed by subtracting the diagonal values and dividing by the number of off-diagonal values: \((g - p) / (p(p-1))\).
averageCorrSq()
: The average squared correlation is computed using only the eigen-values. Surprisingly, this is a function of the variance of the eigen-values. The is reviewed by Watanabe (2022) and Durand and Le Roux (2017). Letting \(\lambda_i\) be the \(i^{th}\) sample or shrunk eigen-value, and \(\tilde{\lambda}\) be the mean eigen-value, then \(\sum_i (\lambda_i - \tilde{\lambda})^2 / p(p-1)\tilde{\lambda}^2\).
sumInverseCorr()
: The 'effective number of independent features' is computed by summing the entires of the inverse covariance matrix. This has the form \(\sum_{i,j} C^{-1}_{i,j} = 1^T C^{-1} 1\). This last term is a quadratic form of the correlation matrix that can be computed efficiently using the SVD and shrinkage parameter from eclairs()
as described above.
effVariance()
: Compute a metric of the amount of variation represented by a correlation (or covariance) matrix that is comparable across matrices of difference sizes. Proposed by Peña and Rodriguez (2003), the 'effective variance' is \(|C|^\frac{1}{p}\) where \(C\) is a correlation (or covariance matrix) between \(p\) variables. The effective variance is the mean of the log eigen-values.