Learn R Programming

sglasso (version 1.2.6)

fglasso: L1-penalized Factorial Graphical Lasso Model

Description

Fit the weight l1-penlized factorial dynamic Gaussian Graphical Model.

Usage

fglasso(S, model, tp, p, ...)

Value

fglasso returns an obejct with S3 class "sglasso". See the corresponding manual for more details.

Arguments

S

the empirical variance/covariance matrix;

model

a list or a matrix used to specify the factorial dynamic Gaussian Graphical Model (see Details);

tp

number of time points;

p

number of random variables observed for each time point;

...

further arguments passed to sglasso.

Author

Luigi Augugliaro
Maintainer: Luigi Augugliaro luigi.augugliaro@unipa.it

Details

The factorial dynamic Gaussian Graphical Model (Abbruzzo et al., 2015) is a special kind of RCON(V, E) model (Hojsgaard, et al.,2008) proposed to study dynamic networks. Let \(X_t = (X_{it},\ldots,X_{it})'\) be a \(p\)-dimensional random variable at time \(t\). Assuming that \(X = (X'_1,\ldots,X'_T)\) follows a multivariate normal distribution, the concentration matrix \(K\) has the following block structure $$ K = \left( \begin{array}{cccc} K_{1,1} & K_{1,2} & \ldots & K_{1,T}\\ K_{2,1} & K_{2,2} & \ldots & K_{2,T}\\ \vdots & \vdots & \ddots & \vdots\\ K_{T,1} & K_{T,2} & \ldots & K_{T,T} \end{array}\right), $$ where \(K_{t,t}\) give information about the conditinal independence structure among the \(p\) random variables at time \(t\), and \(K_{t,t + h}\) give information about the conditional independence structure between \(X_t\) and \(X_{t + h}\). An interpretation of the elements of the submatrices \(K_{t,t + h}\) brings to the notion of natural structure, i.e., $$ K_{t,t + h} = \left( \begin{array}{cccc} k_{1,1}^{t,t+h} & 0 & \ldots & 0\\ 0 & k_{2,2}^{t,t+h} & \ldots & 0\\ \vdots & \vdots & \ddots & \vdots\\ 0 & 0 & \ldots & k_{p,p}^{t,t+h} \end{array}\right) + \left( \begin{array}{cccc} 0 & k_{1,2}^{t,t+h} & \ldots & k_{1,p}^{t,t+h}\\ k_{2,1}^{t,t+h} & 0 & \ldots & 0\\ \vdots & \vdots & \ddots & \vdots\\ k_{p,1}^{t,t+h} & k_{p,2}^{t,t+h} & \ldots & 0 \end{array}\right). $$ The entries of the first matrix are called self-self conditinal dependences at temporal lag \(h\) and represents the (negative) self-similarity of a given random variable across different time points. The entries of the second matrix are the conditional dependence among the \(p\) random variables. To make the interpretation of the results more relevant and, at the same time, reduce the number of parameters, the authors propose the following equality constraints:

\(k_{i,i}^{t,t+h}\)effectR code\(k_{i,j}^{t,t+h}\)effectR code
i.\(0\)zero"."iv.\(0\)zero"."
ii.\(s^h\)costant"c"ii.\(n^h\)costant"c"
iii.\(s^h_i\)unit"u"iii.\(n^h_i\)unit"u"
iv.\(s^{t,h}\)time"t"iv.\(n^{t,h}\)time"t"
v.\(s^{t,h}_i\)interaction"ut"v.\(n^{t,h}_{i,j}\)interaction"ut"

Argument model is used to specify the restrinctions previously describted. This argument can be a named list or a matrix with dimension \(nlag\times 2\), where \(nlag\le\code{tp}\). To gain more insight, suppose that we want to model only the sub-matrices \(K_{t,t}\) and \(K_{t,t+1}\), i.e., the sub-matrices corresponding to the temporal lag zero and one. A possible R code is

model.mat <- matrix("", nrow = 2, ncol = 2)
rownames(model.mat) <- c("lag0", "lag1")
colnames(model.mat) <- c("s", "n")
model.mat[1, ] <- c("c", "ut")
model.mat[2, ] <- c("t", ".")

In this example we are modelling the diagonal elements of the sub-matrices \(K_{t,t}\) with the constant effect while the off-diagonal elements are modelled by the interaction effect. In the same way, the diagonal elements of the sub-matrices \(K_{t,t+1}\) are modelled by the time effect while the remaning elements are equal to zero. The fglasso function passes the matrix model.mat to the internal function fglasso_model2mask, i.e.,

mask <- fglasso_model2mask(model.mat, tp = 3, p = 3)

which returns the mask used in sglasso to fit the specified factorial dynamic Gaussian Graphical model. The same model can be specified by the following named list

model.list <- list(lag0 = c(s = "c", n = "ut"), lag1 = c(s = "t", n = "."))

See the example below for more details.

References

Wit, E. C. and Abbruzzo, A.(2015) Dynamic factorial graphical models for dynamic networks. Network Science, Vol. 3(1), 37-- 57

Abbruzzo, A., Augugliaro, L., Mineo, A.M. and Wit, E.C. (2014) Cyclic coordinate for penalized Gaussian Graphical Models with symmetry restrictions. In Proceeding of COMPSTAT 2014 - 21th International Conference on Computational Statistics. Geneva, August 19-24, 2014.

Hojsgaard, S. and Lauritzen, S.L. (2008) Graphical gaussian models with edge and vertex symmetries. J. Roy. Statist. Soc. Ser. B., Vol. 70(5), 1005--1027.

See Also

sglasso function.

Examples

Run this code
#######################
# fglasso solution path
#######################
N <- 50
tp <- 3
p <- 3
X <- matrix(rnorm(N * p * tp), N, tp * p)
S <- crossprod(X) / N
model <- list(lag0 = c(s = "c", n = "ut"), lag1 = c(s = "t", n = "."))
out.fglasso <- fglasso(S = S, model = model, tp = tp, p = p)
out.fglasso

Run the code above in your browser using DataLab