AFNI Message Board

Dear AFNI users-

We are very pleased to announce that the new AFNI Message Board framework is up! Please join us at:

https://discuss.afni.nimh.nih.gov

Existing user accounts have been migrated, so returning users can login by requesting a password reset. New users can create accounts, as well, through a standard account creation process. Please note that these setup emails might initially go to spam folders (esp. for NIH users!), so please check those locations in the beginning.

The current Message Board discussion threads have been migrated to the new framework. The current Message Board will remain visible, but read-only, for a little while.

Sincerely, AFNI HQ

History of AFNI updates  

|
January 29, 2023 04:04PM
As the instigator/inventor/implementor of the ETAC approach, I have to say that I've never tested the accuracy of the tests for the false positive rate (FPR) for covariate estimates. It occurred to me to do so, and I even wrote scripts for that purpose. But didn't carry those tests out.

What Anderson Winkler makes intuitive sense to me, but I never got that far in my implementation.

Personally speaking, I was very burned out when I got ETAC to the state it is in now. The whole clustering FPR subject is highly correlated in my mind with very unpleasant events. And now that I'm retired, I don't plan to revisit it in any substantial fashion. I'm sorry if that leaves you hanging, but that's the way it is.

The way the residuals are calculated for the case when there are covariates:

0) Before the analysis of a given voxel, the regression matrix for the covariate analysis is set up (for each of -setA and -setB) -- call this matrix "X" -- and pseudo-inverted -- that is, matrix X has a column of all 1s (the "mean") and then columns for all the covariates -- 3dttest++.c function TT_matrix_setup.

1) In the analysis function regress_toz, the pseudo-inverse of X is applied to the values extracted from that voxel from each input dataset (in the corresponding -setA or -setB, of course) -- this computes the (estimated) values of the covariates ("slopes").

2) To get the residuals, the matrix X is multiplied back into the covariate estimates, giving the "fitted data vector", which is then subtracted from the real data vector. Thus, the residuals are as "residual as they come" -- they are what is left after ALL effects in the model are projected out.

I hope this helps, at least to reduce the confusion somewhat.

** Bob Cox
Subject Author Posted

Why do -ETAC and -Clustsim methods in 3dttest++ permute full model residuals?

herrlich10 January 16, 2023 11:24AM

Re: Why do -ETAC and -Clustsim methods in 3dttest++ permute full model residuals?

herrlich10 January 25, 2023 11:46PM

Re: Why do -ETAC and -Clustsim methods in 3dttest++ permute full model residuals?

gang January 26, 2023 08:23AM

Re: Why do -ETAC and -Clustsim methods in 3dttest++ permute full model residuals?

RWCox January 29, 2023 04:04PM