OptimballGBB1D: Estimate the envelope subspace (Feasi 1D)

Description Usage Arguments Details Value References Examples

View source: R/OptimballGBB1D.R

Description

The 1D algorithm to estimate the envelope subspace with specified dimension based on Wen and Yin (2013).

Usage

1
OptimballGBB1D(M, U, d, opts=NULL)

Arguments

M

M matrix in the envelope objective function. An r-by-r positive semi-definite matrix.

U

U matrix in the envelope objective function. An r-by-r positive semi-definite matrix.

d

Dimension of the envelope. An integer between 0 and r.

opts

Option structure with fields:
"record = 0" – no print out.
"mxitr" – max number of iterations.
"xtol" – stop control for ||X_k - X_{k-1}||.
"gtol" – stop control for the projected gradient.
"ftol" – stop control for \frac{|F_k - F_{k-1}|}{(1+|F_{k-1}|)} usually with max{xtol, gtol} > ftol.

The default values are: "xtol"=1e-08; "gtol"=1e-08; "ftol"=1e-12; "mxitr"=500.

Details

Estimate M-envelope contains span(U) where M > 0 and is symmetric. The dimension of the envelope is d.

Value

Ghat

The orthogonal basis of the envelope subspace.

References

Wen, Z., & Yin, W. (2013). A feasible method for optimization with orthogonality constraints. Mathematical Programming, 142(1-2), 397-434.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
##simulate two matrices M and U with an envelope structure#
p <- 20
u <- 5

##randomly generate a semi-orthogonal p-by-u basis matrix (Gamma) for the
##envelope and its orthogonal completion (Gamma0) of dimension p-by-(p-u)
Gamma <- matrix(runif(p*u), p, u)

###make Gamma semi-orthogonal
Gamma <- qr.Q(qr(Gamma))
Gamma0 <- qr.Q(qr(Gamma),complete=TRUE)[,(u+1):p]

## randomly generated symmetric positive definite matrices, M and U, to have
## an exact u-dimensional envelope structure

Phi <- matrix(runif(u^2), u, u)
Phi <- Phi %*% t(Phi)
Omega <- matrix(runif(u^2), u, u)
Omega <- Omega %*% t(Omega)
Omega0 <- matrix(runif((p-u)^2),p-u,p-u)
Omega0 <- Omega0 %*% t(Omega0)
M <- Gamma %*% Omega %*% t(Gamma) + Gamma0 %*% Omega0 %*% t(Gamma0)
U <- Gamma %*% Phi %*% t(Gamma)

# randomly generate symmetric positive definite matrices, Mhat and Uhat, as
# root-n consistent sample estimators for M and U

n=200
X <- mvrnorm(n, mu = rep(0, p), Sigma = M)
Y <- mvrnorm(n, mu = rep(0, p), Sigma = U)
Mhat <- (t(X) %*% X)/n
Uhat <- (t(Y) %*% Y)/n

Ghat_1D <- OptimballGBB1D(Mhat, Uhat, d=u)

kusakehan/TEReg documentation built on May 30, 2019, 7:17 a.m.