Skip to content

Commit e2cd226

Browse files
committed
updates: add references, fix typos, etc.
1 parent 9a7dea8 commit e2cd226

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

docs/src/tutorials/parameter_identifiability.md

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# Parameter Identifiability in ODE Models
22

3-
Using ordinary differential equations for modeling real-world processes is commonplace and the problem of parameter identifiability is one of the key design challenges. We say that a parameter is identifiable if we can recover its value from experimental data. When we describe the parameter without actual data at hand is _structurally_ identifiable. In this tutorial, we will show how to use `StructuralIdentifiability.jl` with `ModelingToolkit.jl` to assess parameter identifiability.
3+
Using ordinary differential equations for modeling real-world processes is commonplace and the problem of parameter identifiability is one of the key design challenges. A parameter is said to be _identifiable_ if one can recover its value from experimental data. _Structurally_ identifiabiliy is a property that answers this question without needing to perform the actual measurement. In this tutorial, we will show how to use `StructuralIdentifiability.jl` with `ModelingToolkit.jl` to assess identifiability of parameters in ODE models. The theory behind `StructuralIdentifiability.jl` is presented in paper [^4].
44

5-
We will start with determining local identifiability, where a parameter is known up to finitely many values, and then proceed to determining global identifiability properties, that is, which parameters can be identified uniquely.
5+
We will start with determining **local identifiability**, where a parameter is known up to _finitely many values_, and then proceed to determining **global identifiability** properties, that is, which parameters can be identified _uniquely_.
66

77
To install `StructuralIdentifiability.jl`, simply run
88
```julia
@@ -12,7 +12,6 @@ Pkg.add("StructuralIdentifiability")
1212

1313
The package has a standalone data structure for ordinary differential equations but is also compatible with `ODESystem` type from `ModelingToolkit.jl`.
1414

15-
Let's start with local identifiability!
1615
## Local Identifiability
1716
### Input System
1817

@@ -86,7 +85,7 @@ Notice that in this case, everything (except the state variable $x_7$) is locall
8685

8786
## Global Identifiability
8887

89-
In this tutorial, let us cover an example problem of querying the ODE for globally identifiable parameters.
88+
In this part tutorial, let us cover an example problem of querying the ODE for globally identifiable parameters.
9089

9190
### Input System
9291

@@ -100,7 +99,7 @@ $$\begin{cases}
10099
y(t) = x_1(t)
101100
\end{cases}$$
102101

103-
This model describes enzyme dynamics[^3]. Let us run a global identifiability check on this model. We will use the default settings: the probability of correctness will be `p=0.99` and we are interested in identifiability of all possible parameters
102+
We will run a global identifiability check on this enzyme dynamics[^3] model. We will use the default settings: the probability of correctness will be `p=0.99` and we are interested in identifiability of all possible parameters
104103

105104
Global identifiability needs information about local identifiability first, but the function we chose here will take care of that extra step for us.
106105

@@ -134,7 +133,7 @@ ode = ODESystem(eqs, t, name=:GoodwinOsc)
134133
# beta => :locally
135134
# b => :globally
136135
```
137-
We can see that
136+
We can see that only parameters `a, g` are unidentifiable and everything else can be uniquely recovered.
138137

139138
Let us consider the same system but with two inputs and we will try to find out identifiability with probability `0.9` for parameters `c` and `b`:
140139

@@ -163,7 +162,7 @@ global_id = assess_identifiability(ode, to_check, 0.9)
163162
# c => :globally
164163
```
165164

166-
Both parameters $b, c$ are globally identifiable with probability 0.9.
165+
Both parameters `b, c` are globally identifiable with probability `0.9` in this case.
167166

168167
[^1]:
169168
> R. Munoz-Tamayo, L. Puillet, J.B. Daniel, D. Sauvant, O. Martin, M. Taghipoor, P. Blavy [*Review: To be or not to be an identifiable model. Is this a relevant question in animal science modelling?*](https://doi.org/10.1017/S1751731117002774), Animal, Vol 12 (4), 701-712, 2018. The model is the ODE system (3) in Supplementary Material 2, initial conditions are assumed to be unknown.
@@ -172,4 +171,7 @@ Both parameters $b, c$ are globally identifiable with probability 0.9.
172171
> Moate P.J., Boston R.C., Jenkins T.C. and Lean I.J., [*Kinetics of Ruminal Lipolysis of Triacylglycerol and Biohydrogenationof Long-Chain Fatty Acids: New Insights from Old Data*](doi:10.3168/jds.2007-0398), Journal of Dairy Science 91, 731–742, 2008
173172
174173
[^3]:
175-
> Goodwin, B.C. [*Oscillatory behavior in enzymatic control processes*](https://doi.org/10.1016/0065-2571(65)90067-1), Advances in Enzyme Regulation, Vol 3 (C), 425-437, 1965
174+
> Goodwin, B.C. [*Oscillatory behavior in enzymatic control processes*](https://doi.org/10.1016/0065-2571(65)90067-1), Advances in Enzyme Regulation, Vol 3 (C), 425-437, 1965
175+
176+
[^4]:
177+
> Dong, R., Goodbrake, C., Harrington, H. A., & Pogudin, G. [*Computing input-output projections of dynamical models with applications to structural identifiability*](https://arxiv.org/pdf/2111.00991). arXiv preprint arXiv:2111.00991.

0 commit comments

Comments
 (0)