I don't understand why you used R and FAIR to generate the data. On the
command line you can create synthetic data with spm_dcm_generate.m. The
noise-free data are generated directly with y = spm_int(P, M, U) (in
spm_dcm_generated.m this command is executed via y = feval
(M.IS,P,M,U);). How P, M and U are extracted is given in the lines
before the feval-command.
Regarding your problem: I am not sure if I correctly understand the
model, as matrix A should normally
include the self-inhibitory values in the diagonal. One reason for your
problem might be the EM-algorithm implemented in DCM. It is known, that
the EM is just able to find local optima
(http://en.wikipedia.org/wiki/Expectation%E2%80%93maximization_algorithm#Introduction
last paragraph). Thus, depending on the model architecture and the
hemodynamic parameters, it can be the case, that the model evidence for
your correct model is lower than for your wrong model (as the EM just
found a local optimum for the correct model which lies below the optimum
of the wrong model). Maybe, this shortcoming of the EM causes your problem?
Regards,
Martin
|