### Granger causality for sets of time series

Granger causality identification is a potential approach for the detection of possible interactions in a data driven framework couched in terms of temporal precedence. The main idea is that temporal precedence does not imply, but may help to identify causal relationships, since a cause never occurs after its effect.

A formal definition of Granger causality for sets of time series[20] can be given as follows.

#### Definition 1

[20]*Granger causality for sets of time series: Suppose that* *ℑ*_{
t
}*is a set containing all relevant information available up to and including time-point* *t*. *Let* **X**_{
t
},\left(\right)close="">\n \n \n \n X\n \n \n t\n \n \n i\n \n \n \n*and*\left(\right)close="">\n \n \n \n X\n \n \n t\n \n \n j\n \n \n \n*be sets of time series containing* *p*, *m* *and* *n* *time series, respectively, where*\left(\right)close="">\n \n \n \n X\n \n \n t\n \n \n i\n \n \n \n*and*\left(\right)close="">\n \n \n \n X\n \n \n t\n \n \n j\n \n \n \n*are disjoint subsets of* **X**_{
t
}, *i.e., each time series only belongs to one set, and thus,* *p*≥*m* + *n*. *Let* **X**_{
t
}(*h*|*ℑ*_{
t
}) *be the optimal (i.e., the one which produces the minimum mean squared error (MSE) prediction)* *h* *-step predictor of the set of* *m* *time series*\left(\right)close="">\n \n \n \n X\n \n \n t\n \n \n i\n \n \n \n*from the time point* *t*, *based on the information in* *ℑ*_{
t
}. *The forecast MSE of the linear combination of*\left(\right)close="">\n \n \n \n X\n \n \n t\n \n \n i\n \n \n \n*will be denoted by* *Ω*_{
X
}(*h*|*ℑ*_{
t
}). *The set of* *n* *time series*\left(\right)close="">\n \n \n \n X\n \n \n t\n \n \n j\n \n \n \n*is said to Granger-cause the set of* *m* *time series*\left(\right)close="">\n \n \n \n X\n \n \n t\n \n \n i\n \n \n \n*if*

{\Omega}_{\mathbf{X}}\left(h\right|{\Im}_{t})\phantom{\rule{0.3em}{0ex}}<\phantom{\rule{0.3em}{0ex}}{\Omega}_{\mathbf{X}}\phantom{\rule{0.3em}{0ex}}(h|{\Im}_{t}\setminus \{{\mathbf{X}}_{s}^{j}|s\le t\})\phantom{\rule{.2em}{0ex}}\mathit{\text{for}}\phantom{\rule{.2em}{0ex}}\mathit{\text{at}}\phantom{\rule{.2em}{0ex}}\mathit{\text{least}}\phantom{\rule{.2em}{0ex}}\mathit{\text{one}}\phantom{\rule{.2em}{0ex}}h\phantom{\rule{.2em}{0ex}}=\phantom{\rule{.2em}{0ex}}1,2,\dots

(1)

*where*\left(\right)close="">\n \n \n \n \u2111\n \n \n t\n \n \n \u2216\n {\n \n \n X\n \n \n s\n \n \n j\n \n \n |\n s\n \u2264\n t\n }\n \n*is the set containing all relevant information except for the information in the past and present of*\left(\right)close="">\n \n \n \n X\n \n \n t\n \n \n j\n \n \n \n. *In other words, if*\left(\right)close="">\n \n \n \n X\n \n \n t\n \n \n i\n \n \n \n*can be predicted more accurately when the information in*\left(\right)close="">\n \n \n \n X\n \n \n t\n \n \n j\n \n \n \n*is taken into account, then*\left(\right)close="">\n \n \n \n X\n \n \n t\n \n \n j\n \n \n \n*is said to be Granger-causal for*\left(\right)close="">\n \n \n \n X\n \n \n t\n \n \n i\n \n \n \n.

For the linear case,\left(\right)close="">\n \n \n \n X\n \n \n t\n \n \n j\n \n \n \n is Granger non-causal for\left(\right)close="">\n \n \n \n X\n \n \n t\n \n \n i\n \n \n \n if the following condition holds:

\text{CCA}({\mathbf{X}}_{t}^{i},{\mathbf{X}}_{t-1}^{j}|{\mathbf{X}}_{t}\setminus \left\{{\mathbf{X}}_{t-1}^{j}\right\})=\rho =0,

(2)

where *ρ* is the largest correlation calculated by Canonical Correlation Analysis (CCA).

In order to simplify both notation and concepts, only the identification of Granger causality for sets of time series in an Autoregressive process of order one is presented. Generalizations for higher orders are straightforward.

### Functional clustering in terms of Granger causality

There are numerous definitions for clusters in networks in the literature[24]. A functional cluster in terms of Granger causality can be defined as a subset of genes that strongly interact among themselves but interact weakly with the rest of the network.

A usual approach for network clustering when the structure of the graph is known is the spectral clustering proposed by[25]. However, in biological data, the structure of the regulatory network is usually unknown.

In order to overcome this limitation, we developed a framework to cluster genes by their topological proximity using the time series gene expression information. We developed concepts of distance and degree for sets of time series based on Granger causality, and combined them to the modified spectral clustering algorithm. The procedures are detailed below.

#### Functional clustering

Given a set of time series\left(\right)close="">\n \n \n \n x\n \n \n t\n \n \n 1\n \n \n ,\n \n \n x\n \n \n t\n \n \n 2\n \n \n ,\n \u2026\n ,\n \n \n x\n \n \n t\n \n \n p\n \n \n \n (where *p* is the number of time series) and a definition of similarity *w*_{
ij
} ≥ 0 between all pairs of data points\left(\right)close="">\n \n \n \n x\n \n \n t\n \n \n i\n \n \n \n and\left(\right)close="">\n \n \n \n x\n \n \n t\n \n \n j\n \n \n \n, the intuitive goal of clustering is to divide the time series into several groups such that time series in the same group are highly connected by Granger causality and time series in different groups are not connected or show few connections to each other. One usual representation of the connectivity between time series is in the form of graph *G* = (*V*,*E*). Each vertex *v*_{
i
} in this graph represents a time series gene expression\left(\right)close="">\n \n \n \n x\n \n \n t\n \n \n i\n \n \n \n. Two vertices are connected if the similarity *w*_{
ij
} between the corresponding time series\left(\right)close="">\n \n \n \n x\n \n \n t\n \n \n i\n \n \n \n and\left(\right)close="">\n \n \n \n x\n \n \n t\n \n \n j\n \n \n \n is not zero (the edge of the graph is weighted by *w*_{
ij
}). In other words, a *w*_{
ij
} > 0 represents existence of Granger causality between time series\left(\right)close="">\n \n \n \n x\n \n \n t\n \n \n i\n \n \n \n and\left(\right)close="">\n \n \n \n x\n \n \n t\n \n \n j\n \n \n \n and *w*_{
ij
} = 0 represents Granger non-causality. The problem of clustering can now be reformulated using the similarity graph: we want to find a partition of the graph such that there is less Granger causality between different groups and more Granger causality within the group.

