Estimators¶
When fitting hierarchical models, there are two broad classes of estimators: time-series estimators, which accept a time series and a design matrix and produce statistical maps; and summary-statistic estimators, which accept a collection of statistical maps and a design matrix, and produce statistical maps. Time-series estimators fit models that are often called “first-level” or “run-level” models, and summary-statistic estimators fit models that are often called “second-level” or perhaps “subject-level” or “group-level”.
Time-series estimators¶
Fitlins supports two estimators for first-level models:
Nilearn’s FirstLevelModel
and AFNI’s 3dREMLfit.
In both cases, the design matrix is generated by PyBIDS and Nilearn.
You can select the AFNI estimator by passing --estimator afni
to FitLins.
Nilearn¶
Fits a normal general linear model (GLM) assuming that the residuals are not autocorrelated. This is quick and no-frills.
AFNI¶
Fits a “prewhitened” GLM with an ARMA(1,1) model to each voxel to account for autocorrelated time series noise. The GLM and the ARMA(1,1) model are simultaneously optimized with a restricted maximum likelihood approach. The downside of the approach is that it’s a bit slower as it has to iteratively fit the GLM and ARMA model at each voxel.
Summary statistic estimators¶
For "glm"
model types, FitLins currently only supports Nilearn’s
SecondLevelModel
estimator.
For "meta"
model types, FitLins uses Nilearn’s
compute_fixed_effects()
to compute a fixed-effects
combination.