nimare.meta.ibma.SampleSizeBasedLikelihood

class SampleSizeBasedLikelihood(method='ml', *args, **kwargs)[source]

Bases: nimare.base.MetaEstimator

Method estimates with known sample sizes but unknown sampling variances.

Changed in version 0.0.8:

  • [FIX] Remove single-dimensional entries of each array of returns (dict).

New 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

method ({‘ml’, ‘reml’}, optional) – The estimation method to use. Either ‘ml’ (for maximum-likelihood) or ‘reml’ (restricted maximum-likelihood). Default is ‘ml’.

Notes

Requires beta images and sample size from metadata.

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 to minimize() 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.

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.

See also

pymare.estimators.SampleSizeBasedLikelihoodEstimator

The PyMARE estimator called by this class.

fit(dataset, drop_invalid=True)[source]

Fit Estimator to Dataset.

Parameters
  • dataset (nimare.dataset.Dataset) – Dataset object to analyze.

  • drop_invalid (bool, optional) – Whether to automatically ignore any studies without the required data or not. Default is False.

Returns

nimare.results.MetaResult – Results of Estimator fitting.

Variables

inputs_ (dict) – Inputs used in _fit.

Notes

The fit method is a light wrapper that runs input validation and preprocessing before fitting the actual model. Estimators’ individual “fitting” methods are implemented as _fit, although users should call fit.

get_params(deep=True)[source]

Get parameters for this estimator.

Parameters

deep (bool, optional) – If True, will return the parameters for this estimator and contained subobjects that are estimators.

Returns

params (dict) – Parameter names mapped to their values.

classmethod load(filename, compressed=True)[source]

Load a pickled class instance from file.

Parameters
  • filename (str) – Name of file containing object.

  • compressed (bool, optional) – If True, the file is assumed to be compressed and gzip will be used to load it. Otherwise, it will assume that the file is not compressed. Default = True.

Returns

obj (class object) – Loaded class object.

save(filename, compress=True)[source]

Pickle the class instance to the provided file.

Parameters
  • filename (str) – File to which object will be saved.

  • compress (bool, optional) – If True, the file will be compressed with gzip. Otherwise, the uncompressed version will be saved. Default = True.

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.

Returns

self