Let *G* = (*V*,*E*) be an undirected graph with vertex set *V* = {*v*_{1},…,*v*_{
p
}}(where each vertex represents one time series) and weighted edges set *E*. In the following we assume that the graph *G* is weighted, that is each edge between two vertices *v*_{
i
} and *v*_{
j
} carries a non-negative weight *w*_{
ij
} ≥ 0. The weighted adjacency matrix of the graph is the matrix **W** = *w*_{
ij
}; *i*,*j* = 1,…,*p*. If *w*_{
ij
} = 0, this means that the vertices *v*_{
i
} and *v*_{
j
} are not connected by an edge. As *G* is undirected, we require *w*_{
ij
} = *w*_{
ji
}. Therefore, in terms of Granger causality, *w*_{
ij
} can be set as the distance between two time series\left(\right)close="">\n \n \n \n x\n \n \n t\n \n \n i\n \n \n \n and\left(\right)close="">\n \n \n \n x\n \n \n t\n \n \n j\n \n \n \n. This distance can be defined as

##### Definition 2

*Distance between two (sets of) time series*\left(\right)close="">\n \n \n \n x\n \n \n t\n \n \n i\n \n \n \n*and*\left(\right)close="">\n \n \n \n x\n \n \n t\n \n \n j\n \n \n \n:

\mathit{\text{dist}}\left({x}_{t}^{i},{x}_{t}^{j}\right)=1-\frac{\left|\mathit{\text{CCA}}\right({x}_{t}^{i},{x}_{t-1}^{j}\left)\right|+\left|\mathit{\text{CCA}}\right({x}_{t}^{j},{x}_{t-1}^{i}\left)\right|}{2}.

(3)

Notice that\left(\right)close="">\n \n CCA\n (\n \n \n x\n \n \n t\n \n \n i\n \n \n ,\n \n \n x\n \n \n t\n \u2212\n 1\n \n \n j\n \n \n )\n \n is the Granger causality from time series\left(\right)close="">\n \n \n \n x\n \n \n t\n \n \n j\n \n \n \n to\left(\right)close="">\n \n \n \n x\n \n \n t\n \n \n i\n \n \n \n. In the case of sets of time series, just replace\left(\right)close="">\n \n \n \n x\n \n \n t\n \n \n i\n \n \n \n and\left(\right)close="">\n \n \n \n x\n \n \n t\n \n \n j\n \n \n \n by the set of time series\left(\right)close="">\n \n \n \n X\n \n \n t\n \n \n i\n \n \n \n and\left(\right)close="">\n \n \n \n X\n \n \n t\n \n \n j\n \n \n \n[20, 21]. Since absolute value of CCA ranges from zero to one and the higher the CCA, the higher is the quantity of information flow, it is possible to see that the higher the CCA, the shorter the distance is. Furthermore, it is necessary to point out that the average between\left(\right)close="">\n \n CCA\n (\n \n \n x\n \n \n t\n \n \n i\n \n \n ,\n \n \n x\n \n \n t\n \u2212\n 1\n \n \n j\n \n \n )\n \n and\left(\right)close="">\n \n CCA\n (\n \n \n x\n \n \n t\n \n \n j\n \n \n ,\n \n \n x\n \n \n t\n \u2212\n 1\n \n \n i\n \n \n )\n \n is calculated because the distance must be symmetric. The intuitive idea consists on the fact that the higher is the CCA coefficient, the lower is the distance between the time series (or sets of time series) independent of the direction of Granger causality.

Moreover, notice that the CCA is the Pearson correlation after dimension reduction, therefore,\left(\right)close="">\n \n dist\n (\n \n \n x\n \n \n t\n \n \n i\n \n \n ,\n \n \n x\n \n \n t\n \n \n j\n \n \n )\n \n satisfies three out of four criteria for distances: (i) non-negativity; (ii) identity of indiscernible; and (iii) symmetry; and does not satisfy the (iv) triangular inequality, therefore, Pearson correlation is not a real metric. However, it is commonly used as a distance measure in several gene expression data analysis[26, 27]. The main advantage with this definition of distance is the fact that it is possible to interpret the clustering process by a Granger causality concept.

Another necessary concept is the idea of degree of a time series\left(\right)close="">\n \n \n \n x\n \n \n t\n \n \n i\n \n \n \n (vertex *v*_{
i
}) which can be defined as

##### Definition 3

*Degree of*
\left(\right)close="">\n \n \n \n x\n \n \n t\n \n \n i\n \n \n \n
*is defined by:*

\mathit{\text{degree}}\left({x}_{t}^{i}\right)=\frac{\mathit{\text{in-degree}}\left({x}_{t}^{i}\right)+\mathit{\text{out-degree}}\left({x}_{t}^{i}\right)}{2},

(4)

*where in-degree and out-degree are respectively*

\mathit{\text{in-degree}}\left({x}_{t}^{i}\right)=\left|\mathit{\text{CCA}}\right({x}_{t}^{i},{\mathbf{X}}_{t-1}|{\mathbf{X}}_{t}\setminus \{{\mathbf{X}}_{t-1}\left\}\right)|

(5)

\mathit{\text{out-degree}}\left({x}_{t}^{i}\right)=\left|\mathit{\text{CCA}}\right({\mathbf{X}}_{t},{x}_{t-1}^{i}|{\mathbf{X}}_{t}\setminus \{{x}_{t-1}^{i}\left\}\right)|.

(6)

Notice that in-degree and out-degree represent the total information flow that “enters” and “leaves” the vertex *v*_{
i
}, respectively. Therefore, the degree of vertex *v*_{
i
} contains the total information flow passing through vertex *v*_{
i
}.

Without loss of generality, it is possible to extend the concept of degree of a vertex *v*_{
i
} (time series\left(\right)close="">\n \n \n \n x\n \n \n t\n \n \n i\n \n \n \n) to a set of time series (sub-network)\left(\right)close="">\n \n \n \n X\n \n \n t\n \n \n u\n \n \n \n, where *u* = 1,…,*k* and *k* is the number of sub-networks.

##### Definition 4

*Degree of sub-network*
\left(\right)close="">\n \n \n \n X\n \n \n t\n \n \n u\n \n \n \n
*is defined by:*

\mathit{\text{degree}}\left({\mathbf{X}}_{t}^{u}\right)=\frac{\mathit{\text{in-degree}}\left({\mathbf{X}}_{t}^{u}\right)+\mathit{\text{out-degree}}\left({\mathbf{X}}_{t}^{u}\right)}{2},

