Dear Will Penny, Klaas Enno Stephan,
Thanks for clarifying this issue!
If I understand correctly - one cannot look at the posterior probabilities
and Bayes factors to compare the fit of 1 model to 2 datasets, but looking
at the B parameters is fine.
In this case - in order to compare 2 groups - can I take the B parameters
of a specific modulation effect (say input u, on the connection of region1
to region2) from all subjects, and then compare the B's of one group to
the B's of the other group in a simple 2-sample-t-test outside SPM?
Or is this approach invalid because the strength of the intrinsic
connections vary across subjects?
Thanks again
Tali Bitan
Northwestern University, IL
On Thu, 26 Feb 2004 12:43:15 +0000, Will Penny <[log in to unmask]>
wrote:
>Tali,
>
>First I have to say sorry. I think i've misled you in part of one of
>my previous emails (below):
>
>I don't think its a good idea to use the Bayesian model comparison
>option to look at one model fitted to two different data sets.
>
>Bayesian model comparison is based on one data set and eg. two models
>and can be instantiated using Bayes factors:
>
>B12=p(D|M1)/p(D|M2)
>
>But what you have (as Klaas pointed out) is
>
>p(D1|M)/p(D2|M)
>
>This is not a Bayes factor.
>
>However, it still may be useful in some situations to use the
>evidence (eg. p(D1|M) or p(D2|M)) as an index of model fit. The evidence
>is really a likelihood term (but with model parameters integrated out).
>And the negative log of the evidence is strongly dependent on terms
>like sum of squared errors - so small model error gives high evidence.
>
>But you should be careful when doing this because the evidence is
>dependent on terms like number of data points and number of regions.
>
>Also there are many effects explained by your model - some that are
>neurophysiogically relevant - some that are not. So even though the
evidence
>may be higher for your globally scaled data this does'nt necessarily mean
that
>it better explains changes in connectivity between two regions. To find
this
>out you'd need to look at the relevant parameter estimates (ie the B's).
>
>An analogy here is the use of F-tests versus the use of t-tests
>in General Linear Models. F-tests look at the whole model (like the
>evidence) t-tests look at scalar parts of it.
>
>The bottom line is: Does global scaling help you to better detect
regionally specific
>effects that you are interested in ? I think this issue is no different
for DCM analyses
>than it is for GLM analyses.
>
>Anyway - that's what I reckon. But look what happened after you took my
advice
>last time !
>
>Best wishes,
>
>Will.
>
>
>
>Will Penny wrote:
>
>> Tali Bitan wrote:
>>
>>> Dear Will Penny,
>>>
>>> Thanks a lot for your quick response.
>>>
>>> I still don't understand some of the things:
>>>
>>>
>>>
>>>>> 1) How can I compare the strength of a specific connection, in 2
>>>>>
>>> identical
>>>
>>>>> models that have different datasets (i.e. two subjects, or two tasks
of
>>>>>
>>> a
>>>
>>>>> single subject)?
>>>>>
>>>>>
>>>
>>>> The best way to look at differences in connectivity due to task is to
>>>> use a modulatory variable - so if you create a 'task' variable as
>>>> input i
>>>> and you set Bi=[0 0; 1 0] then DCM will fit a model allowing for a
>>>> change
>>>>
>>> in
>>>
>>>> connectivity from region 1 to region 2 (Bi=[0 0 0; 0 0 0; 0 1 0] would
>>>> allow the connection between region 2 and region 3 - in a 3-region
>>>>
>>> network -
>>>
>>>> to be changed). You can then look at the posterior distribution of the
>>>> estimated modulatory variable [eg. Bi(2,1) or Bi(3,2)] to see if
>>>> there is
>>>>
>>> an effect.
>>>
>>>
>>> If I understand it correctly this is the way to test the modulatory
>>> effect
>>> within each task. However, I want to compare the modulatory effect
>>> between
>>> tasks (i.e. whether Bi in task 1 is stronger than Bi in task 2). The
>>> tasks
>>> are in 2 different sessions, so I cannot put both of them to a single
DCM
>>> model. Is there a way to do that?
>>>
>>>
>>
>>
>> What I suggest is you join the sessions together. If you put another
>> regressor
>> in your original design matrix with a load of 1's at the border this
will
>> nicely stitch the time series together - any nasty transition effects
>> will be
>> soaked up by this regressor. You can then treat the two sessions as a
>> single
>> time series.
>>
>> You will then be in a position to create your modulatory input variable
>> which is -1 for the first part of the time series and +1 for the second
(or
>> 0 and 1). You can then test for the strength of the modulatory effect as
>> outlined above.
>>
>>>
>>>> Currently there is no machinery to look for between-subject
>>>> *differences*
>>>>
>>> in
>>>
>>>> connectivity.
>>>>
>>>
>>> In this case is it legitimate at all to compare the fit of an entire
>>> model between subjects (i.e. - in the 'compare' option I choose the
>>> identical model from 2 different subjects)?
>>>
>>>
>>
>>
>> Actually, I think this is legitimate.
>>
>> This is like doing a between-subjects ANOVA where you are interested in
>> a factor that is expressed between subjects ie. drug/no-drug.
>>
>> The weakness of the between subjects approach, however, is sensitivity.
>> This is
>> because different subjects may have intrinsically different responses
>> (regardless
>> of the experimental manipulation).
>>
>> Its therefore usually a better idea to do within-subject/within-session
>> designs.
>> Though this often is'nt possible.
>>
>> Hope this helps in some way ........
>>
>> Best, Will.
>>
>>
>>>
>>>
>>>>> spm_dcm_sessions
>>>>>
>>>> The command applies the *same* contrast to different models and then
>>>>
>>> tells you what
>>>
>>>> the average is - you can also make an inference using fixed or random
>>>>
>>> effects
>>>
>>>> analysis (the former is based on within model posterior means and
>>>>
>>> variances
>>>
>>>> and the latter based on between model differences in posterior means).
>>>>
>>>
>>> How do you do that? How is it different from averaging the models
>>> together, and than testing that contrast in the averaged model?
>>>
>>>
>>>
>>> And a new question:
>>> When I copy a DCM*.mat from one subject directory to another subject
>>> directory (or from one task directory to another task directory), and
use
>>> the spm_dcm_voi command - do I always have to use the spm_dcm_U
>>> command to
>>> change the input to the model?
>>>
>>> Your notes say it should be used "If different subjects have different
>>> inputs". My question is in what way should they be different?
>>> (In the case of the 2 tasks - the input in each task has a different
>>> name,
>>> but it has the same vector of onsets. Is that considered a DIFFERENT
>>> input?)
>>>
>>>
>>>
>>> Thanks a lot again
>>>
>>> Tali Bitan
>>> Communication Science and Disorders Dept.
>>> Northwestern Uni., IL
>>>
>>>
>>>
>>
>>
>> --
>> William D. Penny
>> Wellcome Department of Imaging Neuroscience
>> University College London
>> 12 Queen Square
>> London WC1N 3BG
>>
>> Tel: 020 7833 7478
>> FAX: 020 7813 1420
>> Email: [log in to unmask]
>> URL: http://www.fil.ion.ucl.ac.uk/~wpenny/
>>
>>
>
>
>--
>William D. Penny
>Wellcome Department of Imaging Neuroscience
>University College London
>12 Queen Square
>London WC1N 3BG
>
>Tel: 020 7833 7478
>FAX: 020 7813 1420
>Email: [log in to unmask]
>URL: http://www.fil.ion.ucl.ac.uk/~wpenny/
|