Given an adjacency matrix with missing observations, the function gsbm_mgcd
robustly estimates the probabilities of connections between nodes.
gsbm_mcgd_parallel(
A,
lambda1,
lambda2,
epsilon = 0.1,
maxit = 100,
step_L = 0.01,
step_S = 0.1,
trace.it = FALSE,
n_cores = detectCores(),
save = FALSE,
file = NULL
)The estimate for the nxn matrix of probabilities of connections between nodes. It is given as the sum of a low-rank nxn matrix L, corresponding to connections between inlier nodes, and a column sparse nxn matrix S, corresponding to connections between outlier nodes and the rest of the network. The matrices L and S are such that
E(A) = L - diag(L) + S + S'
where E(A) is the expectation of the adjacency matrix, diag(L) is a nxn diagonal matrix with diagonal entries equal to those of L, and S' means S transposed.
The return value is a list of components
A the adjacency matrix.
L estimate for the low-rank component.
S estimate for the column-sparse component.
objective the value of the objective function.
R a bound on the nuclear norm of the low-rank component.
iter number of iterations between convergence of the objective function.
nxn adjacency matrix
regularization parameter for nuclear norm penalty (positive number)
regularization parameter for 2,1-norm penalty (positive number)
regularization parameter for the L2-norm penalty (positive number, if NULL, default method is applied)
maximum number of iterations (positive integer, if NULL, default method is applied)
step size for the gradient step of L parameter (positive number)
step size for the gradient step of S parameter (positive number)
whether messages about convergence should be printed (boolean, if NULL, default is FALSE)
number of cores to parallellize on (integer number, default is set with detectCores())
whether or not value of current estimates should be saved at each iteration (boolean)
if save is set to TRUE, name of the folder where current estimates should be saved (character string, file saved in file/L_iter.txt at iteration iter)