Class LeeHastieSimulation
java.lang.Object
edu.cmu.tetrad.algcomparison.simulation.LeeHastieSimulation
- All Implemented Interfaces:
Simulation,HasParameters,TetradSerializable,Serializable
A version of the Lee and Hastic simulation.
- Version:
- $Id: $Id
- Author:
- josephramsey
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic int[]arrayPermute(int[] a) arrayPermute.voidcreateData(Parameters parameters, boolean newModel) Creates a data set and simulates data.static double[]evenSplitVector(double w, int L) evenSplitVector.static GeneralizedSemImGaussianCategoricalIm.static GeneralizedSemImGaussianCategoricalIm(GeneralizedSemPm pm, boolean discParamRand) This method is needed to normalize edge parameters for an Instantiated Mixed Model Generates edge parameters for c-d and d-d edges from a single weight, abs(w), drawn by the normal IM constructor.static GeneralizedSemPmGaussianCategoricalPm(Graph trueGraph, String paramTemplate) GaussianCategoricalPm.static double[]generateMixedEdgeParams(double w, int L) generateMixedEdgeParams.getDataModel(int index) Returns the number of data sets to simulate.Returns the data type of the data.Returns the description of the simulation.getEdgeParams(Node n1, Node n2, GeneralizedSemPm pm) getEdgeParams.getNodeDists.intReturns the number of data models.Returns the list of parameters used in the simulation.Class<? extends RandomGraph> Retrieves the class of a random graph for the simulation.Returns the short name of the simulation.Class<? extends Simulation> Returns the class of the simulation.getTrueGraph(int index) Returns the true graph at the given index.static DataSetmakeMixedData(DataSet dsCont, Map<String, Integer> nodeDists) makeMixedData.static DataSetmakeMixedData(DataSet dsCont, Map<String, String> nodeDists, int numCategories) makeMixedData.static GraphmakeMixedGraph(Graph g, Map<String, Integer> m) makeMixedGraph.
-
Constructor Details
-
LeeHastieSimulation
Constructor for LeeHastieSimulation.
- Parameters:
graph- aRandomGraphobject
-
-
Method Details
-
makeMixedGraph
makeMixedGraph.
-
GaussianCategoricalPm
public static GeneralizedSemPm GaussianCategoricalPm(Graph trueGraph, String paramTemplate) throws IllegalStateException GaussianCategoricalPm.
- Parameters:
trueGraph- aGraphobjectparamTemplate- aStringobject- Returns:
- a
GeneralizedSemPmobject - Throws:
IllegalStateException- if any.
-
GaussianCategoricalIm
GaussianCategoricalIm.
- Parameters:
pm- aGeneralizedSemPmobject- Returns:
- a
GeneralizedSemImobject
-
GaussianCategoricalIm
This method is needed to normalize edge parameters for an Instantiated Mixed Model Generates edge parameters for c-d and d-d edges from a single weight, abs(w), drawn by the normal IM constructor. Abs(w) is used for d-d edges.For deterministic, c-d are evenly spaced between -w and w, and d-d are a matrix with w on the diagonal and -w/(categories-1) in the rest. For random, c-d params are uniformly drawn from 0 to 1 then transformed to have w as max value and sum to 0.
- Parameters:
pm- aGeneralizedSemPmobjectdiscParamRand- true for random edge generation behavior, false for deterministic- Returns:
- a
GeneralizedSemImobject
-
makeMixedData
makeMixedData.
-
makeMixedData
public static DataSet makeMixedData(DataSet dsCont, Map<String, String> nodeDists, int numCategories) makeMixedData.
-
getNodeDists
getNodeDists.
-
getEdgeParams
getEdgeParams.
- Parameters:
n1- aNodeobjectn2- aNodeobjectpm- aGeneralizedSemPmobject- Returns:
- a
Listobject
-
arrayPermute
public static int[] arrayPermute(int[] a) arrayPermute.
- Parameters:
a- an array of objects- Returns:
- an array of objects
-
generateMixedEdgeParams
public static double[] generateMixedEdgeParams(double w, int L) generateMixedEdgeParams.
- Parameters:
w- a doubleL- a int- Returns:
- an array of objects
-
evenSplitVector
public static double[] evenSplitVector(double w, int L) evenSplitVector.
- Parameters:
w- a doubleL- a int- Returns:
- an array of objects
-
createData
Creates a data set and simulates data.- Specified by:
createDatain interfaceSimulation- Parameters:
parameters- The parameters to use in the simulation.newModel- If true, a new model is created. If false, the model is reused.
-
getTrueGraph
Returns the true graph at the given index.- Specified by:
getTrueGraphin interfaceSimulation- Parameters:
index- The index of the desired true graph.- Returns:
- That graph.
-
getDataModel
Returns the number of data sets to simulate.- Specified by:
getDataModelin interfaceSimulation- Parameters:
index- The index of the desired simulated data set.- Returns:
- That data set.
-
getDescription
Returns the description of the simulation.- Specified by:
getDescriptionin interfaceSimulation- Returns:
- Returns a one-line description of the simulation, to be printed at the beginning of the report.
-
getShortName
Returns the short name of the simulation.- Specified by:
getShortNamein interfaceSimulation- Returns:
- The short name of the simulation.
-
getParameters
Returns the list of parameters used in the simulation.- Specified by:
getParametersin interfaceHasParameters- Specified by:
getParametersin interfaceSimulation- Returns:
- Returns the parameters used in the simulation. These are the parameters whose values can be varied.
-
getRandomGraphClass
Description copied from interface:SimulationRetrieves the class of a random graph for the simulation.- Specified by:
getRandomGraphClassin interfaceSimulation- Returns:
- The class of a random graph for the simulation.
-
getSimulationClass
Description copied from interface:SimulationReturns the class of the simulation. This method is used to retrieve the class of a simulation based on the selected simulations in the model.- Specified by:
getSimulationClassin interfaceSimulation- Returns:
- The class of the simulation.
-
getNumDataModels
public int getNumDataModels()Returns the number of data models.- Specified by:
getNumDataModelsin interfaceSimulation- Returns:
- The number of data sets to simulate.
-
getDataType
Returns the data type of the data.- Specified by:
getDataTypein interfaceSimulation- Returns:
- Returns the type of the data, continuous, discrete or mixed.
-