1 Introduction

When modelling the dynamics of biological systems—based on a differential equations framework, for instance—the precise constituent functions that ought to be used are often unknown. Therefore, when constructing our models it is important to determine whether or not small changes to the models functions can result in substantial changes to the model predictions. From a mathematical point of view, a necessary condition for a model to be adequate for describing a real-world system is that it must possess the fundamental property of structural stability—that is, that all sufficiently small perturbations of the model have homeomorphic oriented trajectories, i.e. they are topologically equivalent to the original system (Kuznetsov 2004). For instance, the famous Lotka–Volterra predator–prey model does not possess this property: since this model has a non-hyperbolic interior equilibrium, considering more realistic predation terms can break the neutrally stable cycles resulting in the appearance of unwinding spirals (Bazykin 1998). Checking the structural stability of a system is certainly worthwhile, but in many sciences such as biology, economics and climate modelling, we cannot determine our models functions with arbitrary accuracy, in which case the structural stability of a model is not enough: since we can no longer take our perturbations to be sufficiently small, we should rather require that our model predictions are consistent for all perturbations within a small but finite magnitude determined a priori from the accuracy of our data. Additionally, when using models to obtain quantitative predictions, the topological equivalence of model trajectories may not be enough—we may also require that the model dynamics are quantitatively similar. The concept of structural sensitivity (Wood and Thomas 1999; Fussmann and Blasius 2005; Cordoleani et al. 2011; Adamson and Morozov 2013) is a way of extending structural stability to deal with these issues.

Structural sensitivity occurs in a model \(M\) when a close model \(M^{\prime }\) yields predictions which are either qualitatively different, or significantly quantitatively different from those given by \(M\) (Myerscough et al. 1996; Wood and Thomas 1999; Cordoleani et al. 2011). Structural sensitivity differs from structural instability in the sense that we have an a priori error value \(\varepsilon \), and we must check all models within this distance of \(M\). In a sense, the existence of structural sensitivity is already tacitly acknowledged in the modelling community, since it is quite standard for researchers to carry out a bifurcation analysis on their models (e.g. Bazykin 1998; Berezovskaya et al. 2001; Kooi and Boer 2001) in order to detect potential sensitivity to variation of parameters, but models can also be sensitive with respect to the form taken by the model functions (Gross et al. 2004)—even if the functions remain qualitatively similar (Fussmann and Blasius 2005). This is a particular problem in biology, when the processes modelled are often too complex to justify a particular choice of parameterisation to represent them—indeed, even if a particular choice of functional representation can be justified for individuals on a laboratory scale, there is no reason the same representation should be valid after aggregating over a heterogeneous population and scaling up to the size of real ecosystems (Poggiale 1998; Englund and Leonardsson 2008; Morozov 2010; Cordoleani et al. 2013). Another important factor which can potentially cause variation in the underlying model functions is evolution of the life traits of animals, which can take place over a relatively short period of time (Thompson 1998; Duffy and Sivars-Becker 2007; Kinnison and Hairston 2007).

As an example of a way in which a system can be structurally sensitive, and how we can test for this property, we can consider changes in the stability of its equilibrium when a model function is varied:

Example 1

Sensitivity of the Stability of a Given Equilibrium

Let us consider for the sake of simplicity that we have a model in which a single function \({\tilde{h}}\) of only one variable \(x_{i}\) is unknown, but should be restricted to some (undefined for now) neighbourhood of functions, \(B_\varepsilon \left( M \right) \) (where \(M\) is the original model, and \(\varepsilon \) is the radius of the neighbourhood). One way in which a system can show structural sensitivity is through a change in the linear stability of an equilibrium when this function is changed slightly (Fussmann and Blasius 2005). To check for this possibility, we note that provided the equilibrium is hyperbolic (the Jacobian evaluated at the equilibrium has no eigenvalues with real part zero), its stability is determined by the characteristic equation of the linearised system:

$$\begin{aligned} \lambda ^{n}+\lambda ^{n-1}R_{n-1} +\cdots +\lambda ^{1}R_1 +R_0 =0, \end{aligned}$$

where the \(R_i\) are functions which are determined by computing the Jacobian matrix of the system at this equilibrium (note that if the equilibrium is not hyperbolic, then we necessarily have structural sensitivity since the system is not structurally stable). With regards to our unknown function \({\tilde{h}}\), we should note that the only unknown values that the Jacobian depends on are the coordinates of the equilibrium point, and the values of the unknown function \({\tilde{h}}\) and its derivative at this point. Let us consider the \(x_i\)-coordinate of the equilibrium point, \(x_i^*\), as a variable parameter of the investigation. From the isocline equations determining the equilibrium point one can compute the other (\(n\)-1) coordinates of the equilibrium as well as the value of the function \({\tilde{h}}\) at this equilibrium. The coordinates of the minimal space we need to know will then include the values \(x_i^*\) and \({\tilde{h}}^{\prime } \left( {x_i^*} \right) \). If we can determine the necessary and sufficient conditions for a choice of these values to be taken by at least one function in the neighbourhood \(B_\varepsilon \left( M \right) \), we can project the entirety of \(B_\varepsilon \left( M \right) \) from function space into a finite dimensional space with coordinates \(x_i^*\), \({\tilde{h}}^{\prime }\left( {x_i^*} \right) \), which can be covered numerically: we can traverse the subspace, checking the necessary and sufficient conditions at each point to determine whether the given point should be included in our projected domain (c.f. Adamson and Morozov 2013). In this way we can determine the stability of the equilibrium across all choices of model from the neighbourhood \(B_\varepsilon \left( M \right) \): if there exist both models which yield a stable equilibrium and those which yield an unstable one, we can conclude that the system exhibits structural sensitivity (practical examples using particular models are given in Sect. 5 of this paper).

In order to carry out such an analysis of the sensitivity of equilibria as in Example 1, it is clear that we should choose carefully how we define the neighbourhood from which we may select valid model functions, and there are several distinct model metrics which can be used to do this. Choosing an appropriate notion of distances between models and their functions is extremely important since we need our framework to remain on a sound mathematical footing, whilst taking into account biological realism and data. Next, once we have chosen appropriate definitions and model neighbourhoods, determining the corresponding domain in the finite-dimensional space of local function values is generally a nonlocal problem and needs to be addressed.

The paper is organised as follows. In Sect. 2, we revisit the concept of structural sensitivity of ODE-based models, present the definition of structural sensitivity along with several specific model metrics, and discuss the strengths and shortcomings of each when applied to the problem of dealing with uncertainty in both theory and experimental data. In Sect. 3 we extend the approach of Example 1 regarding sensitivity analysis of stationary states of the model by discussing in more detail how we can check structural sensitivity with respect to the stability of its equilibria, and introduce a second example whereby we can check sensitivity with respect to the number of equilibria as well. Further, in Sect. 4 we suggest a method for projecting a neighbourhood of a general class of functions with an arbitrary number of inflection points into a finite-dimensional space of local function values (as in Example 1 above)—thereby providing the required tools for structural sensitivity analysis of any model with respect to variation of a function of this type. As a practical demonstration of the approach developed in Sects. 3 and 4, in Sect. 5 we use it to demonstrate structural sensitivity with respect to predation terms—of Holling type II and III, respectively—in two recent ODE models of biological systems from highly cited papers, along with a delay-differential equation model. We demonstrate the existence of structural sensitivity in these models and show that conventional methods based solely on variation of parameters will often fail to do so. Finally, in Sect. 6 we summarise the paper, discuss extensions of the research and put forward the hypothesis that structural sensitivity is an important and intrinsic property of biological models, which is a direct consequence of the complexity of the underlying real systems.

2 How should we define structural sensitivity in biological models?

2.1 General definition

In this subsection we provide a formal definition of structural sensitivity in general, and consider several more specific definitions. Our general definition is based on the one provided in Cordoleani et al. (2011), with the important distinction that we ignore deformation of attractors with basins of measure zero.

To better understand the formal concept of structural sensitivity, it is essential to recall the definition of the related property of structural stability (Kuznetsov 2004):

Definition 2.1.1

(Strict structural stability) Consider a continuous-time system

$$\begin{aligned} {\dot{x}}=f(x),\quad x\in {\mathbb {R}}^n\!, \end{aligned}$$
(2.1)

with smooth \(f\), and a closed region \(\Omega \subset {\mathbb {R}}^{n}\). System (2.1) is strictly structurally stable over \(\Omega \) if any system that is sufficiently \(C^{1}\)-close in \(\Omega \) is topologically equivalent in \(\Omega \) to (2.1).

Recall (see Kuznetsov 2004) that two systems are topologically equivalent if there is a homeomorphism (continuous bijection with continuous inverse) mapping the orbits of one system to those of the other whilst preserving the direction of time.

Now we define the closely related property of structural sensitivity as follows:

Definition 2.1.2

(Structural sensitivity) Let us consider two positive real numbers \(\sigma \) and \(\varepsilon ,\) a reference model \(\left( {M_R } \right) \) with state space \({\mathbb {R}}^{n}\), and a closed region \(\Omega \subset {\mathbb {R}}^{n}\). Further, let us consider a certain metric \(d_M\) on the space of \(C^{1}\) models, (with the model functions allowed being potentially restricted to comply with prior theoretical knowledge). We denote by \(B_\varepsilon \left( {M_R } \right) \) the set of models \(\left( M \right) \) such that \(d_M \left( {M_R ,M} \right) <\varepsilon \) over \(\Omega \). For a given initial condition \(x\in {\mathbb {R}}^{n}\), we denote by \(\omega _R \left( x \right) \) its \(\omega \)-limit in the model \(\left( {M_R } \right) \) and by \(\omega \left( x \right) \) its \(\omega \)-limit in the model \(\left( M \right) \).

