SciML / SciML/StructuralIdentifiability.jl

Fixed initial conditions: local identifiability

Open
#168 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Julia
Stars
129
Forks
23
Avg merge
9h 35m
Merged PRs (30d)
17

Description

In addition to knowing the ODE system and time series data for some outputs, one frequently also knows the initial conditions for some of the states. It would be great to use this information to clarify the identifiability analysis.
In the case of local identifiability, the algorithm computes the observability matrix at a random point using the algorithm by Sedoglavic.

Instead of using a completely random point one could use the user-specified initial conditions for some of the states. The issue with such an algorithm is that it may produce wrong result as shown here. I am not aware of any algorithm resolving the issue with reasonable complexity. What we could still do is:

  • One can always get a correct result from an observability matrix if it will be computed up to high enough order. The problem is that we do not know how far to go but we could use some heuristics, say, double the order until the rank stabilises.
  • In such an algorithm the only way things can go wrong is when a locally identifiable parameter is classified as non identifiable. Therefore, we can show a warning but only in the case there are non identifiable parameters in the result.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No source files, tests, or entry points are named. Start by tracing the local identifiability algorithm that computes the observability matrix with Sedoglavic's method, then review how user-specified initial conditions could enter the analysis. Done would require a defensible strategy for increasing the matrix order and a warning when non-identifiable parameters may be false negatives.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.