Package edu.cmu.tetrad.sem
Class SemOptimizerEm
java.lang.Object
edu.cmu.tetrad.sem.SemOptimizerEm
- All Implemented Interfaces:
SemOptimizer
,TetradSerializable
,Serializable
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 Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionint
Returns the number of restarts for the optimization process.void
Optimizes an unoptimized Sem object by minimizing the chi-square statistic.static SemOptimizerEm
Generates a simple exemplar of this class to test serialization.void
setNumRestarts
(int numRestarts) setNumRestarts.toString()
toString.
-
Constructor Details
-
SemOptimizerEm
public SemOptimizerEm()Constructor for SemOptimizerEm.
-
-
Method Details
-
serializableInstance
Generates a simple exemplar of this class to test serialization.- Returns:
- a
SemOptimizerEm
object
-
optimize
Optimizes an unoptimized Sem object by minimizing the chi-square statistic.- Specified by:
optimize
in interfaceSemOptimizer
- 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 interfaceSemOptimizer
- Returns:
- The number of restarts for the optimization process.
-
setNumRestarts
public void setNumRestarts(int numRestarts) setNumRestarts.
- Specified by:
setNumRestarts
in interfaceSemOptimizer
- Parameters:
numRestarts
- a int
-
toString
-