tau_estimate: Non-linear shrinkage estimator of population eigenvalues.

Description Usage Arguments Value NOTE References Examples

View source: R/tau_estimate.R

Description

The population eigenvalue estimates are computed by numerically inverting the QuEST function (see references). The starting point is the linear shrinkage estimate of the population eigenvalues, computed using linshrink.

Usage

1
tau_estimate(X, k = 0, method = "nlminb", control = list())

Arguments

X

A data matrix.

k

(Optional) Non-negative integer less than ncol(X). If k == 0 (default), X is assumed to contain 1 class, which will be centered. If k >= 1, X is assumed to contain k classes, each of which has already been centered.

method

(Optional) The optimization routine used. Choices are nlminb (default) and nloptr.

control

(Optional) A list of control parameters. Must correspond to the selected optimization method. See nlminb, nloptr for details.

Value

A numeric vector of length ncol(X), containing the population eigenvalue estimates, sorted in ascending order.

NOTE

nlminb is usually robust and accurate, but does not allow equality constraints, so, in general, the sum of the estimated population eigenvalues is not equal to the sum of the sample eigenvalues. nloptr enforces an equality constraint to preserve the trace, but is substantially slower than nlminb. The default optimizer used for nloptr is the Augmented Lagrangian method with local optimization using LBFGS. These can be modified using the control parameter.

References

Examples

1
tau_estimate(X = matrix(rnorm(1e3, mean = 5), nrow = 50, ncol = 20))

nlshrink documentation built on May 1, 2019, 8:42 p.m.