5.3. Second level models#
Page summary
Second level models in Nilearn are used to perform group-level analyses on fMRI data. Once individual subjects have been processed in a common space (e.g. MNI, Talairach, or subject average), the data can be grouped and statistical tests performed to make broader inferences on fMRI activity. Some common second level models are one-sample (unpaired or paired) and two-sample t-tests.
5.3.1. Fitting a second level model#
As with first level models, a design matrix needs to be defined before fitting a second level model. Again, similar to first level models, Nilearn provides a function nilearn.glm.second_level.make_second_level_design_matrix
for this purpose. Once the design matrix has been setup, it can be visualized using the same function as before, nilearn.plotting.plot_design_matrix
.
To fit the second level model, the tools to use are within the class nilearn.glm.second_level.SecondLevelModel
. Specifically, the function that fits the model is nilearn.glm.second_level.SecondLevelModel.fit
.
- Some examples to get you going with second level models are provided below::
General design matrix setup: Example of second level design matrix
One-sample testing, with non-parametric multiple comparisons correction: Second-level fMRI model: one sample test
Two-sample testing, unpaired and paired: Second-level fMRI model: two-sample test, unpaired and paired
Complex contrast: Example of generic design in second-level models
5.3.2. Thresholding statistical maps#
Nilearn’s statistical plotting functions provide simple thresholding functionality. For instance, functions like nilearn.plotting.plot_stat_map
or nilearn.plotting.plot_glass_brain
have an argument called threshold that, when set, will only show voxels with a value that is over the threshold provided.
Thresholding examples are available here: Second-level fMRI model: one sample test and Statistical testing of a second-level analysis.
5.3.3. Multiple comparisons correction#
As discussed in the Multiple Comparisons section of the introduction, the issue of multiple comparisons is important to address with statistical analysis of fMRI data. Nilearn provides parametric and non-parametric tools to address this issue.
Refer to the example Statistical testing of a second-level analysis for a guide to applying FPR, FDR, and FWER corrections. These corrections are applied using the nilearn.glm.threshold_stats_img
function.
You can additionally employ a non-parametric correction procedure using either nilearn.glm.second_level.non_parametric_inference
or nilearn.mass_univariate.permuted_ols
. Refer to the example Second-level fMRI model: one sample test for a practical use of this function.
Within an activated cluster, not all voxels represent true activation. To estimate true positives within a cluster, Nilearn provides the nilearn.glm.cluster_level_inference
function. An example with usage information is available here: Second-level fMRI model: true positive proportion in clusters.
5.3.4. Voxel based morphometry#
The nilearn.glm.second_level.SecondLevelModel
and its associated functions can also be used to perform voxel based morphometry. An example using the OASIS dataset to identify the relationship between aging, sex and gray matter density is available here Voxel-Based Morphometry on OASIS dataset.