Hello,
I am trying to do inference on particle dynamics with data coming from a simulator, using the DataDrivenDiffEq package.
Similarly to what is done in the documentation (Automatically Discover Missing Physics by Embedding Machine Learning into Differential Equations · Overview of Julia's SciML), I want to use sparse regression with the SINDy method.
I tried a first version with very simple relations between variables and using a collocation method to obtain the time derivatives (Utilities · DataDrivenDiffEq.jl) but it wasn’t successful. I saw that it was possible to pass only positional data X
and times t
to ContinuousDataDrivenProblem
in the documentation example cited above, and I thought it would handle the derivatives better than I did.
But with the following simple version, the code seems to get stuck at the
prob = ContinuousDataDrivenProblem(X, t)
line. No error returned, just an extremely long running time, potentially completely stuck (I had a result only once trying different data coming from ODE resolution but it was also extremely long).
using DataDrivenDiffEq
using DataDrivenSparse
N = 10
t = Float64.(collect(1:N))
X = Matrix(2.0t') + 0.5 * rand(N)'
prob = ContinuousDataDrivenProblem(X, t)
About the context and versions :
versioninfo()
Julia Version 1.9.1
Commit 147bdf428cd (2023-06-07 08:27 UTC)
Platform Info:
OS: Linux (x86_64-linux-gnu)
CPU: 20 × 13th Gen Intel(R) Core(TM) i9-13900H
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-14.0.6 (ORCJIT, goldmont)
Threads: 20 on 20 virtual cores
Environment:
JULIA_EDITOR = code
]st
[6e4b80f9] BenchmarkTools v1.3.2
[69e1c6dd] CellListMap v0.8.23
[b0b7db55] ComponentArrays v0.15.4
[2445eb08] DataDrivenDiffEq v1.3.0
[5b588203] DataDrivenSparse v0.1.2
[0c46a032] DifferentialEquations v7.11.0
[31c24e10] Distributions v0.25.102
[634d3b9d] DrWatson v2.13.0
[5789e2e9] FileIO v1.16.1
[70c4c096] Indicators v0.8.2
[033835bb] JLD2 v0.4.37
[b2108857] Lux v0.5.9
[961ee093] ModelingToolkit v8.72.2
[429524aa] Optim v1.7.8
[7f7a1694] Optimization v3.19.3
[3e6eede4] OptimizationBBO v0.1.5
[36348300] OptimizationOptimJL v0.1.12
[42dfb2eb] OptimizationOptimisers v0.1.6
[1dea7af3] OrdinaryDiffEq v6.58.1
[91a5bcdd] Plots v1.39.0
[c46f51b8] ProfileView v1.7.2
[49802e3a] ProgressBars v1.5.1
[1ed8b502] SciMLSensitivity v7.46.0
[860ef19b] StableRNGs v1.0.0
[f3b207a7] StatsPlots v0.15.6
[a110ec8f] Temporal v0.8.1
[e88e6eb3] Zygote v0.6.67
[37e2e46d] LinearAlgebra
[10745b16] Statistics v1.9.0
Do you have any idea of what is happening ?
Thank you very much for your support