We say that \(\left( {M_R } \right) \) is \(\varepsilon \)-structurally \(\sigma \)-sensitive in \(\Omega \) if there exists \(\left( M \right) \in B_\varepsilon \left( {M_R } \right) \) such that one of the following conditions is fulfilled:

  1. (i)

    \(\left( M \right) \) is not strictly structurally stable, as in Def 2.1.1;

  2. (ii)

    there exists a set \(X\subseteq {\mathbb {R}}^{n}\) of positive measure, such that given any initial condition \(x_0 \in X\), then for all \(x\in \Omega \) satisfying \(\omega _R \left( {x_0 } \right) =\omega _R \left( x \right) \), we have \(d_H \left( {\omega _R \left( x \right) \!,\omega \left( x \right) } \right) \ge \sigma \), where \(d_H\) is the Hausdorff distance.

In other words, \(\left( {M_R } \right) \) is structurally sensitive if there is either a structurally unstable model in the vicinity of \(\left( {M_R } \right) \), or if a small size perturbation of \(\left( {M_R } \right) \) can sufficiently deform at least one attractor of the resulting model \(\left( M \right) \). The values \(\varepsilon \) and \(\sigma \) are parameters which can be interpreted as the accuracy of available data and the desired tolerance of our model predictions, respectively. We should emphasize again the differences between structural sensitivity and structural instability (cf. Definition 2.1.1). Condition (i) is similar to structural instability, but there is an important difference: the term sufficiently \(C^{1}\) -close in the definition of structural stability. For structural sensitivity we consider every system within a fixed distance, \(\varepsilon \). We should also note that it may be of interest to consider the case when transient dynamics differ by a sufficiently large distance, in which case we would need to modify Defn 2.1.2 (ii) to consider deformation of the orbits of a positive-measure set across the entire time interval, although we shall not consider such a modification here for the sake of brevity.

2.2 Notions of model distance and structural sensitivity

The question remains as to what constitutes a suitable metric \(d_{M}\). There are several common metrics used in the literature, precise definitions of which are provided in Appendix A. Here we shall briefly discuss and critique some of them.

By far the main approach used in modelling literature is to consider sensitivity of model outputs to the variation of parameters values for fixed model functions. In this case, \(d_{M}\) is only defined for two models with the same parameterisation of the model functions, and would simply be given by a metric on the space of parameter sets. The main drawback of this notion of distance is that even in fairly simple models, robustness of the results to variation of parameters for fixed functions does not indicate that the model is not sensitive to small variations of the functional forms themselves (Myerscough et al. 1996; Wood and Thomas 1999; Fussmann and Blasius 2005; Cordoleani et al. 2011; Adamson and Morozov 2013). The most common approach used in dynamical systems theory, on the other hand is to consider the \(C^{1}\!\)-metric: distance is measured in terms of the maximum distance between the model functions and between their derivatives across the whole domain. Use of the \(C^{1}\!\)-metric ensures that all possible model perturbations are considered, so no viable systems are missed, but this can be rather a disadvantage in sensitivity investigations since the perturbations considered may include models which are meaningless with respect to the original problem. Also, with the \(C^{1}\!\)-metric close models must have model functions with close derivatives, but obtaining an accurate estimate of derivatives from empirical data is usually impossible so we cannot justify the derivative of our original model (Bendoricchio and Jorgensen 2001).

In Adamson and Morozov (2013) the \(d_Q\)-distance between model functions was introduced (Appendix A, Definitions 7.3 and  7.4). With this metric we do not consider all possible variations of the model functions, but only those which conserve certain generic properties determined by biological theory or ‘common sense’. If we can then choose an initial model which fits the available data, and construct the neighbourhood \(B_\varepsilon \left( {M;d_Q } \right) \)—with the radius \(\varepsilon \) being determined by the accuracy of the experimental data—then it will contain all viable models and nothing more. For this reason, we shall suggest the definition of structural sensitivity based on the \(d_Q\)-distance to be the most natural when modelling biological systems and shall hereon explore the sensitivity of models considering the \(d_Q\)-distance only.

3 General approach of investigation

We consider a continuous-time system \(\left( M \right) \) given by the differential equations:

$$\begin{aligned} {\dot{x}}=G\left( g_{1}(x),\ldots ,g_{m}(x),{\tilde{h}}_1(x),\ldots ,{\tilde{h}}_{p}(x)\right) ,\quad x\in {\mathbb {R}}^{n}, \end{aligned}$$

where \(g_1 ,\ldots ,g_m ,{\tilde{h}}_1 ,\ldots ,{\tilde{h}}_p \in C^{1}\left( {{\mathbb {R}}^{n}} \right) \). Here \(G:{\mathbb {R}}^{m+p}\rightarrow {\mathbb {R}}^{n}\) is a linear function representing the overall ‘structure’ of the model \(\left( M \right) \) in terms of the various model functions, detailing how the growth rates, mortality terms, functional responses, etc. are used to build the full model. Of these model functions, we assume that \(g_1,\ldots ,g_m \) are of known analytical form, and so only require a choice of parameters to be fully determined, while we assume that \(\big \{ {{\tilde{h}}_1 \left( x \right) ,\ldots ,{\tilde{h}}_p \left( x \right) } \big \}\) is the set of functions with unknown parameterisations. Usually we have some prior theoretical or experimental knowledge concerning this set of functions, and so we can use this knowledge to specify a class of function sets \(Q=\big \{ {Q_1,\ldots ,Q_p } \big \}, Q_i\subset C^{1}\left( {{\mathbb {R}}^{n}} \right) \) which \(\big \{ {{\tilde{h}}_1 \left( x \right) ,\ldots ,{\tilde{h}}_p \left( x \right) } \big \}\) must belong to, and therefore eliminate any irrelevant choices of functions. In this way we define \(\left( M \right) \) as a ‘partially specified model’ (Wood 2001).

To complete our model \(\left( M \right) \), we first need to make an arbitrary initial choice of parameterisation of the functions \({\tilde{h}}_1,\ldots ,{\tilde{h}}_p \), which we shall denote by \(h_1,\ldots ,h_p \). We call these functions the ‘base functions’, and their exact form does not matter, provided that they are taken from \(Q\) and are fitted to available experimental data. To fully determine whether or not \(\left( M \right) \) is \(\varepsilon \)-structurally \(\sigma \)-sensitive or not (for the given base functions), we first need to obtain values for \(\varepsilon \) and \(\sigma \) (\(\varepsilon \) being the accuracy of the available experimental data, and \(\sigma \) set to the desired precision of our model predictions), and then check the entirety of \(B_\varepsilon \left( {M;d_Q } \right) \) for models which predict behaviour that differs either qualitatively or quantitatively by at least \(\sigma \) from the behaviour predicted by \(\left( M \right) \). The main difficulty in such an investigation is the requirement that we cover all functions of \(B_\varepsilon \left( {M;d_Q } \right) \): since this is generally infinite dimensional—it is the space of function sets in \(Q\) that take values within \(\varepsilon \) of those of the base function set—it is obviously impossible to directly check this neighbourhood as can be done in variation-of-parameters investigations. However, as an alternative to considering neighbourhoods in function space directly, we note that several properties of a dynamical system are completely determined by a few specific values of the model functions and their derivatives, rather than the entire functions. The main idea of the general structural sensitivity analysis is to project the initial infinite dimensional neighbourhoods in functional space onto the finite dimensional space with coordinates consisting of the specific required values of the functions \({\tilde{h}}_i\) and their derivatives. By thoroughly exploring the projected space, we will be able to make exhaustive conclusions about the presence or absence of structural sensitivity.

One example of this approach was presented in Example 1 in the Introduction. We shall now consider another important example to further illustrate the general idea of the above approach. Notation is the same as in Example 1.

Example 2

Sensitivity of the Number of Equilibria in the System

Let us again consider the case that we have a single unknown function of one variable. Structural sensitivity can also take place in this case through a change in the number of equilibria in the system when the function is changed slightly. To check for this possibility, we can try to find the equilibria of the system by considering the isocline equations, bearing in mind that since we have an unspecified function, the system of these equations will be underdetermined, because the value \({\tilde{h}}\left( {x_i^*} \right) \) taken by the unknown function at the equilibrium will be an additional unknown. We can proceed, as in Example 1, by choosing the equilibrium value \(x_i^*\) as a parameter of the investigation, and rearranging the isocline equations to obtain the value of the function \({\tilde{h}}\left( {x_i^*} \right) \) at the equilibrium in terms of this equilibrium value parameter (as given, for example, by the green curve in Fig. 3a). By doing so, we obtain for the value of \({\tilde{h}}\left( {x_i^*} \right) \):

$$\begin{aligned} {\tilde{h}}\left( {x_i^*} \right) =l, \quad x_i^*\in \Omega : \quad \left\| {{\tilde{h}}\left( {x_i^*} \right) -h\left( {x_i^*} \right) } \right\| <\varepsilon ,\;\hbox {where}\,h\,\hbox {is}\,\hbox {the}\,\hbox {base}\,\hbox {function}. \end{aligned}$$

The curve \(l(x_{i}^{*})\) is the solution of the equation \(G\big ( {\ldots ,{\tilde{h}}\left( {x_i^*} \right) ,\ldots } \big )=0\): all points corresponding to a system equilibrium must be located on \(l\). Note that the choice of a particular function \({\tilde{h}}\) in the model will define all equilibrium points \(x_i^*\) since these points will be given by intersections between the curve \(l\) and \({\tilde{h}}\left( {x_i^*} \right) \).

