Search in sources :

Example 6 with Comparison

use of edu.cmu.tetrad.algcomparison.Comparison in project tetrad by cmu-phil.

the class ExampleSave method main.

public static void main(String... args) {
    Parameters parameters = new Parameters();
    parameters.set("numRuns", 10);
    parameters.set("numMeasures", 100);
    parameters.set("avgDegree", 4);
    parameters.set("sampleSize", 100, 500, 1000);
    Simulation simulation = new SemSimulation(new RandomForward());
    Comparison comparison = new Comparison();
    comparison.setShowAlgorithmIndices(true);
    comparison.saveToFiles("comparison", simulation, parameters);
}
Also used : Parameters(edu.cmu.tetrad.util.Parameters) SemSimulation(edu.cmu.tetrad.algcomparison.simulation.SemSimulation) Simulation(edu.cmu.tetrad.algcomparison.simulation.Simulation) Comparison(edu.cmu.tetrad.algcomparison.Comparison) SemSimulation(edu.cmu.tetrad.algcomparison.simulation.SemSimulation) RandomForward(edu.cmu.tetrad.algcomparison.graph.RandomForward)

Example 7 with Comparison

use of edu.cmu.tetrad.algcomparison.Comparison in project tetrad by cmu-phil.

the class Save method main.

public static void main(String... args) {
    Parameters parameters = new Parameters();
    parameters.set("numRuns", 10);
    parameters.set("numMeasures", 50, 100);
    parameters.set("avgDegree", 4);
    parameters.set("sampleSize", 100, 500);
    parameters.set("numCategories", 3);
    parameters.set("percentDiscrete", 50);
    parameters.set("differentGraphs", true);
    Simulation simulation = new LeeHastieSimulation(new RandomForward());
    Comparison comparison = new Comparison();
    comparison.setShowAlgorithmIndices(true);
    comparison.saveToFiles("comparison", simulation, parameters);
}
Also used : Parameters(edu.cmu.tetrad.util.Parameters) SemSimulation(edu.cmu.tetrad.algcomparison.simulation.SemSimulation) Simulation(edu.cmu.tetrad.algcomparison.simulation.Simulation) LeeHastieSimulation(edu.cmu.tetrad.algcomparison.simulation.LeeHastieSimulation) LeeHastieSimulation(edu.cmu.tetrad.algcomparison.simulation.LeeHastieSimulation) Comparison(edu.cmu.tetrad.algcomparison.Comparison) RandomForward(edu.cmu.tetrad.algcomparison.graph.RandomForward)

Example 8 with Comparison

use of edu.cmu.tetrad.algcomparison.Comparison in project tetrad by cmu-phil.

the class Condition1 method generateTetradResults.

public void generateTetradResults() {
    Parameters parameters = new Parameters();
    parameters.set("alpha", 0.001);
    parameters.set("numRuns", 10);
    // parameters.set("penaltyDiscount", 4);
    parameters.set("useMaxPOrientationHeuristic", true);
    parameters.set("maxPOrientationMaxPathLength", 3);
    Statistics statistics = new Statistics();
    statistics.add(new ParameterColumn("numMeasures"));
    statistics.add(new ParameterColumn("avgDegree"));
    statistics.add(new ParameterColumn("sampleSize"));
    statistics.add(new AdjacencyPrecision());
    statistics.add(new AdjacencyRecall());
    statistics.add(new ArrowheadPrecision());
    statistics.add(new ArrowheadRecall());
    statistics.add(new ElapsedTime());
    // statistics.add(new PercentBidirectedEdges());
    // statistics.add(new NumAmbiguousTriples());
    statistics.setWeight("AP", 1.0);
    statistics.setWeight("AR", 0.5);
    statistics.setWeight("AHP", 1.0);
    statistics.setWeight("AHR", 0.5);
    Algorithms algorithms = new Algorithms();
    // algorithms.add(new Pc(new FisherZ()));
    // algorithms.add(new PcStable(new FisherZ()));
    // algorithms.add(new PcStableMax(new FisherZ(), false));
    // algorithms.add(new Cpc(new FisherZ()));
    // algorithms.add(new CpcStable(new FisherZ()));
    Comparison comparison = new Comparison();
    comparison.setShowAlgorithmIndices(true);
    comparison.setShowSimulationIndices(true);
    comparison.setSortByUtility(false);
    comparison.setShowUtilities(true);
    comparison.setSaveGraphs(true);
    // comparison.compareFromFiles("/Users/user/comparison-data/condition_1",
    // "/Users/user/causal-comparisons/condition_1",
    // algorithms, statistics, parameters);
    // 
    // algorithms = new Algorithms();
    // 
    // parameters.set("alpha", 0.001, 0.0001, 1e-8);
    // parameters.set("faithfulnessAssumed", true);
    // //
    // algorithms.add(new Fges(new FisherZScore()));
    // 
    // comparison.compareFromFiles("/Users/user/comparison-data/condition_1",
    // "/Users/user/causal-comparisons/condition_1",
    // algorithms, statistics, parameters);
    // 
    // algorithms = new Algorithms();
    parameters.set("penaltyDiscount", 4);
    // 
    algorithms.add(new Fges(new SemBicScore()));
    comparison.compareFromFiles("/Users/user/comparison-data/condition_1", "/Users/user/causal-comparisons/condition_1", algorithms, statistics, parameters);
}
Also used : Parameters(edu.cmu.tetrad.util.Parameters) Algorithms(edu.cmu.tetrad.algcomparison.algorithm.Algorithms) Comparison(edu.cmu.tetrad.algcomparison.Comparison) Fges(edu.cmu.tetrad.algcomparison.algorithm.oracle.pattern.Fges) SemBicScore(edu.cmu.tetrad.algcomparison.score.SemBicScore)

