Interpreting Covariate in 3dttest++


I would like to verify my interpretation for the paired 3dttest++ output when I include a covariate.

For subbricks that include a covariate (e.g., sub-brick 2 and 3 in the example below) do these show clusters representing differences between SetA and SetB while holding covariate IQ constant? OR would you interpret the significant clusters as differences between SetA and SetB for different levels of IQ (i.e., SetA and SetB vary as a function of IQ)?

Thank you very much,


#0  SetA-SetB_mean      = difference of means [covariates removed]
      #1  SetA-SetB_Tstat
      #2  SetA-SetB_IQ        = difference of slopes wrt covariate IQ
      #3  SetA-SetB_IQ_Tstat
      #4  SetA_mean           = mean of SetA [covariates removed]
      #5  SetA_Tstat
      #6  SetA_IQ             = slope of SetA wrt covariate IQ
      #7  SetA_IQ_Tstat
      #8  SetB_mean           = mean of SetB [covariates removed]
      #9  SetB_Tstat
      #10 SetB_IQ             = slope of SetB wrt covariate IQ
      #11 SetB_IQ_Tstat


It would be good for Gang to add details here, but let me offer my interpretation…

Volume 0 shows the SetA-SetB mean. This volume should be the same with and without a covariate (assuming the covariate is de-meaned by 3dttest++).

Volume 1 shows the corresponding t-stat for the model against that without the mean removed. In the case of a covariate, the values will generally be much lower, as it would only show the incremental variance explained above the model with a covariate.

Similarly, volume 2 shows the slope (or the incremental fit/effect) of the covariate. I don’t think it is a difference of slopes, but a single slope for the covariate “regressor”. Note that for a paired t-test (and by default at least), the mean covariate of each set would be subtracted out (to leave a mean of zero for each set covariate) before the slope (scalar fit) is computed.

Notably, this is not showing differences in SetA and SetB with the covariate held constant, that is more what volume 0 is (where that constant is zero).

And then volume 3 would show the significance of the covariate in the t-test, indicating where the variance explained by the inclusion of the de-meaned IQs is high.

To put this in the context of a more standard linear regression, form this paired t-test with covariates by first computing those paired differences and subtracting the mean from each group’s covariate (IQ).

If the subject differences are put together, this could be pictured as the “time series” input to 3dDeconvolve that you are fitting a model to. The base model is just -polort 0 (modeling the mean of those differences), while the (de-meaned) covariates would be an additional -stim_file component. In the -bucket output, the polort 0 beta would be the mean “effect”, the mean difference, while the IQ beta would be the slope of the IQ regressor, the best scalar fit of the covariate “time series” to the data. And then the t-stats would show the significance of those regressors.

Does this seem reasonable?

  • rick

One thing that has muddled my thinking on this was the notion of 2 sets of covariates, which does not even apply here.
This is a paired t-test, and therefore has only 1 set of covariates.

In a 2-sample test, the de-meaned set covariates would be individually modeled and contrasted.

  • rick


I'm trying to model out a covariate of no interest and thought that I definitely need to be looking at Volume 3, but from you're response it seems that it is actually Volume 1, right?
Relatedly, if there were 2 covariates, again Volume 1 would be the one representative of signal with 2 covariates of no interest factored out?

Volume 3 is then akin to a correlation between the deltaData and the deltaCovariate?

Hi @sinandrei.

Yes, that is right.

Volume 0 shows the magnitude of the effect (difference), while #1 is the t-stat showing its significance. The significance (at #1) is affected by any covariates, the effect size is not (unless you apply -center NONE and the mean is not zero). Volume 2 is the difference in covariate slopes, with #3 being its t-stat.

If there were 2 covariates, the first volume pair (#0, 1) would still be the main difference and significance, the second pair (#2, 3) would still be the slope and significance of the first covariate, but then the third pair (#4, 5) would be the slope and significance of that new covariate. Then there would be individual group tests (parts from the pair), followed by covaraite effects.

Yes, volume #3 would indeed by akin to the correlation between the delta and first covariate (though as a t-stat).

  • rick
1 Like