I thank you for the answer. spm_P_RF does not return p<0 but a p<1
when it should be 1 (or NaN). Below is an example-loop over t-values
that shows the phenomena; at t=0.23, we get a p=NaN, at t=1.23 we get
p=1, but at t=0.73 we get p=0.64 which is a p-value that should not
be reached until t~6.
for t=0.23:0.5:6, disp([t spm_P_RF(1, 0, t, [1 15], 'T', [1 46.637
496.63 1261.2], 1)]); end
At 16:00 2009-12-09, Guillaume Flandin wrote:
>Dear Micael,
>
>Concerning the first problem raised by Ged (negative RESEL counts
>creating an error later on), it seems to me that this can be fixed by
>changing l.30 of spm_uc_RF.m so that:
>u = spm_u((a/max(R))^(1/n),df,STAT); % and not mean(R)
>Hopefully it provides a fix for most of the errors reported in the last
>years on that topic:
>https://www.jiscmail.ac.uk/cgi-bin/webadmin?S2=SPM&q=betainc
>Please report any situation that will still create an error after this fix.
>
>Concerning the use of spm_P_RF for very low thresholds, you should then
>get NaN, which, even if accidental, is not such a bad answer given that
>the assumption that the expected Euler characteristic is close to the
>number of blobs does not hold any more (the threshold should at least
>correspond to a Z score of 3). Answering NaN, instead of 1, can then be
>seen as a reminder that you are out of the range of application of the
>RFT. In which context would you go for such low thresholds?
>Also, are you reporting that in some instances, spm_P_RF returns a real
>value smaller than 0 when you would be expecting NaN (or 1)? If so, with
>which input parameters to spm_P_RF?
>
>Best regards,
>Guillaume.
>
>
>Micael Andersson wrote:
> > Dear Ged and other SPM-users
> >
> > I have noticed the same phenomena that you point out at "*" below. The
> > negativeness of the fourth EC-density makes the FWE-corrected p-value to
> > become low in a short intervall of small t-values when it should
> > obviously be 1 (about from t=0.7 to t=1). Perhaps one should set EM =
> > max(0,EM)? It is problably not a big problem since voxel thresholds
> > shouldn't be that low, but it might affect other applications of the
> > spm_P_RF. I noticed it when making a function for conjunction by
> > maximizing p-values.
> >
> >
> > At 10:57 2007-04-16, Ged Ridgway wrote:
> >> Dear RFT experts,
> >>
> >> I've noticed that for a couple of VBM studies with normal-looking
> >> FWE-corrected results, when I came to check xSPM.R I saw that the
> >> first two resel counts are negative.
> >>
> >> While it seems reasonable (or at least possible) that the Euler
> >> Characteristic might be negative, I'm confused as to how the caliper
> >> diameter (xSPM.R(2)) could possibly be negative. Any comments?
> >>
> >> It seems possible from spm_P_RF that negative resel counts might
> >> produce a negative Em,* which produces a NaN from spm_Pcdf. This might
> >> possibly be the cause of a later error. E.g. maybe in this apparently
> >> unanswered post:
> >> http://www.jiscmail.ac.uk/cgi-bin/webadmin?A2=ind06&L=SPM&P=R775760
> >>
> >> Perhaps line 106 of spm_P_RF should be replaced with something like
> >> lam = max(eps, Em*p);
> >> P = 1 - spm_Pcdf(c - 1, lam);
> >>
> >> to return p-values of 1 instead?
> >>
> >> *(also, the fourth EC density at line 160 of spm_P_RF can be negative
> >> for t less than 1 -- or near 1, and small DF, e.g.
> >> v = 10; t = 1.05;
> >> (v-1)*(t.^2)/v - 1 < 0
> >> It's probably daft to ask for the corrected p-value of such low
> >> t-values, but I would guess that it would be better to return p=1
> >> than p=NaN)
> >>
> >> All the best,
> >> Ged.
> >
> >
> > /Micael
> >
>
>
>--
>Guillaume Flandin, PhD
>Wellcome Trust Centre for Neuroimaging
>University College London
>12 Queen Square
>London WC1N 3BG
|