use of edu.cmu.tetrad.algcomparison.simulation.TimeSeriesSemSimulation in project tetrad by cmu-phil.
the class ExampleCompareSimulationTimeSeries method main.
public static void main(String... args) {
Parameters parameters = new Parameters();
parameters.set("numRuns", 10);
parameters.set("numMeasures", 10);
parameters.set("avgDegree", 4);
parameters.set("sampleSize", 500);
parameters.set("alpha", 1e-4, 1e-3, 1e-2);
Statistics statistics = new Statistics();
statistics.add(new AdjacencyPrecision());
statistics.add(new AdjacencyRecall());
statistics.add(new ArrowheadPrecision());
statistics.add(new ArrowheadRecall());
statistics.add(new MathewsCorrAdj());
statistics.add(new MathewsCorrArrow());
statistics.add(new F1Adj());
statistics.add(new F1Arrow());
statistics.add(new SHD());
statistics.add(new ElapsedTime());
statistics.setWeight("AP", 1.0);
statistics.setWeight("AR", 0.5);
Algorithms algorithms = new Algorithms();
algorithms.add(new TsFci(new FisherZ()));
algorithms.add(new TsGfci(new FisherZ(), new SemBicScore()));
algorithms.add(new TsImages(new SemBicScore()));
Simulations simulations = new Simulations();
simulations.add(new TimeSeriesSemSimulation(new RandomForward()));
Comparison comparison = new Comparison();
comparison.setSortByUtility(true);
comparison.setShowUtilities(true);
comparison.compareFromSimulations("comparison", simulations, algorithms, statistics, parameters);
}
use of edu.cmu.tetrad.algcomparison.simulation.TimeSeriesSemSimulation in project tetrad by cmu-phil.
the class SimulationEditor method resetPanel.
private void resetPanel(Simulation simulation, String[] graphItems, String[] simulationItems, JTabbedPane tabbedPane) {
RandomGraph randomGraph = (simulation.getSourceGraph() == null) ? new SingleGraph(new EdgeListGraph()) : new SingleGraph(simulation.getSourceGraph());
if (!simulation.isFixedGraph()) {
String graphItem = (String) graphsDropdown.getSelectedItem();
simulation.getParams().set("graphsDropdownPreference", graphItem);
if (graphItem.equals(graphItems[0])) {
randomGraph = new RandomForward();
} else if (graphItem.equals(graphItems[1])) {
randomGraph = new ScaleFree();
} else if (graphItem.equals(graphItems[2])) {
randomGraph = new Cyclic();
} else if (graphItem.equals(graphItems[3])) {
randomGraph = new RandomSingleFactorMim();
} else if (graphItem.equals(graphItems[4])) {
randomGraph = new RandomTwoFactorMim();
} else {
throw new IllegalArgumentException("Unrecognized simulation type: " + graphItem);
}
}
if (!simulation.isFixedSimulation()) {
if (simulation.getSourceGraph() == null) {
String simulationItem = (String) simulationsDropdown.getSelectedItem();
simulation.getParams().set("simulationsDropdownPreference", simulationItem);
simulation.setFixedGraph(false);
if (randomGraph instanceof SingleGraph) {
simulation.setFixedGraph(true);
}
if (simulationItem.equals(simulationItems[0])) {
simulation.setSimulation(new BayesNetSimulation(randomGraph), simulation.getParams());
} else if (simulationItem.equals(simulationItems[1])) {
simulation.setSimulation(new SemSimulation(randomGraph), simulation.getParams());
} else if (simulationItem.equals(simulationItems[2])) {
simulation.setSimulation(new LinearFisherModel(randomGraph, simulation.getInputDataModelList()), simulation.getParams());
} else if (simulationItem.equals(simulationItems[3])) {
simulation.setSimulation(new LeeHastieSimulation(randomGraph), simulation.getParams());
} else if (simulationItem.equals(simulationItems[4])) {
simulation.setSimulation(new ConditionalGaussianSimulation(randomGraph), simulation.getParams());
} else if (simulationItem.equals(simulationItems[5])) {
simulation.setSimulation(new TimeSeriesSemSimulation(randomGraph), simulation.getParams());
} else {
throw new IllegalArgumentException("Unrecognized simulation type: " + simulationItem);
}
} else {
String simulationItem = (String) simulationsDropdown.getSelectedItem();
simulation.getParams().set("simulationsDropdownPreference", simulationItem);
simulation.setFixedGraph(false);
if (randomGraph instanceof SingleGraph) {
simulation.setFixedGraph(true);
}
if (simulationItem.equals(simulationItems[0])) {
simulation.setSimulation(new BayesNetSimulation(randomGraph), simulation.getParams());
} else if (simulationItem.equals(simulationItems[1])) {
simulation.setSimulation(new SemSimulation(randomGraph), simulation.getParams());
} else if (simulationItem.equals(simulationItems[2])) {
simulation.setSimulation(new LinearFisherModel(randomGraph), simulation.getParams());
} else if (simulationItem.equals(simulationItems[3])) {
simulation.setSimulation(new LeeHastieSimulation(randomGraph), simulation.getParams());
} else if (simulationItem.equals(simulationItems[4])) {
simulation.setSimulation(new ConditionalGaussianSimulation(randomGraph), simulation.getParams());
} else if (simulationItem.equals(simulationItems[5])) {
simulation.setSimulation(new TimeSeriesSemSimulation(randomGraph), simulation.getParams());
} else {
throw new IllegalArgumentException("Unrecognized simulation type: " + simulationItem);
}
}
}
tabbedPane.setComponentAt(0, new PaddingPanel(getParameterPanel(simulation, simulation.getSimulation(), simulation.getParams())));
}
Aggregations