I just noticed a small typo in yesterday's email (below). It should have read:
...
is equivalent to
overall_prediction = R*DCM.y(:,i);
...
My apologies!
Klaas
>Dear Pierre,
>
>I have taken the liberty to copy my reply to the
>SPM mailing list so that others can benefit from the exchange.
>
>Concerning your first question:
>You always need an input into a DCM, otherwise
>the modeled system output will be flat (i.e. the
>system is not perturbed and therefore
>"silent"). Mathematically, it is irrelevant
>whether that input is constant or changes in
>time. Conceptually, one may question whether
>the former is an optimal approach to study the
>responses of a neural system; but this is a
>general experimental question and not one
>specific to DCM (or any other modelling
>approach). It is valid, however, to ask how
>particular connections in a system that receives
>a constant input change as a function of some
>modulatory variable, e.g. changes in task. This
>is what you could investigate in your particular case.
>
>Concerning your 2nd question:
>Line 670 in spm_dcm_ui
>
>overall_prediction = DCM.y(:,i) - X0*inv(X0'*X0)*X0'*DCM.y(:,i);
>
>is equivalent to
>
>overall_prediction = DCM.y(:,i) - R*DCM.y(:,i);
>where R = I - X0*inv(X0'*X0)*X0' is the
>residual-forming matrix wrt. to the null space X0.
>
>In other words, you are projecting the predicted
>data onto the null (or confound space) and thus
>remove the mean and any low-frequency components
>modelled by the DCT set. You can see this
>easily by loading a DCM of your choice (eg. the
>attention to motion example) and typing:
>
>figure
>plot(DCM.Y.y(:,1))
>hold on
>plot(DCM.y(:,1),'r')
>plot(DCM.y(:,1)-X0*inv(X0'*X0)*X0'*DCM.y(:,1),'k')
>figure
>imagesc(X0)
>
>
>Hope this helps - best wishes
>Klaas
>
>
>----- Ursprüngliche Mail ----
>Von: fonlupt <[log in to unmask]>
>An: Klaas Enno Stephan <[log in to unmask]>
>Gesendet: Freitag, den 24. November 2006, 08:26:40 Uhr
>Betreff: DCM questions
>
>Dear Klaas,
>I apologize to bother you again with questions
>about DCM, in particular regarding how to design
>the model. I think I have clearly understood how
>to proceed when the experimental paradigm
>includes a well-defined sensory input (such as a
>discontinuous visual stimulus, modelled with a
>boxcar function) and a modulatory input (such as
>attention, modelled not as an input to an area
>but as an input modulating the connection
>between two areas). It is typically the example
>used in the SPM5 documentation (experiment photic/motion/attention).
>However, when the paradigm is designed to study
>a cognitive function (involving for example
>judgments of the type of emotion), there isn't
>any well-defined sensory input. The easiest is
>to take the example of an experiment we have
>performed recently: faces expressing different
>emotions were presented continuously (i.e.
>visual areas were continuously stimulated with
>this image input). In interleaved blocks the
>nature of the task varied: subjects had to
>categorize age (old or young face) or emotion
>(happy, angry, neutral faces). We have first
>modelled connections between some areas using
>SEM method (our question was: which are the
>weights of different connections during the
>steady state "searching for emotion" or during
>the steady state "searching for age"). Now we
>wonder if DCM modelling is possible with such a
>design. We have imagined different approaches:
>
>1) to consider only one input: the task
>(emotion/age detection) because the visual input
>(face images) does not vary during all the
>experiment. We have not seen in the literature
>such a model: the task nature or cognitive
>modality is always modelled as the modulation
>of a connection between two areas. Moreover, in
>this case, the choice of the entry point of
>this task input is not so evident (fusiform,
>STS, frontal??), so we have discarded this first option.
>
>2) to consider the visual input as a constant
>(represented by 1, along all the time series)
>pointing to the V1 area. The effect of the task
>nature is modelled as modulatory input on
>intrinsic connection(s). However, we have great
>doubts about the validity of such a model:
>a) from a pure mathematical point of view, is
>the computation possible? The constant visual
>input intends to produce a dynamic within the
>system but this input exhibits no fluctuations.
>I feel that, at best, the connection "from the
>visual input to V1 area" will be null (which is
>not a problem because the effect of the visual
>input on V1 area is not the point of the study).
>Put differently, is it the same to consider the
>input as constant or not to consider any input?
>b) how such a model would deal with the
>questions of interest "What are the intrinsic
>connections between the different areas?" and
>"Are these connections modulated by the nature
>of the task?". If I have clearly understood your
>previous explanations intrinsic connections are
>the partial derivate of the neural state
>equation with regard to the state z evaluated at
>u=0 (all inputs are off). However, I feel that
>despite the fact that the value (of the
>intrinsic connection) is determined for u=0, the
>form of the input time series probably has an
>effect on this value. Put differently, does the
>input time series fed into V1 influence the
>value of the intrinsic connection from V1 to V5?
>
>Besides these theoretical questions, I have more
>methodological question concerning y, the time
>series for a VOI (or the 1st eigenvariate). In
>spm_regions.m, the data are first filtered by
>the filter defined in SPM.xX.K.X0. Then, the
>confound term is removed from the data if the
>option "adjusted" is chosen. So, the time series
>(xY.u in the VOI structure) is filtered and all
>adjustments are done using a design matrix (of
>interest or confound factors) which is also
>filtered. Is this exact? When a DCM model is
>specified, a confound matrix is formed as
>X0=[xY.X0 SPM.xX.K.X0] (where xY.X0 has been
>previously filtered by SPM.xX.K.X0). This matrix
>X0 is then used in spm_nlsi_GN.m (I am not
>able to understand how this particular program
>works) and in spm_dcm_estimate.m to calculate
>the residual (R). spm_dcm_estimate.m returns an
>estimated time series, y, which is modified in
>spm_dcm_ui.m ('review' option) as:
> % Note: adding on X0*beta to DCM prediction y
> % is equivalent to orthogonalising y WRT X0
> % because data have already been orth wrt X0
> % (overall_prediction=DCM.y(:,i)+X0*beta;)
> overall_prediction=DCM.y(:,i)-X0*inv(X0'*X0)*X0'*DCM.y(:,i);
>
>I do not understand why the confounds are used
>during DCM estimations given that the confounds
>are already removed in the time series entered at the beginning of estimation.
>
> I thank you in advance for your help,
>P. Fonlupt
|