-bounds option

Hello all,

Quick question-- when including the -bounds option in 3dLME, is there any guidance on what range to use?

Thanks!
Isabella

Isabella,

When including the -bounds option in 3dLME, is there any guidance on what range to use?

You raise a thoughtful and important question!

Outlier handling is a nuanced issue. If the outliers arise from sources unrelated to the effects under study (scanner anomalies or data processing artifacts) then using the -bounds option in some programs can offer a way to exclude these artificial values. However, even in such cases, applying thresholds can be risky. Arbitrarily chopping off values based on a set range (e.g., [-2, 2] for percent signal change) can distort the data and bias effect estimation, especially if the threshold lacks a principled justification.

A more robust alternative is to model outliers rather than remove them. For instance, using a Student's t-distribution instead of a Gaussian allows for heavier tails and reduces sensitivity to extreme values. This approach is particularly useful when outliers are legitimate data points but undue influence needs to be mitigated. You can implement this by specifying -family student.t in the newer program 3dGLMM.

It may be helpful to try both strategies and compare the results empirically.

Gang Chen

Hi Gang,

Thank you for this suggestion! I am currently trying to set up the model and specifications in 3dGLMM and had a few questions.

Our script + data table look like the following, with 2 between-subjects categorical variables (time: 1, 2; group: 1, 2) and 1 within-subjects categorical variable (level of reward: no, low, high).

3dGLMM -prefix 3dGLMM_SID_Anticip_GroupxRwdLevelxTime_mITT_rwdmask_08042025 -jobs 4                         \
          -model  'Time*Group*Level+(1|Subj)' \
	  -family student.t \                                           
          -level LAB grptime_highrwd CAT Group BY Time FIX Level=high \
          -mask striatum-con-label-thr50-3sub-rs.nii   \
          -dataTable   \
|Subj | fMRIID | Time | Level | Group | InputFile | \|
|--- | --- | --- | --- | --- | --- | ---|
| |
|3301 | 0408202101 | 1 | high | 2 | /data/taylorc_group/data/R33/proc_analysis/WAV/WAV_polort/0408202101SIDPSC.buc_REML+tlrc[7] | \|
|3301 | 0408202101 | 1 | low | 2 | /data/taylorc_group/data/R33/proc_analysis/WAV/WAV_polort/0408202101SIDPSC.buc_REML+tlrc[4] | \|
|3301 | 0408202101 | 1 | no | 2 | /data/taylorc_group/data/R33/proc_analysis/WAV/WAV_polort/0408202101SIDPSC.buc_REML+tlrc[1] | \|
|3301 | 0607202101 | 2 | high | 2 | /data/taylorc_group/data/R33/proc_analysis/WAV/WAV_polort/0607202101SIDPSC.buc_REML+tlrc[7] | \|
|3301 | 0607202101 | 2 | low | 2 | /data/taylorc_group/data/R33/proc_analysis/WAV/WAV_polort/0607202101SIDPSC.buc_REML+tlrc[4] | \|
|3301 | 0607202101 | 2 | no | 2 | /data/taylorc_group/data/R33/proc_analysis/WAV/WAV_polort/0607202101SIDPSC.buc_REML+tlrc[1] | \|
|3303 | 0817202101 | 2 | high | 1 | /data/taylorc_group/data/R33/proc_analysis/WAV/WAV_polort/0817202101SIDPSC.buc_REML+tlrc[7] | \|
|3303 | 0817202101 | 2 | low | 1 | /data/taylorc_group/data/R33/proc_analysis/WAV/WAV_polort/0817202101SIDPSC.buc_REML+tlrc[4] | \|
|3303 | 0817202101 | 2 | no | 1 | /data/taylorc_group/data/R33/proc_analysis/WAV/WAV_polort/0817202101SIDPSC.buc_REML+tlrc[1] | \|
| |  |  |  |  |  | |

I'm specifically interested in modeling a group by time interaction for the low and high reward levels combined, but was not sure how to specify this. In the 3dLME, I specified this with the glt below:

-gltLabel 1 'GrpTime_AnticipRwdAny' -gltCode 1 'Group : 1*1 -1*2 Time : 1*2 -1*1 Level : 1*low +1*high' \

Am I setting up the model and marginal effects (using level) correctly in the 3dGLMM setup above? Is there a way to combine low and high reward levels in this specification? Thank you!