nimare.meta.ibma.VarianceBasedLikelihood

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

Bases: nimare.base.MetaEstimator

A likelihood-based meta-analysis method for estimates with known 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 coefficients using the specified likelihood-based estimator (ML or REML).

Parameters

method ({'ml', 'reml'}, optional) –

The estimation method to use. The available options are

”ml” (default)

Maximum likelihood

”reml”

Restricted maximum likelihood

Notes

Requires beta and varcope images.

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.

Masking approaches which average across voxels (e.g., NiftiLabelsMaskers) will likely result in biased results. The extent of this bias is currently unknown.

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.

References

  • DerSimonian, R., & Laird, N. (1986). Meta-analysis in clinical trials. Controlled clinical trials, 7(3), 177-188.

  • Kosmidis, I., Guolo, A., & Varin, C. (2017). Improving the accuracy of likelihood-based inference in meta-analysis and meta-regression. Biometrika, 104(2), 489–496. https://doi.org/10.1093/biomet/asx001

See also

pymare.estimators.VarianceBasedLikelihoodEstimator

The PyMARE estimator called by this class.

Methods

fit(dataset[, drop_invalid])

Fit Estimator to Dataset.

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 Dataset.

Parameters
  • 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

Results of Estimator fitting.

Return type

MetaResult

Variables

~Estimator.fit.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 – Parameter names mapped to their values.

Return type

dict

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 – Loaded class object.

Return type

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.

Return type

self