Example 9 with Comparison

use of edu.cmu.tetrad.algcomparison.Comparison in project tetrad by cmu-phil.

the class Condition2 method compileTable.

public void compileTable() {
    Parameters parameters = new Parameters();
    parameters.set("numRuns", 10);
    Statistics statistics = new Statistics();
    statistics.add(new ParameterColumn("numMeasures"));
    statistics.add(new ParameterColumn("avgDegree"));
    statistics.add(new ParameterColumn("sampleSize"));
    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 ElapsedTime());
    statistics.setWeight("AP", 1.0);
    statistics.setWeight("AR", 0.5);
    statistics.setWeight("AHP", 1.0);
    statistics.setWeight("AHR", 0.5);
    Algorithms algorithms = new Algorithms();
    algorithms.add(new ExternalAlgorithmTetrad("PC_(\"Peter_and_Clark\"),_Priority_Rule,_using_Fisher_Z_test,_alpha_=_0.01"));
    algorithms.add(new ExternalAlgorithmTetrad("PC_(\"Peter_and_Clark\"),_Priority_Rule,_using_Fisher_Z_test,_alpha_=_0.001"));
    algorithms.add(new ExternalAlgorithmTetrad("PC-Stable_(\"Peter_and_Clark\"_Stable),_Priority_Rule,_using_Fisher_Z_test,_alpha_=_0.01"));
    algorithms.add(new ExternalAlgorithmTetrad("PC-Stable_(\"Peter_and_Clark\"_Stable),_Priority_Rule,_using_Fisher_Z_test,_alpha_=_0.001"));
    algorithms.add(new ExternalAlgorithmTetrad("PC-Stable-Max_(\"Peter_and_Clark\"),_Priority_Rule,_using_Fisher_Z_test,_alpha_=_0.01"));
    algorithms.add(new ExternalAlgorithmTetrad("PC-Stable-Max_(\"Peter_and_Clark\"),_Priority_Rule,_using_Fisher_Z_test,_alpha_=_0.001"));
    algorithms.add(new ExternalAlgorithmTetrad("CPC_(Conservative_\"Peter_and_Clark\"),_Priority_Rule,_using_Fisher_Z_test,_alpha_=_0.01"));
    algorithms.add(new ExternalAlgorithmTetrad("CPC_(Conservative_\"Peter_and_Clark\"),_Priority_Rule,_using_Fisher_Z_test,_alpha_=_0.001"));
    algorithms.add(new ExternalAlgorithmTetrad("CPC-Stable_(Conservative_\"Peter_and_Clark\"_Stable),_Priority_Rule,_using_Fisher_Z_test,_alpha_=_0.01"));
    algorithms.add(new ExternalAlgorithmTetrad("CPC-Stable_(Conservative_\"Peter_and_Clark\"_Stable),_Priority_Rule,_using_Fisher_Z_test,_alpha_=_0.001"));
    // 
    algorithms.add(new ExternalAlgorithmTetrad("FGES_(Fast_Greedy_Equivalence_Search)_using_Fisher_Z_Score,_alpha_=_0.001,_faithfulnessAssumed_=_false"));
    algorithms.add(new ExternalAlgorithmTetrad("FGES_(Fast_Greedy_Equivalence_Search)_using_Fisher_Z_Score,_alpha_=_1.0E-4,_faithfulnessAssumed_=_false"));
    algorithms.add(new ExternalAlgorithmTetrad("FGES_(Fast_Greedy_Equivalence_Search)_using_Fisher_Z_Score,_alpha_=_1.0E-8,_faithfulnessAssumed_=_false"));
    algorithms.add(new ExternalAlgorithmTetrad("FGES_(Fast_Greedy_Equivalence_Search)_using_Sem_BIC_Score,_penaltyDiscount_=_2,_faithfulnessAssumed_=_false"));
    algorithms.add(new ExternalAlgorithmTetrad("FGES_(Fast_Greedy_Equivalence_Search)_using_Sem_BIC_Score,_penaltyDiscount_=_4,_faithfulnessAssumed_=_false"));
    algorithms.add(new ExternalAlgorithmTetrad("FGES_(Fast_Greedy_Equivalence_Search)_using_Fisher_Z_Score,_alpha_=_0.001,_faithfulnessAssumed_=_true"));
    algorithms.add(new ExternalAlgorithmTetrad("FGES_(Fast_Greedy_Equivalence_Search)_using_Fisher_Z_Score,_alpha_=_1.0E-4,_faithfulnessAssumed_=_true"));
    algorithms.add(new ExternalAlgorithmTetrad("FGES_(Fast_Greedy_Equivalence_Search)_using_Fisher_Z_Score,_alpha_=_1.0E-8,_faithfulnessAssumed_=_true"));
    algorithms.add(new ExternalAlgorithmTetrad("FGES_(Fast_Greedy_Equivalence_Search)_using_Sem_BIC_Score,_penaltyDiscount_=_2,_faithfulnessAssumed_=_true"));
    algorithms.add(new ExternalAlgorithmTetrad("FGES_(Fast_Greedy_Equivalence_Search)_using_Sem_BIC_Score,_penaltyDiscount_=_4,_faithfulnessAssumed_=_true"));
    algorithms.add(new ExternalAlgorithmBnlearnMmhc("MMPC_alpha_=_0.01"));
    algorithms.add(new ExternalAlgorithmBnlearnMmhc("MMPC_alpha_=_0.001"));
    algorithms.add(new ExternalAlgorithmBnlearnMmhc("GrowShrink alpha = 0.01"));
    algorithms.add(new ExternalAlgorithmBnlearnMmhc("GrowShrink alpha = 0.001"));
    algorithms.add(new ExternalAlgorithmBnlearnMmhc("IAMB_alpha_=_0.01"));
    algorithms.add(new ExternalAlgorithmBnlearnMmhc("IAMB_alpha_=_0.001"));
    algorithms.add(new ExternalAlgorithmBnlearnMmhc("Fast.IAMB_alpha_=_0.01"));
    algorithms.add(new ExternalAlgorithmBnlearnMmhc("Fast.IAMB_alpha_=_0.001"));
    algorithms.add(new ExternalAlgorithmBnlearnMmhc("Inter.IAMB_alpha_=_0.01"));
    algorithms.add(new ExternalAlgorithmBnlearnMmhc("Inter.IAMB_alpha_=_0.001"));
    algorithms.add(new ExternalAlgorithmBnlearnMmhc("si.hiton.pc_alpha_=_0.01"));
    algorithms.add(new ExternalAlgorithmBnlearnMmhc("si.hiton.pc_alpha_=_0.001"));
    algorithms.add(new ExternalAlgorithmBnlearnMmhc("MMHC"));
    // algorithms.add(new ExternalAlgorithmBnlearnMmhc("iamb_alpha_=_0.001.test=cor"));
    // algorithms.add(new ExternalAlgorithmBnlearnMmhc("iamb_alpha_=_0.001.test=mc-cor"));
    // algorithms.add(new ExternalAlgorithmBnlearnMmhc("iamb_alpha_=_0.001.test=mc-mi-g"));
    // algorithms.add(new ExternalAlgorithmBnlearnMmhc("iamb_alpha_=_0.001.test=mc-zf"));
    // algorithms.add(new ExternalAlgorithmBnlearnMmhc("iamb_alpha_=_0.001.test=mi-g"));
    // algorithms.add(new ExternalAlgorithmBnlearnMmhc("iamb_alpha_=_0.001.test=mi-g-sh"));
    // algorithms.add(new ExternalAlgorithmBnlearnMmhc("iamb_alpha_=_0.001.test=smc-cor"));
    // algorithms.add(new ExternalAlgorithmBnlearnMmhc("iamb_alpha_=_0.001.test=smc-mi-g"));
    // algorithms.add(new ExternalAlgorithmBnlearnMmhc("iamb_alpha_=_0.001.test=smc-zf"));
    // algorithms.add(new ExternalAlgorithmBnlearnMmhc("iamb_alpha_=_0.001.test=zf"));
    algorithms.add(new ExternalAlgorithmPcalgPc("PC_pcalg_defaults_alpha_=_0.01"));
    algorithms.add(new ExternalAlgorithmPcalgPc("PC_pcalg_defaults_alpha_=_0.001"));
    algorithms.add(new ExternalAlgorithmPcalgPc("PC-Stable_pcalg_ncores=4_alpha_=_0.01"));
    algorithms.add(new ExternalAlgorithmPcalgPc("PC-Stable_pcalg_ncores=4_alpha_=_0.001"));
    algorithms.add(new ExternalAlgorithmPcalgPc("CPC_pcalg_defaults_alpha_=_0.01"));
    algorithms.add(new ExternalAlgorithmPcalgPc("CPC_pcalg_defaults_alpha_=_0.001"));
    algorithms.add(new ExternalAlgorithmPcalgPc("CPC_pcalg_majority.rule_defaults_alpha_=_0.01"));
    algorithms.add(new ExternalAlgorithmPcalgPc("CPC_pcalg_majority.rule_defaults_alpha_=_0.001"));
    algorithms.add(new ExternalAlgorithmPcalgGes("GES_pcalg_defaults_2*log(nrow(data)"));
    algorithms.add(new ExternalAlgorithmPcalgGes("GES_pcalg_defaults_4*log(nrow(data)"));
    algorithms.add(new ExternalAlgorithmBNTPc("learn.struct.pdag.pc_bnt_alpha_=_0.01"));
    algorithms.add(new ExternalAlgorithmBNTPc("learn.struct.pdag.pc_bnt_alpha_=_0.001"));
    // algorithms.add(new ExternalAlgorithmIntersection("Intersection (Tetrad) CPC, PC_Stable-Max, CPC-Stable",
    // new ExternalAlgorithmTetrad("CPC_(Conservative_\"Peter_and_Clark\"),_Priority_Rule,_using_Fisher_Z_test,_alpha_=_0.001"),
    // new ExternalAlgorithmTetrad("PC-Stable-Max_(\"Peter_and_Clark\"),_Priority_Rule,_using_Fisher_Z_test,_alpha_=_0.001"),
    // new ExternalAlgorithmTetrad("CPC-Stable_(Conservative_\"Peter_and_Clark\"_Stable),_Priority_Rule,_using_Fisher_Z_test,_alpha_=_0.001")
    // 
    // ));
    // 
    // algorithms.add(new ExternalAlgorithmIntersection("Intersection FGES alpha .001, 1e-8, penalty 2",
    // new ExternalAlgorithmTetrad("FGES_(Fast_Greedy_Equivalence_Search)_using_Fisher_Z_Score,_alpha_=_0.001"),
    // new ExternalAlgorithmTetrad("FGES_(Fast_Greedy_Equivalence_Search)_using_Fisher_Z_Score,_alpha_=_1.0E-8"),
    // new ExternalAlgorithmTetrad("FGES_(Fast_Greedy_Equivalence_Search)_using_Sem_BIC_Score,_penalty_discount_=_2.0")
    // ));
    // 
    // algorithms.add(new ExternalAlgorithmIntersection("Intersection PC, CPC, CPC majority, pcalg",
    // new ExternalAlgorithmPcalgPc("PC_pcalg_defaults_alpha_=_0.001"),
    // new ExternalAlgorithmPcalgPc("CPC_pcalg_defaults_alpha_=_0.001"),
    // new ExternalAlgorithmPcalgPc("CPC_majority_pcalg_defaults_alpha_=_0.001")
    // ));
    Comparison comparison = new Comparison();
    comparison.setShowAlgorithmIndices(true);
    comparison.setShowSimulationIndices(true);
    comparison.setSortByUtility(false);
    comparison.setShowUtilities(false);
    comparison.setSaveGraphs(true);
    comparison.setComparisonGraph(Comparison.ComparisonGraph.true_DAG);
    comparison.generateReportFromExternalAlgorithms("/Users/user/comparison-data/condition_2", "/Users/user/causal-comparisons/condition_2", "Comparison.txt", algorithms, statistics, parameters);
    Statistics statistics2 = new Statistics();
    statistics2.add(new ParameterColumn("numMeasures"));
    statistics2.add(new ParameterColumn("avgDegree"));
    statistics2.add(new ParameterColumn("sampleSize"));
    statistics2.add(new AdjacencyFP());
    statistics2.add(new AdjacencyFN());
    statistics2.add(new AdjacencyTP());
    statistics2.add(new AdjacencyTN());
    statistics2.add(new ArrowheadFP());
    statistics2.add(new ArrowheadFN());
    statistics2.add(new ArrowheadTP());
    statistics2.add(new ArrowheadTN());
    statistics2.add(new ElapsedTime());
    // 
    comparison.generateReportFromExternalAlgorithms("/Users/user/comparison-data/condition_2", "/Users/user/causal-comparisons/condition_2", "Counts.txt", algorithms, statistics2, parameters);
}
Also used : Comparison(edu.cmu.tetrad.algcomparison.Comparison) Parameters(edu.cmu.tetrad.util.Parameters) Algorithms(edu.cmu.tetrad.algcomparison.algorithm.Algorithms)

