The conditional graphical model called spacemap learns a sparse network encoding the interactions between two high dimensional data inputs denoted as response and predictor variables.

spacemap(Y, X, lam1, lam2, lam3, sig = NULL, rho = NULL, iter = 3,
  tol = 1e-06, iscale = TRUE, cdmax = 10000000L, ...)

Arguments

Y

Numeric matrix \((N \times Q)\) containing N iid samples of the response vector \(\textbf{y}\).

X

Numeric matrix \((N \times P)\) containing N iid samples of the predictor vector \(\textbf{x}\).

lam1

Non-negative numeric value, the space-lasso penalty corresponding to \(\lambda_1\), which subjects the partial correlation vector, \(\bf \rho_{yy}\), to the \(l_1\) norm. It induces overall sparsity of \(\{ y_q - y_l : q \neq l \}\) edges. .

lam2

Non-negative numeric value, the MAP-lasso penalty corresponding to \(\lambda_2\), which subjects the regression coefficients in \( \bf \Gamma\), to the \(l_1\) norm. It induces overall sparsity of \(\{ x_p - y_q \}\) edges.

lam3

Non-negative numeric value, the MAP-group penalty corresponding to \(\lambda_3\), which subjects the regression coefficients in the \(p\)th row of \( \bf \Gamma_{P \times Q}\), to the \(l_2\) norm. It encourages selection of predictor variables with many edges to response variables, in other words, hub nodes.

sig

Positive numeric vector (\(p \times 1\)) representing the estimate of \(\sigma^{ii}\), the diagonal of the inverse covariance matrix. It defaults to NULL and and will be estimated iter times during the model fitting with initial values set to the ones vector.

rho

Numeric matrix (\(p \times p\)) representing the estimate of \(\hat\rho\), the partial correlation matrix. It defaults to NULL and and will be estimated iter times during the model fitting.

iter

Positive integer specifying the number of iterations for estimating \(\sigma^{ii}\) and \(\rho\). Defaults to 3.

tol

Positive numeric value specifying the convergence tolerance of the coordinate descent algorithm; in other words, it is criterion that stops parameter estimation when no parameter changes value exceeding tol between iterations. tol defaults to 1e-6, but may be lowered (e.g. 1e-4) to speed up network learning.

iscale

Logical indicating to standardize the whole input data. Defaults to TRUE. See base::scale(x, center = TRUE, scale = TRUE) for details of standardization.

cdmax

Positive integer specifiying the maximum number of parameter updates allowed before reporting the algorithm as having failed to converge. Default may need to be increased for inferring very large-scale networks (i.e. \(p,q > 1000\)).

...

Additional experimental arguments for spacemap. Advanced users only.

Value

A list containing

  1. ParCor The estimated partial correlation matrix (\(P \times P\)), where off-diagonals \( |\hat \rho^{p,q}_{yy}| > 1e-6\) encode the edges \(\{ y_q - y_l : q \neq l \} \) and the diagonals are 1's.

  2. sig.fit The estimated diagonal \(\hat \sigma^{ii}\).

  3. Gamma The estimated regression coefficients matrix (\(P \times Q\)), where elements \( |\hat \gamma_{pq}| > 1e-6\) encode the edges \(\{ x_p - y_q \}\).

  4. rss The residual sums of squares from the model fit.

  5. convergence logical: true for successful convergence, otherwise failed to converge. Failure can be mitigated by increasing tol and/or cdmax.

  6. deltaMax The maximum change in parameter values between the penultimate and ultimate iteration. If spacemap does not converge, deltaMax provides some measure of how far away it was from converging when compared to tol.

Details

The two data types input are response random vector \(\textbf{y} = (y_1, \dots, y_Q)\) and predictor random vector \(\textbf{x} = (x_1, \dots, x_P)\). Provided \(N\) iid samples from \((\textbf{x},\textbf{y})\), spacemap learns a sparse network, where the degree of sparsity is determined by tuning penalties \(\lambda_1, \lambda_2, \lambda_3\). When we fit the spaceMap model, we seek to learn the network comprised of node set \(\textbf{V}= (\textbf{x},\textbf{y})\) and edge set \(\textbf{E}= \{ x_p - y_q \} \cup \{ y_q - y_l : q \neq l \}\).

See also

cvVote, bootEnsemble, bootVote

Examples

data(sim1) net <- spacemap(Y = sim1$Y, X = sim1$X, lam1 = 70, lam2 = 28.8, lam3 = 12.38) #adjacency matrix of y-y and x-y edges. adjnet <- adjacency(net)