Live data from Hacker News

fMRI software bugs could upend years of research

theregister.co.uk

191–192 of 192 posts

Re: fMRI software bugs could upend years of research

#191
post #190

Earlier quoted context omitted.

> You have agreed that something was wrong, but want to call it something other than the null model. That's not really what I've said. In the previous NeuroImage paper, they generated null data by "imposing" block and event-related designs over resting state data. When they did a single subject analysis of that data with SPM, they found that the block designs had excess "positive[1]" results. However, analyzing data…

> "I agree that a p-value histogram would be nice, but I don't think it's essential." Sure it is, here is an example using R where only about 2% of the tests report p set.seed(1234) Nsim=1000; n=100 p=matrix(nrow=Nsim,ncol=1) m=matrix(nrow=Nsim,ncol=2) for(i in 1:Nsim){ a=rnorm(n,0,1); b=rcauchy(n,0,1) p[i,] = t.test(a,b, var.equal=T)$p.value m[i,] = cbind(mean(a),mean(b)) sig = sum(ifelse(p You can see from the hist…

> That is the only perspective that matters because the p-value is being used as the actionable statistic in the end.

You're obviously entitled to your own perspective, but extracting the t-test from the rest of analysis like that is...idiosyncratic...at best.

Forget about all the MRI stuff for a second and imagine we were working on a grocery store self-checkout system. As you scan your purchases, it weighs each item and tests the weight against some distribution of weights for that product. If the weight is way out in the tails of the distribution, a human checks your cart; this keeps you from scanning some carrots while stuffing your cart with prime rib.

The checkout computer will occasionally flag a legitimate purchase. Perhaps the customer found an incredibly dense head of lettuce[1] . I would call this a false positive: the z-test (or whatever) is incorrectly reporting that the sample is drawn from a different distribution.

Now, suppose that the scale incorrectly adds some weight to each item. Maybe the sensor is broken or a bunch of gunk has accumulated on the tray. As a result, the checkout system now flags more legit purchases for human review. Are you actually refusing to call these "an increase in false positives", since the z-test is working correctly, but it's been fed a database of accurate weights instead of "item weights + gunk weight")? How about if the item database is wrong instead (e.g., chips now come in a slightly smaller bag)?

Or, here's a purely statistical version. Suppose you fit two linear models to some data--one full model and one reduced one--then compare them via an F-test. However, the regression code has a bug that somehow deflates the SSE for the reduced model. I would say this procedure has an inflated false positive rate. You seem to be saying that this does not count as a false positive: the F-test is doing the right thing given its garbage input.

> Any other perspective is the perspective of someone who is confused about what hypothesis they are testing.

Again, this almost makes sense from the perspective of the t-test, but that is a bizarre perspective to take. A MRI researcher wants to know if the BOLD signal in a cluster, once corrected for various nuisance factors, varies across conditions or not. That ("or not") is a perfectly reasonable null hypothesis.

If the corrections are imperfect, it doesn't mean that fuzzy thinking lead them to choose the wrong null hypothesis. At worst, it means that they were too trusting with regard to the correction (but let's not be too hard on people--this is a hard problem).

-----------

[1] Assume it's sold by the head and not by weight.

[2] And sure, you can write out what the motion correction, field imhomgenity correction, etc. mean in excruciating detail if you want to actually calculate them.

Re: fMRI software bugs could upend years of research

#192
post #190

Earlier quoted context omitted.

> "I agree that a p-value histogram would be nice, but I don't think it's essential." Sure it is, here is an example using R where only about 2% of the tests report p set.seed(1234) Nsim=1000; n=100 p=matrix(nrow=Nsim,ncol=1) m=matrix(nrow=Nsim,ncol=2) for(i in 1:Nsim){ a=rnorm(n,0,1); b=rcauchy(n,0,1) p[i,] = t.test(a,b, var.equal=T)$p.value m[i,] = cbind(mean(a),mean(b)) sig = sum(ifelse(p You can see from the hist…

> That is the only perspective that matters because the p-value is being used as the actionable statistic in the end. You're obviously entitled to your own perspective, but extracting the t-test from the rest of analysis like that is...idiosyncratic...at best. Forget about all the MRI stuff for a second and imagine we were working on a grocery store self-checkout system. As you scan your purchases, it weighs each ite…

>"extracting the t-test from the rest of analysis like that is...idiosyncratic...at best."

So much nonsense about statistics has been institutionalized at this point that this sounds like a compliment. To be sure, the issue here is minor compared to the various misconceptions like "p-value is the probability my theory is wrong", etc that are dominant.

>"Are you actually refusing to call these "an increase in false positives", since the z-test is working correctly, but it's been fed a database of accurate weights instead of "item weights + gunk weight")? "

Yes, the hypothesis should include extra uncertainty due to gunk if that is an issue. These are true positive rejections. It is a bad hypothesis.

>"How about if the item database is wrong instead (e.g., chips now come in a slightly smaller bag)?"

Once again, the hypothesis was wrong. We are right to reject it.

In both these cases calling it a "false positive" is misleading because it focuses the attention on something other than the source of the problem: a bad hypothesis. These are true positives.

>"A MRI researcher wants to know if the BOLD signal in a cluster, once corrected for various nuisance factors, varies across conditions or not. That ("or not") is a perfectly reasonable null hypothesis."

Then they should deduce a distribution of expected results directly from that hypothesis and compare the observations to that prediction. What seems to be going on is they say that is the hypothesis but then go onto test a different one. Honestly, just the fact they are using a t-test as part of a complicated process like this makes me suspect they don't know what they are doing... Maybe it makes sense somehow, but I doubt it. Disclaimer: I haven't looked into the code or anything in detail.

Post reply on HN