| sparse.tscgm {SparseTSCGM} | R Documentation | 
Sparse time series chain graphical models
Description
Computes sparse vector autoregressive coefficients matrices of order 1 and 
order 2   and precision matrix estimates for time series chain graphical 
models using SCAD penalty. In time series chain graphs directed
edges are identified by nonzero entries of the autoregressive 
coefficients matrix and undirected edges  are identified by 
nonzero entries  of the precision matrix.
Usage
sparse.tscgm(data = data, lam1 = NULL, lam2 = NULL, nlambda = NULL, 
      model = c("ar1", "ar2"), penalty=c("scad","lasso"),
      optimality = c("NULL", "bic", "bic_ext", "bic_mod", "aic", "gic"), 
      control = list())
Arguments
| data | Longitudinal data format. | 
| lam1 | Either a scalar or a vector of tuning parameter values for the 
SCAD penalty on the precision matrix. The default is  | 
| lam2 | Either a scalar or a vector of tuning parameter values for the 
SCAD penalty on the precision matrix. The default is  | 
| nlambda | The number of values used in  | 
| model | This specifies the order of vector autoregressive models. Vector autoregressive 
model of order 1 is applied if  | 
| penalty | This specifies the type of penalty function uto be used. SCAD penalty function 
is applied if  | 
| optimality | This specifies the type of information based model selection criteria. When
optimality is "NULL" it computes the time series chain graphical model 
solutions   for specified scalar values of the tuning parameters  | 
| control | The argument  control = list(maxit.out = 5, maxit.in = 50, tol.out = 1e-04, silent = TRUE) 
 | 
Details
For description of the objective functions and computational details see Abegaz and Wit (2013).
Value
A list containing:
| theta | Precision matrix estimate. The nonzero estimates of 
the precision matrix are used for constructing  | 
| gamma | Autoregressive coefficients matrix estimate. The nonzero estimates
of the autoregression matrix are used for constructing  | 
| lam1.opt | The optimal tuning parameter for SCAD penalty on the precision matrix selected with minimum information criterion. | 
| lam2.opt | The optimal tuning parameter for SCAD penalty on the autoregressive coefficients matrix selected with minimum BIC criterion. | 
| min.ic | Minimum value of the optimality criterion. | 
| tun.ic | A matrix containing the list of tuning parameter values and the corresponding model selection or optimality values. | 
| lam1.seq | The sequence of tuning parameter values related to precision matrix. | 
| lam2.seq | The sequence of tuning parameter values related to autoregression matrix. | 
| s.theta | Sparsity level of the precision matrix. | 
| s.gamma | Sparsity level of the autoregression coefficients matrix. | 
Author(s)
Fentaw Abegaz and Ernst Wit
References
Fentaw Abegaz and Ernst Wit (2013). Sparse time series chain graphical models for reconstructing genetic networks. Biostatistics. 14, 3: 586-599.
Rothman, A.J., Levina, E., and Zhu, J. (2010). Sparse multivariate regression with covariance estimation. Journal of Computational and Graphical Statistics. 19: 947–962.
Examples
seed = 321
datas <- sim.data(model="ar1", time=10,n.obs=10, n.var=5,seed=seed,prob0=0.35,
         network="random")
data.fit <-  datas$data1
prec_true <- datas$theta
autoR_true <- datas$gamma
    
   
res.tscgm <- sparse.tscgm(data=data.fit, lam1=NULL, lam2=NULL, nlambda=NULL, 
 model="ar1", penalty="scad",optimality="bic_mod",control=list(maxit.out = 10, maxit.in = 100))
   
#Estimated sparse precision and autoregression matrices
prec <- res.tscgm$theta
autoR <- res.tscgm$gamma
#Optimal tuning parameter values
lambda1.opt <- res.tscgm$lam1.opt
lambda2.opt <- res.tscgm$lam2.opt
#Sparsity levels
sparsity_theta <- res.tscgm$s.theta
sparsity_gamma <- res.tscgm$s.gamma
#Graphical visualization
oldpar <- par(mfrow=c(2,2))
plot.tscgm(datas, mat="precision",main="True precision matrix")         
plot.tscgm(res.tscgm, mat="precision",main="Estimated precision matrix")     
plot.tscgm(datas, mat="autoregression",main="True autoregression coef. matrix")     
plot.tscgm(res.tscgm, mat="autoregression",
             main="Estimated autoregression coef. matrix") 
par(oldpar)