SIAN: software for structural identifiability analysis of ODE models
Hoon Hong Alexey Ovchinnikov Gleb Pogudin Chee Yap



Second harmonic generation in graphene dressed by a strong terahertz field
     Andrei N. Stepanov
    December 30, 2023
==========================================================================




Biological processes are often modeled by ordinary differential equations with unknown parameters. 
The unknown parameters are usually estimated from experimental data.
In some cases, due to the structure of the model, this estimation problem does not have a unique solution even in the case of continuous noise-free data.
It is therefore
desirable to check the uniqueness a priori 
before carrying out actual experiment. 
We present a new software SIAN (Structural Identifiability
ANalyser) that does this.
Our software can tackle problems that could not be tackled by previously  developed
packages.




§ INTRODUCTION


Ordinary differential equations (ODEs) with unknown parameters are widely used
for modeling biological processes and phenomena. One is often interested in the values of these parameters due to their importance, 
as, e.g., they may represent key biological mechanisms or targets for intervention.
A standard way to find the values of the parameters from 
experimental data is to find the parameter values that fit 
the data with minimal error, typically framed from a statistical perspective as maximum likelihood or Bayesian inference.

However, it might happen that, due to the structure of the model, it is impossible to recover the value of a parameter of interest from the data even assuming the ideal case of a continuous noise-free data.
If this is the case, then regardless of the chosen data fitting approach, it is impossible to guarantee that it will find the correct parameter value.
As we will see, this structural property can be assessed a priori without conducting (often costly) experiments.
Thus, a crucial first step to any parameter estimation problem is to check whether the parameter of interest is structurally globally identifiable, i.e., the parameter value can be recovered uniquely from the data under the assumption that the data is continuous and noise-free.
We explain the notion of global identifiability in more detail 
 in Section <ref>. 
 For a formal definition and illustrating examples, we refer to <cit.>.


We present SIAN (Structural Identifiability ANalyser), our new software for assessing identifiability for ODE models,
based on the algorithm developed and rigorously justified in
 <cit.>.





§ EXISTING SOFTWARE FOR STRUCTURAL IDENTIFIABILITY



Assessing global identifiability is a challenging problem.
Hence a weaker notion called “local identifiability” was introduced and tackled first.
“Local” indicates that a parameter can be identified locally (in some neighborhood).
For a polynomial system, it is the same as saying that a parameter can be identified up to finitely many options.
There are fast and reliable software packages for assessing local identifiability such as ObservabilityTest <cit.> and EAR <cit.>.

However, even relatively simple real-life systems
can involve 
locally but not globally identifiable parameters
(see <cit.>, <cit.>, and Supplementary Materials A.1).
Thus, it is highly desirable to have software that could assess global identifiability.
There has been significant progress in this direction:

    
  * packages DAISY <cit.> and COMBOS <cit.> are based on the approach via input-output equations and can check global identifiability for systems with the “solvability” property (see <cit.> for a discussion).
    
  * GenSSI 2.0 package <cit.> is based on the generating series approach and checks
    global identifiability conditionally on 
    extra input, the 
    truncation order (for a discussion how the 
    truncation order affects the output of the algorithm, see <cit.>).






§ FEATURES



We present SIAN, software written in Maple, that has the following input-output specification.



  
Input. 
A system Σ of the form

    ẋ = f(x, μ, u),
    y = g(x, μ, u),
    x(0) = x^∗,



    
  * x is a vector of state variables,
    
  * u is a vector of input (control) variables to be chosen by an experimenter,
    
  * y is a vector of output variables,
    
  * μ and x^∗ are vectors of unknown scalar parameters and unknown initial conditions, respectively,
    
  * f and g are vectors of rational functions in x, μ, and u with complex coefficients (other types of functions can also be handled, see Supplementary Material A.2)

  and a real number 0 < p < 1, the user-specified probability of correctness of the result. 
  That is, SIAN is a Monte Carlo randomized algorithm, see <cit.>.



  
Output. For every θ∈μ∪x^∗,  
SIAN
assigns one of the following labels:

    
  * Globally identifiable: for almost every solution of (<ref>), every solution of (<ref>) with the same u-component and y-component has the same value of θ.
    
  * Locally but not globally identifiable: for almost every solution of (<ref>), among the solutions of (<ref>) with the same u-component and y-component, there are only finitely many possible values of θ.
    
    
  * Not identifiable: for almost every solution of (<ref>), among the solutions of (<ref>) with the same u-component and y-component, there are infinitely many possible values of θ.

The assigned labels are correct with probability at least p.



We would like to emphasize the following extra features:

    
  * SIAN is parallellizable and can take advantage of a multicore computing environment.
    
  * SIAN assesses not only the identifiability of the model, but checks individual identifiability of every parameter.
    
  * SIAN can assess identifiability of the parameters appearing in the system and the initial condition. Identifiability of initial conditions is often referred to as observability.






§ PERFORMANCE AND APPLICATIONS


In this section, we compare our software with the existing software tools for assessing global identifiability, namely COMBOS, DAISY, and GenSSI (see Section <ref>).
All of the benchmark problems are listed in Supplementary Material B. The source code of the benchmarks problems for COMBOS, DAISY and GenSSI used for the comparison is included into the Supplementary Data.
The source code for the benchmark problems for SIAN is available at
<https://github.com/pogudingleb/SIAN/tree/master/examples>.


We use a computer with 96 CPUs, 2.4 GHz and CentOS 6.9 (Linux).
The runtimes in Table <ref> are the elapsed time.
SIAN was run on Maple 2017 with the probability of correctness p = 0.99, GenSSI 2.0 was run on Matlab R2017a, and we used DAISY 1.9.







§ ACKNOWLEDGEMENTS

The authors are grateful to the CCiS at Queens College and CIMS NYU for the computational resources and to Julio Banga, Marisa Eisenberg, Nikki Meshkat, and Maria Pia Saccomani for useful discussions.



§ FUNDING

This work was supported by the National Science Foundation [CCF-1563942, CCF-1564132, CCF-1319632, DMS-1760448, CCF-1708884]; National Security Agency [#H98230-18-1-0016]; and City University of New York [PSC-CUNY #69827-0047,  #60098-00 48].

abbrvnat


