CAUSALDISCOVERY Procedure

Minimizing Conditional Variance (MCV) Algorithm

The minimizing conditional variance (MCV) algorithm assumes that the data generating process follows the linear structural causal model with additive errors. Like the TOP algorithm, it uses the sum of square errors as the score function. It further assumes that the topological order corresponds to the best score if , , .

The MCV algorithm consists of two steps:

  1. Determine a topological order of the DAG.

  2. Find a correct set of edges between the nodes according to the topological order.

The algorithm determines the topological order as follows:

  1. Initialize the topological order .

  2. Iteratively use the minimum conditional variance assumption to update the parent list, and use the updated parent list to compute conditional variances.

After the topological order is determined, the postprocessing step is performed as in the TOP algorithm.

The MCV algorithm is as accurate as the TOP algorithm and is much faster, especially when the number of variables is large. As shown in Learning a Large DAG by Using the MCV Algorithm, the MCV algorithm can accurately estimate a DAG that has 1,000 nodes in just a few seconds on one CPU.

Last updated: July 09, 2026