private void comparePotentials (DiscreteFactor ptl, double[] expected) { double[] actual = ptl.toValueArray (); assertEquals (expected.length, actual.length); for (int i = 0; i < expected.length; i++) { assertEquals (expected[i], actual[i], 0.001); } }
private void comparePotentials (DiscreteFactor ptl, double[] expected) { double[] actual = ptl.toValueArray (); assertEquals (expected.length, actual.length); for (int i = 0; i < expected.length; i++) { assertEquals (expected[i], actual[i], 0.001); } }
public void testLogErrorRange () { Variable var1 = new Variable (2); Variable var2 = new Variable (2); TableFactor f1 = new TableFactor (new Variable[] { var1, var2 }, new double[] { 0.3, 0.1, 0.2, 0.4 } ); TableFactor f2 = new TableFactor (new Variable[] { var1, var2 }, new double[] { 0.2, 0.1, 0.4, 0.3 } ); assertEquals (Math.log (2), Factors.logErrorRange (f1, f2), 1e-10); assertEquals (Math.log (2), Factors.logErrorRange (f2, f1), 1e-10); TableFactor f3 = new TableFactor (new Variable[] { var1, var2 }, new double[] { 0.2, 0.4, 0.3, 0.1 } ); double exp = Math.log (4) - Math.log (1.5); assertEquals (exp, Factors.logErrorRange (f1, f3), 1e-10); assertEquals (exp, Factors.logErrorRange (f3, f1), 1e-10); }
public void testLogErrorRange () { Variable var1 = new Variable (2); Variable var2 = new Variable (2); TableFactor f1 = new TableFactor (new Variable[] { var1, var2 }, new double[] { 0.3, 0.1, 0.2, 0.4 } ); TableFactor f2 = new TableFactor (new Variable[] { var1, var2 }, new double[] { 0.2, 0.1, 0.4, 0.3 } ); assertEquals (Math.log (2), Factors.logErrorRange (f1, f2), 1e-10); assertEquals (Math.log (2), Factors.logErrorRange (f2, f1), 1e-10); TableFactor f3 = new TableFactor (new Variable[] { var1, var2 }, new double[] { 0.2, 0.4, 0.3, 0.1 } ); double exp = Math.log (4) - Math.log (1.5); assertEquals (exp, Factors.logErrorRange (f1, f3), 1e-10); assertEquals (exp, Factors.logErrorRange (f3, f1), 1e-10); }
public void testMutualInfo2 () { Variable[] vars = new Variable[] { new Variable (2), new Variable (2) }; Factor joint = new TableFactor (vars, new double[] { 0.3, 0.2, 0.1, 0.4 }); System.out.println (joint.dumpToString ()); assertEquals (0.08630462, Factors.mutualInformation (joint), 1e-5); }
public void testMutualInfo2 () { Variable[] vars = new Variable[] { new Variable (2), new Variable (2) }; Factor joint = new TableFactor (vars, new double[] { 0.3, 0.2, 0.1, 0.4 }); System.out.println (joint.dumpToString ()); assertEquals (0.08630462, Factors.mutualInformation (joint), 1e-5); }
public void testCorr () { Variable var1 = new Variable (2); Variable var2 = new Variable (2); TableFactor f = new TableFactor (new Variable[] { var1, var2 }, new double[] { 0.3, 0.1, 0.2, 0.4 } ); double corr = Factors.corr (f); // 0.4 - 0.3 = 0.1 assertEquals (0.1, corr, 1e-5); }
public void testCorr () { Variable var1 = new Variable (2); Variable var2 = new Variable (2); TableFactor f = new TableFactor (new Variable[] { var1, var2 }, new double[] { 0.3, 0.1, 0.2, 0.4 } ); double corr = Factors.corr (f); // 0.4 - 0.3 = 0.1 assertEquals (0.1, corr, 1e-5); }
public void testMutualInfo1 () { Factor ptl1 = new TableFactor (new Variable (2), new double[] { 0.7, 0.3 }); Factor ptl2 = new TableFactor (new Variable (2), new double[] { 0.2, 0.8 }); Factor joint = ptl1.multiply (ptl2); assertEquals (0.0, Factors.mutualInformation (joint), 1e-5); }
public void testMutualInfo1 () { Factor ptl1 = new TableFactor (new Variable (2), new double[] { 0.7, 0.3 }); Factor ptl2 = new TableFactor (new Variable (2), new double[] { 0.2, 0.8 }); Factor joint = ptl1.multiply (ptl2); assertEquals (0.0, Factors.mutualInformation (joint), 1e-5); }