The Gnanadesikan-Kettenring identity turns a covariance into a pair
of scale estimates,
cov(u, v) = (sigma(u + v)^2 - sigma(u - v)^2) / 4, so a
robust scale gives a robust covariance entry by entry. The catch is
that a matrix built this way need not be positive semi-definite,
which makes it useless as a scatter. Maronna & Zamar's fix is to
build it once, take its eigenvectors as a new basis, and rebuild the
scatter DIAGONALLY in that basis:
(1) y_j = x_j / sigma_j with sigma_j the MAD;
(2) U_jk by the GK identity on the standardized columns,
U_jj = 1;
(3) \(U = E Lambda E'\), \(z = E' y\);
(4) Gamma = diag(sigma(z_l)^2), \(Sigma = A Gamma A'\)
with A = diag(sigma) E, positive semi-definite by
construction;
(5) location mu = A m(z), m the coordinatewise median.
Value
List with sigma, location, scales,
estimate, eigenvalues, det, beta
(only when X is given), n, p.
Details
Determinism: MAD and medians only, and the shared sign-fixed Jacobi eigensolver, so the basis is identical in both language arms.
References
Maronna, R. A. & Zamar, R. H. (2002). Robust estimates of location and dispersion for high-dimensional datasets. Technometrics, 44(4), 307-317. doi:10.1198/004017002188618509 Gnanadesikan, R. & Kettenring, J. R. (1972). Robust estimates, residuals, and outlier detection with multiresponse data. Biometrics, 28(1), 81-124.
Examples
V <- c(1, 2, 3, 4, 5, 6, 7, 8)
Ogkcv(V)
#> $sigma
#> [,1]
#> [1,] 8.792411
#>
#> $location
#> [1] 4.5
#>
#> $scales
#> [1] 2.9652
#>
#> $estimate
#> [1] 8.792411
#>
#> $eigenvalues
#> [1] 1
#>
#> $det
#> [1] 8.792411
#>
#> $n
#> [1] 8
#>
#> $p
#> [1] 1
#>
#> $method
#> [1] "Orthogonalized Gnanadesikan-Kettenring scatter"
#>
#> attr(,"class")
#> [1] "morie_rich_result" "list"