We can then introduce an additional equilibrium coordinate \(y_i^*\) as a further parameter (again, this equilibrium should lie on \(l\)) and for each choice of two equilibrium points \(x_i^*\) and \(y_i^*\), we can check whether it is possible to have a valid function \({\tilde{h}}\) such that these values are the only solutions to its equilibrium equation (i.e. the intersection between \({\tilde{h}}\) and \(F)\). In the case we are able to find such a function \({\tilde{h}}\) in \(B_\varepsilon \left( {M;d_Q } \right) \) we shall have sensitivity of the model with respect to the number of stationary states. Further, it is possible to add a third equilibrium, a fourth etc, until we reach the maximum number of equilibria possible (note that our requirements that the second derivatives of our functions be within some bounds will ensure that the number of possible equilibria is bounded). If we can show that there are functions taking at least two different numbers of equilibria, then we can conclude that the system is structurally sensitive in this regard.

In both Examples 1 and 2 the problem of covering the neighbourhood \(B_\varepsilon \left( {M;d_Q } \right) \) in function space is reduced to the problem of determining whether or not a function in \(B_\varepsilon \left( {M;d_Q } \right) \) exists which, when added to the model, will yield certain values, specifically certain equilibrium values, and values taken by the function and its derivative at these equilibria. These are nontrivial problems, and depend on the base functions used in the model \(\left( M \right) \): using the \(d_Q\) distance requires that functions taking the given set of local values must also be within a distance \(\varepsilon \) of the base function set across the entire domain \(\Omega \), and therefore the problem is a nonlocal one. However, once these problems have been solved the rest of the analysis is straightforward, and so methods for constructing the necessary and sufficient conditions for the existence of functions taking a given set of local values whilst remaining in \(B_\varepsilon \left( {M;d_Q} \right) \) are very powerful tools for structural sensitivity analysis.

In the current paper, as in (Adamson and Morozov 2013), we shall consider Example 1—detecting structural sensitivity with respect to the stability of a given equilibrium. In the previous paper, the necessary and sufficient conditions for the existence of a function \({\tilde{h}}\) in \(B_\varepsilon \left( {M;d_Q } \right) \) yielding certain equilibrium values \(P^{*}\) and taking values \({\tilde{h}}\left( {P^{*}} \right) \) and \({\tilde{h}}^{\prime }\left( {P^{*}} \right) \) were found for the cases where the base function is positive and monotonically increasing (e.g. functional response of Holling type II) and when it is monotonically decreasing (such as a logistic growth function). In the next section, we expand on these results, and present a general method for obtaining such conditions in the case that our base function has \(n\) inflection points.

4 Determining the \(\varepsilon _{\!Q}\)-neighbourhood for a function with \(n\) known inflection points

In a wide variety of cases, we require processes to be modelled by one-dimensional functions which are convex/concave over several ranges, and therefore possess a certain set of inflection points—for example, sigmoid functions, or in the most basic case, saturating functions such as a Holling type II functional response. The requirement for a function to be concave up/down over certain domains can be deduced either from theoretical reasoning or—to a basic extent—from experimental data. We show an example of such a function as the base function in Fig. 1, with six inflection points denoted as \(a_1 ,\ldots ,a_6 \). The main goal of this section is to provide a tool to be able to check for a given value of a function, \({\tilde{h}}\left( {x^{*}} \right) \), at an equilibrium point \(x^{*}\) and for a given value \({\tilde{h}}^{\prime }\left( {x^{*}} \right) \) of the derivative at this point, whether or not there exists at least one function passing through this point and remaining in the neighbourhood \(B_\varepsilon \left( {M;d_Q }\right) \). Here we provide such a tool, which is formulated by Theorem 1.

Fig. 1
figure 1

The \(\varepsilon _{\!Q}\)-neighbourhood of a base function \(h\) with six inflection points \(a_1 ,\ldots ,a_6 \), together with the upper and lower bounds \(\hbox {Upp}_{X,\textit{hX},\textit{DH}} \left( x \right) \) and \(\hbox {Low}_{X,\textit{hX},\textit{DH}} \left( x \right) \) of any functions satisfying conditions (i)–(iii) in Sect. 4. The base function is shown in black, while the upper and lower bounds \(h_{\varepsilon +}\) and \(h_{\varepsilon -} \) are shown in red and \(\hbox {Upp}_{X,\textit{hX},\textit{DH}} \left( x \right) \) and \(\hbox {Low}_{X,\textit{hX},\textit{DH}} \left( x \right) \) are shown in blue (color figure online)

Mathematically speaking, given a base function \(h:{\mathbb {R}}\rightarrow \left[ {0,x_{\mathrm{max}} } \right] \), and values \(X,\textit{hX}\) and \(\textit{DH}\) (see the definitions below), we want to determine whether or not there exists a function \({\tilde{h}}:{\mathbb {R}}\rightarrow \left[ {0,x_{\mathrm{max}} } \right] \) with continuous derivative that satisfies the following criteria:

  1. (i)

    \(\exists \) a partition \(0<a_1 <\cdots <a_n <x_{\mathrm{max}}\) such that either:

    $$\begin{aligned}&0<{\tilde{h}}^{{\prime }{\prime }}\left( x \right) <A_2 \, \hbox {for}\, x\in \left[ {0,} \right. \left. {a_1 } \right) \cup (\left. {a_2 ,a_3 } \right) \cup \cdots \cup (\left. {a_{2k} ,a_{2k+1} } \right) \cup \cdots \\&\hbox {and}\; A_1 <{\tilde{h}}^{{\prime }{\prime }}\left( x \right) <0\, \hbox {for}\, x\in (\left. {a_1 ,a_2 } \right) \cup (\left. {a_3 ,a_4 } \right) \cup \cdots \cup (\left. {a_{2k+1} ,a_{2k+2} } \right) \cup \cdots , \end{aligned}$$

    or

    $$\begin{aligned}&A_1 <{\tilde{h}}^{{\prime }{\prime }}\left( x \right) <0\, \hbox {for}\, x\in \left[ {0,} \right. \left. {a_1 } \right) \cup (\left. {a_2 ,a_3 } \right) \cup \cdots \cup (\left. {a_{2k} ,a_{2k+1} } \right) \cup \cdots \\&\hbox {and}\;0<{\tilde{h}}^{{\prime }{\prime }}\left( x \right) <A_2 \,\hbox {for}\,x\in (\left. {a_1 ,a_2 } \right) \cup (\left. {a_3 ,a_4 } \right) \cup \cdots \cup (\left. {a_{2k+1} ,a_{2k+2} } \right) \cup \cdots \!, \end{aligned}$$
  2. (ii)

    \({\tilde{h}}\left( X \right) =\textit{hX}\) and \({\tilde{h}}^{\prime }\left( X \right) =\textit{DH}\),

  3. (iii)

    \({\tilde{h}}\left( 0 \right) =0\),

which is in the \(\varepsilon \)-neighbourhood of the base function \(h\), defined in terms of either absolute or relative distance. That is, if \(h_{\varepsilon +} \) and \(h_{\varepsilon -}\) are the functions giving the upper and lower boundaries of the \(\varepsilon \)-neighbourhood of \(h\) [if we are using the absolute definition of distance, \(h_{\varepsilon +} \left( x \right) =h\left( x \right) +\varepsilon \) and \(h_{\varepsilon -} =h\left( x \right) -\varepsilon \), while if we are using the relative definition of distance, \(h_{\varepsilon +} \left( x \right) =\frac{h\left( x \right) }{1-\varepsilon }\) and \(h_{\varepsilon -} =\left( {1-\varepsilon } \right) h(x)\)] then \(h_{\varepsilon -} \left( x \right) \le {\tilde{h}}\left( x \right) \le h_{\varepsilon +} \left( x \right) \forall x\in \left[ {0,x_{\mathrm{max}} } \right] \). We note that the base function \(h\) should also satisfy conditions (i) and (iii): these define the function class \(Q\) from which we should choose any appropriate base function. In practice, \(X\) will usually denote a parameter corresponding to an equilibrium point, and condition (ii) simply states that \(\textit{hX}\) corresponds to the value taken by the unknown function at this equilibrium point and that \(\textit{DH}\) corresponds to the value taken by its derivative at this point. Condition (i) states that we want our function to be alternatingly concave up and concave down across the given partition, which forms the set of the function’s inflection points. Condition (iii) simply states that the function should pass through the origin—as is required for most functions (growth rates, for example) to make biological sense.

