OptMFG {TRES} | R Documentation |
Estimate the envelope subspace (OptM FG)
Description
The FG algorithm to estimate the envelope subspace based on the curvilinear search algorithm for optimization on Stiefel manifold. The curvilinear algorithm is developed by Wen and Yin (2013) and the Matlab version is implemented in the Matlab package OptM.
Usage
OptMFG(M, U, u, Gamma_init = NULL, ...)
Arguments
M |
The |
U |
The |
u |
An integer between 0 and |
Gamma_init |
Initial envelope subspace basis. The default value is the estimator from |
... |
Additional user-defined arguments for the curvilinear search algorithm:
The default values are: |
Details
If Gamma_init
is provided, then the envelope dimension u = ncol(Gamma_init)
.
The function OptMFG
calls the function OptStiefelGBB
internally which implements the curvilinear search algorithm.
The objective function F(\Gamma)
and its gradient G(\Gamma)
in curvilinear search algorithm are:
F(\Gamma)=\log|\Gamma^T M \Gamma|+\log| \Gamma^T(M+U)^{-1}\Gamma|
G(\Gamma) = dF/d \Gamma = 2 M \Gamma (\Gamma^T M \Gamma)^{-1} + 2 (M + U)^{-1} \Gamma (\Gamma^T (M + U)^{-1} \Gamma)^{-1}
Value
Return the estimated orthogonal basis of the envelope subspace.
References
Wen, Z. and Yin, W., 2013. A feasible method for optimization with orthogonality constraints. Mathematical Programming, 142(1-2), pp.397-434.
See Also
Examples
##simulate two matrices M and U with an envelope structure
data <- MenvU_sim(p=20, u=5, wishart = TRUE, n = 200)
M <- data$M
U <- data$U
G <- data$Gamma
Gamma_FG <- OptMFG(M, U, u=5)
subspace(Gamma_FG, G)