# Structural identifiability

In the area of system identification, a dynamical system is structurally identifiable if it is possible to infer its unknown parameters by measuring its output over time. This problem arises in many branch of applied mathematics, since dynamical systems (such as the ones described by ordinary differential equations) are commonly utilized to model physical processes and these models contain unknown parameters that are typically estimated using experimental data.
However, in certain cases, the model structure may not permit a unique solution for this estimation problem, even when the data is continuous and free from noise. To avoid potential issues, it is recommended to verify the uniqueness of the solution in advance, prior to conducting any actual experiments. The lack of structural identifiability implies that there are multiple solutions for the problem of system identification, and the impossibility of distinguishing between these solutions suggests that the system has poor forecasting power as a model. On the other hand, control systems have been proposed with the goal of rendering the closed-loop system unidentifiable, decreasing its susceptibility to covert attacks targeting cyber-physical systems.

## Examples
### Linear time-invariant system

Source
Consider a linear time-invariant system with the following state-space representation:
${\begin{aligned}{\dot {x}}_{1}(t)&=-\theta _{1}x_{1},\\{\dot {x}}_{2}(t)&=\theta _{1}x_{1},\\y(t)&=\theta _{2}x_{2},\end{aligned}}$
and with initial conditions given by $x_{1}(0)=\theta _{3}$ and $x_{2}(0)=0$. The solution of the output $y$ is
$y(t)=\theta _{2}\theta _{3}e^{-\theta _{1}t}\left(e^{\theta _{1}t}-1\right),$
which implies that the parameters $\theta _{2}$ and $\theta _{3}$ are not structurally identifiable. For instance, the parameters $\theta _{1}=1,\theta _{2}=1,\theta _{3}=1$ generates the same output as the parameters $\theta _{1}=1,\theta _{2}=2,\theta _{3}=0.5$.

### Non-linear system

Source
A model of a possible glucose homeostasis mechanism is given by the differential equations
${\begin{aligned}&{\dot {G}}=u(0)+u-(c+s_{\mathrm {i} }\,I)G,\\&{\dot {\beta }}=\beta \left({\frac {1.4583\cdot 10^{-5}}{1+\left({\frac {8.4}{G}}\right)^{1.7}}}-{\frac {1.7361\cdot 10^{-5}}{1+\left({\frac {G}{8.4}}\right)^{8.5}}}\right),\\&{\dot {I}}=p\,\beta \,{\frac {G^{2}}{\alpha ^{2}+G^{2}}}-\gamma \,I,\end{aligned}}$
where (c, s$_i$, p, α, γ) are parameters of the system, and the states are the plasma glucose concentration G, the plasma insulin concentration I, and the beta-cell functional mass β. It is possible to show that the parameters p and s$_i$ are not structurally identifiable: any numerical choice of parameters p and s$_i$ that have the same product ps$_i$ are indistinguishable.

## Practical identifiability

Structural identifiability is assessed by analyzing the dynamical equations of the system, and does not take into account possible noises in the measurement of the output. In contrast, practical non-identifiability also takes noises into account.

## Other related notions

The notion of structurally identifiable is closely related to observability, which refers to the capacity of inferring the state of the system by measuring the trajectories of the system output. It is also closely related to data informativity, which refers to the proper selection of inputs that enables the inference of the unknown parameters.
The (lack of) structural identifiability is also important in the context of dynamical compensation of physiological control systems. These systems should ensure a precise dynamical response despite variations in certain parameters. In other words, while in the field of systems identification, unidentifiability is considered a negative property, in the context of dynamical compensation, unidentifiability becomes a desirable property.
Identifiability also appears in the context of inverse optimal control. Here, one assumes that the data comes from a solution of an optimal control problem with unknown parameters in the objective function. Here, identifiability refers to the possibility of infering the parameters present in the objective function by using the measured data.

## Software

There exist many software that can be used for analyzing the identifiability of a system, including non-linear systems:
* PottersWheel: MATLAB toolbox that uses profile likelihood for structural and practical identifiability analysis.
* STRIKE-GOLDD: MATLAB toolbox for structural identifiability analysis.
* StructuralIdentifiability.jl: Julia library for assessing structural parameter identifiability.
* LikelihoodProfiler.jl: Julia library for practical identifiability analysis.