tau_estimate {nlshrink}R Documentation

Non-linear shrinkage estimator of population eigenvalues.

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

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

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


[Package nlshrink version 1.0.1 Index]