I had the same problem initially. I found a post from someone awhile back
that suggested changing the inv function to a pinv, which gave me actual
numbers for my PPI.Y instead of NaNs. However, I asked on here but never
received any feedback about whether this was a valid fix or not.
-Mike
At 01:57 PM 6/17/2005 +0200, you wrote:
>Dear Darren and others,
>
>I came across a peculiarity in the combination of data extraction via
>the VOI button and subsequently setting up a PPI.
>
>Here the basic design specs:
>- single subject analysis with 3 sessions
>- extract data with VOI button for one session (e.g. 1st session) with
> adjustment for effects of interest (null space X0 comprises only the
> session constants)
>- PPI setup: (1) 'psychophysiological interaction'
> (2) include only one regressor (modelling a block of
> pain stimulation)
> (3) weight for this regressor:
> 1
>
>
>The warning mesage that I get when setting up the PPI is the following:
>
> >> Warning: Matrix is singular to working precision.
>(Type "warning off MATLAB:singularMatrix" to suppress this warning.)
> > In /apps/public/spm02/spm_peb_ppi.m at line 204
>
>
>Looking at line 204 in spm_peb_ppi.m,
>
>Yc = Y - X0*inv(X0'*X0)*X0'*Y;
>
>I realize that the warning can be traced to the null space X0, because
>the inverse of X0 is not defined. Consequently, PPI.Y is a vector of
>NaN's.
>
>X0 is created by spm_regions.m when I press the VOI-button and
>comprises in my situation the session-specific block partition of the
>design matrix (xX.iB) and high-pass filter (xX.K). Thus, in the
>3 session case the first part of X0 has three column, the first with
>1's and the second and third with 0's. Because these are perfectly
>collinear the inverse of X0'*X0 in line 204 is not defined.
>
>Here are my questions:
>(1) Am I doing something wrong when I adjust for the effects of
> interest when I extract the data with spm_regions?
>
>(2) Is this a problem at all for the PPI computations?
>
>(3) Conceptually speaking, shouldn't the null space X0 only comprise
> the "real" session constant (the column of 1's) and not the entire
> block partition of the design matrix (i.e., leave out the columns
> of 0's)? This would allieviate the problem with perfect
> collinearity of some of the columns in X0.
>
>Thank you for your comments in input.
>Jan
>
>--
>Jan Gläscher NeuroImage Nord
>+49-40-42803-7890 (office) Dept. of Systems Neuroscience, Bldg S10
>+49-40-42803-9955 (fax) University Medical Center Hamburg-Eppendorf
>[log in to unmask] Martinistr. 52
> 20246 Hamburg
> Germany
>http://www.uke.uni-hamburg.de/kliniken/neurologie/index_16969.php
>-------------------------------------------------------------------------
>GnuPG/PGP key id: FEC4B55C
>fingerprint: 5A36 1EF6 8472 117E 805A F240 3146 A410 FEC4 B55C
>-------------------------------------------------------------------------
|