(7)

*where in-degree and out-degree are respectively*

\mathit{\text{in-degree}}\left({\mathbf{X}}_{t}^{u}\right)=\left|\mathit{\text{CCA}}\right({\mathbf{X}}_{t}^{u},{\mathbf{X}}_{t-1}|{\mathbf{X}}_{t}\setminus \{{\mathbf{X}}_{t-1}\left\}\right)|,

(8)

\mathit{\text{out-degree}}\left({\mathbf{X}}_{t}^{u}\right)=\left|\mathit{\text{CCA}}\right({\mathbf{X}}_{t},{\mathbf{X}}_{t-1}^{u}|{\mathbf{X}}_{t}\setminus \{{\mathbf{X}}_{t-1}^{u}\left\}\right)|.

(9)

Now, by using the definitions of distance and degrees for time series and sets of time series in terms of Granger causality, it is possible to develop a spectral clustering-based algorithm to identify sub-networks (set of time series that are highly connected within sets and poorly connected between sets) in the regulatory networks. The algorithm based on spectral clustering[25] is as follows:

**Input:** The *p* time series (\left(\right)close="">\n \n \n \n x\n \n \n t\n \n \n i\n \n \n ;\n i\n =\n 1\n ,\n \u2026\n ,\n p\n \n) and the number *k* of sub-networks to construct.

**Step 1:** Let **W** be the (*p* × *p*) symmetric weighted adjacency matrix where\left(\right)close="">\n \n \n \n w\n \n \n i\n ,\n j\n \n \n =\n \n \n w\n \n \n j\n ,\n i\n \n \n =\n 1\n \u2212\n dist\n (\n \n \n x\n \n \n t\n \n \n i\n \n \n ;\n \n \n x\n \n \n t\n \n \n j\n \n \n )\n ,\n i\n ,\n j\n =\n 1\n ,\n \u2026\n ,\n p\n \n.

**Step 2:** Compute the non-normalized (*p* × *p*) Laplacian matrix **L** as (Mohar, 1991)

\mathbf{L}=\mathbf{D}-\mathbf{W}

(10)

where **D** is the (*p* × *p*) diagonal matrix with the degrees *d*_{1},…,*d*_{
p
}(\left(\right)close="">\n \n degree\n (\n \n \n x\n \n \n t\n \n \n i\n \n \n )\n =\n \n \n d\n \n \n i\n \n \n ;\n i\n =\n 1\n ,\n \u2026\n ,\n p\n \n) on the diagonal.

**Step 3:** Compute the first *k* eigenvectors {**e**_{1},…,**e**_{
k
}} (corresponding to the *k* largest eigenvalues) of **L**.

**Step 4:** Let **U** ∈ *ℜ*^{p×k} be the matrix containing the vectors {**e**_{1},…,**e**_{
k
}} as columns.

**Step 5:** For *i* = 1,…,*p*, let **y**_{
i
} ∈ *ℜ*^{k} be the vector corresponding to the *i* th row of **U**.

**Step 6:** Cluster the points (**y**_{
i
})_{i=1,…,p} ∈ *ℜ*^{k} with the *k*-means algorithm into clusters {**X**_{1},…,**X**_{
k
}}. For *k*-means, one may select a large number of initial values to achieve (or to be closer) the global optimum configuration. In our simulations, we generated 100 different initial values.

**Output:** Sub-networks {**X**_{1},…,**X**_{
k
}}.

Notice that this clustering approach does not infer the entire structure of the network.

#### Estimation of the number of clusters

The method presented so far describes a framework for clustering genes (time series) using their topological proximity in terms of Granger causality.

Now, the challenge consists in determining the optimum number of sub-networks *k*. The choice of the number of sub-networks *k* is often difficult depending on what the researcher is interested in. In our specific problem, one is interested in identifying the clusters presenting dense connectivity within a cluster and sparse connectivity between clusters.

In order to determine the most appropriate number of clusters in this specific context, we used a variant of the silhouette method[28].

Let us first define the cluster index *s*(*i*) in the case of dissimilarities. Take any time series\left(\right)close="">\n \n \n \n x\n \n \n t\n \n \n i\n \n \n \n in the data set, and denote by **A** the sub-network to which it has been assigned. When sub-network **A** contains other time series apart from\left(\right)close="">\n \n \n \n x\n \n \n t\n \n \n i\n \n \n \n, then we can compute:\left(\right)close="">\n \n a\n (\n i\n )\n =\n dist\n (\n \n \n x\n \n \n t\n \n \n i\n \n \n ,\n A\n )\n \n, which is the average dissimilarity of\left(\right)close="">\n \n \n \n x\n \n \n t\n \n \n i\n \n \n \n to **A**. Let us now consider any sub-network **C** which is different from **A** and compute:\left(\right)close="">\n \n dist\n (\n \n \n x\n \n \n t\n \n \n i\n \n \n ,\n C\n )\n \n which is the dissimilarity of\left(\right)close="">\n \n \n \n x\n \n \n t\n \n \n i\n \n \n \n to **C**. After computing\left(\right)close="">\n \n dist\n (\n \n \n x\n \n \n t\n \n \n i\n \n \n ,\n C\n )\n \n for all sub-networks **C** ≠ **A**, we set the smallest of those numbers and denote it by\left(\right)close="">\n \n b\n (\n i\n )\n =\n mi\n \n \n n\n \n \n C\n \u2260\n A\n \n \n dist\n (\n \n \n x\n \n \n t\n \n \n i\n \n \n ,\n C\n )\n \n. The sub-network **B** for which this minimum value is attained (that is,\left(\right)close="">\n \n dist\n (\n \n \n x\n \n \n t\n \n \n i\n \n \n ,\n B\n )\n =\n b\n (\n i\n )\n )\n \n we call the neighbor sub-network, or cluster of\left(\right)close="">\n \n \n \n x\n \n \n t\n \n \n i\n \n \n \n. The neighbor cluster would be the second-best cluster for time series\left(\right)close="">\n \n \n \n x\n \n \n t\n \n \n i\n \n \n \n. In other words, if\left(\right)close="">\n \n \n \n x\n \n \n t\n \n \n i\n \n \n \n could not belong to sub-network **A**, the best sub-network to belong to would be **B**. Therefore, *b*(*i*) is very useful to know the best alternative cluster for the time series in the network. Note that the construction of *b*(*i*) depends on the availability of other sub-networks apart from **A**, thus it is necessary to assume that there is more than one sub-network *k* within a given network[28].

After calculating *a*(*i*) and *b*(*i*), the cluster index *s*(*i*) can be obtained by combining them as follows:

s\left(i\right)=\frac{b\left(i\right)-a\left(i\right)}{\mathrm{max}\left(a\right(i),b(i\left)\right)}.

