Randomise

Permutation-based nonparametric inference
developed in collaboration with Thomas Nichols, University of Michigan Biostatistics


INTRODUCTION

Permutation methods (also known as randomisation methods) are used for inference (thresholding) on statistic maps when the null distribution is not known. The null distribution is unknown because either the noise in the data does not follow a simple distribution, or because the analysis carried out means that that it is not possible to analytically predict the null distribution in the final statistic image. randomise is a simple permutation program enabling modelling and inference using standard GLM design setup as used for example in FEAT. It can output voxelwise and cluster-based tests, and also offers variance smoothing as an option.

Warning: randomise is a beta-release program that has not been extensively tested yet!

randomise implements a Monte Carlo permutation test, where permutations of the data are randomly generated. This will produce almost identical results to an exhaustive permutation test, where the data is systematically permuted.

For more detail on permutation testing see TE Nichols and AP Holmes. Nonparametric Permutation Tests for Functional Neuroimaging: A Primer with Examples. Human Brain Mapping, 15:1-25, 2002.


randomise

A typical simple call to randomise uses the following syntax:
randomise -i <4D_input_data> -o <output_rootname> -d design.mat -t design.con -m <mask_image> -n 5000 -D
design.mat and design.con are text files containing the design matrix and list of contrasts required; they follow the same format as generated by FEAT (see below for example). The -n 5000 option tells randomise to generate 5000 different permutations of the data when building up the null distribution to test against. The -D option tells randomise to demean the data before continuing - this is necessary (for example for FMRI time series data) if you are not modelling the mean in the design matrix.

randomise outputs the following thresholding options:

These output images are p-value images from 0:1 where 1 is most significant (arranged this way to make display and thresholding simple). Thus to "threshold at p<0.01", threshold the output images at 0.99 etc.

If you have "confound regressors", randomise needs those to be removed before continuing. Therefore, unlike with FEAT, you need to specify these as a separate design matrix and use the -x option when calling randomise; randomise then regresses these out of the data before continuing. Note that for this to make sense, your confounds and design of interest need to be orthogonal. In fact, in general in randomise, your regressors should be orthogonal to each other.

If your design is simply all 1s (for example, a single group of subjects) then randomise needs to work in a different way. Normally it generates random samples by randomly permuting the rows of the design; however in this case it does so by randomly inverting the sign of the 1s. In this case, then, instead of specifying design and contrast matrices on the command line, use the -1 option.

You can potentially improve the estimation of the variance that feeds into the final "t" statistic image by using the variance smoothing option -v <std> where you need to specify the spatial extent of the smoothing in mm.


Example: One-Sample T-test.

To perform a nonparametric 1-sample t-test on, say, COPEs, create a 4D image of all of the images. There should be no repeated measures, i.e., there should only be one image per subject. Because this is a single group simple design you don't need a design matrix or contrasts setup. Just use:
randomise -i OneSamp4D -o OneSampT -1
Note you do not need the -D option (as the mean is in the model), and omit the -n option, so that 5000 permutations will be performed.

If you have fewer than 20 subjects (approx. 20 DF), then you will usually see an increase in power by using variance smoothing, as in
randomise -i OneSamp4D -o OneSampT -1 -v 10
which does a 10 mm HWHM variance smoothing.


Example: Two-Sample Unpaired T-test.

To perform a nonparametric 2-sample t-test on, say, COPEs, create 4D image of all of the images, with the subjects in the right order! Create appropriate design.mat and design.con files. Then run:
randomise -i TwoSamp4D -o TwoSampT -d design.mat -t design.con -m mask


Copyright © 2004, University of Oxford. Written by T. Behrens, S. Smith and T. Nichols.