The PC algorithm is the state-of-the-art algorithm for causal structure discovery on observational data. It can be computationally expensive in the worst case due to the conditional independence tests are performed in an exhaustive-searching manner. This makes the algorithm computationally intractable when the task contains several hundred or thousand nodes, particularly when the true underlying causal graph is dense. We propose a critical observation that the conditional set rendering two nodes independent is non-unique, and including certain redundant nodes do not sacrifice result accuracy. Based on this finding, the innovations of our work are two-folds. First, we innovate on a reserve order linkage pruning PC algorithm which significantly increases the algorithm's efficiency. Second, we propose a parallel computing strategy for statistical independence tests by leveraging tensor computation, which brings further speedup. We also prove the proposed algorithm does not induce statistical power loss under mild graph and data dimensionality assumptions. Experimental results show that the single-threaded version of the proposed algorithm can achieve a 6-fold speedup compared to the PC algorithm on a dense 95-node graph, and the parallel version can make a 825-fold speed-up. We also provide proof that the proposed algorithm is consistent under the same set of conditions with conventional PC algorithm.
翻译:PC 算法是观测数据中因果结构发现因果结构发现的最先进的算法。 在最坏的情况下, 计算成本可能是昂贵的, 因为有条件的独立测试是以彻底的搜索方式进行的。 这使得算法在任务包含几十万或千个节点时难以计算, 特别是当真正的内在因果图密度大的时候。 我们提出一个批评意见, 认为使两个节点独立的有条件的数据集不是独一无二的, 包括某些冗余节点不会牺牲结果准确性。 基于这个结论, 我们的工作创新是两重。 首先, 我们创新了一个保留顺序链接的PC 算法, 大大提高了算法的效率。 其次, 我们提出一个平行的计算战略, 利用温度计算法进行统计独立测试, 从而进一步加速。 我们还证明提议的算法不会在温和图形和数据维度假设下引起统计能力损失。 实验结果显示, 与一个密度95诺比的PC算法相比, 我们提出的个人计算机算法可以达到六倍的速度。 我们提出的一个平行的版本也可以使一个825个常规算法得到一致的证据。