(11)

Indeed, from the above definition we easily see that −1 ≤ *s*(*i*) ≤ 1 for each time series\left(\right)close="">\n \n \n \n x\n \n \n t\n \n \n i\n \n \n \n. Therefore, there are at least three cases to be analyzed, namely, when *s*(*i*) ≈ 1 or *s*(*i*) ≈ 0 or *s*(*i*) ≈ −1. For cluster index *s*(*i*) to be close to one we require *a*(*i*) ≪ *b*(*i*). As *a*(*i*) is a measure of how dissimilar *i* is to its own sub-network, a small value means it is well matched. Furthermore, a large *b*(*i*) implies that *i* is badly matched to its neighboring sub-network. Thus, a cluster index *s*(*i*) close to one means that the gene is appropriately clustered. If *s*(*i*) is close to negative one, then by the same logic we see that\left(\right)close="">\n \n \n \n x\n \n \n t\n \n \n i\n \n \n \n would be more appropriate if it was clustered in its neighboring sub-network. A cluster index *s*(*i*) near zero means that the gene is on the border of two sub-networks. In other words, the cluster index *s*(*i*) can be interpreted as the fitness of the time series\left(\right)close="">\n \n \n \n x\n \n \n t\n \n \n i\n \n \n \n to the assigned sub-network.

The average cluster index *s*(*i*) of a sub-network is a measure of how tightly grouped all the genes in the sub-network are. Thus, the average cluster index *s*(*i*) of the entire dataset is a measure of how appropriately the genes have been clustered in a topological point of view and in terms of Granger causality.

#### Estimation of the number of clusters in biological data

In order to estimate the most appropriate number of sub-networks present in the data set, we estimate the average cluster index *s* of the entire dataset for each number of clusters *k*. When the number of identified sub-networks is equal or lower than the adequate number of sub-networks, the cluster index values are very similar. However, when the number of identified sub-networks becomes higher than the adequate number of sub-networks, the cluster index value *s* decreases abruptly. This is due to the fact that one of the highly connected sub-networks is split into two new sub-networks. Notice that these two new sub-networks present high connectivity between them because they are in fact, only one sub-network. In order to illustrate this event, see Figure2 for an example. In Figure2a, genes in cluster 1 are highly interconnected. Now, suppose that one wants to increase the number of clusters by splitting cluster 1 into two clusters namely clusters 1 and 5 (Figure2c). Notice that clusters 1 and 5 are highly connected between them. If the number of clusters is higher than the adequate number of clusters (four, in our case), the value *s* decreases substantially, since the Granger causality between clusters increases and the within cluster decreases. The breakpoint where the value *s* decreases abruptly can be used to determine the adequate number of sub-networks. In fact, this can be visually identified by analyzing the breakpoint at the plot similarly to the standard elbow method used in k-means. However, if one wants to determine the breakpoint in an objective manner, this can be done by adjusting two linear regressions, one with the first *q* dots and another with the remaining dots, thus identifying the breakpoint (the value *q*) that minimizes the sum of squared errors (Figure3).

### Network construction

The network connecting clusters is constructed following procedures previously described[20, 21]. Briefly, after Classification Expectation Maximization (CEM)[29] Principal Component Analysis (PCA) is used to remove redundancy and to extract the eigen-time series from each cluster. PCA allows us to keep only the most significant components leading to variability in the dataset, thus reducing the number of variables for subsequent processing. In this study, we retained only components accounting for more than 5% of the temporal variance in each cluster[22]. The eigen-time series are then clustered as described in the section Functional clustering and the network can be inferred by applying the method proposed by[20, 21].

The Granger causality between cluster is identified by:

\text{CCA}({\mathbf{X}}_{t}^{i},{\mathbf{X}}_{t-1}^{j}|{\mathbf{X}}_{t}\setminus \left\{{\mathbf{X}}_{t-1}^{j}\right\})=\widehat{\rho}\phantom{\rule{1em}{0ex}}\text{for all}\phantom{\rule{1em}{0ex}}i,j=1,\dots ,k

(12)

where\left(\right)close="">\n \n \n \n \rho \n \n \u0302\n \n \n is the sample canonical correlation between the sets\left(\right)close="">\n \n \n \n X\n \n \n t\n \n \n i\n \n \n \n and\left(\right)close="">\n \n \n \n X\n \n \n t\n \u2212\n 1\n \n \n j\n \n \n \n partialized by all information contained in **X**_{
t
} minus the set\left(\right)close="">\n \n \n \n X\n \n \n t\n \u2212\n 1\n \n \n j\n \n \n \n.

Then, test

\left(\right)close="">\n \n \n \n H\n \n \n 0\n \n \n :\n CCA\n (\n \n \n X\n \n \n t\n \n \n i\n \n \n ,\n \n \n X\n \n \n t\n \u2212\n 1\n \n \n j\n \n \n |\n \n \n X\n \n \n t\n \n \n \u2216\n {\n \n \n X\n \n \n t\n \u2212\n 1\n \n \n j\n \n \n }\n )\n =\n \n \n \rho \n \n \u0302\n \n =\n 0\n \n (Granger non-causality)

\left(\right)close="">\n \n \n \n H\n \n \n 1\n \n \n :\n CCA\n (\n \n \n X\n \n \n t\n \n \n i\n \n \n ,\n \n \n X\n \n \n t\n \u2212\n 1\n \n \n j\n \n \n |\n \n \n X\n \n \n t\n \n \n \u2216\n {\n \n \n X\n \n \n t\n \u2212\n 1\n \n \n j\n \n \n }\n )\n =\n \n \n \rho \n \n \u0302\n \n \u2260\n 0\n \n (Granger causality) where H_{0} and H_{1} are the null and alternative hypothesis, respectively.

### Simulations

Four sets of Monte Carlo simulations were carried out in order to evaluate the proposed approach under controlled conditions. The first scenario represents four sub-networks without Granger causality between them (Figure4a). The second scenario consists of four sub-networks constituting a cyclic graph (Figure4b). The third scenario presents a feedback loop between sub-networks A and B (Figure4c). The fourth scenario is composed of a network with one sub-network (sub-network D) that only receives Granger causality and one sub-network (sub-network A) that only sends Granger causality (Figure4d). Since biological data usually possess several highly correlated genes (genes which hold the same information from a statistical stand point), we constructed 10 highly correlated time series for each\left(\right)close="">\n \n \n \n x\n \n \n t\n \n \n i\n \n \n ,\n i\n =\n 1\n ,\n \u2026\n ,\n 20\n \n. In other words,\left(\right)close="">\n \n \n \n x\n \n \n t\n \n \n 1\n \n \n \n is represented by 10 time series with correlation of 0.6 between them,\left(\right)close="">\n \n \n \n x\n \n \n t\n \n \n 2\n \n \n \n is represented by 10 time series with correlation of 0.6 between them and so on. Therefore, instead of 20 time series, each scenario is in fact composed of 200 time series.

