Network reconstruction consists in determining the unobserved pairwise couplings between $N$ nodes given only observational data on the resulting behavior that is conditioned on those couplings -- typically a time-series or independent samples from a graphical model. A major obstacle to the scalability of algorithms proposed for this problem is a seemingly unavoidable quadratic complexity of $O(N^2)$, corresponding to the requirement of each possible pairwise coupling being contemplated at least once, despite the fact that most networks of interest are sparse, with a number of non-zero couplings that is only $O(N)$. Here we present a general algorithm applicable to a broad range of reconstruction problems that achieves its result in subquadratic time, with a data-dependent complexity loosely upper bounded by $O(N^{3/2}\log N)$, but with a more typical log-linear complexity of $O(N\log^2N)$. Our algorithm relies on a stochastic second neighbor search that produces the best edge candidates with high probability, thus bypassing an exhaustive quadratic search. In practice, our algorithm achieves a performance that is many orders of magnitude faster than the quadratic baseline, allows for easy parallelization, and thus enables the reconstruction of networks with hundreds of thousands and even millions of nodes and edges.
翻译:网络重构旨在仅根据节点间未观测到的成对耦合所决定的观测数据(通常是时间序列或图模型中的独立样本),确定$N$个节点之间的这类耦合。该问题现有算法可扩展性的主要障碍在于看似无法避免的$O(N^2)$二次复杂度,即需要至少遍历每个可能的成对耦合——尽管大多数目标网络具有稀疏性,其非零耦合数量仅为$O(N)$。本文提出一种适用于广泛重构问题的通用算法,该算法能在亚二次时间内完成计算,其数据依赖复杂度上界约为$O(N^{3/2}\log N)$,但更典型的情况是对数线性复杂度$O(N\log^2N)$。该算法基于随机次邻近搜索,能以高概率产生最优边候选,从而规避穷举二次搜索。实际应用中,本算法性能比二次基线方法快多个数量级,且易于并行化,因此能够重构包含数十万乃至数百万节点和边的网络。