Class ImputationSearch
java.lang.Object
edu.cmu.tetrad.data.missing.ImputationSearch
The search wrapper implementing
MissingDataPolicy.MULTIPLE_IMPUTATION: impute m completed datasets, run
the given algorithm on each, and pool the resulting graphs by edge frequency using the existing
GraphSampling machinery (so pooled graphs carry per-edge probabilities and render with the same GUI
visualization as bootstrap results). This is the component that accepts the "mi" policy; individual scores and
tests reject it by design.- Version:
- $Id: $Id
- Author:
- josephramsey
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classThe result of a multiple-imputation search: the pooled graph (with per-edge frequencies attached by GraphSampling) and the individual per-imputation graphs. -
Method Summary
Modifier and TypeMethodDescriptionstatic ImputationSearch.Resultsearch(DataSet dataSet, Algorithm algorithm, Parameters parameters, MultipleImputer imputer, MissingDataSpec spec) Runs the multiple-imputation search.
-
Method Details
-
search
public static ImputationSearch.Result search(DataSet dataSet, Algorithm algorithm, Parameters parameters, MultipleImputer imputer, MissingDataSpec spec) throws InterruptedException Runs the multiple-imputation search. If the dataset has no missing values, the algorithm is simply run once.- Parameters:
dataSet- The dataset.algorithm- The algcomparison algorithm to run on each completed dataset.parameters- The parameters for the algorithm.imputer- The imputer, or null to choose a default: MvnImputer for all-continuous data, MiceLiteImputer for discrete or mixed data.spec- The spec (policy MULTIPLE_IMPUTATION), or null for the default of m = 10.- Returns:
- The result: the pooled graph and the per-imputation graphs.
- Throws:
InterruptedException- If the search is interrupted.UnsupportedOperationException- If no imputer is given and the data are not all-continuous.
-