For each scenario, time series lengths varied: 50, 75, 1000 and 200 time points. The number of repetitions for each scenario is 1,000. The synthetic gene expression time series data in sub-networks A, B, C and D were generated by the following equations described below.

Simulation 1:

\left\{\begin{array}{ccc}\phantom{\rule{.8em}{0ex}}{x}_{1,t}^{\text{A}}\hfill & =\hfill & \beta {x}_{1,t-1}^{\text{A}}-\beta {x}_{4,t-1}^{\text{A}}+\beta {x}_{3,t-1}^{\text{A}}+{\epsilon}_{1,t}\hfill \\ \phantom{\rule{.8em}{0ex}}{x}_{2,t}^{\text{A}}\hfill & =\hfill & \beta {x}_{1,t-1}^{\text{A}}-\beta {x}_{3,t-1}^{\text{A}}+\beta {x}_{4,t-1}^{\text{A}}+{\epsilon}_{2,t}\hfill \\ \phantom{\rule{.8em}{0ex}}{x}_{3,t}^{\text{A}}\hfill & =\hfill & \beta {x}_{1,t-1}^{\text{A}}-\beta {x}_{5,t-1}^{\text{A}}+{\epsilon}_{3,t}\hfill \\ \phantom{\rule{.8em}{0ex}}{x}_{4,t}^{\text{A}}\hfill & =\hfill & \beta {x}_{3,t-1}^{\text{A}}-\beta {x}_{5,t-1}^{\text{A}}+{\epsilon}_{4,t}\hfill \\ \phantom{\rule{.8em}{0ex}}{x}_{5,t}^{\text{A}}\hfill & =\hfill & \beta {x}_{2,t-1}^{\text{A}}-\beta {x}_{3,t-1}^{\text{A}}+\beta {x}_{4,t-1}^{\text{A}}+{\epsilon}_{5,t}\hfill \\ \phantom{\rule{.8em}{0ex}}{x}_{6,t}^{\text{B}}\hfill & =\hfill & \beta {x}_{9,t-1}^{\text{B}}-\beta {x}_{7,t-1}^{\text{B}}+{\epsilon}_{6,t}\hfill \\ \phantom{\rule{.8em}{0ex}}{x}_{7,t}^{\text{B}}\hfill & =\hfill & \beta {x}_{10,t-1}^{\text{B}}-\beta {x}_{7,t-1}^{\text{B}}+{\epsilon}_{7,t}\hfill \\ \phantom{\rule{.8em}{0ex}}{x}_{8,t}^{\text{B}}\hfill & =\hfill & \beta {x}_{10,t-1}^{\text{B}}-\beta {x}_{6,t-1}^{\text{B}}+\beta {x}_{7,t-1}^{\text{B}}+{\epsilon}_{8,t}\hfill \\ \phantom{\rule{.8em}{0ex}}{x}_{9,t}^{\text{B}}\hfill & =\hfill & \beta {x}_{7,t-1}^{\text{B}}-\beta {x}_{8,t-1}^{\text{B}}+\beta {x}_{9,t-1}^{\text{B}}-\beta {x}_{6,t-1}^{\text{B}}+{\epsilon}_{9,t}\hfill \\ {x}_{10,t}^{\text{B}}\hfill & =\hfill & \beta {x}_{10,t-1}^{\text{B}}-\beta {x}_{6,t-1}^{\text{B}}+\beta {x}_{9,t-1}^{\text{B}}+{\epsilon}_{10,t}\hfill \\ {x}_{11,t}^{\text{C}}\hfill & =\hfill & \beta {x}_{12,t-1}^{\text{C}}-\beta {x}_{15,t-1}^{\text{C}}+{\epsilon}_{11,t}\hfill \\ {x}_{12,t}^{\text{C}}\hfill & =\hfill & \beta {x}_{14,t-1}^{\text{C}}-\beta {x}_{13,t-1}^{\text{C}}+{\epsilon}_{12,t}\hfill \\ {x}_{13,t}^{\text{C}}\hfill & =\hfill & \beta {x}_{14,t-1}^{\text{C}}-\beta {x}_{11,t-1}^{\text{C}}+{\epsilon}_{13,t}\hfill \\ {x}_{14,t}^{\text{C}}\hfill & =\hfill & \beta {x}_{13,t-1}^{\text{C}}-\beta {x}_{11,t-1}^{\text{C}}+{\epsilon}_{14,t}\hfill \\ {x}_{15,t}^{\text{C}}\hfill & =\hfill & \beta {x}_{15,t-1}^{\text{C}}-\beta {x}_{12,t-1}^{\text{C}}+\beta {x}_{13,t-1}^{\text{C}}-\beta {x}_{14,t-1}^{\text{C}}+{\epsilon}_{15,t}\hfill \\ {x}_{16,t}^{\text{D}}\hfill & =\hfill & \beta {x}_{19,t-1}^{\text{D}}-\beta {x}_{20,t-1}^{\text{D}}+\beta {x}_{17,t-1}^{\text{D}}-\beta {x}_{18,t-1}^{\text{D}}+{\epsilon}_{16,t}\hfill \\ {x}_{17,t}^{\text{D}}\hfill & =\hfill & \beta {x}_{20,t-1}^{\text{D}}-\beta {x}_{17,t-1}^{\text{D}}+\beta {x}_{18,t-1}^{\text{D}}+{\epsilon}_{17,t}\hfill \\ {x}_{18,t}^{\text{D}}\hfill & =\hfill & \beta {x}_{20,t-1}^{\text{D}}-\beta {x}_{18,t-1}^{\text{D}}+{\epsilon}_{18,t}\hfill \\ {x}_{19,t}^{\text{D}}\hfill & =\hfill & \beta {x}_{17,t-1}^{\text{D}}-\beta {x}_{18,t-1}^{\text{D}}+{\epsilon}_{19,t}\hfill \\ {x}_{20,t}^{\text{D}}\hfill & =\hfill & \beta {x}_{20,t-1}^{\text{D}}-\beta {x}_{19,t-1}^{\text{D}}+{\epsilon}_{20,t}\hfill \end{array}\right.

Simulation 2:

\left\{\begin{array}{ccc}\phantom{\rule{.8em}{0ex}}{x}_{1,t}^{\text{A}}\hfill & =\hfill & \beta {x}_{1,t-1}^{\text{A}}-\beta {x}_{4,t-1}^{\text{A}}+\beta {x}_{3,t-1}^{\text{A}}+{\epsilon}_{1,t}\hfill \\ \phantom{\rule{.8em}{0ex}}{x}_{2,t}^{\text{A}}\hfill & =\hfill & \beta {x}_{1,t-1}^{\text{A}}-\beta {x}_{3,t-1}^{\text{A}}+\beta {x}_{4,t-1}^{\text{A}}+{\epsilon}_{2,t}\hfill \\ \phantom{\rule{.8em}{0ex}}{x}_{3,t}^{\text{A}}\hfill & =\hfill & \beta {x}_{1,t-1}^{\text{A}}-\beta {x}_{5,t-1}^{\text{A}}+\gamma {x}_{19,t-1}^{\text{D}}+{\epsilon}_{3,t}\hfill \\ \phantom{\rule{.8em}{0ex}}{x}_{4,t}^{\text{A}}\hfill & =\hfill & \beta {x}_{3,t-1}^{\text{A}}-\beta {x}_{5,t-1}^{\text{A}}+{\epsilon}_{4,t}\hfill \\ \phantom{\rule{.8em}{0ex}}{x}_{5,t}^{\text{A}}\hfill & =\hfill & \beta {x}_{2,t-1}^{\text{A}}-\beta {x}_{3,t-1}^{\text{A}}+\beta {x}_{4,t-1}^{\text{A}}+{\epsilon}_{5,t}\hfill \\ \phantom{\rule{.8em}{0ex}}{x}_{6,t}^{\text{B}}\hfill & =\hfill & \beta {x}_{9,t-1}^{\text{B}}-\beta {x}_{7,t-1}^{\text{B}}+\gamma {x}_{3,t-1}^{\text{A}}+{\epsilon}_{6,t}\hfill \\ \phantom{\rule{.8em}{0ex}}{x}_{7,t}^{\text{B}}\hfill & =\hfill & \beta {x}_{10,t-1}^{\text{B}}-\beta {x}_{7,t-1}^{\text{B}}+{\epsilon}_{7,t}\hfill \\ \phantom{\rule{.8em}{0ex}}{x}_{8,t}^{\text{B}}\hfill & =\hfill & \beta {x}_{10,t-1}^{\text{B}}-\beta {x}_{6,t-1}^{\text{B}}+\beta {x}_{7,t-1}^{\text{B}}+{\epsilon}_{8,t}\hfill \\ \phantom{\rule{.8em}{0ex}}{x}_{9,t}^{\text{B}}\hfill & =\hfill & \beta {x}_{7,t-1}^{\text{B}}-\beta {x}_{8,t-1}^{\text{B}}+\beta {x}_{9,t-1}^{\text{B}}-\beta {x}_{6,t-1}^{\text{B}}+{\epsilon}_{9,t}\hfill \\ {x}_{10,t}^{\text{B}}\hfill & =\hfill & \beta {x}_{10,t-1}^{\text{B}}-\beta {x}_{6,t-1}^{\text{B}}+\beta {x}_{9,t-1}^{\text{B}}+{\epsilon}_{10,t}\hfill \\ {x}_{11,t}^{\text{C}}\hfill & =\hfill & \beta {x}_{12,t-1}^{\text{C}}-\beta {x}_{15,t-1}^{\text{C}}+{\epsilon}_{11,t}\hfill \\ {x}_{12,t}^{\text{C}}\hfill & =\hfill & \beta {x}_{14,t-1}^{\text{C}}-\beta {x}_{13,t-1}^{\text{C}}+{\epsilon}_{12,t}\hfill \\ {x}_{13,t}^{\text{C}}\hfill & =\hfill & \beta {x}_{14,t-1}^{\text{C}}-\beta {x}_{11,t-1}^{\text{C}}+{\epsilon}_{13,t}\hfill \\ {x}_{14,t}^{\text{C}}\hfill & =\hfill & \beta {x}_{13,t-1}^{\text{C}}-\beta {x}_{11,t-1}^{\text{C}}+\gamma {x}_{10,t-1}^{\text{B}}+{\epsilon}_{14,t}\hfill \\ {x}_{15,t}^{\text{C}}\hfill & =\hfill & \beta {x}_{15,t-1}^{\text{C}}-\beta {x}_{12,t-1}^{\text{C}}+\beta {x}_{13,t-1}^{\text{C}}-\beta {x}_{14,t-1}^{\text{C}}+{\epsilon}_{15,t}\hfill \\ {x}_{16,t}^{\text{D}}\hfill & =\hfill & \beta {x}_{19,t-1}^{\text{D}}-\beta {x}_{20,t-1}^{\text{D}}+\beta {x}_{17,t-1}^{\text{D}}-\beta {x}_{18,t-1}^{\text{D}}+{\epsilon}_{16,t}\hfill \\ {x}_{17,t}^{\text{D}}\hfill & =\hfill & \beta {x}_{20,t-1}^{\text{D}}-\beta {x}_{17,t-1}^{\text{D}}+\beta {x}_{18,t-1}^{\text{D}}+{\epsilon}_{17,t}\hfill \\ {x}_{18,t}^{\text{D}}\hfill & =\hfill & \beta {x}_{20,t-1}^{\text{D}}-\beta {x}_{18,t-1}^{\text{D}}+{\epsilon}_{18,t}\hfill \\ {x}_{19,t}^{\text{D}}\hfill & =\hfill & \beta {x}_{17,t-1}^{\text{D}}-\beta {x}_{18,t-1}^{\text{D}}+{\epsilon}_{19,t}\hfill \\ {x}_{20,t}^{\text{D}}\hfill & =\hfill & \beta {x}_{20,t-1}^{\text{D}}-\beta {x}_{19,t-1}^{\text{D}}+\gamma {x}_{15,t-1}^{\text{C}}+{\epsilon}_{20,t}\hfill \end{array}\right.

Simulation 3:

\left\{\begin{array}{ccc}\phantom{\rule{.8em}{0ex}}{x}_{1,t}^{\text{A}}\hfill & =\hfill & \beta {x}_{1,t-1}^{\text{A}}-\beta {x}_{4,t-1}^{\text{A}}+\beta {x}_{3,t-1}^{\text{A}}+{\epsilon}_{1,t}\hfill \\ \phantom{\rule{.8em}{0ex}}{x}_{2,t}^{\text{A}}\hfill & =\hfill & \beta {x}_{1,t-1}^{\text{A}}-\beta {x}_{3,t-1}^{\text{A}}+\beta {x}_{4,t-1}^{\text{A}}+{\epsilon}_{2,t}\hfill \\ \phantom{\rule{.8em}{0ex}}{x}_{3,t}^{\text{A}}\hfill & =\hfill & \beta {x}_{1,t-1}^{\text{A}}-\beta {x}_{5,t-1}^{\text{A}}+\gamma {x}_{6,t-1}^{\text{B}}+{\epsilon}_{3,t}\hfill \\ \phantom{\rule{.8em}{0ex}}{x}_{4,t}^{\text{A}}\hfill & =\hfill & \beta {x}_{3,t-1}^{\text{A}}-\beta {x}_{5,t-1}^{\text{A}}+{\epsilon}_{4,t}\hfill \\ \phantom{\rule{.8em}{0ex}}{x}_{5,t}^{\text{A}}\hfill & =\hfill & \beta {x}_{2,t-1}^{\text{A}}-\beta {x}_{3,t-1}^{\text{A}}+\beta {x}_{4,t-1}^{\text{A}}+{\epsilon}_{5,t}\hfill \\ \phantom{\rule{.8em}{0ex}}{x}_{6,t}^{\text{B}}\hfill & =\hfill & \beta {x}_{9,t-1}^{\text{B}}-\beta {x}_{7,t-1}^{\text{B}}+{\epsilon}_{6,t}\hfill \\ \phantom{\rule{.8em}{0ex}}{x}_{7,t}^{\text{B}}\hfill & =\hfill & \beta {x}_{10,t-1}^{\text{B}}-\beta {x}_{7,t-1}^{\text{B}}+\gamma {x}_{3,t-1}^{\text{A}}+{\epsilon}_{7,t}\hfill \\ \phantom{\rule{.8em}{0ex}}{x}_{8,t}^{\text{B}}\hfill & =\hfill & \beta {x}_{10,t-1}^{\text{B}}-\beta {x}_{6,t-1}^{\text{B}}+\beta {x}_{7,t-1}^{\text{B}}+{\epsilon}_{8,t}\hfill \\ \phantom{\rule{.8em}{0ex}}{x}_{9,t}^{\text{B}}\hfill & =\hfill & \beta {x}_{7,t-1}^{\text{B}}-\beta {x}_{8,t-1}^{\text{B}}+\beta {x}_{9,t-1}^{\text{B}}-\beta {x}_{6,t-1}^{\text{B}}+{\epsilon}_{9,t}\hfill \\ {x}_{10,t}^{\text{B}}\hfill & =\hfill & \beta {x}_{10,t-1}^{\text{B}}-\beta {x}_{6,t-1}^{\text{B}}+\beta {x}_{9,t-1}^{\text{B}}+{\epsilon}_{10,t}\hfill \\ {x}_{11,t}^{\text{C}}\hfill & =\hfill & \beta {x}_{12,t-1}^{\text{C}}-\beta {x}_{15,t-1}^{\text{C}}+{\epsilon}_{11,t}\hfill \\ {x}_{12,t}^{\text{C}}\hfill & =\hfill & \beta {x}_{14,t-1}^{\text{C}}-\beta {x}_{13,t-1}^{\text{C}}+{\epsilon}_{12,t}\hfill \\ {x}_{13,t}^{\text{C}}\hfill & =\hfill & \beta {x}_{14,t-1}^{\text{C}}-\beta {x}_{11,t-1}^{\text{C}}+{\epsilon}_{13,t}\hfill \\ {x}_{14,t}^{\text{C}}\hfill & =\hfill & \beta {x}_{13,t-1}^{\text{C}}-\beta {x}_{11,t-1}^{\text{C}}+\gamma {x}_{10,t-1}^{\text{B}}+{\epsilon}_{14,t}\hfill \\ {x}_{15,t}^{\text{C}}\hfill & =\hfill & \beta {x}_{15,t-1}^{\text{C}}-\beta {x}_{12,t-1}^{\text{C}}+\beta {x}_{13,t-1}^{\text{C}}-\beta {x}_{14,t-1}^{\text{C}}+{\epsilon}_{15,t}\hfill \\ {x}_{16,t}^{\text{D}}\hfill & =\hfill & \beta {x}_{19,t-1}^{\text{D}}-\beta {x}_{20,t-1}^{\text{D}}+\beta {x}_{17,t-1}^{\text{D}}-\beta {x}_{18,t-1}^{\text{D}}+{\epsilon}_{16,t}\hfill \\ {x}_{17,t}^{\text{D}}\hfill & =\hfill & \beta {x}_{20,t-1}^{\text{D}}-\beta {x}_{17,t-1}^{\text{D}}+\beta {x}_{18,t-1}^{\text{D}}+{\epsilon}_{17,t}\hfill \\ {x}_{18,t}^{\text{D}}\hfill & =\hfill & \beta {x}_{20,t-1}^{\text{D}}-\beta {x}_{18,t-1}^{\text{D}}+{\epsilon}_{18,t}\hfill \\ {x}_{19,t}^{\text{D}}\hfill & =\hfill & \beta {x}_{17,t-1}^{\text{D}}-\beta {x}_{18,t-1}^{\text{D}}+{\epsilon}_{19,t}\hfill \\ {x}_{20,t}^{\text{D}}\hfill & =\hfill & \beta {x}_{20,t-1}^{\text{D}}-\beta {x}_{19,t-1}^{\text{D}}+\gamma {x}_{15,t-1}^{\text{C}}+{\epsilon}_{20,t}\hfill \end{array}\right.

Simulation 4:

\left\{\begin{array}{ccc}\phantom{\rule{.8em}{0ex}}{x}_{1,t}^{\text{A}}\hfill & =\hfill & \beta {x}_{1,t-1}^{\text{A}}-\beta {x}_{4,t-1}^{\text{A}}+\beta {x}_{3,t-1}^{\text{A}}+{\epsilon}_{1,t}\hfill \\ \phantom{\rule{.8em}{0ex}}{x}_{2,t}^{\text{A}}\hfill & =\hfill & \beta {x}_{1,t-1}^{\text{A}}-\beta {x}_{3,t-1}^{\text{A}}+\beta {x}_{4,t-1}^{\text{A}}+{\epsilon}_{2,t}\hfill \\ \phantom{\rule{.8em}{0ex}}{x}_{3,t}^{\text{A}}\hfill & =\hfill & \beta {x}_{1,t-1}^{\text{A}}-\beta {x}_{5,t-1}^{\text{A}}+{\epsilon}_{3,t}\hfill \\ \phantom{\rule{.8em}{0ex}}{x}_{4,t}^{\text{A}}\hfill & =\hfill & \beta {x}_{3,t-1}^{\text{A}}-\beta {x}_{5,t-1}^{\text{A}}+{\epsilon}_{4,t}\hfill \\ \phantom{\rule{.8em}{0ex}}{x}_{5,t}^{\text{A}}\hfill & =\hfill & \beta {x}_{2,t-1}^{\text{A}}-\beta {x}_{3,t-1}^{\text{A}}+\beta {x}_{4,t-1}^{\text{A}}+{\epsilon}_{5,t}\hfill \\ \phantom{\rule{.8em}{0ex}}{x}_{6,t}^{\text{B}}\hfill & =\hfill & \beta {x}_{9,t-1}^{\text{B}}-\beta {x}_{7,t-1}^{\text{B}}+{\epsilon}_{6,t}\hfill \\ \phantom{\rule{.8em}{0ex}}{x}_{7,t}^{\text{B}}\hfill & =\hfill & \beta {x}_{10,t-1}^{\text{B}}-\beta {x}_{7,t-1}^{\text{B}}+\gamma {x}_{3,t-1}^{\text{A}}+{\epsilon}_{7,t}\hfill \\ \phantom{\rule{.8em}{0ex}}{x}_{8,t}^{\text{B}}\hfill & =\hfill & \beta {x}_{10,t-1}^{\text{B}}-\beta {x}_{6,t-1}^{\text{B}}+\beta {x}_{7,t-1}^{\text{B}}+{\epsilon}_{8,t}\hfill \\ \phantom{\rule{.8em}{0ex}}{x}_{9,t}^{\text{B}}\hfill & =\hfill & \beta {x}_{7,t-1}^{\text{B}}-\beta {x}_{8,t-1}^{\text{B}}+\beta {x}_{9,t-1}^{\text{B}}-\beta {x}_{6,t-1}^{\text{B}}+{\epsilon}_{9,t}\hfill \\ {x}_{10,t}^{\text{B}}\hfill & =\hfill & \beta {x}_{10,t-1}^{\text{B}}-\beta {x}_{6,t-1}^{\text{B}}+\beta {x}_{9,t-1}^{\text{B}}+{\epsilon}_{10,t}\hfill \\ {x}_{11,t}^{\text{C}}\hfill & =\hfill & \beta {x}_{12,t-1}^{\text{C}}-\beta {x}_{15,t-1}^{\text{C}}+{\epsilon}_{11,t}\hfill \\ {x}_{12,t}^{\text{C}}\hfill & =\hfill & \beta {x}_{14,t-1}^{\text{C}}-\beta {x}_{13,t-1}^{\text{C}}+{\epsilon}_{12,t}\hfill \\ {x}_{13,t}^{\text{C}}\hfill & =\hfill & \beta {x}_{14,t-1}^{\text{C}}-\beta {x}_{11,t-1}^{\text{C}}+\gamma {x}_{8,t-1}^{\text{B}}+{\epsilon}_{13,t}\hfill \\ {x}_{14,t}^{\text{C}}\hfill & =\hfill & \beta {x}_{13,t-1}^{\text{C}}-\beta {x}_{11,t-1}^{\text{C}}+{\gamma}_{5,t-1}^{\text{A}}+{\epsilon}_{14,t}\hfill \\ {x}_{15,t}^{\text{C}}\hfill & =\hfill & \beta {x}_{15,t-1}^{\text{C}}-\beta {x}_{12,t-1}^{\text{C}}+\beta {x}_{13,t-1}^{\text{C}}-\beta {x}_{14,t-1}^{\text{C}}+{\epsilon}_{15,t}\hfill \\ {x}_{16,t}^{\text{D}}\hfill & =\hfill & \beta {x}_{19,t-1}^{\text{D}}-\beta {x}_{20,t-1}^{\text{D}}+\beta {x}_{17,t-1}^{\text{D}}-\beta {x}_{18,t-1}^{\text{D}}+{\epsilon}_{16,t}\hfill \\ {x}_{17,t}^{\text{D}}\hfill & =\hfill & \beta {x}_{20,t-1}^{\text{D}}-\beta {x}_{17,t-1}^{\text{D}}+\beta {x}_{18,t-1}^{\text{D}}+{\epsilon}_{17,t}\hfill \\ {x}_{18,t}^{\text{D}}\hfill & =\hfill & \beta {x}_{20,t-1}^{\text{D}}-\beta {x}_{18,t-1}^{\text{D}}+{\epsilon}_{18,t}\hfill \\ {x}_{19,t}^{\text{D}}\hfill & =\hfill & \beta {x}_{17,t-1}^{\text{D}}-\beta {x}_{18,t-1}^{\text{D}}+{\epsilon}_{19,t}\hfill \\ {x}_{20,t}^{\text{D}}\hfill & =\hfill & \beta {x}_{20,t-1}^{\text{D}}-\beta {x}_{19,t-1}^{\text{D}}+\gamma {x}_{15,t-1}^{\text{C}}+{\epsilon}_{20,t}\hfill \end{array}\right.

where *β* = 0.6, *γ* = 0.3, *ε*_{i,t}∼*N*(0,**Σ**) with

\mathbf{\Sigma}={\mathbf{I}}_{(20\times 20)}\otimes \mathbf{\Gamma}

(13)

and

\mathbf{\Gamma}={\left(\begin{array}{c}\phantom{\rule{2.77695pt}{0ex}}\phantom{\rule{2.77695pt}{0ex}}1\phantom{\rule{1.3em}{0ex}}0.6\phantom{\rule{2.77695pt}{0ex}}\phantom{\rule{0.3em}{0ex}}\dots \phantom{\rule{0.3em}{0ex}}\phantom{\rule{0.5em}{0ex}}0.6\\ \phantom{\rule{0.3em}{0ex}}0.6\phantom{\rule{2.77695pt}{0ex}}\phantom{\rule{2.77695pt}{0ex}}\phantom{\rule{0.3em}{0ex}}\phantom{\rule{0.3em}{0ex}}1\phantom{\rule{.8em}{0ex}}\ddots \phantom{\rule{.5em}{0ex}}\vdots \\ \phantom{\rule{0.3em}{0ex}}\vdots \phantom{\rule{2.77695pt}{0ex}}\phantom{\rule{2.77695pt}{0ex}}\phantom{\rule{0.3em}{0ex}}\ddots \phantom{\rule{.3em}{0ex}}\ddots \phantom{\rule{.5em}{0ex}}0.6\\ \phantom{\rule{0.3em}{0ex}}0.6\phantom{\rule{1.3em}{0ex}}\dots \phantom{\rule{2.77695pt}{0ex}}\phantom{\rule{0.3em}{0ex}}0.6\phantom{\rule{.8em}{0ex}}1\end{array}\phantom{\rule{2.3em}{0ex}}\right)}_{(10\times 10)}

(14)

for *i* = 1,…,20.

### Actual biological data

In order to illustrate an application of the proposed approach, a dataset collected by[30] was used. The work presents whole genome gene expression data during the cell division cycle of a human cancer cell line (HeLa) characterized using cDNA microarrays. The dataset contains three complete cell cycles of ∼16 hours each, with a total of 48 time points distributed at intervals of one hour. The full dataset is available at:http://genome-www.stanford.edu/Human-CellCycle/HeLa/.

In order to evaluate our proposed approach, we chose to analyze the same gene set examined in Figure5 of[10], which comprised a set of 50 genes.