Re: 3dDeconvolve for IRFs and collinearity



Posted by B. Douglas Ward on April 09, 2001 at 11:25:25:

In Reply to: 3dDeconvolve for IRFs and collinearity posted by Luiz Pessoa on April 06, 2001 at 20:11:27:


Luiz:

You asked about the problem of multicollinearity. But, more generally, you
could ask about the accuracy of the parameter estimates. How do you choose
a particular experimental design, in order to accurately estimate some
parameter of interest? If you pose the question in this fashion, then you see
that the problem of multicollinearity is simply a special case where the
parameter estimation accuracy is zero (or, the std. dev. of the parameter
estimate is infinite).

You can use the -nodata option of program 3dDeconvolve, in conjunction with
program RSFgen, to investigate the sensitivity of the parameter estimation
accuracy to variations of the experimental design. The choice of optimal
experimental design depends, in part, on which parameters are of interest.
Are you most concerned with estimating the IRF coefficients? Or, are you
primarily interested in estimating the area under the IRF curve? Or, perhaps
you are only concerned with estimating the contrast in the responses to the
different event types?

Suppose that the number of time points is fixed at NT=300. Also, suppose that
each of the 6 event types is to occur an equal number of times. One possible
experimental design would have each of the 6 events occur 10 times in random
order. The following command line will generate such a design:

RSFgen -nt 300 -num_stimts 6 -seed 987654321 -one_file -prefix Test \
-nreps 1 10 -nreps 2 10 -nreps 3 10 -nreps 4 10 -nreps 5 10 -nreps 6 10

The output file Test.1D contains 6 columns of 0's and 1's, corresponding to
the 6 different event types. This can be used as input to 3dDeconvolve,
with the -nodata option. The following command line evaluates the experimental
design for estimation of a 6 pt. IRF for each of the 6 event types:

3dDeconvolve \
-nodata \
-nlast 299 \
-polort 1 \
-num_stimts 6 \
-stim_file 1 "Test.1D[0]" -stim_maxlag 1 5 -stim_label 1 A \
-stim_file 2 "Test.1D[1]" -stim_maxlag 2 5 -stim_label 2 B \
-stim_file 3 "Test.1D[2]" -stim_maxlag 3 5 -stim_label 3 C \
-stim_file 4 "Test.1D[3]" -stim_maxlag 4 5 -stim_label 4 D \
-stim_file 5 "Test.1D[4]" -stim_maxlag 5 5 -stim_label 5 E \
-stim_file 6 "Test.1D[5]" -stim_maxlag 6 5 -stim_label 6 F \
-glt 1 SumA.mat -glt_label 1 "SumA" \
-glt 1 ABC-DEF.mat -glt_label 2 "ABC-DEF"

I've added two GLT's to the analysis. The first simply sums up the IRF coefs.
for event A to approximate "area under the curve". The second GLT represents
a contrast between the response to events A,B,C and events D,E,F. The
truncated screen output to the above command line is as follows:

------------------------------------------------------------------------------

Program: 3dDeconvolve
Author: B. Douglas Ward
Initial Release: 02 Sept 1998
Latest Revision: 11 Jan 2001

etc.
etc.
etc.

Stimulus: E
h[ 0] norm. std. dev. = 0.3449
h[ 1] norm. std. dev. = 0.3466
h[ 2] norm. std. dev. = 0.3473
h[ 3] norm. std. dev. = 0.3440
h[ 4] norm. std. dev. = 0.3437
h[ 5] norm. std. dev. = 0.3465

Stimulus: F
h[ 0] norm. std. dev. = 0.3584
h[ 1] norm. std. dev. = 0.3651
h[ 2] norm. std. dev. = 0.3583
h[ 3] norm. std. dev. = 0.3593
h[ 4] norm. std. dev. = 0.3764
h[ 5] norm. std. dev. = 0.3582

General Linear Test: SumA
LC[0] norm. std. dev. = 0.9653

General Linear Test: ABC-DEF
LC[0] norm. std. dev. = 2.2514

------------------------------------------------------------------------------

You would want to try different random sequences (by changing the random
number seed); it's possible that a particular random number seed will yield
an unusually bad result.

Now, consider a similar experimental design, but the number of repetitions
for each event type has been increased from 10 to 40. After using RSFgen to
create a corresponding stim function file, program 3dDeconvolve can be used
to evaluate this new design:

------------------------------------------------------------------------------

Program: 3dDeconvolve
Author: B. Douglas Ward
Initial Release: 02 Sept 1998
Latest Revision: 11 Jan 2001

etc.
etc.
etc.

Stimulus: E
h[ 0] norm. std. dev. = 0.2098
h[ 1] norm. std. dev. = 0.2111
h[ 2] norm. std. dev. = 0.2119
h[ 3] norm. std. dev. = 0.2134
h[ 4] norm. std. dev. = 0.2140
h[ 5] norm. std. dev. = 0.2145

Stimulus: F
h[ 0] norm. std. dev. = 0.2144
h[ 1] norm. std. dev. = 0.2166
h[ 2] norm. std. dev. = 0.2126
h[ 3] norm. std. dev. = 0.2129
h[ 4] norm. std. dev. = 0.2125
h[ 5] norm. std. dev. = 0.2135

General Linear Test: SumA
LC[0] norm. std. dev. = 0.5898

General Linear Test: ABC-DEF
LC[0] norm. std. dev. = 1.0049

------------------------------------------------------------------------------

The norm. std. dev. for the IRF coefs., as well as for both GLT's, has
decreased (a good thing!) by increasing the number of repetitions for each
event type from 10 to 40. What happens if you increase the number of
repetitions to 45? To 50? Try it and see!

Please refer to the documentation in file 3dDeconvolve.ps for extensive
discussion of this important subject.

Doug Ward



Follow Ups: