Class AbstractMultiBootstrapAlgorithm
- All Implemented Interfaces:
Algorithm, ReturnsBootstrapGraphs, HasParameters, TetradSerializable, Serializable
- Direct Known Subclasses:
Images, ImagesFges
AbstractBootstrapAlgorithm for single-dataset algorithms. Each bootstrap iteration resamples rows WITHIN
each of the given data sets separately (each data set is resampled to percentResampleSize percent of its
own rows, with or without replacement per the usual bootstrapping parameters) and runs the subclass's search on the
resampled list; the resulting graphs are aggregated into an edge-frequency graph exactly as in the single-dataset
case. Resampling within data sets, rather than pooling them, preserves the multi-dataset structure the algorithm
exists for: each subject or session contributes the same number of rows to every bootstrap sample, and rows are
never exchanged across data sets.
Subclasses implement runSearch(List, Parameters), the non-resampling core; the inherited single-dataset
hook runSearch(DataModel, Parameters) delegates to it with a singleton list, so single-dataset calls (via
AbstractBootstrapAlgorithm.search(DataModel, Parameters)) get bootstrapping as well.
Design decisions, deliberate and contestable: (1) Rows are resampled within data sets; an alternative for multi-subject designs is to resample at the DATA SET level (subjects with replacement), which targets between-subject variability instead of within-subject sampling error. That would be a different, additional resampling mode, not a replacement for this one, and is not implemented here. (2) Row resampling treats rows as exchangeable within each data set; for serially dependent rows (see the SERIAL_DEPENDENCE data audit finding) the bootstrap distribution understates uncertainty, the same caveat that applies to row bootstrapping of any single time-series data set.
- Version:
- $Id: $Id
- Author:
- josephramsey
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionsearch(List<DataModel> dataSets, Parameters parameters) Runs the multi-dataset search, bootstrapping ifnumberResamplingis greater than zero.Methods inherited from class AbstractBootstrapAlgorithm
getBootstrapGraphs, searchMethods inherited from class Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface Algorithm
getComparisonGraph, getDataType, getDescriptionMethods inherited from interface HasParameters
getParameters
-
Method Details
-
search
Runs the multi-dataset search, bootstrapping ifnumberResamplingis greater than zero. The aggregation of the bootstrap graphs (edge-frequency graph, saved bootstrap graphs, sampling/display graph handling) is the same as inAbstractBootstrapAlgorithm.search(DataModel, Parameters).- Parameters:
dataSets- the data sets to search over.parameters- the parameters.- Returns:
- the graph.
- Throws:
InterruptedException- if the search is interrupted.
-