ORRRR {RRRR} | R Documentation |
Online Robust Reduced-Rank Regression
Description
Online robust reduced-rank regression with two major estimation methods:
- SMM
Stochastic Majorisation-Minimisation
- SAA
Sample Average Approximation
Usage
ORRRR(
y,
x,
z = NULL,
mu = TRUE,
r = 1,
initial_size = 100,
addon = 10,
method = c("SMM", "SAA"),
SAAmethod = c("optim", "MM"),
...,
initial_A = matrix(rnorm(P * r), ncol = r),
initial_B = matrix(rnorm(Q * r), ncol = r),
initial_D = matrix(rnorm(P * R), ncol = R),
initial_mu = matrix(rnorm(P)),
initial_Sigma = diag(P),
ProgressBar = requireNamespace("lazybar"),
return_data = TRUE
)
Arguments
y |
Matrix of dimension N*P. The matrix for the response variables. See |
x |
Matrix of dimension N*Q. The matrix for the explanatory variables to be projected. See |
z |
Matrix of dimension N*R. The matrix for the explanatory variables not to be projected. See |
mu |
Logical. Indicating if a constant term is included. |
r |
Integer. The rank for the reduced-rank matrix |
initial_size |
Integer. The number of data points to be used in the first iteration. |
addon |
Integer. The number of data points to be added in the algorithm in each iteration after the first. |
method |
Character. The estimation method. Either "SMM" or "SAA". See |
SAAmethod |
Character. The sub solver used in each iteration when the |
... |
Additional arguments to function
|
initial_A |
Matrix of dimension P*r. The initial value for matrix |
initial_B |
Matrix of dimension Q*r. The initial value for matrix |
initial_D |
Matrix of dimension P*R. The initial value for matrix |
initial_mu |
Matrix of dimension P*1. The initial value for the constant |
initial_Sigma |
Matrix of dimension P*P. The initial value for matrix Sigma. See |
ProgressBar |
Logical. Indicating if a progress bar is shown during the estimation process.
The progress bar requires package |
return_data |
Logical. Indicating if the data used is return in the output.
If set to |
Details
The formulation of the reduced-rank regression is as follow:
y = \mu +AB' x + D z+innov,
where for each realization y
is a vector of dimension P
for the P
response variables,
x
is a vector of dimension Q
for the Q
explanatory variables that will be projected to
reduce the rank,
z
is a vector of dimension R
for the R
explanatory variables
that will not be projected,
\mu
is the constant vector of dimension P
,
innov
is the innovation vector of dimension P
,
D
is a coefficient matrix for z
with dimension P*R
,
A
is the so called exposure matrix with dimension P*r
, and
B
is the so called factor matrix with dimension Q*r
.
The matrix resulted from AB'
will be a reduced rank coefficient matrix with rank of r
.
The function estimates parameters \mu
, A
, B
, D
, and Sigma
, the covariance matrix of
the innovation's distribution.
The algorithm is online in the sense that the data is continuously incorporated
and the algorithm can update the parameters accordingly. See ?update.RRRR
for more details.
At each iteration of SAA, a new realisation of the parameters is achieved by solving the minimisation problem of the sample average of the desired objective function using the data currently incorporated. This can be computationally expensive when the objective function is highly nonconvex. The SMM method overcomes this difficulty by replacing the objective function by a well-chosen majorising surrogate function which can be much easier to optimise.
SMM method is robust in the sense that it assumes a heavy-tailed Cauchy distribution for the innovations.
Value
A list of the estimated parameters of class ORRRR
.
- method
The estimation method being used
- SAAmethod
If SAA is the major estimation method, what is the sub solver in each iteration.
- spec
The input specifications.
N
is the sample size.- history
The path of all the parameters during optimization and the path of the objective value.
- mu
The estimated constant vector. Can be
NULL
.- A
The estimated exposure matrix.
- B
The estimated factor matrix.
- D
The estimated coefficient matrix of
z
.- Sigma
The estimated covariance matrix of the innovation distribution.
- obj
The final objective value.
- data
The data used in estimation if
return_data
is set toTRUE
.NULL
otherwise.
Author(s)
Yangzhuoran Yang
See Also
update.RRRR
, RRRR
, RRR
Examples
set.seed(2222)
data <- RRR_sim()
res <- ORRRR(y=data$y, x=data$x, z = data$z)
res