Class BasisFunctionBicScore

java.lang.Object
edu.cmu.tetrad.algcomparison.score.BasisFunctionBicScore
All Implemented Interfaces:
ScoreWrapper, HasParameters, MultiDataSetScoreWrapper, TetradSerializable, Serializable

@Score(name="BF-BIC (Basis Function BIC)", command="bf-bic-score", dataType=Mixed) @Mixed @General public class BasisFunctionBicScore extends Object implements ScoreWrapper, MultiDataSetScoreWrapper
Wrapper for Basis Function BIC Score (Basis-BIC) version.
Version:
$Id: $Id
Author:
josephramsey, bryanandrews
See Also:
  • Constructor Details

    • BasisFunctionBicScore

      public BasisFunctionBicScore()
      Initializes a new instance of the BasisFunctionBicScore class.
  • Method Details

    • getScore

      public Score getScore(DataModel dataSet, Parameters parameters)
      Returns true, iff x and y are independent, conditional on z for the given data set.
      Specified by:
      getScore in interface ScoreWrapper
      Parameters:
      dataSet - The data set to test independence against.
      parameters - The parameters of the test.
      Returns:
      True iff independence holds.
    • getScores

      public List<Score> getScores(List<DataModel> dataModels, Parameters parameters)
      Constructs one score per data model, coordinating data-dependent representation choices across the data models so that all scores share a common parameterization. The returned list is aligned with the input list.

      With adaptive basis selection enabled and more than one data set, the basis-column decision is made ONCE for all data sets: each data set's adaptive decision is computed separately and the union of kept columns (per variable, in the original column order) is used as the common embedding for every score. A column that is informative in ANY data set is kept for all, so no data set loses expressiveness, and every data set scores the identical parameterization - which is what a common-model algorithm such as IMaGES requires of a summed score. Without this, different data sets can keep different columns, and the same edge is then scored against different response bases in different data sets. All data sets must have the same variables (same names, types, and discrete categories), which multi-data-set algorithms require anyway; this is checked via the unpruned embedding layouts.

      Specified by:
      getScores in interface MultiDataSetScoreWrapper
      Parameters:
      dataModels - the data models, all with the same variables.
      parameters - the parameters.
      Returns:
      one score per data model, in the same order.
    • getDescription

      public String getDescription()
      Returns a short of this independence test.
      Specified by:
      getDescription in interface ScoreWrapper
      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 ScoreWrapper
      Returns:
      This type.
    • getParameters

      public List<String> getParameters()
      Returns the parameters that this search uses.
      Specified by:
      getParameters in interface HasParameters
      Specified by:
      getParameters in interface ScoreWrapper
      Returns:
      A list for String names of parameters.
    • getVariable

      public Node getVariable(String name)
      Returns the variable with the given name.
      Specified by:
      getVariable in interface ScoreWrapper
      Parameters:
      name - the name.
      Returns:
      the variable.