Skip to content

Version 7.6.5

Compare
Choose a tag to compare
@jdramsey jdramsey released this 15 Aug 05:44
· 333 commits to master since this release
69fdb1c

Changes for 7.6.5

  1. Expanded offerings in the Graph menus.
    1. Added a Highlights menu that allows various graph features to be highlighted in the graph.
    2. Added a Check Graph Type to allow the user to check whether a graph is a legal DAG, CPDAG, MPDAG, PAG, or MAG.
    3. Added a Manipulate Graph menu to allow the user to so the following:
      1. Apply Meek rules.
      2. Revert a graph to its CPDAG.
      3. Pick a random DAG in a CPDAG.
      4. Apply final FCI rules.
      5. Revert a graph to its PAG.
      6. Pick the Zhang MAG in a PAG.
    4. Added tools in the Edit menu to undo graph manipualtions or redo them.
    5. Expanded the offerings of the Paths dialog in the Graph box.
      1. Added more path types to the Paths dialog to find paths and sets involving pairs or nodes (or single nodes) in the graph:
        1. Directed paths
        2. Semidirected paths
        3. Treks
        4. Confounder paths
        5. Latent confounder paths,
        6. Cycles
        7. All paths
        8. Adjacents
        9. Adustment sets
        10. Amenable paths
        11. Backdoor paths
      2. Added adjustment sets tools to the Paths dialog, with the capacity to check to see if a given set is an adjustment set.
      3. Added a parameter editor to the Paths dialog.
  2. Made some algorithm changes.
    1. Pulled the version of FASK used in publication from the repository so that FASK results from those papers can be replicated. The parameters were adjusted a bit.
    2. Added a new experimental algorithm, LV-Lite, which begins with BOSS or GRaSP and substitutes score-based steps for subsequent steps in GFCI.
      1. Made LV-Lite correct from a d-separation oracle.
      2. Added clear logging to LV-Lite.
    3. Fixed MagSemBic code in algcomparison and added corresponding scores for Degenerate Guassian and Conditional Gaussian.
    4. Adjusted code of PC to ensure a CPDAG is output, by inserting new unshielded colliders to avoid Meek rule cycles.
    5. Added a new heuristic algorithm, BOSS-PAG, which runs BOSS and reports the PAG of the DAG it generates.
    6. Optimized the final FCI rule.
    7. Adjusted the repairFaultyPag() method in LV-Lite to guarantee that a legal PAG is output and added this option to FCI, FCI-Max, BFCI,
    8. Fixed an issue in the Degenerate Gaussian score.
  3. Added a new API, GridSearch, which presents the Algcomparison tool as an interface tool in the Tetrad interface.
    1. Added a number of new statistics to GridSearch.
    2. Added utility dialog to GridSearch, to sort comparison tables by a certain function.
    3. Added ability to specify user-defined data and/or knowledge for GridSearch.
    4. Made several issue fixes to GridSearch to make it work better for large comparisons.
    5. Added a tab to GridSearch to allow the user to view the graphical models described in comparison tables.
      GRaSP-FCI, SP-FCI, GFCI, and LV-lite.
  4. Added a new tool to the interface to allow one to calculate total effects given adjustment sets for linear models.
  5. Made some changes the MarkovCheckEditor.
    1. Replaced regex filtering by internal regex filtering that selects rows for Ind(x, y | Z) where x or y is a node selected from a dropdown (or all nodes).
    2. Adjusted some parameters in the MarkovCheckEditor.
  6. Fixed some bugs/issues.
    1. Fixed a bug in the semidirected path code (and other recursive path-finding codes) that allowed a node to be repeated on a path.
    2. Added row settability to Conditional Gaussian and Degenerate Gaussian.
    3. Rendered several parameters in various LV searches more consistent in behavior.
    4. Ensured knowledge is correctly used for all LV algorithms.
    5. Fixed buggy row selection setters for various independence tests.
    6. Fixed readObject and writeObject methods throughout code to catch and localize serialization errors so they can be addressed more precisely.
    7. Updated Degenerate Gaussian score.
    8. Added an implementation for D-SEP (see CPS) and revised DAG to PAG to use it; this greatly speeds up DAG to PAG.
  7. Updated manual for recent changes.

What's Changed

  • Include Non Gaussian cases for Local Precision and Recall tests for DAG and CPDAG respectively by @vbcwonderland in #1770
  • Introducing LocalGraphConfusion and its corresponding Precision and Recall classes by @vbcwonderland in #1771
  • Update getLocalIndependenceFacts to check on independence by @vbcwonderland in #1773
  • Introduce shuffle trick to get more local P-values by @vbcwonderland in #1774
  • Introduce plot data collection for different confusion statistics by @vbcwonderland in #1775
  • Introduce plot data collection for different local graph confusion statistics by @vbcwonderland in #1776
  • Introduce test and plot data collection for Gaussian CPDAG case for local Markov Blanket using Local Graph Confusion statistics by @vbcwonderland in #1778
  • Generate plot data for Gaussian CPDAG Markov Blanket case using AdjP, AdjR, AHP, AHR confusion statistics by @vbcwonderland in #1777
  • Non Gaussian DAG/CPDAG for Local Markov Blanket test case, confusion stats using LocalGraphConfusion by @vbcwonderland in #1780
  • Generate plot data for Non Gaussian DAG and CPDAG for Local Markov Blanket test cases using AdjacencyConfusion and ArrowConfusion statistics by @vbcwonderland in #1779
  • Fixed shuffle function and combine all shuffled independence test p vals for a target node into a flat list to feed into Anderson Darling Test by @vbcwonderland in #1781
  • Finished up experimental LV-Lite and cleaned up the rest of the LV code. by @jdramsey in #1769
  • Joe work 2024 6 1 by @jdramsey in #1784
  • getAndersonDarlingTestAcceptsRejectsNodes Typo fix by @vbcwonderland in #1785
  • Markov Check Test on same graph for different confusion matrix (Adj, AH, LG) for Gaussain DAG on Markov Blanket by @vbcwonderland in #1786
  • Resolve NaN ADTest P value from empty independent facts cases by @vbcwonderland in #1787
  • Markov Check, record lower recall nodes when plotting data by @vbcwonderland in #1788
  • Padding for PR #1788 Markov Check, record lower recall nodes when plotting data by @vbcwonderland in #1789
  • Fix node replacement issue for estimated graph for both local and global graph by @vbcwonderland in #1790
  • Move all nodewise markov tests from CheckMarkov Unit tests and allow direct call for nodewise markov by @vbcwonderland in #1792
  • MarkovCheck renaming to checkIndependenceForTargetNode by @vbcwonderland in #1794
  • Update LocalGraph Confusion matrix calculation by @vbcwonderland in #1793
  • Switching the precomputeCovariances parameter to true throughout. by @jdramsey in #1791
  • fixing dg by @bja43 in #1798
  • Include specify file for test check nodewise markov by @vbcwonderland in #1799
  • joe_work_2024_6-13 by @jdramsey in #1800
  • joe-work-2024-8-12 by @jdramsey in #1801
  • joe-work-2024-8-14 by @jdramsey in #1802
  • Version 7.6.5 code by @jdramsey in #1803

Full Changelog: v7.6.4...v7.6.5