# Data-driven stochastic modelling of Zebrafish locomotion

Ever wondered how you can write down equations that govern the behaviour of a moving creature? Let’s start simple and try something like a fish. (OK, a fish isn’t that simple…) It turns out that Zebrafish are quite a convenient animal to study and one of our collaborators (Maurizio Porfiri from New York University, USA) has great facilities for the fish to happily swim around in while being tracked by video cameras.

With the data from Maurizio’s lab, we have constructed a mathematical model of Zebrafish locomotion based on stochastic differential equations (SDEs), that is equations that govern the rates of change of speed and of turning speed (the differential bit) and are driven by random noise (the stochastic bit). The randomness is there to provide a mathematical description of all the seemingly erratic behaviours that the Zebrafish exhibit which we don’t really understand — we can match the statistics of the randomness to the statistics of the erratic behaviour but we can’t say anything about the higher level thought (if that is an appropriate description for a fish!) that is generating it.

The SDEs are relatively simple (if you are used to such things) and take the form
$$\begin{gathered} \mathrm{d}U = -\theta_u(U – \mu_u – U^*)\mathrm{d}t + \sigma_u\mathrm{d}W_1(t) \\ \mathrm{d}\Omega = -\theta_\omega(\Omega – \Omega^*)\mathrm{d}t + \sigma_\omega\mathrm{d}W_2(t) \end{gathered}$$
where $U$ is the speed and $\Omega$ is the turning speed. This is an Ito stochastic differential equation (though perhaps it should be Stratonovich…). This is in effect a mean-reverting process or Ornstein-Uhlenbeck process. In short, the speed is tracking the value $\mu_u + U^*$ with a time scale $\theta_u$ where $\mu_u$ is the natural speed of the Zebrafish and $U^*$ is a modification to the natural speed due to external factors (e.g., getting close to a wall or other Zebrafish). The same description holds for the turning speed equation (except that the natural turning speed is zero and so not included). The terms $U^*$, $\Omega^*$ and $\sigma_u$ are not actually constants but functions of the fish position relative to other fish and any obstacles.

Take a read of the article and see what you think! (The article is open access to all.)

If you like this, a follow on post will provide a nice graphical interface for playing with these equations (written in Python).

Reference: Data-driven stochastic modelling of zebrafish locomotion Adam Zienkiewicz, David A.W. Barton, Maurizio Porfiri and Mario di Bernardo, Journal of Mathematical Biology 71(5) 2015 pp. 1081–1105. DOI: 10.1007/s00285-014-0843-2 (open access).