Compute a distance between two covariance matrices
Compute a distance between two covariance matrices
Compute a distance between two covariance matrices, with non-Euclidean options.
distcov(S1, S2, method="Riemannian",alpha=1/2)
Arguments
S1: Input a covariance matrix (square, symmetric, positive definite)
S2: Input another covariance matrix of the same size
method: The type of distance to be used: "Procrustes": Procrustes size-and-shape metric, "ProcrustesShape": Procrustes metric with scaling, "Riemannian": Riemannian metric, "Cholesky": Cholesky based distance, "Power: Power Euclidean, with power alpha, "Euclidean": Euclidean metric, "LogEuclidean": Log-Euclidean metric, "RiemannianLe": Another Riemannian metric.
alpha: The power to be used in the power Euclidean metric
Returns
The distance
References
Dryden, I.L., Koloydenko, A. and Zhou, D. (2009). Non-Euclidean statistics for covariance matrices, with applications to diffusion tensor imaging. Annals of Applied Statistics, 3, 1102-1123.
Author(s)
Ian Dryden
See Also
estcov
Examples
A <- diag(5)B <- A +.1*matrix(rnorm(25),5,5)S1<-A
S2<- B
distcov( S1, S2, method="Procrustes")