wikillm

Concept · 1 paper · updated 2026-11-05

SDE parameter estimation from snapshots

Estimating drift, diffusion and causal graph of a linear additive-noise SDE from snapshots at several times, without tracking individuals. Core idea: alternate entropic optimal transport, which links samples across times, with closed-form MLE on the linked paths. Trade-off: the starting law must not be weakly auto-rotationally invariant; each time pair needs a Sinkhorn solve. Simulated data only.

stochastic-differential-equationsidentifiabilityoptimal-transportcausal-discovery

Markdown4 min read

AI-compiled overview, updated 2026-11-05, not yet reviewed by a human. Every claim cites its source; check it when a detail matters.

Overview

Often a process can only be measured as a crowd at each time: a set of samples per measurement time, with no way to say which sample at one time became which sample at the next. The question is whether those crowds determine the rules of the motion. For the linear model dX_t = A X_t dt + G dW_t, with observed diffusion H = G Gᵀ, the answer is yes under a condition on the starting law 2410.22729 §2, §3.2. Only H is identifiable, not G 2410.22729 §2. A is read as directed influences between variables, and nonzero off-diagonal entries of H flag shared noise between a pair 2410.22729 §4.

Variants

Baseline: one pass of trajectory inference and MLE

Earlier estimators assume an irrotational drift and isotropic diffusion with a known scale 2410.22729 §1, §2. The paper's comparison baseline, Waddington-OT, is the first iteration of its own procedure and is equivalent to MLE after Waddington-OT trajectory inference 2410.22729 §6. That baseline has no card here, so only the paper's description of it is used.

APPEX: alternating optimal transport and MLE

Repeat two steps. First, link consecutive snapshots with anisotropic entropic optimal transport under the current (A, H). Second, sample paths by chaining the links and refit the drift, then the diffusion, by closed-form MLE 2410.22729 §5.1–§5.3, alg. 1. Card: Identifying Drift, Diffusion, and Causal Structure from Temporal Snapshots. The simulated experiments run 30 iterations and report the result of each iteration 2410.22729 §6.

When to use which

SituationUseWhy
Snapshots only, linear additive noise, diffusion may be full and correlatedAPPEXOn random systems with d = 3 to 10, its drift and diffusion errors are below the baseline's in every row 2410.22729 tab. 1; correlated-diffusion runs also favour it 2410.22729 tab. 4
Isotropic diffusion with known scale, irrotational drift, one cheap passBaselineThese are the assumptions the baseline needs 2410.22729 §2. Its accuracy is lower in the paper's tables 2410.22729 tab. 1, tab. 2
Only the causal graph is needed, d up to about 10APPEX, then thresholdAt d = 10, p = 0.25 the mean directed-edge SHD is 0.80 for APPEX and 48.60 for the baseline 2410.22729 tab. 3. The thresholds are tuned to the simulator 2410.22729 §6.3
Drift is nonlinear, or noise depends on the stateNot coveredThe theorems are for the linear additive-noise model 2410.22729 §2, §3.2
Many samples per marginal, or large d, with a tight compute budgetCheck cost before choosingEach time pair needs a kernel over all sample pairs and a Sinkhorn solve, repeated per iteration. The paper calls this computationally intensive and not suited to very large data 2410.22729 §7.1. Runtime is not reported
Individuals can be followed over timeNot this conceptLinking samples across times is the problem APPEX solves. If the links are observed, it is not needed

Implementation sketch

Common core of APPEX. Parts that differ between variants are noted in the comments. Symbols are as in the paper: N snapshots, M samples each, d dimensions, measurement spacing dt.

Pseudocode
# Estimate drift A and diffusion H from snapshots  [arxiv:2410.22729 alg. 1]
# snapshots: N arrays (M, d), one per measurement time, spacing dt

def estimate_sde(snapshots, dt, n_iters):
    # Any starting guess works in principle; the paper's choice is in §6
    A = zeros((d, d))
    H = identity(d)
    for _ in range(n_iters):
        # Link consecutive snapshots by entropic OT under current (A, H)  [§5.1]
        links = [
            entropic_ot_plan(snapshots[k], snapshots[k + 1], A, H, dt)
            for k in range(N - 1)
        ]
        # Chain the links to get sample paths from the first snapshot  [§5.1]
        paths = chain_links(snapshots[0], links)
        # Drift by closed-form MLE first  [§5.2]
        A = mle_drift(paths, dt)
        # Diffusion by closed-form MLE, using the new drift  [§5.2]
        H = mle_diffusion(paths, A, dt)
    # Causal graph: threshold entries of A (edges) and H (confounders)  [§6.3]
    return A, H

The baseline is the same loop with one iteration and an isotropic kernel with known scale 2410.22729 §2, §6. The paper says the OT kernel uses the linearised mean for d ≥ 2 in its experiments 2410.22729 §6.

Contradictions

Only one paper is on this page, so no cross-paper disagreement is recorded. Within the paper, two places do not match its own code, and the code is what the repository runs. These are listed on the paper card:

Pitfalls

  • Starting law matters. Identifiability fails only when the initial law is weakly auto-rotationally invariant, a symmetry of its higher cumulants 2410.22729 §3.2. The paper states that its default starting support is not in that case 2410.22729 §6. Check any other starting law.
  • Generic is not uniform. For the remaining case, identifiability holds for almost every parameter set, leaving a measure-zero exception set. The paper gives no finite-sample bound on how often estimates fail 2410.22729 §3.2, §7.1.
  • Discrete times can alias rotations. The identifiability theorems assume marginals at all times. Sampling at discrete times can hide rotations 2410.22729 §3.2. The experiments use a spacing of 0.05 and rely on how the covariance evolves 2410.22729 §6.
  • Only H is identifiable. The noise matrix G, and so the sign and path of each latent source, cannot be recovered 2410.22729 §2, §4. Shared sources among three or more variables are not resolved by the lemma that links H entries to confounders 2410.22729 §4.
  • Thresholds are simulator-specific. The edge and confounder thresholds match the smallest simulated weight and the simulated confounder strength 2410.22729 §6.3. Real data needs its own choice.
  • Convergence is not proven. The paper shows the KL divergence to the reference process does not increase per iteration, but only for population quantities. It does not prove convergence of the nonconvex iteration 2410.22729 §5.3, §7.1. The paper reports occasional dips in accuracy across iterations 2410.22729 §6.2.
  • Evidence is simulated. All reported numbers come from simulated linear systems with d = 3 to 10 and 500 samples per marginal 2410.22729 §6.

Papers

Source and license

Compiled from the papers listed on this page, all published under CC BY, CC BY-SA or CC0, with citations. See each paper's page for its authors and license.