Class SemOptimizerEm

java.lang.Object
edu.cmu.tetrad.sem.SemOptimizerEm
All Implemented Interfaces:
SemOptimizer, TetradSerializable, Serializable

public class SemOptimizerEm extends Object implements SemOptimizer
Optimizes a DAG SEM with hidden variables using expectation-maximization. IT SHOULD NOT BE USED WITH SEMs THAT ARE NOT DAGS. For DAGs without hidden variables, SemOptimizerRegression should be more efficient.
Version:
$Id: $Id
Author:
Ricardo Silva, josephramsey Cleanup, modernization.
See Also:
  • Constructor Details

    • SemOptimizerEm

      public SemOptimizerEm()

      Constructor for SemOptimizerEm.

  • Method Details

    • serializableInstance

      public static SemOptimizerEm serializableInstance()
      Generates a simple exemplar of this class to test serialization.
      Returns:
      a SemOptimizerEm object
    • optimize

      public void optimize(SemIm semIm)
      Optimizes an unoptimized Sem object by minimizing the chi-square statistic.
      Specified by:
      optimize in interface SemOptimizer
      Parameters:
      semIm - The unoptimized Sem object to be optimized.
      Throws:
      NullPointerException - If the sample covariance matrix has not been set.
      IllegalArgumentException - If the sample covariance matrix contains missing values.
      RuntimeException - If an error occurs during optimization.
    • getNumRestarts

      public int getNumRestarts()
      Returns the number of restarts for the optimization process.
      Specified by:
      getNumRestarts in interface SemOptimizer
      Returns:
      The number of restarts for the optimization process.
    • setNumRestarts

      public void setNumRestarts(int numRestarts)

      setNumRestarts.

      Specified by:
      setNumRestarts in interface SemOptimizer
      Parameters:
      numRestarts - a int
    • toString

      public String toString()

      toString.

      Overrides:
      toString in class Object
      Returns:
      a String object