Forthcoming fixes - cmu-phil/tetrad GitHub Wiki

Changes for version 7.6.7. Note interim snapshot builds are available. See:

https://s01.oss.sonatype.org/content/repositories/snapshots/io/github/cmu-phil/tetrad-gui/7.6.7-SNAPSHOT/

New features:

  1. Added a new component to the interface to expand discrete variables into categorical indicator columns.
  2. Fisher combined p-values were added to the Markov checker.
  3. Updated all matrix operations to the EJML library because of the improved performance it gives.
  4. Removed all other matrix libraries by translating or removing old code that used them.
  5. Removed the deprecated MGM algorithm. Anyone wishing to use it must use version 7.6.6, the last version containing it.
  6. Added a simulator for functional causal models (Zhang et al. 2015), for Xi = fi(Pa(Xi), ei), Ind(ei, Pa(Xi)).
  7. Added a simulator for continuous additive causal models (Peters et al., 2014), Xi = fi(Pa(Xi)) + ei, Ind(ei, Pa(Xi)).
  8. Added a simulator for post-nonlinear causal models (Zhang & Hyvarinen 2009), Xi = f2i(f1i(Pa(Xi) + ei), f2i invertible, Ind(ei, Pa(Xi)).
  9. Added a CausalPerceptronNetworkDji simulator for general non-parametric SEM models.
  10. Updated FOFC to remove bugs and streamline.
  11. Added new implementations of CCA, Bollen-Ting, and Wishart, translated from Python code by B. Andrews.
  12. Added a new implementation of the CCA rank estimator, following the Python code of B. Andrews.
  13. Added BF-BIC and BF-LRT to handle search (using, e.g., BOSS or PC) for nonlinear SEM models.
  14. Added full-sample and covariance-based variants for BF-BIC and BF-LRT.
  15. Updated Mimbuild to remove bugs and streamline.
  16. Fixed a bug in DAG to PAG with selection variables.
  17. Added sensitivity to selection variables to the M-separation test so that, e.g., FCI now gets correct PAGs with selection variables.
  18. Added class OrderedLocalMarkovProperty, to generate an IM for a MAG that implies global Markov.
  19. Clarified PAG repair pipeline for outputting a legal PAG from LV methods that do not currently reliably do so.'
  20. Added Dm and DmFcit implementations to search for intermediate latents.
  21. Fixed a bug in the "guarantee CPDAG" option for PC where it was possible that the step of adding unshielded colliders to the graph could itself result in a cycle.
  22. Fixed the calculation of structural Hamming distance.
  23. Fixed implementation of FCIT so that it passes an Oracle test while at the same time always outputting a legal PAG.
  24. Fixed implementation of Zhang's PAG->MAG choice so that a legal MAG is always produced.
  25. Fixed bugs in the DAG to PAG algorithm.
  26. Fixed implementation of inducing path calculation so that a DAG->PAG->MAG calculation always succeeds.
  27. Changed name of LV-Dumb to BOSS-POD (BOSS PAG OF DAG).
  28. Fixed recursive blocking to always output a blocking set.
  29. Fixed the recursive discriminating path rule to always agree with the greedy discriminating path rule by invoking the greedy rule when the recursive rule fails to produce a sepset.
  30. Added depth and complete ruleset parameters to all latent variable algorithms that can use them.
  31. Removed buggy independence fact caching mechanism from the Fisher Z test.
  32. Fixed buggy R3, R4, R5, and R9 rules for the complete final FCI orientation.

Small fixes:

  1. Added option to do sampling without replacement to the bootstrap editor in the interface.
  2. Updated the calculation of the median of an array.
  3. Added num tests dependent under H0 and H1 to Markov checker interface statistics.
  4. Added optional seed parameter to random graph generation methods for reproducibility.
  5. Removed unused parameters from BF-BIC and BF-LRT.
  6. Added regularization to scoring and testing methods.
  7. Added DataSetHelper class to assist in transferring mixed data files from R to Java.
  8. Renamed LV-Lite to FCIT (FCI-Targeted) and made it an experimental algorithm.
  9. Removed deadweight test and score wrappers from the codebase.
  10. Consolidated recursive path blocking and recursive R4 code into their own classes; removed related dead code.
  11. In Markov Checker, persisting state for the conditioning set type selected.
  12. Removed use of the "preserve Markov" option for FCIT.
  13. Renamed "use pseudoinverse" property to "enable regularization" for clarity.