est.analysis {Tlasso}R Documentation

Estimation Errors and TPR/TNR

Description

Compute estimation errors and TPR/TNR of optimization for sparse tensor graphical models

Usage

est.analysis(Omega.hat.list, Omega.true.list, offdiag = TRUE)

Arguments

Omega.hat.list

list of estimation of precision matrices of tensor, i.e., Omega.hat.list[[k]] is estimation of precision matrix for the kth tensor mode, k \in \{1 , \ldots, K\}. For example, output of Tlasso.fit.

Omega.true.list

list of true precision matrices of tensor, i.e., Omega.true.list[[k]] is true precision matrix for the kth tensor mode, k \in \{1 , \ldots, K\}.

offdiag

logical; indicate if excludes diagnoal when computing performance measures. If offdiag = TRUE, diagnoal in each matrix is ingored when comparing two matrices. Default is TRUE.

Details

This function computes performance measures of optimazation for sparse tensor graphical models. Errors are measured in Frobenius norm and Max norm. Model selection measures are TPR and TNR. All these measures are computed in each mode, average across all modes, and kronecker production of precision matrices.

Value

A list, named Out, of following performance measures:

Out$error.kro error in Frobenius norm of kronecker product
Out$tpr.kro TPR of kronecker product
Out$tnr.kro TNR of kronecker product
Out$av.error.f averaged Frobenius norm error across all modes
Out$av.error.max averaged Max norm error across all modes
Out$av.tpr averaged TPR across all modes
Out$av.tnr averaged TNR across all modes
Out$error.f vector; error in Frobenius norm of each mode
Out$error.max vector; error in Max norm of each mode
Out$tpr vector; TPR of each mode
Out$tnr vector; TNR of each mode

Author(s)

Xiang Lyu, Will Wei Sun, Zhaoran Wang, Han Liu, Jian Yang, Guang Cheng.

See Also

Tlasso.fit, NeighborOmega, ChainOmega

Examples


m.vec = c(5,5,5)  # dimensionality of a tensor 
n = 5   # sample size 
k=1 # index of interested mode
Omega.true.list = list()
Omega.true.list[[1]] = ChainOmega(m.vec[1], sd = 1)
Omega.true.list[[2]] = ChainOmega(m.vec[2], sd = 2)
Omega.true.list[[3]] = ChainOmega(m.vec[3], sd = 3)
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=1,lambda.vec = lambda.thm)   
# output is a list of estimation of precision matrices
est.analysis(out.tlasso, Omega.true.list, offdiag=TRUE)
# generate a list of performance measures


[Package Tlasso version 1.0.2 Index]