Hi.
In the previous module, we started talking about functional connectivity.
So we talked about methods that use correlation and partial correlation.
In this module, we'll talk about a different class of ways
of measuring functional connectivity that are
based on using multivariate decomposition methods.
So we often use multivariate decomposition methods to study functional connectivity.
The reason is that they provide a
decomposition of the data into separate components.
And this can be used to define coherent brain networks and also
provide information about how these different
brain regions interact with one another.
Now, the two most common decomposition methods that are used in fMRI data
analysis are principal components analysis, or
PCA, and independent components analysis, or ICA.
There are other methods that are also
used, such as partially squares method, but
these are the two most commonly used, and we'll focus on them in this module.
Throughout, we're going to organize the data in a slightly different
manner than we did when we were doing GLM analysis.
Here we're going to organize the fMRI data over all voxels
in the brain, as an M by N matrix X.
So here, the row dimension is the number of time
points, and the column dimension represents the number of voxels.
So pictorially, we can represent X as follows:
where we have a time by voxels and matrix.
So, to differentiate this from the GLM, we would, would, in the GLM analysis we would
just look at one column of X at a time when we were, building these GLM models.
Here we're looking at all the voxels at the same time.
Now principal components analysis is a multivariate procedure which is concerned
with explaining the variance-covariance structure
of a high dimensional random vector.
So we have a high dimensional random vector, and we want to find the
direction that ex, in that vector that
explains most of the variance, covariance structure.
In PCA a set of correlated variables are transformed, or rotated, to a set of
uncorrelated variables that are ordered by the amount
of variability in the data that they explain.
And so in fMRI principal components analysis involves finding
what they call spatial modes, or eigenimages, in the data.
These patterns, these are patterns that account for
most of the variance-covariance structure in the data.
So basically, the first principal component
corresponds to the first eigenimage, which is
the pattern that account for most of the variance-covariance structure in the data.
The second eigenimage corresponds to that, that explains the second
most variance-covariance conditional, that it's
uncorrelated with the first eigenimage, etcetera.
Now, the nice thing about these eigenimages is that they're ranked
in the, in order of the amount of variation that they explain.
So that tells us a little bit about
which eigenimages are the most important and what
not.
The nice thing is that these eigenimages can
be obtained using singular value decomposition, or SVD, which
decomposes the data into two sets of orthogonal vectors
that ultimate correspond to patterns in space and time.
Principal component analysis is very commonly
used in statistics, but singular value
decomposition is commonly used in linear
algebra and, and lots of other disciplines.
And there's a nice duality between PCA and, and SVD, which allows
us to basically perform SVD analysis
to get these principal components or eigenimages.
In general, singular value decomposition is an operation that takes a matrix
X such as the one that we have, and decomposes that into three new matrices.
One called U, one called S and one called V.
U and V have certain properties.
One is that V transpose V is equal to the
identity, and U transpose U is equal to the identity.
So they both are normal.
Also, S is a diagonal matrix whose elements are called singular values, so
S is 0 everywhere except in the diagonal where it takes these singular values.
And these singular values are often ranked from largest to smallest.
So in the, in the first column, first row, we have the largest singular value, the
second column second row, we have the next
largest, etc, etc, as we go down the diagonal.
So basically, you're performing a single value decomposition of the data x.
We can decompose x into three matrices, u, s, and v.
And so we can write this as x equal to u, s, v, transpose,
or alternatively, we can break it down because we have this diagonal format on s
as the first singular value of s1 times the first, column of u, which we're
going to call u1 times the first column of v, which we're going to call v1 transpose.
Okay?
And so basically, each of these gives us some information about X.
Interestingly, the columns of v, the v1 up to vN,
correspond to these eigenimages that we're saying explain most of the
variance, covariance matrix in order here, and the, the columns
of u correspond to the time courses corresponding to those Eigenimages.
So basically what the last equation shows is that x can be decomposed into a number
of different matrices, which all contain a bit of information about the data.
So here we see that in a different format and so, and this
real data is equal to series of matrices as follows in these green blocks.
And so, each of these matrices consists of three components.
One is s1, which is a singular value.
The other is u1, which is a time course.
And then finally, we have V1 transplus which is the eigenimage.
The second matrix consists of s2, which is
scalar and a singular value, times u2, which is
a time course, times v to transpose, which is
the second eigenimage, et cetera, et cetera, et cetera.
So what we can do is if we take v1, and we, now it's a
vector, but if we reshape it into an
image format, and basically, we get the eigenimage.
And so this is the, the, the pattern of activation that
explains most of the variance covariance structure in the data set X.
Now we see that U1 corresponds to the time course that we see, in this
particular eigenimage, and we see it looks like a sort of drift of some sort.
Similarly, we can reshape V2 to get the
second eigenimage and that shows a, a different pattern.
And that pattern cor, has a time course that corresponds to U2.
So it's pretty neat here that we've gotten, we've taken this data,
X, and now, we've decomposed it into, you know, a series of
spatial patterns and corresponding time courses, which we can use to interpret
and try to figure out what's going on in this data set.
And we did this without even knowing what the status that was all about.
So this is a very data driven way of analyzing the data.
Here's some example, and this is taken from web page of the late Keith Worsley.
Here we,we see for this data set
the corresponding first four, eigenimages as now.
We'll see, it's really more of a three dimensional entity that way.
So we have a bunch of slices here.
And then we have the time course corresponding to that, and we can also,
using the singular values, we can compute
the percent of variance explained by each eigenimage.
So the first eigenimage explains about 15% of the variation.
The second, 8% of the variation, etcetera, etcetera.
>> So they're ranked in order of, you know, relative importance.
So, this is a nice way of just decomposing
an unknown data set into a bunch of spacial and
temporal components, which we later can analyze and try
to figure out what's going on in the data set.
So, that's basically what we try to do in these multi-variant decomposition methods.
The second type of method that we often use
in this class are, is independent component analysis, or ICA.
So, ICA is a family of techniques used to extract independent signals from
some source signal, and so it's often used in some blind source separation problems.
So, ICA provides a method to blindly
separate the data into spatially independent components.
So the key assumption here is that the data set consists
of p spatial independent components, which are linearly mixed and spatially fixed.
So this differentiates a little bit from PCA, where we said
that the spatial components had to be at uncorrelated with each other.
Here they need to be independent which is a slightly stronger condition.
So in general, the ICA model decomposes X into two different matrices, A and S.
Here, A is often referred to as the mixing matrix and S as the source matrix.
And the goal here is, you want to find these sources.
So our goal is to find an un-mixing matrix W such that
Y is equal to W X provides a good approximation to S.
So basically what we want to do is, our
goal is to find these independent sources S, but
it's kind of a tricky problem because here we have X, which is equal to A times S.
Now if A were known, if the mixing
matrix is known, this problem is really straightforward.
We would just the, you know, the inverse of x of some sort, or, or do a
least wear solution or, or, or something like
that, depending on the rank of the mixing matrix.
However, in ICA we try to solve
this problem without knowing the mixing parameters.
So we're basically assuming that both A ans S are unknown.
So this is a very difficult problem, and we
can't solve this without making additional assumptions, so some
constraints on the problem, and in ICA, the key
assumptions are that the, the mixing of sources is linear.
Second is that the components S I, so, so basically the, the rows of S are
going to be statistically independent of one another, and
then finally, the components S I are non-Gaussian.
So this can be relaxed to only one component is
allowed to be Gaussian, but all other have to be non-Gaussian.
So using those assumptions we're actually able solve
this problem in a, in a nice manner.
So how do we perform ICA for fMRI?
Well lets assume that the fMRI data can be modeled by identifying sets of voxels,
whose activity vary both together over time and
are different from the activity in other sets.
So what we do here is we typically try to decompose the data set
into a set of spatially independent component
maps with a set of corresponding time courses.
So here we have the cartoon again.
Here we have our data set X, which is time by voxels,
and so what we want to do is we want to se, we
want to split this into two matrices, A and S, where A
is what we call the mixing matrix, and S is the source matrix.
And what's going to happen here is much like
PCA, the columns of A are going to correspond
to time courses, while the rows of S
are going to correspond to spatially independent components.
And so what we do is we use an ICA
algorithm to find both A and S using simply the data.
So, X is, is the data that we, we observe.
We make assumptions about S, you know, the, and, and,
and then we use this to define both A and S.
Here's an example of the results.
And, so here is one row of S that's kind of strowing out to give us a spatial map.
And here's the corresponding time course.
And this is obtained through the MATLAB toolbot gift.
And as we'll see here there seems to be some sort of kind of periodic signal here,
if you look at the time course, and
there's activation in the visual and the motor tasks.
So this was a visual-motor task where they repeatedly got, you know,
did some finger tapping, and got the, a light flashed in their eyes.
Here's another independent component which is, in this case looks
like its around the, the boundaries of, of the skulls.
So this might be movement related or something like
that, and so its probably some sort of nuisance signal.
So this is something that we can pick up using ICA analysis.
So, unlike PCA which assumes orthomorality constraint, ICA is
that assumes statistical independence among the collection of spatial patterns.
So, independence is a stronger statistical requirement than orthonormality.
However, in ICA the spatially independent components are not ranked
in order of importance as they were when performing the PCA.
So in the PCA analysis, the first eigenimage is
the one that explains most of the variance programs matrix.
In ICA, the components are varied permutation, so we have
no real, they're not ranked by any real rhyme or reason.
So we have to sift through or find some
alternative way to classify them in order of importance.
So in general these multivariable decomposition methods
which is PCA and ICA are extremely
useful when we don't have so much
information about what's going on in the experiment.
For example, when we're doing task for fMRI or resting state fMRI.
They can also be very useful when, you know, unexpected things are happening in
the signal or, or, you, that we can can't model using in a GLM analysis.
So this allows us to kind of look through
the data and try to figure out what's going on.
And so they're actually very, very useful to use in that, and they're also
very good for finding, you know, artifacts in the data and things like that.
Okay, so that's the end of this module.
It was a very brief introduction to
multivariate decomposition methods such as PCA and
ICA, and they're very useful ways for
fin, detecting functional connectivity, and things like that.
In the next module we'll start talking a little bit about effective connectivity.
Okay, I'll see you then.
Bye.