In order to determine the existence of such a function, we note that given any function \(g\) that satisfies criteria (i), (ii) and (iii) and that at some point \(y\in \left( {a_k ,a_{k+1} } \right) \) assumes the value \(g\left( y \right) \) with derivative \(g^{\prime }\left( y \right) \), the upper and lower bounds of this function can be defined across the entire domain \(\left[ {0,x_{\mathrm{max}} } \right] \) as follows (see the blue curves in Fig. 1 for an example):

  1. (1)

    If criterion (i) requires \(0<{\tilde{h}}^{{\prime }{\prime }}\left( x \right) <A_2\) for \(x\in \left[ {a_k ,a_{k+1} } \right] \), as is the case in Fig. 1, then the upper bound of \(g\) across \(\left[ {a_k ,a_{k+1} } \right] \) is given by \(g(x)\le \textit{Upp}_{y,g(y),{g}'(y)} (x)=g(y)+{g}'(y)(x-y)+\frac{A_2 }{2}\left( {x-y} \right) ^{2}\)—i.e. the parabola with maximal second derivative \(A_2 \) tangent to \(g\) at \(y\)—and the lower bound of \(g\) across the same interval is given by \(g(x)\ge Low_{y,g(y),{g}'(y)} (x)=g(y)+{g}'(y)(x-y)\)—i.e. \(g\) must lie above its own tangent at \(y\) since it is concave up over this interval. Similarly, if criterion (i) requires \(A_1 <{\tilde{h}}^{{\prime }{\prime }}\left( x \right) <0\) for \(x\in \left( {a_k ,a_{k+1} } \right) \), then the upper bound of \(g\) across \(\left[ {a_k ,a_{k+1} } \right] \) is given by \(\textit{Upp}_{y,g(y),{g}'(y)} (x)=g(y)+{g}'(y)(x-y)\) and the lower bound is given by \(Low_{y,g(y),{g}'(y)} (x)=g(y)+{g}'(y)(x-y)+\frac{A_1 }{2}\left( {x-y} \right) ^{2}\). Furthermore, these bounds are strict except at \(y\) itself.

  2. (2)

    We now extend our upper and lower boundaries to the adjacent intervals \(\left[ {a_{k-1} ,a_k } \right] \) and \(\left[ {a_{k+1} ,a_{k+2} } \right] \). Consider \(\left[ {a_{k-1} ,a_k } \right] \), and assume that we have the case where \(0<{\tilde{h}}^{{\prime }{\prime }}\left( x \right) <A_2 \) for \(x\in \left( {a_k ,a_{k+1} } \right) \), as in Fig. 1. We already have a value for the upper bound at \(a_k: Upp_{y,g(y),{g}'(x)} (a_k )=g(y)+{g}'(y)(a_k -y)+\frac{A_2 }{2}\left( {a_k -y} \right) ^{2}\), so we can continue the upper bound by following step 1), replacing \(y,g\left( y \right) \) and \(g^{\prime }\left( y \right) \) with \(a_k, \hbox {Upp}_{y,g\left( y \right) ,g^{\prime }\left( y \right) } \left( {a_k } \right) \) and \(\hbox {Upp}^{\prime }\left( {a_k } \right) \), where \(\hbox {Upp}^{\prime }\left( {a_k } \right) ={g}'(y)+A_2(a_k-y)\) is the (right) derivative of the curve \(\hbox {Upp}_{y,g\left( y \right) ,g^{\prime }\left( y \right) } \left( x \right) \) at \(a_k \). Since in this case, \(A_1 <{\tilde{h}}^{{\prime }{\prime }}\left( x \right) <0\) for \(x\in \left( {a_{k-1} ,a_k } \right) \), we can define \(\hbox {Upp}_{y,g\left( y \right) ,g^{\prime }\left( y \right) }\) across \(\left[ {a_{k-1} ,a_k } \right] \) as the tangent line to \(\hbox {Upp}_{y,g\left( y \right) ,g^{\prime }\left( y \right) } \left( {a_k } \right) \). In a similar way, we can continue the lower bound across this interval, starting from \(Low_{y,g(y),{g}'(y)} (a_k )=g(y)+{g}'(y)(a_k -y)\) and \(\hbox {Low}^{\prime }\left( {a_k } \right) =g^{\prime }{y}\), and following the parabola of second derivative \(A_1 \) that is tangent to \(\hbox {Low}_{y,g\left( y \right) ,g^{\prime }\left( y \right) } \left( {a_k } \right) \). Essentially we are proceeding exactly as per step 1), but using \(\hbox {Upp}_{y,g\left( y \right) ,g^{\prime }\left( y \right) } \left( {a_k } \right) \) and its right-derivative as initial values. This can be seen clearly from Fig. 1, where the upper and lower bounds over \(\left[ {a_2 ,a_3 } \right] \) are the line and parabola, respectively, continuing from the upper and lower bounds already defined over \(\left[ {a_3 ,a_4 } \right] \). We use exactly the same approach over \(\left[ {a_{k+1} ,a_{k+2} } \right] \), and the alternative case, in which \(A_1 <{\tilde{h}}^{{{\prime }{\prime }}}\left( x \right) <0\) over the original interval \(x\in \left[ {a_k ,a_{k+1} } \right] \), can be dealt with in a similar manner.

  3. (3)

    Using the values and derivatives of \(\hbox {Upp}_{y,g\left( y \right) ,g^{\prime }\left( y \right) } \) and \(\hbox {Low}_{y,g\left( y \right) ,g^{\prime }\left( y \right) } \) at \(a_{k-1} \) and \(a_{k+2} \), we can extend \(\hbox {Upp}_{y,g\left( y \right) ,g^{\prime }\left( y \right) } \) and \(\hbox {Low}_{y,g\left( y \right) ,g^{\prime }\left( y \right) } \) in the same way over the intervals \(\left[ {a_{k-2} ,a_{k-1} } \right] \) and \(\left[ {a_{k+2} ,a_{k+3} } \right] \). We can then proceed to define \(\hbox {Upp}_{y,g\left( y \right) ,g^{\prime }\left( y \right) }\) and \(\hbox {Low}_{y,g\left( y \right) ,g^{\prime }\left( y \right) }\) inductively across the whole of the domain \(\left[ {0,x_{\mathrm{max}} } \right] \).

To derive conditions for the existence of a function \({\tilde{h}}\) satisfying (i), (ii) and (iii) in the \(\varepsilon \)-neighbourhood of \(h\), we must first create the \(\hbox {Upp}_{y,g\left( y \right) ,g^{\prime }\left( y \right) }\) and \(\hbox {Low}_{y,g\left( y \right) ,g^{\prime }\left( y \right) }\) functions using steps (1)–(3), starting with \(y=X, g\left( y \right) =\textit{hX}\) and \({g}{{\prime }(y)=\textit{DH}}\). This will give us the upper and lower bounds for any viable function \({\tilde{h}}\). We now put forward the following:

Theorem 1

There exists a function \({\tilde{h}}:{\mathbb {R}}\rightarrow \left[ {0,x_{\mathrm{max}} } \right] \) that satisfies criteria (i), (ii) and (iii) if and only if:

$$\begin{aligned} \hbox {Upp}_{X,\textit{hX},\textit{DH}} \left( x \right) >h_{\varepsilon -} \left( x \right) \quad \forall x\in \left[ {0,x_{\mathrm{max}} } \right] ,\hbox {Upp}_{X,\textit{hX},\textit{DH}} \left( 0 \right) \ge 0,\qquad \qquad (9) \end{aligned}$$

and \(\hbox {Low}_{X,\textit{hX},\textit{DH}} \left( x \right) <h_{\varepsilon +} \left( x \right) \forall x\in \left[ {0,x_{\mathrm{max}} } \right] \), \(\hbox {Low}_{X,\textit{hX},\textit{DH}} \left( 0 \right) \le 0\),

where \(\hbox {Upp}_{X,\textit{hX},\textit{DH}}\) and \(\hbox {Low}_{X,\textit{hX},\textit{DH}} \) are the upper and lower bound functions defined in steps (1)–(3) above\(\square \)

The proof of this theorem can be found in Appendix B. Using this result, we can determine a projection of the \(\varepsilon _{\!Q}\)-neighbourhood of \(h\) from function space into a space composed of the values \(X=x^{*}, \textit{hX}={\tilde{h}}\left( {x^{*}} \right) \) and \(\textit{DH}={\tilde{h}}^{\prime }\left( {x^{*}} \right) \), but we need to know the inflection points \(a_1 ,\ldots ,a_n\) beforehand. In practice, however, we are rarely sure of the exact value of the inflection points—even if we can theoretically justify their existence and number. Because of this, we should add the inflection points themselves as parameter values of our sensitivity investigation. From here we can either consider these \(n\) inflection values as extra dimensions in the finite-dimensional space (already consisting of the values \(X=x^{*}\), \(\textit{hX}={\tilde{h}}\left( {x^{*}} \right) \) and \(\textit{DH}={\tilde{h}}^{\prime }\left( {x^{*}} \right) )\) in which we will conduct our investigation, or we can simply consider our overall projected \(\varepsilon _{\!Q}\)-neighbourhood in the original \(\left( {X,\textit{hX},\textit{DH}} \right) \)-space as the union of the projected neighbourhoods in \(\left( {X,\textit{hX},\textit{DH}} \right) \)-space over all possible sets of inflection points. The latter approach has the advantage that it is more computationally efficient and much easier to visualise, but does carry the risk that some information will be lost when it comes to computing the volume of regions in the neighbourhood, as is necessary if we wish to quantify the sensitivity of a system.

In order to demonstrate how to use the result of Theorem 1 to investigate structural sensitivity in biological models, we shall next consider three different complex models from the literature, and explore the structural sensitivity of these models.

5 Structural sensitivity analysis at work

We now demonstrate the approach outlined in Sects. 3 and 4 by implementing such a test on several mathematical models taken from the literature.

5.1 Age-structured predator–prey model in a chemostat with nutrient

We consider the four dimensional system modelling predator–prey-nutrient dynamics in a chemostat from (Fussmann et al. 2000):

$$\begin{aligned} \frac{\mathrm{d}N}{\mathrm{d}t}&= \delta \left( {N_i -N} \right) -{\tilde{F}}_c \left( N \right) C,\end{aligned}$$
(5.1)
$$\begin{aligned} \frac{\mathrm{d}C}{\mathrm{d}t}&= {\tilde{F}}_c \left( N \right) C-\frac{F_B \left( C \right) B}{e}-\delta C,\end{aligned}$$
(5.2)
$$\begin{aligned} \frac{\mathrm{d}R}{\mathrm{d}t}&= F_B \left( C \right) R-\left( {\delta +m+\lambda } \right) R,\end{aligned}$$
(5.3)
$$\begin{aligned} \frac{\mathrm{d}B}{\mathrm{d}t}&= F_B \left( C \right) R-\left( {\delta +m} \right) B. \end{aligned}$$
(5.4)

Here \(N\) is the nutrient concentration, \(C\) is the concentration of a unicellular green algae, \(R\) is the concentration of planktonic rotifer that is still of reproductive age, and \(B\) is the total concentration of the planktonic rotifer. \({\tilde{F}}_C \left( N \right) \) and \(F_B \left( C \right) \) are the functional responses of the algae and the rotifer, respectively, which Fussmann et al. consider to be Monod functions \({\tilde{F}}_C \left( N \right) {:=}\frac{b_C N}{K_C +N}\) and \(F_B \left( C \right) {:=}\frac{b_B C}{K_B +C}\). See Fussmann et al. (2000) for full explanation of the model parameters and discussion of the model’s dynamical behaviour. The key bifurcation parameter in the system is the dilution rate \(\delta \).

In this case, we shall check for structural sensitivity in this system with respect to the functional response of the algae, \({\tilde{F}}_c \left( N \right) \), so we assume that the parameterisation of the functional response of the rotifer is fixed as \(F_B \left( C \right) {:=}\frac{b_B C}{K_B +C}\). We require that \({\tilde{F}}_c \) be a function satisfying the following conditions:

$$\begin{aligned}&(\hbox {i})\quad {\tilde{F}}_c \left( 0 \right) =0, \end{aligned}$$
(5.5)
$$\begin{aligned}&(\hbox {ii}) \quad {\tilde{F}}{_c }^{\prime } \left( N \right) >0\quad \forall N\in \left[ {0,N_{\mathrm{max}} } \right] ,\end{aligned}$$
(5.6)
$$\begin{aligned}&(\hbox {iii})\quad A<{\tilde{F}^{{\prime }{\prime }}}_C \left( N \right) <0\quad \forall N\in \left[ {0,N_{\mathrm{max}} } \right] . \end{aligned}$$
(5.7)

That is, \({\tilde{F}}_c\) is a functional response of Holling type II: an increasing, saturating function passing through the origin. We take the base function of \({\tilde{F}}_c \) as \(F_C \left( N \right) :{=}\frac{b_C N}{K_C +N}\), with the same parameters, \(b_C =3.3\) and \(K_C =4.3\), as are used in the previously cited paper, and consider only functions that are within an absolute distance \(\varepsilon \) of this base function \(F_C \), that is:

$$\begin{aligned} \left| {{\tilde{F}}_c \left( N \right) -F_C \left( N \right) } \right| <\varepsilon \,\forall N\in \left[ {0,N_{\mathrm{max}} } \right] . \end{aligned}$$

This can also be expressed as \({\tilde{F}}_c \left( N \right) <F_c^{\varepsilon +} \left( N \right) =F_C \left( N \right) +\varepsilon \), and \({\tilde{F}}_c \left( N \right) <F_c^{\varepsilon -} \left( N \right) =F_C \left( N \right) -\varepsilon \).

Now finding an equilibrium of system (5.15.4) is an underdetermined problem, since it entails solving four isocline equations for five unknowns, \(N^{*}\!, C^{*}\!, R^{*}\!, B^{*}\) and FN—where \(FN={\tilde{F}}_c \left( {N^{*}} \right) \)—so we let \(N^{*}\) follow \(\Xi \), an unspecified parameter of our investigation. Given a choice of \(\Xi \), we can then substitute in \(N^{*}=\Xi \) into (5.15.4), and then determine the values \(C^{*}\!, R^{*}\!, B^{*}\) and FN. Similarly, when performing a linear stability analysis, the unknown value \({\tilde{F}}_C^{\prime } \left( {N^{*}} \right) \) will feature in the Jacobian matrix of (5.15.4) at \(\left( {N^{*}\!,C^{*}\!,R^{*}\!,B^{*}} \right) \), so we let this value follow the parameter DF. Once a value of \(DF\) is chosen, we can set \({\tilde{F}}_C^{\prime } \left( {N^{*}} \right) =\) DF, and conditions for the eigenvalues of the Jacobian to have negative real parts can be derived analytically to determine whether \(\left( {N^{*},C^{*},R^{*},B^{*}} \right) \) is a stable equilibrium or not.

Now we need to derive the necessary and sufficient conditions for there to exist a function \({\tilde{F}}_c :\left[ {0,N_{\mathrm{max}} } \right] \rightarrow {\mathbb {R}}\) satisfying conditions (5.55.7) such that \(N^{*}=\Xi \) and \({\tilde{F}}_C^{\prime } \left( {N^{*}} \right) =\) DF hold for a given point \(\left( {\Xi , \textit{dF}} \right) \). These specific conditions were previously derived and proved in (Adamson and Morozov 2013), but can also be derived from Theorem 1 in the case that there is no inflection point: since a Holling-type II function is concave down across the whole domain, the proof remains valid.

In this case, the upper and lower bounds of \({\tilde{F}}_c\) are as follows:

$$\begin{aligned} \hbox {Upp}_{\Xi ,\textit{FN},\textit{DF}} \left( N \right)&= FN+DF\left( {N-\Xi } \right) \!,\\ \hbox {Low}_{\Xi ,\textit{FN},\textit{DF}} \left( N \right)&= FN+DF\left( {N-\Xi } \right) +\frac{1}{2}A\left( {N-\Xi } \right) ^{2}\!, \end{aligned}$$

and by Theorem 1 the conditions for the existence of such a function \({\tilde{F}}_c \) are:

$$\begin{aligned}&FN+DF\left( {N-\Xi } \right) >F_c^{\varepsilon -} \left( N \right) \quad \forall N\in \left[ {0,N_{\mathrm{max}} } \right] ,\\&FN+DF\left( {N-\Xi } \right) +\frac{1}{2}A\left( {N-\Xi } \right) ^{2}<F_c^{\varepsilon +} \left( N \right) \quad \forall N\in \left[ {0,N_{\mathrm{max}} } \right] ,\\&FN-\Xi \,DF>0\,\hbox {and}\, , FN-\Xi \,DF+\frac{1}{2}A \Xi ^{2}<0 \end{aligned}$$

We now proceed by scanning the \(\left( {\Xi ,DF} \right) \)-space, and using these conditions to check each point for the existence of a corresponding function satisfying (i)–(iii), as well as using the Jacobian to check whether or not the interior equilibrium in the system with such a function would be stable or unstable. The results of such investigations are shown in Fig. 2b–d constructed for three values of the chemostat dilution rate, \(\delta \). In Fig. 2a we show the base function, the lower and upper bounds as well as the curve \({\tilde{F}}_c \left( \Xi \right) \) showing the dependence of \({\tilde{F}}_c \left( {N^{*}} \right) \) on the parameter \(\Xi \)—since this curve has negative derivative, it is clear that we can only have a single equilibrium value \(N^{*}\) for a given functional response, since all functional responses have positive derivative. The parameters used are identical to those found in Fussmann et al. (2000) except for the maximum per-capita algae-consumption rate of the rotifer, \(b_B \), which we change from \(b_B =2.25\) to \(b_B =1.95\)—since with the original parameters there is little structural sensitivity present for us to discuss. We note, however, that the new parameters are still well within the values reported in the literature (e.g. Halbach and Halbach-Keup 1974). With the new parameter set, we see that when \(\delta =0.175\) the system exhibits very little structural sensitivity (Fig. 2b), as almost the entire domain is covered by the region of stability, but we see that for intermediate values of \(\delta \), shown in Fig. 2c for \(\delta =0.5\), there are significant regions of both stability and instability in the \(\left( {\Xi ,DF} \right) \) domain. In this figure, the fact that the azure region is located entirely within the domain of instability indicates that fixing \({\tilde{F}}_c =\frac{b_C N}{K_C +N}\) and varying the parameters \(b_C\) and \(K_C\) will give the misleading impression that the interior equilibrium is unstable for all possible functional responses. In Fig. 2d we see the domain with \(\delta =0.7\) is once again dominated by the stable region. Overall, with the formulation of the functional response fixed as a Monod function, a variation-of-parameters investigation will uncover a pair of forward and backwards supercritical Hopf bifurcations with respect to the parameter \(\delta \), but the continued presence of a green domain indicates that there may well be a different functional response parameterisation which is just as valid as the original function with regards to qualitative properties and data fitting, but for which the interior equilibrium is stable for all values of \(\delta \). Thus for some functional responses, variation in the dilution rates will not result in a Hopf bifurcation, which was originally suggested in Fussmann et al. (2000). In Sect. 6 we provide a different interpretation of the experimental results of Fussmann et al. (2000) based on structural sensitivity of the system.

Fig. 2
figure 2

A structural sensitivity investigation of the nutrient-algae-reproducing rotifer-total rotifer system (5.15.4). a The base function \(F_C \left( N \right) {:=}\frac{b_C N}{K_C +N}\) and its \(\varepsilon \)-neighbourhood. \(F_C \) is given by the red curve, while the boundaries of its \(\varepsilon \)-neighbourhood are given by the blue curves. The green curve is derived from isocline analysis of the system, and gives us the equilibrium value \({\tilde{F}}_C \left( {\hbox {N}^{*}} \right) \), as a function of the equilibrium parameter \(\Xi \). bd Stability portraits of the \(\varepsilon _{\!Q}\)-neighbourhood of the base functional response of the algae, \(F_C\), divided into regions of stability and instability of the interior equilibrium point, for three different values of the chemostat dilution rate, \(\delta \). The green regions consist of points that correspond to a system with stable equilibrium, and the red regions of points which correspond to a system with unstable equilibrium. Dark blue indicates that there is no valid model function in the \(\varepsilon _Q\)-neighbourhood of \(F_C\) such that the system with this function has equilibrium values \(N^{*}=\Xi \) and \(F_C^{\prime } \left( {N^{*}} \right) =DF\). Azure regions indicate that the point \(\left( {\Xi ,{DF}} \right) \) can be covered by keeping the formulation of the base function and varying its parameters. The parameters are \(N_i =80; K_B =15; b_B =1.95; \varepsilon =0.25; m=0.055; \lambda =0.4\). The dilution rate \(\delta \) takes the values: b \(\delta =0.175\), c \(\delta =0.5\), d \(\delta =0.75\) (color figure online)

5.2 Nutrient-phytoplankton–zooplankton model with detritus

We consider the nutrient-phytoplankton–zooplankton-detritus model given by:

$$\begin{aligned} \frac{dN}{dt}&= -\frac{N}{\left( {e+N} \right) }\frac{a}{\left( {b+cP} \right) }P+\beta {\tilde{h}}\left( P \right) Z\!+\!\gamma dZ^{2}\!+\!\varphi D+k\left( {N_0 -N} \right) \!,\qquad \end{aligned}$$
(5.8)
$$\begin{aligned} \frac{dP}{dt}&= \frac{N}{\left( {e+N} \right) }\frac{a}{\left( {b+cP} \right) }P-rP-{\tilde{h}}\left( P \right) Z-\left( {s+k} \right) P,\end{aligned}$$
(5.9)
$$\begin{aligned} \frac{dZ}{dt}&= \alpha {\tilde{h}}\left( P \right) Z-dZ^{2},\end{aligned}$$
(5.10)
$$\begin{aligned} \frac{dD}{dt}&= rP+\left( {1-\alpha -\beta } \right) {\tilde{h}}\left( P \right) Z-\left( {\phi +\psi +k} \right) D, \end{aligned}$$
(5.11)

where the state variables \(N, P, Z\) and \(D\) represent the concentrations of nutrient, phytoplankton, zooplankton and detritus in the well-mixed upper layer of the ocean respectively, as first proposed in Edwards (2001), where a detailed description of the model and its parameters can be found. In particular, we are interested in the function \({\tilde{h}}\left( P \right) \), which is the functional response of the zooplankton—i.e. the per-capita rate at which zooplankton consume phytoplankton as a function of phytoplankton density. We take the precise formulation of this function to be unknown, but require it to be a \(C^{1}\!\)-function having the following properties (based on the classical definition of Holling type III in the literature, see Gentleman et al. 2003):

  1. (i)

    \({\tilde{h}}\left( 0 \right) =0\)

  2. (ii)

    \({\tilde{h}}^{\prime }\left( P \right) >0\quad \forall P\in \left[ {0,P_{\mathrm{max}} } \right] \)

  3. (iii)

    \(\exists P_0 \in \left( {0,P_{\mathrm{max}} } \right) \) such that \(0<{\tilde{h}}^{{\prime }{\prime }}\left( P \right) <A_1 \ \forall \,P\in \left[ {0,P_0 } \right] \)

and \(A_2 <{\tilde{h}}^{{\prime }{\prime }}\left( P \right) <0\,\forall \, P\in \left[ {P_0 ,P_{\mathrm{max}} } \right] \).

That is, \({\tilde{h}}\) is an increasing sigmoid function over \(\left[ {0,x_{\mathrm{max}} } \right] \) that passes through the origin; \(A_{1}\) and \(A_{2}\) are parameters characterizing the values of the second derivative (these can be estimated based on the base function, but several values should be considered). We further require that \({\tilde{h}}\) be an absolute distance of less than \(\varepsilon \) from the base function \(h\left( P \right) \), which we take to be the functional response used in Edwards (2001): \(h\left( P \right) =\frac{\lambda P^{2}}{\mu ^{2}+P^{2}}\), with \(\lambda =0.6\) and \(\mu =0.035\). That is:

$$\begin{aligned} {\tilde{h}}\left( P \right) -h\left( P \right) <\varepsilon \quad \forall P\in \left[ {0,P_{\mathrm{max}} } \right] \end{aligned}$$

Now, finding the equilibrium densities in (5.85.11) requires us to solve a system of four equations for five unknown variables, so we allow the equilibrium density of the prey, \(P^{*}\), to follow \(P^{*}=\Phi \), where \(\Phi \) is a parameter of the investigation, and then we can solve the four equations for \(N^{*}\!, Z^{*}\), \(D^{*}\) and \(hP\)—where \(hP={\tilde{h}}\left( {P^{*}} \right) \) denotes the value of the functional response at the equilibrium—in the usual way. Figure 3a shows the base functional response in red and the upper and lower limits—in blue—of any viable function \({\tilde{h}}\), together with the curve showing the dependence of \(hP\) on the parameter \(\Phi \) (n.b.-this should not be confused with the dependence of \({\tilde{h}}\left( P \right) \) on \(P\), which remains unspecified throughout).

Fig. 3
figure 3

A structural sensitivity investigation of the nutrient-phytoplankton–zooplankton-detritus system (5.85.11). a The base function \(h\left( P \right) =\frac{\lambda P^{2}}{\mu ^{2}+P^{2}}\) and its \(\varepsilon \)-neighbourhood. \(h\) is given by the red curve, while the boundaries of its \(\varepsilon \)-neighbourhood are given by the blue curves. The green curve is derived from isocline analysis of the system, and gives us the equilibrium value \({\tilde{h}}\left( {P^{*}} \right) \), as a function of the equilibrium parameter \(\Phi \). bd Stability portraits of the \(\varepsilon _Q\)-neighbourhood of the base functional response, \(h\), divided into regions of stability and instability of a specific equilibrium point, for three different values of the zooplankton predation rate, \(d\). The green regions consist of points that correspond to a system with stable equilibrium, and the red regions of points which correspond to a system with unstable equilibrium. Dark blue indicates that there is no valid model function in the \(\varepsilon _{\!Q}\)-neighbourhood of \(h\) such that the system with this function has equilibrium values \(P^{*}=\Phi \) and \({h}''\). Azure regions indicate that the point \(\left( {\Phi ,\textit{DH}} \right) \) can be covered by keeping the formulation of the base function and varying its parameters. The parameters are \(e=0.03; a=0.2; b=0.2; c=0.4; \beta =0.33; \gamma =0.5; \phi =0.1; k=0.05; r=0.15; s=0.04; \alpha =0.25; \psi =0.08\) and \(N_0 =0.6\). The zooplankton predation rate in each figure is: B \(d=1.0\), C \(d=1.7\), d \(d=2.1\) (color figure online)

In order to find the stability of the equilibrium point \(\left( {N^{*}\!,P^{*}\!,Z^{*}\!,D^{*}} \right) \), we can carry out the usual linear stability analysis by calculating the Jacobian from (5.85.11) at \(\left( {N^{*}\!,P^{*}\!,Z^{*}\!,D^{*}} \right) \) and checking the sign of the real parts of its eigenvalues, but the Jacobian depends on the value \({\tilde{h}}^{\prime }\left( {P^{*}} \right) \), which is unknown, and so we allow this value to follow \({\tilde{h}}^{\prime }\left( {P^{*}} \right) =\textit{DH}\), where \(\textit{DH}\) is another investigation parameter. Further, we note that the inflection point of our sigmoid function \({\tilde{h}}\) is unknown, and so needs to be treated as a further parameter of our investigation,\(P_0 \), as was discussed in the concluding paragraph of Sect. 4. In this instance, we shall consider a wide range of values of \(P_0\) and superimpose the resulting projected \(\varepsilon _Q\)-neighbourhoods to obtain the total \(\varepsilon _Q\)-neighbourhood.

It is easy to obtain the necessary and sufficient conditions for there to exist a sigmoid function in the \(\varepsilon _Q\)-neighbourhood corresponding to the given values \(\left( {\Phi ,\textit{DH}} \right) \), although for the sake of brevity we move this to Appendix C. Once these conditions are obtained, we can cover the (\(\Phi -\textit{DH})\) parameter space numerically, checking the conditions to determine whether each point \(\left( {\Phi ,\textit{DH}} \right) \) has a corresponding sigmoid function in the \(\varepsilon _Q\)-neighbourhood of \(h\) with an equilibrium and derivative taking these values. At the same time, if \(\left( {\Phi ,\textit{DH}} \right) \) does correspond to such a function, we can numerically check the real parts of the eigenvalues of the Jacobian to determine the stability of the corresponding equilibrium point \(\left( {N^{*}\!,P^{*}\!,Z^{*}\!,D^{*}} \right) \).

Such an investigation, using the necessary and sufficient conditions provided in Appendix C, gives us portraits as in Fig. 3b–d. Here the dark blue regions give us the domain for which there is no function \({\tilde{h}}\in \varepsilon _Q \left( h \right) \) such that the resulting system satisfies \(P^{*}=\Phi \) with \({\tilde{h}}^{\prime }\left( {P^{*}} \right) =\textit{DH}\). The remaining region—the projection of the \(\varepsilon _Q\)-neighbourhood of \(h\) onto (\(\Phi -\textit{DH})\) space—is divided into areas in which the equilibrium is stable (green) and unstable (red). The overlying azure region is the range across which a function \({\tilde{h}}\) of the same form as the base function corresponds to the point \(\left( {\Phi ,\textit{DH}} \right) \)—i.e. this is the region which can be covered by fixing the parameterization as \({\tilde{h}}\left( P\right) =\frac{\lambda P^{2}}{\mu ^{2}+P^{2}}\), and simply varying the parameters \(\lambda \) and \(\mu \).

The figure shows us the results of a structural sensitivity analysis for the system with three different choices of the parameter \(d\)-the rate of predation on zooplankton by higher trophic levels. For \(d=1.0\) (Fig. 3b), we see that the azure region entirely overlies the green stability region, indicating that the conventional parameter variation approach used in Edwards (2001) would indicate no structural sensitivity for this system. However, our analysis reveals that there is still a significant region of instability in the system, which would be missed by the conventional approach. As \(d\) is increased to 1.7, the azure region moves to straddle the bifurcation line (Fig. 3c), but when it is increased further to 2.1 the azure region moves back towards the stability domain. In the system with fixed base function \(h\left( P \right) =\frac{\lambda P^{2}}{\mu ^{2}+P^{2}}\), this behaviour is shown to manifest itself as a pair of forward and backward Hopf bifurcations (Edwards 2001), but we can see from Fig. 3d that when all possible parameterisations are taken into consideration, in fact the ratio between the areas of the stable and unstable regions remains relatively unchanged, which was somewhat overlooked in the initial publication by Edwards (2001). However, we note that since the azure region straddles the bifurcation line in this instance, a full variation of the parameters \(\lambda \) and \(\mu \) would also reveal this possibility to an extent.

5.3 Tri-trophic food chain model with time delay

As an example of how the structural sensitivity analysis framework can work on delay-differential equation models, we consider the following system:

$$\begin{aligned} \frac{dx_1 }{dt}&= x_1 \left( t \right) \left( {1-x_1 \left( t \right) } \right) -ax_1 \left( t \right) x_2 \left( t \right) \!,\end{aligned}$$
(5.12)
$$\begin{aligned} \frac{dx_2 }{dt}&= -bx_2 \left( t \right) +cx_1 \left( {t-\tau } \right) x_2 \left( t \right) -{\tilde{h}}\left( {x_2 \left( t \right) } \right) x_3 \left( t \right) -jx_2 \left( t \right) ^{2}\!,\end{aligned}$$
(5.13)
$$\begin{aligned} \frac{dx_3 }{dt}&= -fx_3 \left( t \right) +k{\tilde{h}}\left( {x_2 \left( {t-\tau } \right) } \right) x_3 \left( t \right) -lx_3 \left( t \right) ^{2}\!, \end{aligned}$$
(5.14)

representing a tri-trophic food chain model. Here \(x_i\) is the density of the species in the trophic level \(i\). A time delay takes place when food consumed by a predator is converted into its biomass, and, as in most time-delay systems, the length of this delay is a crucial bifurcation parameter. For details see (Kar et al. 2012). Notably, we allow the functional response of species \(x_3, {\tilde{h}}\), to be an unspecified Holling type II function [i.e., it satisfies conditions (5.55.7) from Sect. 5.1], within a distance \(\varepsilon \) of the base function given by the Monod parameterisation \(h\left( {x_2 } \right) {:=}\frac{dx_2 }{x_2 +e}\). We shall check for structural sensitivity in terms of the stability of a nontrivial equilibrium with respect to variation of this functional response. Finding the equilibria of system (5.125.13) is an underdetermined problem, as we need to solve three equations with four unknowns: \(x_1^*, x_2^*,x_3^*\) and \(\textit{hX}\), where \(\textit{hX}={\tilde{h}}\left( {x_2^*} \right) \), so we let \(x_2^*\) follow \(\Xi \), a parameter of our investigation. Given any choice of \(\Xi \), we can substitute \(x_2^*=\Xi \) into (5.125.13) and the values \(x_1^*\) and \(x_3^*\) will be uniquely determined, while possible values \(\textit{hX}\) will be given by the positive roots of a quadratic equation (in all cases considered here, there is only one such positive root). Similarly, since \({\tilde{h}}^{\prime }\left( {x_2^*} \right) \) is unspecified, we let it follow the parameter \(\textit{DH}\) so that we can carry out linear stability analysis. Once we have the equilibrium point \(\left( {x_1^*,x_2^*,x_3^*} \right) \) and the values \({\tilde{h}}\left( {x_2^*} \right) \) and \({\tilde{h}}^{\prime }\left( {x_2^*} \right) \), we can use the standard approach for evaluating the stability of an equilibrium point of a delay-differential equation. Details of this stability analysis are provided in Appendix D. Finally, we note that, by Theorem 1, the necessary and sufficient conditions for there to exist a function \({\tilde{h}}:\left[ {0,x_{2\mathrm{max}} } \right] \rightarrow {\mathbb {R}}\) satisfying conditions (5.55.7) such that \(x_2^*=\Xi \), and \({\tilde{h}}^{\prime }\left( {x_2^*} \right) =\textit{DH}\) are the same as the conditions found in Sect. 5.1:

$$\begin{aligned}&\textit{hX}+\textit{DH}\left( {x_2 -\Xi } \right) >h\left( {x_2 } \right) -\varepsilon \quad \forall x_2 \in \left[ {0,x_{2\mathrm{max}} } \right] ,\\&\textit{hX}+\textit{DH}\left( {x_2 -\Xi } \right) +\frac{1}{2}A\left( {x_2 -\Xi } \right) ^{2}<h\left( {x_2 } \right) +\varepsilon \quad \forall x_2 \in \left[ {0,x_{2\mathrm{max}} } \right] ,\\&\textit{hX}-\Xi \cdot \textit{DH}>0\, \hbox {and}\,\textit{hX}-\Xi \cdot \textit{DH}+\frac{1}{2}A\cdot \Xi ^{2}<0. \end{aligned}$$

We can now carry out our approach by scanning the valid range of (\(\Xi -\textit{DH})\) space, using the above criteria to determine whether each point corresponds to a valid function \({\tilde{h}}\), and then finding the stability of the positive interior equilibrium for these values. The results of this analysis for several values of the time delay \(\tau \) are shown in Fig. 4. We see that, when \(\tau \) is around 0.5, almost the entire domain exhibits a stable interior equilibrium, but as \(\tau \) is increased the region of instability begins to grow until it occupies most of the domain at around \(\tau =1\). This is consistent with the findings of Kar et al. (2012) who obtained a critical value of \(\tau _0 \approx 0.9\) for the system with the Monod functional response as a base function.

Fig. 4
figure 4

A structural sensitivity investigation of the tri-trophic model with delay given by (5.125.14). a The base function \(h\left( {x_2 } \right) =\frac{dx_2 }{x_2 +e}\) and its \(\varepsilon \)-neighbourhood. \(h\) is given by the red curve, while the boundaries of its \(\varepsilon \)-neighbourhood are given by the blue curves. The green curve is derived from isocline analysis of the system, and gives us the equilibrium value \({\tilde{h}}\left( {x_2^*} \right) \), as a function of the equilibrium parameter \(\Xi \). bd Stability portraits of the \(\varepsilon _Q\)-neighbourhood of the base functional response, \(h\), divided into regions of stability and instability of a specific equilibrium point, for three different values of the time delay, \(\tau \). The green regions consist of points that correspond to a system with stable equilibrium, and the red regions of points which correspond to a system with unstable equilibrium. Dark blue indicates that there is no valid model function in the \(\varepsilon _Q\)-neighbourhood of \(h\) such that the system with this function has equilibrium values \(x_2 ^{*}=\Xi \) and \({h}^{\prime }(x_{2}^{*})=DH\). Azure regions indicate that the point \(\left( {\Xi ,\textit{DH}} \right) \) can be covered by keeping the formulation of the base function and varying its parameters. The parameters are \(a=1.5; b=1.5; c=3; f=0.2; g=2; j=0.1; m=0.6\) and \(d=0.8; e=1.1\). The time-delay \(\tau \) in each figure is: b \(\tau =0.5\), c \(\tau =0.8\), d \(\tau =1.0\) (color figure online)

One can see that in the case of a model with delay, the sensitivity analysis can be completed in a similar straightforward way as for systems without delay. Moreover, two things are of note with respect to the structural sensitivity of the particular model. Firstly, although the system clearly exhibits structural sensitivity for values of \(\tau \) around 0.8, the range of values of \(\tau \) for which we have structural sensitivity, i.e. between 0.5 and 1.15, is quite small. Secondly, in all cases where we have structural sensitivity, the region of the \(\varepsilon _{\!Q}\)-neighbourhood which can be explored by varying the parameters of the base function actually crosses the bifurcation line, and therefore any structural sensitivity in the system can be detected by a simple variation of parameters approach. This situation is therefore more favourable than the two examples previously discussed: it shows us that we don’t always have extensive structural sensitivity around a local bifurcation point, and that it can be detected by parameter-based analysis in some cases, although we stress that this should not be taken for granted.

6 Discussion and conclusions

The fact that biological models can be sensitive with respect to the choice of their constituting functions is well known in the literature, with a large number of examples provided (Myerscough et al. 1996; Wood and Thomas 1999; Gross et al. 2004; Fussmann and Blasius 2005; Gross and Edwards 2009; Poggiale et al. 2010; Anderson and Gentleman 2010; Cordoleani et al. 2011; Gonzalez-Olivares et al. 2011; Adamson and Morozov 2013). Critically, however, this type of sensitivity—which we refer to as structural sensitivity—can be largely overlooked when using the conventional approach to sensitivity analysis based only on a variation of parameters for fixed mathematical formulations of the functions (e.g. Bendoricchio and Jorgensen 2001). On the other hand, checking for sensitivity by choosing a few concrete parameterizations of model functions and comparing the resultant outcomes in each case (e.g. Wood and Thomas 1999; Fussmann and Blasius 2005) is a more thorough approach, but can still be a rather subjective method, since it largely depends on the choice of the mathematical forms that are to be compared. In this paper we suggest a substantially new approach to address this problem.

6.1 Summary of the framework

In Sect. 2 of this paper we suggest a rigorous mathematical definition of sensitivity, which can be further used in models’ investigation. In fact, we propose several particular definitions of structural sensitivity and the main difference between them is that they use different concepts of the model \(\varepsilon \)-neighbourhood, i.e. which perturbations of the initial model we should consider when exploring its sensitivity and robustness. We strongly endorse the use of the \(d_Q\)-metric to determine the distance between two models of biological systems when considering structural sensitivity. With this metric, we need to consider only those perturbations in the \(\varepsilon \)-neighbourhood which will preserve the generic qualitative properties of those functions. For this reason, any \(\varepsilon \)-neighbourhood of a model defined under this metric will only contain functions which are appropriate to the system being modelled. Further, the use of a concrete base function to determine our \(\varepsilon _{\!Q}\)-neighbourhood allows us to investigate how sensitivity of the system changes with the parameters of the general function—even without specifying a parameterisation (see Section 3b of Adamson and Morozov 2013, where the paradox of enrichment is investigated even though the logistic growth function is unspecified). Note that results of sensitivity analysis have been shown to be robust with respect to the choice of base function, provided that the distance between the base functions is kept small relative to \(\varepsilon \) (Adamson and Morozov 2013).

Based on the introduced definitions, and using the \(d_Q\)-metric for model distance, we have provided a general approach for detecting structural sensitivity with respect to certain properties of a model when a certain model function is unspecified. We focused on exploring sensitivity of the number and stability of equilibria of ODE-based models with respect to small but finite perturbations of model functions. The main idea of our method is projecting the infinite dimensional space of model functions onto a space with a finite number of dimensions, consisting of values of those functions as well as their derivatives at some particular points. A large part of structural sensitivity analysis consists of determining an appropriate neighbourhood in function space for our functions to belong to—or, as is done in the method here, finding an equivalent neighbourhood in a more manageable finite dimensional space—and this is essentially a non-local problem. We have extended the results of our earlier work in (Adamson and Morozov 2013), by providing and proving a general theorem which gives us such a projected neighbourhood for a function with \(n\) inflection points—a common class of functions in biological modelling—when the concept of the \(d_Q\)-distance is used to defined the functional neighbourhood.

Our approach can, in fact, be characterized as a quantitative version of Kolmogorov’s approach to investigating ecological models with general functions (e.g. Kuang and Freedman 1988; Truscott and Brindley 1994). We first obtain the critical conditions for a bifurcation in a model with some unspecified functions (which belong to a certain class of functions) using any necessary values determined by those functions as parameters. After this, we verify whether or not model functions can take the given bifurcation values and still remain in the \(\varepsilon \)-neighbourhood of the initial base functions. In the case where we have bifurcation values remaining in the \(\varepsilon \)-neighbourhood of the base functions we conclude that our model is sensitive. To demonstrate the framework, we have used it to investigate structural sensitivity in two ODE models, as well as a model with delay. We showed that sensitivity takes place in these models within a large range of parameters, which can’t always be observed using the conventional parameter-based analysis. Note that along with the models described in Sect. 5 we have revealed sensitivity of the stability of model equilibria in some other well-known models (e.g. Butler and Wolkowicz 1986; Hastings and Powell 1991; Muller et al. 2009; Eichinger et al. 2009).

6.2 Quantification of sensitivity and bifurcation theory

A crucial extension of this work concerns the quantification of structural sensitivity in models. For instance, in the case where we reveal that the use of some functions can result in shifting stability or changing the number of equilibria in a system, can we somehow determine the ‘relative proportion’ of the functions yielding certain stability/equilibrium number predictions? We need to somehow quantify the uncertainty in the model outcomes in the case we use different parameterizations. To address this important issue we need to introduce a ‘degree of structural sensitivity’. With regards to the stability of a given equilibrium, such a degree was introduced in Adamson and Morozov (2013) and was defined as the probability of two model functions taken at random from the \(\varepsilon _{\!Q}\)-neighbourhood yielding different stability predictions for the equilibrium at hand. If the distribution of functions across the projected \(\varepsilon _Q\)-neighbourhood is represented by a probability density function \(\rho \), then the degree of sensitivity is related to the relative proportion occupied by the domains of stability and instability in Figs. 2, 3, 4. Mathematically this can be expressed as (Adamson and Morozov 2013):

$$\begin{aligned} \Delta :{=}4\cdot \frac{\int _{V_1 } {\rho dV} }{\int _{V_\varepsilon } {\rho dV} }\cdot \left( {1-\frac{\int _{V_1 } {\rho dV} }{\int _{V_\varepsilon } {\rho dV} }} \right) , \end{aligned}$$
(6.1)

where \(V_1\) is the volume of the stability domain and \(V_\varepsilon \) is the total volume of the \(\varepsilon _Q\)-neighbourhood. Thus, the largest degree of sensitivity, \(\Delta =1\), would correspond to the maximal degree of uncertainty in the system: where the areas corresponding to instability and stability are equal to each other. In this case it is impossible to make any precise predictions based on the particular model: without more data concerning the unknown model functions, the model essentially gives us no information about the stability of the chosen equilibrium.

However, in general we cannot justify defining the probability distribution of the function on the projected neighbourhood, rather than defining it in the region of function space beforehand, but since there isn’t even a simple extension of volume to infinite-dimensional function spaces this is difficult, and even then we must still find a way to link this measure to regions in the finite-dimensional space of local values in which we investigate structural sensitivity. For this reason, specifying a probability distribution directly on the space of local values is more straightforward. Unfortunately, this question of assigning some probability distribution to the space of model functions which are unknown is by no means a simple one. It has generally been neglected in the literature, and should be given much more thought.

The existence of structural sensitivity may require revisiting the entire concept of bifurcation analysis of biological models. Indeed, in such structurally sensitive systems, even in the case of variation of a well-defined model parameter (such as the dilution rate in the chemostat model in Sect. 5.1), there is no particular value of this parameter for which a bifurcation occurs: the use of different functions will result in different bifurcation parameters. In this case we can describe the model behaviour in terms of the probability of having a bifurcation. This idea can be illustrated using the stability diagrams in Figs. 2, 3, 4: for instance, we can consider that a Hopf bifurcation in models occurs when the area corresponding to instability/stability exceeds a certain limit. The occurrence of a bifurcation may be described in this way based on the degree of sensitivity (6.1). Thus, in the chemostat model (5.15.4) proposed in (Fussmann et al. 2000), as opposed to the crossing of a Hopf bifurcation referenced in the title of the cited paper, it would be more correct to say that variation of the dilution rate \(\delta \) shifts the system into a region where the probability of having oscillations becomes high compared to other ranges of \(\delta \).

6.3 Ecological modelling consequences of structural sensitivity

Structural sensitivity in biological models allows another important interpretation: this kind of sensitivity may explain the apparent irregularity in the oscillations of species densities observed both in nature and in some experiments (e.g. Nicholson 1957; Wolda 1988; Giller and Doube 1994; Smayda 1998; Philippart et al. 2000; Guo et al. 2002; Valdes 2007 and many other references). In mathematical models, such irregularity is usually described using either the deterministic chaos framework or by including some effects of external forcing by environmental noise. The existence of structural sensitivity in models can provide a new framework for describing these irregular oscillations: one can assume that the expressions of the model functions (e.g. functional response, growth rates, mortalities, etc) are not ‘frozen’ but slightly change in the course of time—even in the case that the environmental properties are constant. This may be a consequence of the fact that our models describe systems using a limited number of state variables, whereas the true relationships in the functions can depend on a large number of hidden variables which do not remain constant, changing the shape of our model functions. Variation of model functions may also take place through processes of fast evolution and adaptation (Thompson 1998; Duffy and Sivars-Becker 2007; Kinnison and Hairston 2007). This permanent variation can be visualized as an on-going random walk in the space of functions, which may translate itself into a large variation of the model outcomes due to the structural sensitivity of the system, and manifest as irregularity in the species population sizes. We should emphasize that this kind of behaviour would usually occur within a large range of model parameters (and not only around a bifurcation point) since this is an inherent property of structural sensitivity.

To illustrate the above idea we show in Fig. 5 how slight temporal variation in the functional response \(F_{C}\) for the phytoplankton in model (5.15.4) can engender irregular oscillations in the system. The functional response \(F_{C}\) is varied in the same \(\varepsilon \)-neighbourhood as in Fig. 2, with the dilution rate consider to be \(\delta =0.65\) (for a fixed base function we would have an unstable interior stationary state). The details regarding the procedure of variation of \(F_{C}\) can be found in Appendix E. One can see from the figure that slight variation of \(F_{C}\) can cause irregular oscillations in the nutrient concentration (as well as the species densities) and along with periods of large oscillations there are periods of almost stationary dynamics. This means that in the stability diagram the point \(\left( {\Xi , \textit{DF}} \right) \) corresponding to the current functional response should cross the Hopf bifurcation curve several times. Interestingly, this pattern of behaviour occurs across a large range of the parameter \(\delta \). We should make clear that these are only preliminary results and more investigation will be needed to reveal the full influence of the rate of variation of \(F_{C}(t)\).

Fig. 5
figure 5

Temporal dynamics of concentration of nutrient \(N\) in system (5.15.4) in the case of slight variation of the functional response of phytoplankton \(F_{C}=F_{C} (t)\). We consider that \(F_{C}\) always belongs to the same \(\varepsilon _Q\)-neighbourhood as in Fig. 2 with \(\varepsilon =0.1\). The details on variation of \(F_{C} (t)\) are provided in Appendix D. We consider \(\delta =0.6\); the other model parameter are the same as in Fig. 2

As a consequence of this mechanism, even simple 2–3 component classical ecological models may be able possess a large degree of complexity-which is encoded in terms of structural sensitivity-this complexity will largely become hidden when one uses only fixed parameterizations of model functions. We propose that structural sensitivity in our models may be strongly related to the complexity of the underlying real biological systems whose behaviour we wish to mimic. From this point of view we should not consider structural sensitivity in our models as a nuisance, but rather as a fundamental property of biological models, with the presence of structural sensitivity in a model making its behaviour richer and more realistic. Bearing the above in mind, it is extremely important to focus more attention on exploring the phenomenon of structural sensitivity in biological models, alongside the traditional studies of model complexity based either on deterministic chaos frameworks or stochastic perturbations.