A **graph** is a powerful mathematical tool useful to study and represent the interaction of certain datasets. In an abstract way, we can think about a number of mathematical entities that interact between each other. The entities would be represented by nodes (also called vertices) and their interactions by connections between those nodes (those interactions are also known as edges). Those interactions can be directional or not.

A typical example is, for instance, a group of 10 people (i.e. a graph with 10 nodes) in which the connections represent if person X knows person Y or not.

**Complex networks** (also called **graphs**) were first used by the great mathematician Euler in his famous paper Seven Bridges of Königsberg published in 1736. Since then, **graph theory** has been largely applied in social science, ecology studies and internet studies. For a good introduction on graph theory please refer to West 2001.

This is all very interesting, but what this have to do with **EEG**? Well, the idea is quite bright: we can represent each **EEG** channel by a node and we will connect them if the relation between 2 given channels is higher than a certain threshold. That way we transform our **EEG** data set into a graph and we can then apply complex network tools for its analysis.

In order to explain this in a clearer way, I will refer to a particular data analysis I undertook during my PhD studies. I had 64 channel **EEG** data from 10 schizophrenic subjects and also from 10 healthy controls. I cut the **EEG** time series in 8 second epochs, and from each 8 second epoch I built a 64 node graph. 2 nodes were connected if their **synchronisation likelihood** (SL) was higher than a certain threshold. If the threshold was very low, I would have a complete graph (all nodes connected with each other), if the threshold was very high, I would have a disconnected graph (no connection at all).

(Just as a note, I used the SL feature in this work, but of course, I could have built my graph by using any other measure, such as Correlation, Coherence, Mutual Information, etc…)

From each graph I extracted 3 standard parameters: the Path Length (PL), the Connectivity Index (K) and the Clustering Coefficient (CC). Actually, what I did is to study the evolution of these parameters by modifying the threshold. These three vectors (PL, K and CC as a function of the threshold) would be the features I will use to build a classifier trained to distinguish between Schizophrenics and controls.

The results can be found here, but summarising, the classification rates were remarkably high, reaching 100% in some cases.

The application of **complex networks** to **EEG data** analysis is somehow natural. First of all because the brain itself is a **complex network** (neurones are the nodes and synapses the connections). Also because of the **Disconnection Hypothesis**: schizophrenia and other mental conditions have been explained in terms of disrupted functional connectivity between different brain regions. I cannot think of a better tool to study the Disconnection Hypothesis than the**graph theory** itself, which focuses on studying connectivity properties…

**Graph theory** can also be applied to EEG tomography (please see this other post), where the brain is modelled by a number of voxels. We can then build a graph in which each voxel is represented by a node. This technique has been applied in this paper for instance.

Finally, we can of course also apply **graph theory** to the analysis of **fMRI** data. Actually this has been largely applied in the past with remarkable success. In this case each node will represent a particular brain region and besides relations between different **brain** areas, we can also study causality in the graph properties (region B always activates after region A, for instance).