Skip to content

Latest commit

 

History

History
76 lines (55 loc) · 3.49 KB

File metadata and controls

76 lines (55 loc) · 3.49 KB

ODEParameterEstimation

Build Status

ODEParameterEstimation estimates parameters and initial conditions for ODE models from observed time-series data. The current default path is the SI-template-based standard flow: structural identifiability comes from SI.jl / StructuralIdentifiability, numerical identifiability checks are advisory-only, and the analyzed results are returned in a structured tuple.

This README is the landing page. For the current package behavior as of 2026-03-17, start with:

Installation

If you are working from source, the simplest setup is to develop a local checkout:

using Pkg
Pkg.develop(path="/path/to/ODEParameterEstimation")

If you are installing directly from GitHub instead:

using Pkg
Pkg.add(url="https://github.com/orebas/ODEParameterEstimation.jl")

Minimal Workflow

using ODEParameterEstimation

opts = EstimationOptions(
    datasize = 41,
    noise_level = 0.0,
    flow = FlowStandard,
    use_si_template = true,
    interpolator = InterpolatorAAAD,
    use_parameter_homotopy = false,
    save_system = false,
    polish_solver_solutions = false,
    polish_solutions = false,
)

pep = simple()
sampled = sample_problem_data(pep, opts)
raw_results, analysis, _ = analyze_parameter_estimation_problem(sampled, opts)

best = analysis[1][1]
best.parameters
best.states
best.all_unidentifiable
analysis[2]   # best max relative error on identifiable quantities

analysis[1] is the analyzed, clustered, oracle-ordered solution vector. analysis[1][1] is the canonical best analyzed result.

Support Model

The package is currently best understood as:

  • a standard SI-template workflow for supported polynomial/rational-style models
  • an explicit structural-unidentifiability workflow, with representative structural fixes recorded in provenance
  • an early-failing workflow for unsupported raw classes like state trig, raw sqrt(...), and raw unsupported transcendental state dependence
  • a package with some intentionally hard examples that run but are slower, weaker, or more weakly identified than the simple examples

For the current taxonomy and caveats, see Supported Models and Limitations.

Notes

  • The current public return contract is documented explicitly in Results and API.
  • Uncertainty quantification exists, but it is not part of the recommended default user path and is not the focus of the current user docs.
  • The dated investigation docs under docs remain useful historical references, but they are no longer the main user-facing entry point.