nimare.meta.ibma.SampleSizeBasedLikelihood
- class SampleSizeBasedLikelihood(method='ml', **kwargs)[source]
Bases:
IBMAEstimatorMethod estimates with known sample sizes but unknown sampling variances.
Changed in version 0.2.1:
New parameter:
aggressive_mask, to control whether to use an aggressive mask.
Changed in version 0.0.12:
Add “se” and “sigma2” to outputs.
Changed in version 0.0.8:
[FIX] Remove single-dimensional entries of each array of returns (
dict).
Added in version 0.0.4.
Iteratively estimates the between-subject variance tau^2 and fixed effect betas using the specified likelihood-based estimator (ML or REML).
- Parameters:
aggressive_mask (
bool, optional) – Voxels with a value of zero of NaN in any of the input maps will be removed from the analysis. If False, all voxels are included by running a separate analysis on bags of voxels that belong that have a valid value across the same studies. Default is True.method ({'ml', 'reml'}, optional) –
The estimation method to use. The available options are
”ml” (default)
Maximum likelihood
”reml”
Restricted maximum likelihood
Notes
Requires beta images and sample size from metadata.
fit()produces aMetaResultobject with the following maps:“z”
Z-statistic map from one-sample test.
“p”
P-value map from one-sample test.
“est”
Fixed effects estimate for intercept test.
“se”
Standard error of fixed effects estimate.
“tau2”
Estimated between-study variance.
“sigma2”
Estimated within-study variance. Assumed to be the same for all studies.
“dof”
Degrees of freedom map from one-sample test.
Homogeneity of sigma^2 across studies is assumed. The ML and REML solutions are obtained via SciPy’s scalar function minimizer (
scipy.optimize.minimize()). Parameters tominimize()can be passed in as keyword arguments.Warning
Likelihood-based estimators are not parallelized across voxels, so this method should not be used on full brains, unless you can submit your code to a job scheduler.
By default, all image-based meta-analysis estimators adopt an aggressive masking strategy, in which any voxels with a value of zero in any of the input maps will be removed from the analysis. Setting
aggressive_mask=Falsewill instead run tha analysis in bags of voxels that have a valid value across the same studies.See also
pymare.estimators.SampleSizeBasedLikelihoodEstimatorThe PyMARE estimator called by this class.
Methods
fit(dataset[, drop_invalid])Fit Estimator to a collection.
get_params([deep])Get parameters for this estimator.
load(filename[, compressed])Load a pickled class instance from file.
save(filename[, compress])Pickle the class instance to the provided file.
set_params(**params)Set the parameters of this estimator.
- fit(dataset, drop_invalid=True)[source]
Fit Estimator to a collection.
- Parameters:
- Returns:
Result of Estimator fitting. Subclasses may return a
MetaResultsubclass.- Return type:
- Variables:
inputs (
dict) – Inputs used in _fit.warning:: (..) – Support for
Datasetinputs is deprecated and will be removed in a future release. PreferStudyset.and (The fit method is a light wrapper that runs input validation)
individual (preprocessing before fitting the actual model. Estimators')
should ("fitting" methods are implemented as _fit, although users)
fit. (call)
- classmethod load(filename, compressed=True)[source]
Load a pickled class instance from file.
- Parameters:
- Returns:
obj – Loaded class object.
- Return type:
class object
- set_params(**params)[source]
Set the parameters of this estimator.
The method works on simple estimators as well as on nested objects (such as pipelines). The latter have parameters of the form
<component>__<parameter>so that it’s possible to update each component of a nested object.- Return type:
self