java.lang.Object
edu.cmu.tetrad.algcomparison.algorithm.multi.FciIod
All Implemented Interfaces:
Algorithm, MultiDataSetAlgorithm, HasKnowledge, HasParameters, TakesIndependenceWrapper, TetradSerializable, Serializable

Runs FCI on multiple datasets using the IOD pooled dataset independence test. The reference is here:

Tillman, R., & Spirtes, P. (2011, June). Learning equivalence classes of acyclic models with latent and selection variables from multiple datasets with overlapping variables. In Proceedings of the Fourteenth International Conference on Artificial Intelligence and Statistics (pp. 3-15). JMLR Workshop and Conference Proceedings.

Version:
$Id: $Id
Author:
josephramsey
See Also:
  • Constructor Details

  • Method Details

    • search

      public Graph search(List<DataModel> dataSets, Parameters parameters)
      Runs the search.
      Specified by:
      search in interface MultiDataSetAlgorithm
      Parameters:
      dataSets - The data sets.
      parameters - The parameters.
      Returns:
      The graph.
    • setScoreWrapper

      public void setScoreWrapper(ScoreWrapper score)
      Sets a score wrapper if not null.
      Specified by:
      setScoreWrapper in interface MultiDataSetAlgorithm
      Parameters:
      score - The wrapper
    • setIndTestWrapper

      public void setIndTestWrapper(IndependenceWrapper test)
      Sets a test wrapper if not null.
      Specified by:
      setIndTestWrapper in interface MultiDataSetAlgorithm
      Parameters:
      test - The wrapper
    • search

      public Graph search(DataModel dataSet, Parameters parameters)
      Runs the search.
      Specified by:
      search in interface Algorithm
      Parameters:
      dataSet - The data set to run to the search on.
      parameters - The paramters of the search.
      Returns:
      The result graph.
    • getComparisonGraph

      public Graph getComparisonGraph(Graph graph)
      Returns that graph that the result should be compared to.
      Specified by:
      getComparisonGraph in interface Algorithm
      Parameters:
      graph - The true directed graph, if there is one.
      Returns:
      The comparison graph.
    • getDescription

      public String getDescription()
      Returns a short, one-line description of this algorithm. This will be printed in the report.
      Specified by:
      getDescription in interface Algorithm
      Returns:
      This description.
    • getDataType

      public DataType getDataType()
      Returns the data type that the search requires, whether continuous, discrete, or mixed.
      Specified by:
      getDataType in interface Algorithm
      Returns:
      This type.
    • getParameters

      public List<String> getParameters()
      Returns the list of parameter names that are used. These are looked up in ParamMap, so if they're not
      Specified by:
      getParameters in interface HasParameters
      Returns:
      Returns the list of parameter names that are used. These are looked up in ParamMap, so if they're not already defined they'll need to be defined there.
    • getKnowledge

      public Knowledge getKnowledge()
      Returns a knowledge object.
      Specified by:
      getKnowledge in interface HasKnowledge
      Returns:
      a knowledge object.
    • setKnowledge

      public void setKnowledge(Knowledge knowledge)
      Sets a knowledge object.
      Specified by:
      setKnowledge in interface HasKnowledge
      Parameters:
      knowledge - a knowledge object.
    • getIndependenceWrapper

      public IndependenceWrapper getIndependenceWrapper()
      Returns the independence wrapper.
      Specified by:
      getIndependenceWrapper in interface TakesIndependenceWrapper
      Returns:
      the independence wrapper.
    • setIndependenceWrapper

      public void setIndependenceWrapper(IndependenceWrapper test)
      Sets the independence wrapper.
      Specified by:
      setIndependenceWrapper in interface TakesIndependenceWrapper
      Parameters:
      test - the independence wrapper.