Skip to content

Version 7.6.2

Compare
Choose a tag to compare
@jdramsey jdramsey released this 04 Feb 06:13
· 599 commits to master since this release
aecd29b

Updates for 7.6.2

Note that starting with this version, all Tetrad jars will be compiled using Corretto JDK 17. Also, the language level of the project will be increased to 17.

These are the new items that impact the Tetrad interface:

  1. There is a new tool for checking whether background knowledge is violated for a search, which is useful for checking ground truth knowledge for a large graph.
  2. The Chi-Square and G-Square discrete tests have been improved. There is now a parameter for them, minimum expected count per cell.
  3. The method for randomizing Bayes IMs has been improved to make these models more Powerful.
  4. The Discrete BIC score has been corrected in places.
  5. A pseudoinverse option has been added for all relevant tests and scores to avoid singularity exceptions.
  6. The Markov Checker now accepts knowledge as an input. For independence facts Ind(X, Y | Z), X and Y are now constrained to come from the last tier of the knowledge, whereas Z can come from any variable in any tier.
  7. In the Graph box, a menu item has been added to highlight all triangles in a graph.
  8. All independence test results are now cached, including for m/d-separation, but excluding ProbabilisticTest when threshold = true (which has an element of randomness). Also, the algorithm for m/d-separation has been sped up considerably. As a result, one should be able to use PC or FCI to calculate correct CPDAGs or PAGs, respectively, for even large graphs, for instance, and Markov Checker should run faster.
  9. BIC scores are available now in the interface for both continuous and discrete DAG and CPDAG models.
  10. The Processing... dialog should now follow the Tetrad interface window if you move the window.
  11. If you type command-Q you now get a confirm dialog. This is to address the old problem of Tetrad quitting unexpectedly while saving out a session, resulting in the session being corrupted.
  12. Added a seed parameter to GRaSP, BOSS, GRaSP-FCI, BFCI, and a few other algorithms that use BOSS or GRaSP. Setting the seed to something other than -1 allows for reproducibility for those algorithms.
  13. Added a feature to copy the selected dataset from a data box with multiple data models into a separate box.

Details.

  1. Sped up M/D-Separation.
  2. Added a tool to let users check violations of knowledge for a graph.
  3. Made G-Square an option in ChiSquareTest and eliminated the previous GSquare class.
  4. Added a parameter for the minimum expected count per cell, for the Chi-Square and G-Square tests, defaulting to 1.
  5. Added the isValid parameter to independence results if an algorithm wants to use this information. A result is invalid if the test cannot determine whether the result is 'dependent' or 'independent.'
  6. Moved docs to lib/resources.
  7. Added Anderson-Darling test of U(0, 1) to the Markov checker.
  8. Added IMaGES-BOSS algorithm.
  9. Changed the causal order layout to judge both --> and o-> as putting nodes in a subsequent tier.
  10. Adjusted the randomization of Bayes IMs to reflect, e.g., the ALARM network, where, to the extent possible, a different category in each CPT row has a high probability, and other categories have a low probability. This has much higher power.
  11. Fixed the sign of the penalty term for DiscreteBIC.
  12. Added the F-beta statistic.
  13. Changing the default structure prior to the BDeu score to 0.
  14. Re-introduced the 'pcHeuristic' parameter, which allows one to select one of the PC heuristics given in Spirtes et al., Causation, Prediction, and Search, for algorithms using the Fast Adjacency Search.
  15. Made some corrections to the Discrete BIC score for the case where CPTs had rows summing to zero.
  16. Added an option in the SEM BIC score to use pseudoinverses rather than inverses for calculating residual variances.
  17. Added the pseudoinverse option to the Fisher Z test.
  18. Extended the pseudoinverse option to all other feasible tests and scores that follow the same pattern.
  19. In the Simulation box, changed the menu item for "Bayes net" to "Bayes Net (Multinomial)" and "SEM BIC" to "Linear SEM BIC" for clarity and slightly reordered the options. The underlying code for these did not change.
  20. Added "local Markov check" options to the Markov checker--using a knowledge object to specify for Ind(X, Y | Z) which set X and Y come from (the last tier) and which set the Z variables come from (previous tiers).
  21. Added a menu item for the graph box to highlight all triangles in a graph.
  22. Added caching of independence results for all independence tests (including M/D-Sep, and except for ProbabilisticTest when threshold = true, which has an element of randomness).
  23. Reverted the GrowShrink class to the published algorithm.
  24. Changed the language level of the Tetrad codebase to 17 and specified that all jars starting with this version will be compiled under Corretto's JDK 17.
  25. Fixed BIC score stamping for all relevant algorithms, both continuous and discrete.
  26. Added a note that BIC is calculated as 2L - k ln N (or 2L - c k ln N) everywhere the term appears in the documentation.
  27. Caught the event of a desktop being quit in the interface (as with command-Q on a Mac, which could not be handled in earlier versions), now displaying a confirm dialog.
  28. Updated the saving/loading code in the interface to be a bit smoother.
  29. Changed the wording of the "Processing..." button to "Processing (click to stop)...".
  30. Added code to center the Processing... dialog above the Tetrad interface app frame even if the app is moved to a different monitor.
  31. Fixed a bug in the Markov checker where not all dependencies were being processed.
  32. Added a seed parameter to GRaSP, BOSS, GRaSP-FCI, BFCI, and a few other algorithms that use BOSS or GRaSP. Setting the seed to something other than -1 allows for reproducibility for those algorithms.
  33. Added a feature to copy the selected dataset from a data box with multiple data models into a separate box.