Example 10 with Comparison

use of edu.cmu.tetrad.algcomparison.Comparison in project tetrad by cmu-phil.

the class ExampleSave method main.

public static void main(String... args) {
    Parameters parameters = new Parameters();
    parameters.set("numRuns", 10);
    parameters.set("numMeasures", 50, 100, 500);
    parameters.set("avgDegree", 2, 4, 6);
    parameters.set("sampleSize", 100, 500, 1000);
    parameters.set("differentGraphs", true);
    parameters.set("maxDegree", 100);
    parameters.set("maxIndegree", 100);
    parameters.set("maxOutdegree", 100);
    parameters.set("connected", false);
    parameters.set("coefLow", 0.2);
    parameters.set("coefHigh", 0.9);
    parameters.set("coefSymmetric", true);
    parameters.set("varLow", 1);
    parameters.set("varHigh", 3);
    parameters.set("randomizeColumns", true);
    NumberFormatUtil.getInstance().setNumberFormat(new DecimalFormat("0.000000"));
    Simulation simulation = new SemSimulation(new RandomForward());
    Comparison comparison = new Comparison();
    comparison.saveToFiles("/Users/user/comparison-data/condition_2", simulation, parameters);
}
Also used : Parameters(edu.cmu.tetrad.util.Parameters) SemSimulation(edu.cmu.tetrad.algcomparison.simulation.SemSimulation) Simulation(edu.cmu.tetrad.algcomparison.simulation.Simulation) Comparison(edu.cmu.tetrad.algcomparison.Comparison) SemSimulation(edu.cmu.tetrad.algcomparison.simulation.SemSimulation) DecimalFormat(java.text.DecimalFormat) RandomForward(edu.cmu.tetrad.algcomparison.graph.RandomForward)

