Print

Print


Hi there -

The idea is to pick out the standard deviation accounted for by the EV of
interest.


So the model is

Y=b*X+e

so, e.g. if you want to know the proportion of the standard deviation
accounted for by EV1, a sensible thing to do would be set all the other
elements in the "b" vector to be zero. i.e. do the element-wise product of
c= [1 0 0 0 0 ... ] with b  call that c.*b

then the signal accounted for by this EV is
[c.*b]*X

and the standard deviation of this signal is

sqrt([ [c.*b]*X ] * [ X' * [c.*b]' ]/(n-1) )

which is nearly what I said before :)


Note that the interpretation of this "signal explained" is not as clear as
this when for contrasts which are more complicated than e.g. [1 0 0 ... ].
Beware that contrasts are really about inferrence, and signal explained by
a contrast is not always a meaningful concept..

T



On Mon, 23 Aug 2004, Ramapriyan Pratiwadi wrote:

> hi,
>
> sorry to regurgitate an old thread, but i don't quite understand the last
> post.
>
> for the case of multiple PE's (and COPE's), the dimensions in the formula
> sqrt(c'*b*X*X'*b'*c) do not match up; in my case, i have 320 time points and
> 8 PE's (4 EV's +temporal derivatives).  Therefore, the design matrix is
> 320x8; if b is a vector, it would have to be 1x320 - how can that be?
>
> i tried transposing the design matrix, to make it 8x320 - then, the
> multiplication becomes (1x1)(1x8)(8x320)(320x8)(8x1)(1x1), for each voxel.
> However, when the result was divided by the standard deviation of the
> filtered_func_data, the values were not normalized between -1 and 1.
>
> normally, we would divide the betas of the PE's by the beta of the constant
> column; however, since there is not a constant column, the aforementioned
> approached seems suitable.
>
> Thanks in advance,
>
> Ram
>
> -------------------------------------
> Brain Behavior Laboratory
>
> University of Pennsylvania
> Philadelphia, Pennsylvania, USA
>
>
> On Tue, 12 Aug 2003 14:39:47 +0100, Tim Behrens <[log in to unmask]> wrote:
>
> >Ok - there are various levels to this answer.
> >
> >It seems to be a sensible thing to do - effectively you want to know the
> >amount amount of the data's standard deviation which is explained by a
> >single COPE.
> >
> >1) If you've only got one PE, then this is relatively trivial.
> >the std of the design can be computed easily from design.mat (ascii file
> >containing design timeseries). Call this sx. The std of the data is
> >
> >avwmaths filtered_func_data -Tstd sy
> >
> >then the fractional deviation explained by your PE is just
> >
> >avwmaths PE -mul sx -div sy Beta_norm
> >
> >I think, in this case, you can do this with the unwhitened data as the
> >whitening matrix is normalised.
> >
> >2) If you've got more than 1 PE, life is more complicated (and  I don't
> >think you can compute what you want with simple FSL commands ).
> >
> >You need to project the variance explained by all of your EVs onto a
> >single COPE.
> >
> >if you assume the data is white and demeaned then and your Design is
> >demeaned..
> >
> >the std explained by your cope is:
> >
> >sqrt(c'*b*X*X'*b'*c)/dof
> >
> >c is cour contrast, b is your vector of PEs, X is your design, dof is your
> >degrees of freedom
> >
> >if it's not white then
> >
> >sqrt(c'*b*k*X*X'*k'*b'*c)/dof
> >
> >k is the whitening matrix.
> >(The whitening will change the projection)
> >
> >and the standard deviation of the whitened data is just std(k*Y)
> >
> >Dividing one by the other should give you what you want.
> >
> >Hate to say it, but you might need matlab!!
> >
> >cheers
> >T
> >
> >
> >-------------------------------------------------------------------------------
> >Tim Behrens
> >Centre for Functional MRI of the Brain
> >The John Radcliffe Hospital
> >Headley Way Oxford OX3 9DU
> >Oxford University
> >Work 01865 222782
> >Mobile 07980 884537
> >-------------------------------------------------------------------------------
> >
> >On Tue, 12 Aug 2003, Edward Vessel wrote:
> >
> >> Ok, well, here is something that might give you a feeling for the difference.
> >> In a regression with only a single independent variable, the standardized
> >> beta equals r (the Pearson's correlation).  This would also be true (I think)
> >> if all the variables were totally uncorrelated in a multiple regression.
> >>
> >> The analysis I have done is one in which I want to look at a correlation
> as my
> >> statistic, and the standardized Beta coefficient is one way to report a
> >> factor loading which takes into account that factor's covariance w/ other
> >> factors.  It would be 1 if the activity of a voxel were perfectly predictable
> >> from that factor, and 0 if that factor had no power to predict it.  So, the
> >> reason for having it is in the _interpretation_ of the statistic.
> >>
> >> Typically, it is computed as:
> >>
> >> Beta = b * (sx / sy)
> >>
> >> where
> >>
> >> Beta: standardized regression coefficient (-1 to 1)
> >>
> >> b: the unstandardized regression coefficient (can take any value), which is
> >> the 'regulular' weight, sometimes confusingly referred to as beta but isn't
> >> standardized) - probably a pe, which is equivalent to one of my copes in this
> >> case
> >>
> >> sx: standard deviation of the EV
> >> xy: standard deviation of the data
> >>
> >> Does that make any sense?
> >>
> >> Ed
> >>
> >>
>

--
-------------------------------------------------------------------------------
Tim Behrens
Centre for Functional MRI of the Brain
The John Radcliffe Hospital
Headley Way Oxford OX3 9DU
Oxford University
Work 01865 222782
Mobile 07980 884537
-------------------------------------------------------------------------------