Models
Contents
Introduction
Modelling the individual parameters
Introduction
Covariates
Levels of variability
Modelling the observations
Introduction
Continuous data
Categorical data
Count data
Survival data
Joint models
Dynamical systems driven by ODEs
Autonomous dynamical systems
Consider a time-varying system $A(t)=(A_1(t),A_2(t),\ldots A_J(t))$ defined by a system of Ordinary Differential Equations (ODE)
\begin{equation} \label{ode1_model} \dot{A} = F(A(t)) \end{equation}
where $\dot{A}(t)$ denotes the vector of derivatives of $A(t)$ with respect to $t$: \begin{equation} \label{ode2_model} \left\{ \begin{array}{lll} \dot{A}_1(t) & = & F_1(A(t)) \\ \dot{A}_2(t) & = & F_2(A(t)) \\ \vdots & \vdots & \vdots \\ \dot{A}_L(t) & = & F_L(A(t)) \end{array} \right. \end{equation}
Notations:
- let $A_0 = A(t_0)$ be the initial condition of the system defined at the initial time $t_0$,
- let $A^{\star}$ be the solution of the system at equilibrium: $F(A^{\star}) =0$
A basic model
We assume here that there is no input: \begin{eqnarray*} A(t_0) &= &A_0 \\ \dot{A}(t) &= &F(A(t)) \ , \ t \geq t_0 \end{eqnarray*}
Example: A viral kinetic (VK) model.
In this example, the data file contains the viral load:
|
|
Consider a basic VK model with $A=(\it{N},\it{I},\it{V})$ where $N$ is the number of non infected target cells, $C$ the number of infected target cells and $V$ the number of virus.
After infection and before treatment, the dynamics of the system is described by this ODE system: \begin{equation} \label{vk1} \left\{ \begin{array}{lll} \dot{N}(t) & = & s - \beta \it{N}(t) \it{V}(t) - d\it{N}(t) \\ \dot{I}(t) & = & \beta \it{N}(t)\it{V}(t) - \delta \it{I}(t) \\ \dot{V}(t) & = & p \it{I}(t) - c \it{V}(t) \end{array} \right. \end{equation} The equilibrium state of this system is $\A^{\star} = $(N^^{\star} , \I^{\star} , \V^{\star})$. where \begin{equation} \label{eq1} \nitc^\star = \frac{\delta \, c}{ \beta \, p} \quad ; \quad \itc^\star = \frac{s - d\,\nitc^\star}{ \delta} \quad ; \quad \vl^\star = \frac{ p \, \itc^\star }{c}. \end{equation} Assume that the system has reached the equilibrium state $\As$ when the treatment starts at time $t_0=0$. The treatment inhibits the infection of the target cells and blocks the production of virus. The dynamics of the new system is described with this new ODE system: \begin{equation} \label{vk2} \left\{ \begin{array}{lll} \dA{\nitc}{} & = & s - \beta(1-\eta) \, \nitc(t) \, \vl(t) - d\,\nitc(t) \\ \dA{\itc}{} & = & \beta(1-\eta) \, \nitc(t) \, \vl(t) - \delta \, \itc(t) \\ \dA{\vl}{} & = & p(1-\varepsilon) \, \itc(t) - c \, \vl(t) \end{array} \right. \end{equation} where $0<\varepsilon <1$ and $0 < \eta < 1$. The initial condition and the dynamical system are described in the MDL (in a block \verb"$EQUATION" with MLXTRAN):
\hspace*{4cm} \begin{minipage}[b]{10cm} \begin{verbatim} '"`UNIQ-MathJax23-QINU`"'\As'"`UNIQ-MathJax24-QINU`"'t<0'"`UNIQ-MathJax25-QINU`"'t_0< t_1< ...<t_K'"`UNIQ-MathJax26-QINU`"'F^{(1)}, F^{(2)},\ldots,F^{(K)}'"`UNIQ-MathJax27-QINU`"'T_{Start1}'"`UNIQ-MathJax28-QINU`"'T_{Start2}'"`UNIQ-MathJax29-QINU`"'T_{Stop}'"`UNIQ-MathJax30-QINU`"'(T_{Start1},T_{Start2},T_{Stop})'"`UNIQ-MathJax31-QINU`"'T_{Start1}=0'"`UNIQ-MathJax32-QINU`"'T_{Start2}=20'"`UNIQ-MathJax33-QINU`"'T_{Stop}=200'"`UNIQ-MathJax34-QINU`"'T_{Start1}'"`UNIQ-MathJax35-QINU`"'A(t) = \As'"`UNIQ-MathJax36-QINU`"'\As'"`UNIQ-MathJax37-QINU`"'T_{Start1}'"`UNIQ-MathJax38-QINU`"'T_{Start2}'"`UNIQ-MathJax39-QINU`"'T_{Start2}'"`UNIQ-MathJax40-QINU`"'T_{Stop}'"`UNIQ-MathJax41-QINU`"'T_{Stop}'"`UNIQ-MathJax42-QINU`"'EQUATION" and using the statement \verb"SWITCH" with MLXTRAN). We only show the blocks \verb"'"`UNIQ-MathJax43-QINU`"'EQUATION" of the code: \hspace*{2cm} \begin{minipage}[b]{10cm} \begin{verbatim} '"`UNIQ-MathJax44-QINU`"'EQUATION SWITCH CASE T < T_Start1 N = delta*c/(beta*p); I = (s-d*N)/delta V = p*I/c CASE T_Start1 < T < T_Start2 DDT_N = s - beta*N*V - d*N DDT_I = beta*N*V - delta*I DDT_V = p*(1-epsilon)*I - c*V CASE T_Start2 < T < T_Stop DDT_N = s - beta*(1-eta)*N*V - d*N DDT_I = beta*(1-eta)*N*V - delta*I DDT_V = p*(1-epsilon)*I - c*V CASE T > T_Stop DDT_N = s - beta*(1-eta*exp(-k1*(T-T_Stop)))*N*V - d*N DDT_I = beta*(1-eta*exp(-k1*(T-T_Stop)))*N*V - delta*I DDT_V = p*(1-epsilon*exp(-k2*(T-T_Stop)))*I - c*V END \end{verbatim} \end{minipage}
\noindent{\bf Remark 1:} Here, \verb"EVENT" is a reserved variable name. Then, the information in the column \verb"EVENT" is recognized as a succession of events. Furthermore, the times of the events \verb"Start1", \verb"Start2" and \verb"Stop" are automatically created as \verb"T_Start1", \verb"T_Start2" and \verb"T_Stop".
\noindent{\bf Remark 2:} In this particular example, the dynamical system is described by parameters $\beta$ and $p$ whose definition switches. Then, the same model could be encoded as follows:
\hspace*{2cm} \begin{minipage}[b]{10cm} \begin{verbatim} $EQUATION T_0 = T_Start1 N_0 = delta*c/(beta*p); I_0 = (s-d*N)/delta V_0 = p*I/c SWITCH CASE T_Start1 < T < T_Start2 be = beta pe = p*(1-epsilon) CASE T_Start2 < T < T_Stop be = beta*(1-eta) pe = p*(1-epsilon) CASE T > T_Stop be = beta*(1-eta*exp(-k1*(T-T_Stop))) pe = p*(1-epsilon*exp(-k2*(T-T_Stop))) END DDT_N = s - be*N*V - d*N DDT_I = be*N*V - delta*I DDT_V = pe*I - c*V \end{verbatim} \end{minipage}