Aggregations

Comparison (edu.cmu.tetrad.algcomparison.Comparison)30 Parameters (edu.cmu.tetrad.util.Parameters)30 Algorithms (edu.cmu.tetrad.algcomparison.algorithm.Algorithms)24 Simulations (edu.cmu.tetrad.algcomparison.simulation.Simulations)16 RandomForward (edu.cmu.tetrad.algcomparison.graph.RandomForward)14 SemBicScore (edu.cmu.tetrad.algcomparison.score.SemBicScore)11 SemSimulation (edu.cmu.tetrad.algcomparison.simulation.SemSimulation)6 Fges (edu.cmu.tetrad.algcomparison.algorithm.oracle.pattern.Fges)5 FisherZ (edu.cmu.tetrad.algcomparison.independence.FisherZ)5 LinearFisherModel (edu.cmu.tetrad.algcomparison.simulation.LinearFisherModel)4 LeeHastieSimulation (edu.cmu.tetrad.algcomparison.simulation.LeeHastieSimulation)3 Simulation (edu.cmu.tetrad.algcomparison.simulation.Simulation)3 FirstInflection (edu.cmu.tetrad.algcomparison.algorithm.FirstInflection)2 ConditionalGaussianSimulation (edu.cmu.tetrad.algcomparison.simulation.ConditionalGaussianSimulation)2 TimeSeriesSemSimulation (edu.cmu.tetrad.algcomparison.simulation.TimeSeriesSemSimulation)2 Algorithm (edu.cmu.tetrad.algcomparison.algorithm.Algorithm)1 StARS (edu.cmu.tetrad.algcomparison.algorithm.StARS)1 StabilitySelection (edu.cmu.tetrad.algcomparison.algorithm.StabilitySelection)1 ExternalAlgorithmBNTPc (edu.cmu.tetrad.algcomparison.algorithm.external.ExternalAlgorithmBNTPc)1 ExternalAlgorithmPcalgPc (edu.cmu.tetrad.algcomparison.algorithm.external.ExternalAlgorithmPcalgPc)1