Tlasso.fit {Tlasso} | R Documentation |
Non-Convex Optimization for Sparse Tensor Graphical Models
Description
An alternating optimization algorithm for estimation of precision matrices of sparse tensor graphical models. See Lyu et al. (2019) for details.
Usage
Tlasso.fit(data, T = 1, lambda.vec = NULL, norm.type = 2, thres = 1e-05)
Arguments
data |
tensor object stored in a m1 * m2 * ... * mK * n array, where n is sample size and mk is dimension of the kth tensor mode. |
T |
number of maximal iteration, default is 1. Each iteration involves update on all modes.
If output change less than |
lambda.vec |
vector of tuning parameters ( |
norm.type |
normalization method of precision matrix, i.e., |
thres |
thresholding value that terminates algorithm before Tth iteration if output change less than |
Details
This function conducts an alternating optimization algorithm to sparse tensor graphical model. The output is optimal consistent even when T=1
, see Lyu et al. (2019) for details.
There are two ternimation criteria, T
and thres
. Algorithm will be terminated if output in certain iteration change less than thres
. Otherwise, T iterations will be fully operated.
Value
A length-K list of estimation of precision matrices.
Author(s)
Xiang Lyu, Will Wei Sun, Zhaoran Wang, Han Liu, Jian Yang, Guang Cheng.
See Also
Examples
m.vec = c(5,5,5) # dimensionality of a tensor
n = 5 # sample size
lambda.thm = 20*c( sqrt(log(m.vec[1])/(n*prod(m.vec))),
sqrt(log(m.vec[2])/(n*prod(m.vec))),
sqrt(log(m.vec[3])/(n*prod(m.vec))))
DATA=Trnorm(n,m.vec,type='Chain')
# obersavations from tensor normal distribution
out.tlasso = Tlasso.fit(DATA,T=10,lambda.vec = lambda.thm,thres=10)
# terminate by thres
out.tlasso = Tlasso.fit(DATA,T=3,lambda.vec = lambda.thm,thres=0)
# thres=0, iterate 10 times