1. Introduction
Mathematical models of ordinary differential equations (ODEs) are used in all areas of science and technology for describing nonlinear systems. The ODEs define the evolution of the system state variables
with respect to time, while the measurable quantities
are defined by the output function. The model equations (ODEs and output function) may contain unknown parameters
and external inputs that may be known (
) or unknown (
). The structure of the model equations determines whether it is possible to estimate the model unknowns from the outputs. The theoretical possibility of inferring the states (respectively parameters) from the outputs is called observability (respectively structural identifiability) [
1,
2]. Since a parameter can be considered as a state variable with time derivative equal to zero, structural identifiability can be considered as a particular case of observability. Additionally, the possibility of recovering the unknown inputs is called reconstructibility or input observability. For simplicity, in this manuscript we use the word
observability for all model unknowns, that is, to refer to the possibility of determining states, parameters, and/or inputs from the output. We assume that the model structure—the ODEs and output function—is known and correct. The assessment of the possible existence of alternative structures capable of generating exactly the same output is a different albeit related problem [
3] that is not addressed in the present article.
The concept of observability arose in systems and control theory. It was initially defined for linear models and extended to the nonlinear case afterwards [
4]. The concept of structural identifiability, on the other hand, was motivated by the analysis of biological models [
5], due to the specific challenges that parameter identification poses in mathematical biology and other biosciences. Hence, many observability analysis methods developed in that context aimed at analysing structural identifiability and were named accordingly, even though they could be applied or adapted to the more general task of analysing observability. Examples of software tools include DAISY [
6], COMBOS [
7], IdentifiabilityAnalysis [
8], STRIKE-GOLDD [
9], GenSSI [
10], and SIAN [
11].
The existence of external inputs affects the observability of a model and determines which methods can be applied for its analysis. A key distinction is between known and unknown inputs, where “known” is interpreted as “quantified”; thus, we are aware of the existence of an unknown input but not of its magnitude. A known input that can be manipulated is also called a control input, or simply a control. An unknown input can be considered as an unmeasured disturbance or as a time-varying parameter. Some techniques are applicable specifically to uncontrolled systems [
12], while others allow for the existence of known inputs. To the best of our knowledge, the first works describing algorithms capable of handling
unknown inputs were presented by [
13,
14]. These methods are not applicable to systems in which the outputs are direct functions of the inputs, and do not analyse the observability of the unknown input itself.
To address these issues, two differential geometry algorithms called ORC-DF—observability rank criterion with direct feedthrough [
15]—and FISPO—full input, state, and parameter observability [
16]—have been recently presented. Both methods are capable of determining the observability of states and parameters, and unknown inputs of nonlinear ODE models. ORC-DF is applicable to affine-in-the-inputs systems, while FISPO does not have this requirement. The latter algorithm is already implemented in the STRIKE-GOLDD toolbox [
9].
In the present paper we perform a critical examination of the ORC-DF and FISPO algorithms. First we provide the necessary background on observability analysis and differential geometry in
Section 2. Then we perform a theoretical analysis of the two methods in
Section 3, showing that they are equivalent for systems without known inputs, and that they differ for other classes of models, as a result of building different observability matrices. Realising the convenience of having both algorithms available in the same software environment, we provide their implementations in a new version of the MATLAB toolbox STRIKE-GOLDD, which is described in
Section 4. The new release includes an implementation of ORC-DF, and a seamless integration with the already existing FISPO. Furthermore, it enables the automatic analysis of multi-experiment observability throughout any of the two implemented algorithms. Since ORC-DF and FISPO are symbolic algorithms that can be computationally expensive, in
Section 5 we evaluate their performances by applying them to a number of modelling problems of different domains, from mechanical engineering to biology, and report their applicability and computational costs. The analysis of the selected case studies is also helpful for obtaining detailed insights about the inner workings of the algorithms. Finally, we conclude with a discussion of the results in
Section 6.
5. Computational Results and Discussion
We have applied the ORC-DF and FISPO algorithms to a set of illustrative case studies from different areas of science and technology, ranging from civil engineering to different biological disciplines. They are listed in
Table 1, along with the computation times of the algorithms.
5.1. An Identifiable and Observable Model with Known Input: “C2M”
Our first case study is a deceivingly simple compartmental model [
20]:
where each state
corresponds to a compartment, and
is the unknown parameter vector. The augmented state vector is
with extended dynamics given by:
with the following vector fields for the affine-in-inputs formulation (
5):
In addition, the output is given by the function:
The results obtained by ORC-DF and FISPO are shown in
Figure 1, where the first important difference between both methods can be seen: while FISPO works with analytical, time-varying controls
(which implies that it depends on functions
throughout their time derivatives; see Equations (
9) and (
10)), ORC-DF assumes piecewise constant inputs. For this reason, the results obtained by FISPO vary according to the number of non-zero
derivatives, while those of ORC-DF do not. Considering different types of inputs can be of interest in biological applications, where it is sometimes experimentally impossible to apply sufficiently exciting signals. Due to its reduced size, this model is well suited for illustrating this difference, so we derive the equations of the Lie derivatives calculated by each algorithm in
Appendix A, where we also discuss other aspects and implications.
This model is classified as observable and identifiable by ORC-DF after three iterations. The result yielded by FISPO depends on the number of input derivatives assumed to be zero: the unmeasured variables are classified as unobservable with a constant input, while they become observable in the fifth iteration if the input is any non-constant analytical function. The variables classified as observable by both algorithms at each iteration are illustrated in
Figure 1A,B.
Figure 1C shows the ranks of the matrices built by both algorithms in each iteration. As can be seen, the observability matrix constructed by ORC-DF reaches full rank after considering Lie derivatives up to order three. The matrix built by FISPO stagnates from the fourth iteration onward with a constant input, while it reaches full rank after five iterations with a non-constant input.
5.2. A Non-Identifiable, Non-Observable Model with Known Inputs: “Bolie”
Our second example is a model with similarities to the previous one, given by [
21]:
where
is the state vector,
are the unknown parameters, and
u is the control variable. The augmented state vector is
, and the extended dynamics are given by:
and can be separated into the vector fields:
The output is a function of the state
and the unknown parameter
so, in this case, there are no directly measured states or parameters.
The model is classified as non-identifiable and non-observable by FISPO and ORC-DC, as shown in
Figure 2. A detailed analysis of the calculations performed by both algorithms is provided in
Appendix B.
5.3. A Model with Known and Unknown Inputs: “2DOF”
We consider now an affine-in-the-inputs model with a known and an unknown input, proposed by [
15]. It describes the behaviour of a mechanical system consisting of two masses connected by a spring. In the form (
1) and (2), its dynamics and output functions are given by:
The state vector is and the unknown parameters are Two external forces act on the system as inputs, one of known magnitude, and another of unknown value, The remaining parameters and are known.
Since there is an unknown input acting on the model, it is necessary to include its time derivatives in the extended state vector. The 0-augmented state is
, which follows the dynamics:
where the contribution of the known input is:
First we consider the case in which the unknown disturbance
is assumed constant,
. The results are shown in
Figure 3. After calculating three Lie derivatives both algorithms conclude that the system is identifiable, observable and invertible. It should be noted that for this model FISPO always leads to the result shown in
Figure 3A, regardless of the number of known input derivatives assumed to be non-zero (note that the figure shows the constant case
but this property is fulfilled for any analytical disturbance
Next, we consider a time-varying unknown input, assuming that
for some
For this case, the model is again classified as fully observable by both algorithms. However, the paths that they follow to reach that conclusion are different. The number of Lie derivatives required by FISPO to classify the model as observable increases as
s grows, due to the number of states in each stage also increasing without reaching full rank, so FISPO does not reach any conclusion when
In contrast, ORC-DF ends at most in four iterations, regardless of the value of
(including the case
This situation is illustrated in
Figure 4, which shows the number of Lie derivatives required by each algorithm to achieve a result for
A difference between the procedures carried out by both algorithms for this model is that—similarly to the case of parameter
b in the C2M example, mentioned in
Appendix A—the expressions obtained by ORC-DF determine that the unknown parameter
can be calculated directly from the measurements since the first iteration as:
In the case of FISPO, in contrast, the parameter is the last to be classified as identifiable, which happens at the same time in which the entry is classified as invertible for a sufficiently large s.
5.4. A Model with a Known or Unknown Input: “HIV”
Next we consider a model of HIV dynamics in the human body given by [
22]:
where the states are
the unknown parameters vector is
and
is a time-varying input, the infection rate.
As was established in
Section 3.2, if
is unknown, ORC-DF and FISPO become the same algorithm (leaving aside implementation details). If
is known and time-varying, they differ.
This model was analysed with FISPO by [
16] considering two possibilities, i.e.,
known and unknown. In both cases the model is classified as observable and identifiable by FISPO. In the latter case, the number of Lie derivatives necessary to achieve this conclusion grows with the number of derivatives of
assumed to be non-zero, as happened with the 2DOF model analysed in
Section 5.3.
It is possible to analyse the HIV model with the ORC-DF algorithm, since it is affine in input. With the infection rate considered known, i.e.,
, the functions of the affine formulation (
13) and (
14) are written as:
while if it is unknown,
, we have:
If the infection rate is considered known, both algorithms classify the model as observable and identifiable, regardless of the number of input derivatives assumed non-zero by FISPO.
Figure 5 illustrates this fact, where the results obtained by FISPO have been represented for a generic analytical input.
The observability matrix calculated by ORC-DF has full rank after including Lie derivatives up to second order, so the number of its rows is (actually, 14 rows after excluding dependent rows arising from the equality while the matrix constructed by FISPO needs to include Lie derivatives up to order three to achieve full rank, so it has rows.
This is an example of a model for both algorithms perform similarly; although FISPO needs to calculate one more Lie derivative to classify the system as observable, ORC-DF calculates ranks of matrices of greater dimension, resulting in similar computational cost of the calculations involved in each algorithm. As can be seen in
Figure 5C, the ranks of both observability matrices coincide up to the first iteration, as a consequence of:
5.5. A Genetic Toggle Switch with Two Inputs: “TS”
Let us now consider the following model of a genetic toggle switch [
23]:
where
is the state vector and the inputs are
and
The remaining variables are unknown parameters.
This model is an example that cannot be analysed by ORC-DF algorithm, since it is not affine in inputs. It was analysed with FISPO in [
16], considering both measured and unmeasured inputs. If both inputs are known, FISPO classifies the model as structurally identifiable, as long as neither input is constant. If the inputs are unknown FISPO concludes that some parameters become unidentifiable. For more details we refer the reader to [
16].
5.6. A Signalling Pathway with Five Known Inputs: “JAK-STAT”
To show the computational limitations of the two algorithms, we analyse here a model that pushes them to their limits. It is a classic model of the JAK-STAT signalling pathway presented by [
24], which has 25 states, 26 unknown parameters, and 5 inputs. The output consists on 15 measured functions of the model variables that depend only on one of the external signals
which is not involved in system dynamics, that is,
This model was analysed with FISPO in [
25], concluding that all its parameters are structurally identifiable but two of its 25 states are non-observable. The calculations are computationally expensive, requiring the use of procedures supported in STRIKE-GOLDD—such as model decomposition or successive executions after removing parameters previously classified as identifiable—in order to reach the conclusion. Thus, the model was first analysed after setting the maximum computation time of each Lie derivative to 100 seconds, which allowed FISPO to calculate 5 Lie derivatives and to classify 17 parameters and 4 states as observable. Next, the 17 parameters were specified as previously classified in the FISPO options, thereby removing them from further consideration and decreasing the size of the problem, and the model was decomposed. The post-decomposition analysis classified five additional parameters as identifiable. After removing them, it was possible to analyse the remainder of the model and reach the aforementioned conclusion.
With ORC-DF we did not manage to analyse the model due to computational limitations (specifically, insufficient memory). The different computational requirements of ORC-DF and FISPO are shown in
Table 2.
Table 2 shows that the number of rows of the matrix built by ORC-DF grows rapidly at each iteration (even though the implementation removes null rows arising from dependencies in (
20) and (
21), which is why the number of rows of the ORC-DF matrix does not match the number given in
Section 3.3). Although this matrix leads to higher ranks than the one built by FISPO, especially at the beginning of the execution (i.e., with few Lie derivatives), the difference decreases soon and the ranks of the two matrices are similar despite the big difference in the number of rows. With five Lie derivatives, ORC-DF labels 27 model variables as observable (9 states and 18 parameters), including those classified as observable by FISPO (21: 4 states and 17 parameters). However, the computation time of ORC-DF at that point is roughly ten times higher than FISPO, and memory requirements impede further progress with this algorithm.
6. Conclusions
In this paper we have analysed two recent algorithms for observability analysis of nonlinear systems with known and/or unknown inputs, which we refer to as ORC-DF and FISPO. Our analyses have revealed the key similarities and differences between them. The main conclusions can be summarized as follows.
First, we have proven theoretically that for models
without known inputs both algorithms are basically equivalent, since they calculate the rank of the same observability matrix. In contrast, for models with known inputs—e.g., for controlled systems—the two algorithms differ, since they build different observability matrices. Specifically, the number of rows of the matrix built by ORC-DF increases more at each iteration than the one built by FISPO. We have shown that this increased growth is often an advantage of ORC-DF, since it makes it possible to reach full rank—and thus, to conclude that a model is observable—with less Lie derivatives, and hence less computational cost; an example was shown in
Section 5.1. However, said increased growth is not always advantageous: as we have noted in
Section 3.3, it can also be detrimental to the efficiency of ORC-DF. The latter situation may happen when the structure of the model equations is such that the increase in problem dimension outweighs the increase in information resulting from the inclusion of a new Lie derivative; we provided an example in
Section 5.6.
When applying FISPO to a model with unknown input(s) it is usually necessary to assume that their derivatives,
, are zero for orders higher than a finite
s, which amounts to assuming that the unknown inputs are polynomial functions. This is not a theoretical requirement—and in fact, a counter-example that did not require this assumption was shown in [
16]—but it is often necessary in practice in order to reach a conclusion in finite time. This was indeed the case for the models with unknown inputs that we analysed in this paper. It should be noted that the results obtained under this assumption are not necessarily valid if the unknown input has nonzero derivatives of order higher than
s.
We remark that this assumption of polynomial inputs does not apply to known inputs; FISPO does not require this assumption for their analysis, and it is not used by ORC-DF either. That being said, it must be taken into account that in certain applications there are experimental limitations that do not allow one to use sophisticated input signals for system identification. This situation is common in biological modelling, where often times only constant or ramp inputs can be applied. The implications of such limitations in observability can be taken into account by specifying that the derivatives of the known inputs, , are zero for orders higher than a finite s. This option is available in STRIKE-GOLDD.
Another difference between both algorithms lies in the types of models and known inputs that they can analyse. In regard to model types, FISPO is applicable to a general class of nonlinear ODE models, while ORC-DF is applicable to a subclass of those models: the ones that are affine in the inputs. There is an additional, albeit subtle, difference between both algorithms in regard to the known inputs: FISPO considers infinitely differentiable ("smooth") functions, while ORC-DF considers piecewise constant inputs. It should be noted however that an affine system that is observable for piecewise constant inputs is also observable for smooth inputs; therefore, ORC-DF can also establish the observability of (affine) models with continuous inputs.
In a new release of the STRIKE-GOLDD toolbox (v2.2) we have included an implementation of the ORC-DF algorithm, thus allowing the user to apply different algorithms with the same tool and model definition. It should be noted that the implementations of the FISPO and ORC-DF algorithms included in the STRIKE-GOLDD toolbox have a number of additional features that increase the efficiency of the core algorithms analysed here, as noted in
Section 4. We used the new implementations in STRIKE-GOLDD 2.2 to benchmark the algorithms with several models taken from the literature. Our selection of case studies included both simple models, used for illustrating the inner workings of the algorithms in detail, and more complex models whose analysis is computationally challenging, which we used for pushing the algorithms to their limits. We also provided an example of a model that cannot be analysed with ORC-DF due to being not affine in the inputs.
In conclusion, the theoretical and computational analyses presented here have informed us about the differences between the ORC-DF and FISPO algorithms, showing that they represent complementary techniques for solving an often challenging problem, and clarifying when one may be preferred over the other. The release of a new version of the MATLAB toolbox STRIKE-GOLDD that includes implementations of both algorithms provides the convenience of performing different analyses with minimal intervention from the user.