Causal Discovery
Causal Discovery finds the inbound causes and outbound effects behind core concepts across your data. It builds a causal graph from unified Data Views generated by the ontology, combining domain rules with statistical evidence. The result is a directed acyclic graph (DAG) — or, where some directions remain ambiguous, a CPDAG (completed partially directed acyclic graph). This graph is then explored, adjusted, and validated before serving as the foundation for simulations in the Digital Twin.
Put simply, RootCause automatically builds a chart of what things impact others. This is the basis for running detailed and fully explainable simulations.
To begin, open Digital Twins, click New Digital Twin, pick your Data View, and run Discover & train — discovery runs as part of building the twin. See Causal Graph.
Definition & Purpose
Causal Discovery goes beyond correlation. It identifies which factors truly cause outcomes to change, helping you:
Prioritize interventions on drivers that move the needle
Filter out noise and redundant relationships
Keep results explainable and auditable for business and technical users
How Causal Discovery Works
The default discovery pipeline is a staged filtering cascade:
Screening – A cascade of fast statistical filters (distance correlation and partial distance correlation, executed in native C++ and Rust kernels) eliminates variable pairs with no meaningful dependence, so expensive tests only run on plausible candidates. Domain rules like "time moves forward" constrain the search from the start.
Independence testing – Surviving pairs go through kernel conditional-independence tests to prune links that are explained away by other variables.
Edge classification – A machine-learning classifier scores the remaining candidate edges, confirming the skeleton and proposing directions from the statistical evidence.
Direction resolution – Where statistics alone cannot settle a direction, an LLM stage proposes an orientation based on variable names and domain semantics. Every edge in the result records its direction provenance —
llm,ml,forced,constraint, orcompelled— so you can always see why an edge points the way it does.DAG assembly – User constraints (known and blocked edges), temporal ordering, and the accumulated evidence are combined into an acyclic graph. Edges whose direction remains genuinely ambiguous stay bidirectional, and the result is flagged as a CPDAG (completed partially directed acyclic graph) rather than a fully directed DAG.
An alternative evolutionary-search algorithm, CausalACO (ant-colony optimization), can be selected instead of the default pipeline. For time-series data, the pipeline can automatically discover lag structure between variables, and an optional equation-discovery step can fit symbolic equations for deterministic relationships.
Editing & Oversight
Causal graphs aren't static. RootCause provides controls to incorporate domain knowledge:
Edit assumptions: Add dependencies or break them to test scenarios
Known relationships: Declare edges that must exist
Blocked relationships: Forbid edges that should never exist
Edits are saved as a new version of the model, preserving the original as history. When you are satisfied with the graph, retrain the model to apply the changes — this ensures the causal model reflects both statistical evidence and expert judgment. See Causal Graph for how to explore and edit the graph in the UI.
Outputs & Views
When discovery is complete, the causal graph can be explored and evaluated:
Explore
Flow Chart or DAG View for interactive navigation
Path Analysis: Sankey diagrams showing incoming and outgoing causal paths with contribution weights
Model Probabilities: Learned distributions or parameters for each node
Evaluate
Graph- and node-level metrics
Categorical targets: Accuracy, AUC
Numeric targets: MSE, MAE, R², log-likelihood
Highlights strong and weak areas to guide refinement (e.g. adding priors, blocking edges)
Last updated

