{"id":"b2593fc8-cb51-4aed-889b-8b5a615834a3","arxiv_id":"2507.10767","paper_version":1,"verdict":"CONDITIONAL","confidence":"MODERATE","novelty_score":6.0,"correctness_risk":"medium","formal_verification":"none","parameter_count":1,"one_line_summary":"A moment-based algorithm consistently recovers cycle-disjoint linear non-Gaussian causal graphs with feedback loops, together with a full characterization of distribution-equivalent graphs.","lead":"The paper gives a new way to learn cause-and-effect diagrams that include feedback loops, which standard methods often cannot handle. It finds the loops and their connections using simple statistical summaries of the data, and it can run on larger problems than earlier approaches.","discovery_kind":"new_method","skeptic_critique":{"model":"deepseek-v4-flash","headline":"Theorem 4.3(a) is false: for a directed edge u→v, d^{2×2}_{uv} vanishes identically even though u is a common ancestor of u and v, contradicting Corollary 4.4.","rationale":"The paper's headline theoretical contribution, Theorem 3.5 on distribution equivalence, appears well supported and is not the focus of this objection. The load-bearing weakness is instead in the algorithm's foundational algebraic characterization, Theorem 4.3(a). The counterexample of a single directed edge 1→2 is within the stated domain of cycle-disjoint graphs and uses the paper's own definition of ancestor, which includes paths of length zero. The vanishing of d^{2×2}_{1,2} is immediate from the linear equations and does not require exotic parameters. This error directly conflicts with Corollary 4.4, which must hold for the algorithm to find root nodes: for a root r and a descendant u, the determinant d^{2×2}_{ru} must vanish, but Theorem 4.3(a) would declare it nonzero because r is a common ancestor of r and u. The proof of Lemma 4.8 and hence the pruning of candidate root cycles also rests on Theorem 4.3(a). Consequently, the consistency claim of Corollary 4.13 is unproven as written. The algorithm might be repairable by correcting the characterization—the true condition for d^{2×2}_{uv}=0 is that every trek from any ancestor of v to v passes through u—but the current manuscript states an internally inconsistent theorem. The reader's weakest assumption about cycle-disjointness is a scope limitation, not this internal inconsistency; therefore the reader did not identify the same concern. Because the main equivalence theorem and the overall algorithmic strategy remain plausible, a conditional verdict with mandatory correction is appropriate, matching the reader's verdict.","tokens_in":25224,"tokens_out":38759,"duration_ms":421173,"concrete_test":"Compute d^{2×2}_{1,2} for the two-node cycle-disjoint graph 1→2 with X1=ε1, X2=λX1+ε2, where ε1 and ε2 are independent and skewed. Symbolically, s11=σ1, s12=λσ1, t111=τ1, t112=λτ1, so d^{2×2}_{1,2}=σ1·λτ1−τ1·λσ1=0 for all parameter values. Since anc(1)={1} and anc(2)={1,2}, the vertices have a common ancestor, contradicting the 'if and only if' in Theorem 4.3(a) and the consistency of that theorem with Corollary 4.4 for root r=1 and descendant u=2.","verdict_should_be":"UNCHANGED","load_bearing_attack":"Theorem 4.3(a), stated for all cycle-disjoint graphs, claims d^{2×2}_{uv} = 0 identically if and only if u and v have no common ancestors and v is not an ancestor of u. This is false. Consider the two-node graph 1→2 with X1=ε1, X2=λX1+ε2 and independent skewed noise. Then s11=σ1, s12=λσ1, t111=τ1, t112=λτ1, so d^{2×2}_{1,2}=s11·t112−t111·s12=0 identically. Yet anc(1)={1} and anc(2)={1,2}, so 1 and 2 have a common ancestor, namely 1. The claimed 'only if' direction fails whenever u is an ancestor of v. This is not a harmless typo: Corollary 4.4 asserts d^{2×2}_{ru}=0 for all u iff r is a root of G, which depends on exactly this vanishing for descendants r→u; Theorem 4.3(a) would instead predict d^{2×2}_{ru} is not identically zero because r is a common ancestor of r and u. Thus the two statements contradict each other under the paper's own definition of ancestor (paths of length at least 0). The proof of Lemma 4.8 also invokes Theorem 4.3(a) when claiming d^{2×2}_{cd} is not identically zero if d is an ancestor of c; that specific implication is true, but the theorem as stated is not. Since Algorithm 1's component identification and the proof of Corollary 4.13 are built on these results, the consistency guarantee of the central algorithm is not sound as presented.","agreement_with_reader":"disagree"},"referee_report":{"model":"deepseek-v4-flash","summary":"The paper studies linear non-Gaussian structural equation models with directed cycles. It first characterizes distribution equivalence of directed graphs (Theorem 3.5), showing that two graphs generate the same model exactly when one is obtained from the other by reversing a set of vertex-disjoint cycles and adjusting incoming edges. It then restricts to cycle-disjoint graphs and develops an algorithm that uses second- and third-order moment constraints (determinants d^{2×2} and d^{3×3}) to identify root nodes and root cycles, recover edge weights within cycles, and learn edges between cycles by regression. The algorithm is claimed consistent (Corollary 4.13) and is evaluated in simulations against an ICA-based alternative.","tokens_in":25521,"tokens_out":13420,"duration_ms":156841,"significance":"If correct, the equivalence characterization in Theorem 3.5 is a clean and nontrivial extension of LiNGAM identifiability to cyclic models, and the moment-based discovery algorithm offers a practical polynomial-time alternative to permutation-search ICA methods. The paper ships code, detailed supplementary proofs, and experiments demonstrating scalability to p=60, which are notable strengths. However, the current version contains a false statement in Theorem 4.3(a) and an index inconsistency in Algorithm 1, both in the load-bearing component-identification part, so the significance is conditional on repair.","major_comments":[{"comment":"Theorem 4.3(a) is false as stated. For the graph 1→2 with X1=ε1 and X2=λX1+ε2, the determinant d^{2×2}_{1,2}=s11 t112 − t111 s12 vanishes identically, yet anc(1)∩anc(2) contains 1 because ancestors include length-0 paths. Thus the 'only if' direction fails for the case where the first argument is an ancestor of the second, which is exactly the case needed to certify that descendants of a root have zero d_{r,u}. The proof establishes the 'if' direction and treats v∈anc(u) and simple treks with non-empty sides, but not u∈anc(v). Since Corollary 4.4 and Lemma 4.8 rely on this theorem, the component-identification part of Algorithm 1 and hence Corollary 4.13 are not justified as written.","section":"Section 4.1, Theorem 4.3(a)"},{"comment":"Root detection in Algorithm 1 uses d^{2×2}_{ur}=0 for all u, but Corollary 4.4 states d^{2×2}_{ru}=0 for all u. With the printed index order, the root 1 in the graph 1→2 is not detected because d^{2×2}_{2,1}=λ(λτ1σ2−σ1τ2) is generically nonzero, while the non-root 2 would be detected since d^{2×2}_{1,2}=0 and d^{2×2}_{2,2}=0. The index order must be corrected to match Corollary 4.4, and the implementation in Supplement A.8.1 should be updated accordingly.","section":"Algorithm 1, line 2; Supplement A.8.1"},{"comment":"The model class P(G) is defined for arbitrary independent noise, but the proof of Theorem 3.5 invokes Darmois-Skitovich, which requires non-Gaussian components. If Gaussian noise is allowed, the 'only if' direction is false: for Gaussian errors, many different DAGs can represent the same covariance matrix. The definition and theorem should explicitly require non-Gaussian (or generically non-Gaussian) noise components, as the paper's title and setting otherwise suggest.","section":"Section 3, Definition 3.1 and Theorem 3.5"},{"comment":"The consistency claim for Algorithm 1 is not supported by a formal proof for the sample version of the procedure. Remark 4.2 asserts that a suitable threshold renders the procedure consistent, but no theorem specifies the threshold sequence or proves that the hypothesis-testing implementation in Supplement A.8.1 (delta-method p-values, empirical likelihood, multiple-testing corrections) recovers the exact-moment decisions with probability tending to 1. Since 'consistent' is a headline claim, this gap should be closed or the claim appropriately qualified.","section":"Section 4.4, Corollary 4.13"}],"minor_comments":[{"comment":"The line contains the duplicated phrase 'such that such that'; this should be corrected.","section":"Algorithm 1, line 2"},{"comment":"The notation 'M (2,3)(G)' appears where the text defines M_{2,3}(G); the notation should be unified.","section":"Example 3.6"},{"comment":"The phrase 'non/empty' should be 'non-empty' in the proof of Theorem 4.3.","section":"Supplement A.3"},{"comment":"The caption and text say the displayed performance uses the α and multiple-testing correction with the best average performance, but the selection procedure (e.g., whether α is chosen on a separate validation set) is not specified; this should be clarified for reproducibility.","section":"Section 5, Figure 4"},{"comment":"The notation R_E and R_E^* is introduced but the paper later writes Λ∈R_E^* in Theorem 3.5 while Definition 2.2 requires λij≠0 for edges; this is consistent but should be stated explicitly at first use to avoid confusion with R_E.","section":"Section 2, Definition 2.2"}],"recommendation":"major_revision","confidential_remarks":"The paper has strong ideas, a potentially valuable equivalence theorem, and useful experiments with code, but the submitted version contains a false theorem (Theorem 4.3(a)) and an index inconsistency in the central algorithm. Both appear fixable without changing the overall approach, and the specific applications in Corollary 4.4 and Lemma 4.8 seem salvageable, so I recommend major revision rather than rejection. The authors should also tighten the non-Gaussianity assumption in Theorem 3.5 and provide a more formal consistency statement for the sample version of Algorithm 1."},"author_rebuttal":null,"desk_editor":{"model":"deepseek-v4-flash","letter":"Here is the short version: the paper has a genuine contribution in Theorem 3.5, which characterizes distribution equivalence for linear non-Gaussian cyclic SEMs in terms of reversing disjoint cycles. The proof via Darmois-Skitovich is clean and I believe it. The rest of the paper, the discovery algorithm, has a load-bearing flaw: Theorem 4.3(a) is false.\n\nFor 1 → 2 with independent skewed noise, X1 = ε1, X2 = λX1 + ε2. Then s11 = σ1, s12 = λσ1, t111 = τ1, t112 = λτ1, so d_{1,2}^{2×2} = 0 identically. Under the paper's own definition of ancestor (paths of length ≥ 0), 1 is a common ancestor of 1 and 2, so the claimed 'only if' fails. The same example kills the use of Theorem 4.3(a) in the proof of Lemma 4.8, where it is asserted that d_{c,d}^{2×2} is not identically zero when d is an ancestor of c. That assertion is false. Since the algorithm's step of identifying root components and Corollary 4.13 rest on these statements, the consistency guarantee is unsound as presented. This is not a small gap; it is the algebraic engine of the algorithm.\n\nWhat is genuinely good? Theorem 3.5 is a real advance for cyclic models. The moment-based strategy, using only second and third moments to find source cycles, is a nice idea and the authors are transparent about the cycle-disjoint restriction and the measure-zero genericity assumption. The supplement is thorough and the code appears to be provided.\n\nThe other soft spots are secondary: the simulations pick α and the multiple-testing procedure post hoc, which flatters the numbers; and the relationship between Theorem 3.5 and Ghassami et al. (2020) is not pinned down, so the novelty boundary is fuzzy.\n\nWho this is for: anyone interested in cyclic linear SEMs should know Theorem 3.5. But the algorithm section needs a corrected theorem (or a revised procedure) before its consistency claim can be trusted. I would send it to a serious referee, with a warning to check the algebraic lemmas carefully. My own verdict would be a risky revise-and-resubmit.","headline":"A solid equivalence theorem, but the discovery algorithm's core lemma is false as stated; consistency claim unsound.","tokens_in":26128,"tokens_out":15171,"would_cite":false,"duration_ms":151680,"reading_group":"maybe","serious_thinker":"no","would_accept_peer_review":true},"rs_alignment":null,"lean_confirmation":null,"pith_extraction":{"msc":["62H22"],"pacs":[],"model":"deepseek-v4-flash","headline":"Two cyclic linear non-Gaussian graphs are equivalent exactly when one reverses disjoint cycles; a moment-based algorithm learns such graphs.","keywords":["linear non-Gaussian structural equation models","causal discovery with cycles","feedback loops","cycle-disjoint graphs","third-order moments","distribution equivalence","trek separation","strong components"],"falsifier":"Simulate data from a linear non-Gaussian structural equation model on a graph with overlapping cycles, such as vertices $1\\to 2\\to 3\\to 1$ and $2\\to 3\\to 4\\to 2$, with skewed independent errors and generic coefficients: if Algorithm 1 returns a full graph rather than halting at the overlapping root component, the cycle-disjoint assumption would be violated, and if it recovers a graph not distribution-equivalent to the generating one under Theorem 3.5, the theorem would be false. For the theorem itself, searching for two directed graphs not connected by a disjoint-cycle-reversal permutation whose models coincide for some generic non-Gaussian independent noise would refute the completeness direction.","tokens_in":24973,"feed_emoji":"🔄","tokens_out":12224,"duration_ms":117616,"temperature":0.7,"pith_summary":"This paper asks which directed graphs produce the same observational distribution in a linear structural equation model with independent non-Gaussian noise, and how to recover such a graph from data when feedback cycles are present. Its main theoretical result is that two graphs are distribution-equivalent exactly when one is obtained from the other by reversing a set of vertex-disjoint directed cycles and shifting the incoming edges of the reversed nodes accordingly. For graphs in which every node lies on at most one cycle, the paper shows that simple quadratic and cubic polynomial equations in the second and third moments identify the source cycles, their internal edges and weights, and the edges between cycles, yielding a consistent algorithm that avoids the permutation search required by earlier ICA-based methods. A sympathetic reader would care because causal discovery with feedback has resisted moment-based treatment, and this work gives the first complete equivalence-class characterization and a scalable discovery procedure for the disjoint-cycles case.","feed_headline":"Same causal model iff disjoint feedback loops are flipped","feed_subtitle":"Moment-based algorithm recovers cycle-disjoint causal graphs, while ICA searches time out at 24 nodes.","key_machinery":"The load-bearing mechanism is a pair of algebraic moment constraints: for each pair of vertices $u,v$, the $2\\times 2$ determinant $d^{2\\times 2}_{uv}$ formed from the row pair $(s_{uu},s_{uv})$ and $(t_{uuu},t_{uuv})$ vanishes identically exactly when $u$ and $v$ have no common ancestor and $v$ is not an ancestor of $u$; the $3\\times 3$ determinant $d^{3\\times 3}_{uv}$ of the matrix with rows $(s_{uu},s_{uv},s_{vv})$, $(t_{uuu},t_{uuv},t_{uvv})$, and $(t_{uuv},t_{uvv},t_{vvv})$ vanishes identically exactly when no simple 2-trek with non-empty sides connects $u$ to $v$. These constraints, derived from the trek rule for second and third moments, identify root nodes and root cycles; Lemma 4.8 then certifies a root cycle by checking that $E[X_c^2 (X_{D.C})_d]=0$ for all $c$ in the candidate cycle and $d$ in any other candidate. Because cycle-disjoint graphs have strong components that are simple cycles, the algorithm peels each root cycle away by regression, recovers internal edge weights from rank conditions on the matrices $A^{(2)}_{uv}$ and $A^{(3)}_{uvw}$, and finally recovers inter-cycle edge weights via multivariate regression using the block-topological order.","core_discovery":"The paper's central claim is Theorem 3.5: for any directed graph $G$, the set of distributions generated by linear non-Gaussian structural equation models on $G$ equals the set generated on $G'$ if and only if there is a permutation $\\pi$ of the vertices that factors into vertex-disjoint directed cycles of $G$, and $G'$ is obtained from $G$ by reversing those cycles and, for every edge $k\\to j$ entering a node $j$ of a reversed cycle, redirecting it to the node $i$ that now points to $j$. The theorem also gives the parameter map: the new coefficients and the independent noise vector are determined by the old ones, so equality in distribution is realized by a permutation-dilation transformation. For the restricted class of cycle-disjoint graphs, the paper proves that the strong components are exactly the directed cycles, and that the determinants $d^{2\\times 2}_{uv}$ and $d^{3\\times 3}_{uv}$ computed from covariances and third moments vanish identically precisely under trek-separation conditions that mark root nodes and candidate root cycles; after regressing out a confirmed root cycle, the procedure recursively peels the graph and then recovers inter-cycle edges by regression. Algorithm 1 therefore consistently recovers a graph distribution-equivalent to the generating one under generic parameter values.","pith_inferences":["The equivalence characterization implies that any consistent cyclic causal discovery method, not just this one, can at best output an equivalence class of graphs related by disjoint-cycle reversal; comparing methods should therefore be done on equivalence classes rather than single graphs.","The root-peeling strategy could plausibly be extended to graphs whose strong components contain overlapping cycles by adding higher-order moment constraints that characterize larger strongly connected components, although the paper does not show this.","Because a cycle is recovered only up to orientation, feeding the estimated equivalence class into intervention-based or stability-based selection could pin down the actual feedback direction; the paper does not explore this downstream use.","The moment equations depend only on third moments, so an explicit sample-size versus skewness trade-off for near-Gaussian errors would be a useful testable extension of the consistency result."],"forward_implications":["In any linear non-Gaussian causal model with cycles, observed data can identify the graph only up to reversing vertex-disjoint directed cycles and redirecting incoming edges; all graphs obtained this way form the full distribution-equivalence class.","For cycle-disjoint graphs, the block-topological order of cycles, the skeleton and orientation of each cycle, and all edge weights are identifiable from second and third moments alone, so no search over permutations is needed.","The algorithm is consistent: with generic coefficients and moments, as sample size grows it recovers a graph distribution-equivalent to the true one with probability tending to one, and all equivalent graphs can then be enumerated via Theorem 3.5.","In simulations the moment-based procedure handles graphs with 60 vertices in under 1.25 hours at 100,000 samples, while the ICA-based baseline method fails to finish within 24 hours at 24 vertices."],"supporting_citations":[{"why":"This theorem on independent linear forms is the step in the proof of Theorem 3.5 that forces the transformation between equivalent models to be a permutation followed by a diagonal dilation.","marker":"[Darmois, 1953]"},{"why":"This companion result supplies the same permutation-dilation conclusion, so the necessity direction of the equivalence characterization rests on it.","marker":"[Skitovich, 1953]"},{"why":"This is the reference result that linear non-Gaussian acyclic models are identifiable from the distribution, giving the acyclic baseline that the paper extends to graphs with cycles.","marker":"[Shimizu et al., 2006]"},{"why":"This earlier ICA-based cyclic discovery method provides the permutation-search approach that the paper avoids and the numerical baseline it outperforms.","marker":"[Lacerda et al., 2008]"},{"why":"This paper introduces trek separation for Gaussian graphical models, which the paper uses to restate the vanishing-determinant conditions of Theorem 4.3.","marker":"[Sullivant et al., 2010]"},{"why":"This work extends trek separation to multi-trek settings, supplying the higher-order trek rule used to express third moments in terms of paths and noise moments.","marker":"[Robeva and Seby, 2021]"},{"why":"This paper studies third-order moment varieties of linear non-Gaussian models, giving the algebraic framework of the moment model used throughout.","marker":"[Améndola et al., 2023]"},{"why":"Equation (6.1) of this paper is used in Lemma 4.9 to recover the skeleton of a root cycle from zeros of the inverse covariance matrix.","marker":"[Drton et al., 2019]"}],"fun_headline_variants":["Same causal model iff disjoint cycles are flipped","Moment-based algorithm recovers cycle-disjoint causal graphs","Cyclic causal discovery without independence assumptions","Efficient algorithm for causal graphs with disjoint cycles"],"cache_read_input_tokens":3200,"weakest_assumption_plain":"The discovery algorithm assumes the true graph is cycle-disjoint, meaning every vertex lies on at most one directed cycle so that each strongly connected component is a simple cycle; if the graph contains overlapping cycles, the algorithm detects a root component that is not a simple cycle and halts, exactly as the paper acknowledges in its supplement.","fun_headline_variants_meta":{"raw":{"variants":["Same causal model iff disjoint cycles are flipped","Moment-based algorithm recovers cycle-disjoint causal graphs","Cyclic causal discovery without independence assumptions","Efficient algorithm for causal graphs with disjoint cycles"]},"model":"deepseek-v4-flash","effort":"low","cost_usd":0.000323,"raw_usage":{"total_tokens":1838,"prompt_tokens":989,"completion_tokens":849,"prompt_tokens_details":{"cached_tokens":384},"prompt_cache_hit_tokens":384,"prompt_cache_miss_tokens":605,"completion_tokens_details":{"reasoning_tokens":791}},"tokens_in":605,"tokens_out":849,"duration_ms":9988,"temperature":1.0,"reasoning_tokens":791,"cache_read_input_tokens":384,"cache_creation_input_tokens":0},"cache_creation_input_tokens":0},"created_at":"2026-08-06T17:25:54.125529+00:00","model_set":{"reader":"deepseek-v4-flash"},"falsifier":"Simulate data from a linear non-Gaussian structural equation model on a graph with overlapping cycles, such as vertices $1\\to 2\\to 3\\to 1$ and $2\\to 3\\to 4\\to 2$, with skewed independent errors and generic coefficients: if Algorithm 1 returns a full graph rather than halting at the overlapping root component, the cycle-disjoint assumption would be violated, and if it recovers a graph not distribution-equivalent to the generating one under Theorem 3.5, the theorem would be false. For the theorem itself, searching for two directed graphs not connected by a disjoint-cycle-reversal permutation whose models coincide for some generic non-Gaussian independent noise would refute the completeness direction.","supporting_citations":[{"cited_title":"Analyse générale des liaisons stochastiques: etude particulière de l'analyse factorielle linéaire","cited_arxiv_id":null,"evidence_quote":"This theorem on independent linear forms is the step in the proof of Theorem 3.5 that forces the transformation between equivalent models to be a permutation followed by a diagonal dilation."},{"cited_title":"Ramsey, and Patrik O","cited_arxiv_id":null,"evidence_quote":"This earlier ICA-based cyclic discovery method provides the permutation-search approach that the paper avoids and the numerical baseline it outperforms."},{"cited_title":"Trek separation for G aussian graphical models","cited_arxiv_id":null,"evidence_quote":"This paper introduces trek separation for Gaussian graphical models, which the paper uses to restate the vanishing-determinant conditions of Theorem 4.3."},{"cited_title":"The maximum likelihood threshold of a path diagram","cited_arxiv_id":null,"evidence_quote":"Equation (6.1) of this paper is used in Lemma 4.9 to recover the skeleton of a root cycle from zeros of the inverse covariance matrix."}],"review_version":1}