Implements one of three variance estimation procedures for matrix data sets on each matricization of a data tensor. These estimates are then averaged to come up with a final variance estimate.
tensor_var_est(Y, sig_method = c("soft", "mp", "naive"), r = NULL)
Y | An array of numerics. The data tensor. Assumed to have a mean that is low multilinear rank. |
---|---|
sig_method | A string. The variance estimation procedure to use on each
matricization of the data tensor. Either "soft" for calling
|
r | A vector of positive integers. The known multilinear rank of the
mean tensor. Only needed if |
sig2_est
A positive numeric. The final variance estimate.
sig2_vec
A vector of positive numerics. The estimates of the
variance when using each matricization of the data tensor. If these numbers
are wildly different, then you should be skeptical of this variance
estimation approach.
If a data tensor has low multilinear rank mean, then this function will use matrix-specific variance estimation procedures along each matricization of the data tensor to estimate the variance. These estimates are then averaged to provide the final estimate of the variance.
Choi, Yunjin, Jonathan Taylor, and Robert Tibshirani. "Selecting the number of principal components: Estimation of the true rank of a noisy matrix." arXiv preprint arXiv:1410.8260 (2014).
Gavish, M., & Donoho, D. L. (2014). The optimal hard threshold for singular values is 4/sqrt(3). Information Theory, IEEE Transactions on, 60(8), 5040-5053.