到达我们 + 44-7723-59-8358
所有提交的电子邮件系统将被重定向到在线稿件提交系统。请作者将文章直接提交给在线稿件提交系统各自期刊的。

动态模糊方法在生态系统建模中的应用

拉尔夫·维兰德1*, Rainer Bruggemann2Peter Kasprzak3.

1景观系统分析研究所莱布尼茨农业景观研究中心,Eberswalder街84号,德国Muencheberg 15374

2莱布尼茨淡水研究所生态内陆渔业,柏林,310,12587。

3.莱布尼茨淡水研究所生态和内陆渔业,Alte fisher huette 2, OT Neuglobsow 16775 Stechlin。

*通讯作者:
拉尔夫·维兰德
莱布尼茨农业景观研究中心
景观系统分析研究所
德国慕尼黑大街84号,15374号
电子邮件:psmore。(电子邮件保护)

浏览更多相关文章研究与评述:生态与环境雷竞技苹果下载科学杂志

摘要

用模糊模型代替一组常微分方程右边的概念。这种建模方法允许将利益相关者/专家知识包括在模型开发中,从而导致白盒方法和模型的高可信度。另外一个效果是模型简单而稳定。采用模糊模型对系统行为进行灵活控制;文中给出了若干实例。用李雅普诺夫指数研究了稳定性。该方法使用一个简单的水生生态系统模型进行了演示,并得到了开源软件“空间分析和分析”的支持模型(SAMT),以及用Python编写的附加模块。

关键字

常微分方程,模糊建模,非线性系统,动态模糊仿真,仿真,基于利益相关者的方法,SAMT, Python。

介绍

数学建模是研究人类世界复杂关系的重要工具[1]。数学建模不仅在经济学中非常有用,而且在技术和科学学科中也非常有用。可以确定解释为什么数学建模很重要的三个主要支柱:模拟/预测、决策支持和理解。

仿真/预后:环境科学中的模型和模拟通常用于调查未来可能的生态状态,或模拟实际上不可能通过实验实现或由于伦理原因无法执行的情况,等等。这类模拟的例子有

•模拟物种的运动,如图[2-3.],

•极端天气条件导致的景观变化[4]

•水生系统中的生化模型[5),

•生态系统模型

-例如SALMO [6] delaqua [7),

- dyresm-caedym [8]

这里仅举一些现有的大量生态系统模型中的例子(可以找到相对较新的概述[9]。一个非常丰富的模型来源是生态模型登记册1,即ECOBAS的描述[10]。(Ernst et al., 1997)。例如EMMO [11可以在那里找到。

决策支持使用模型为决策提供依据的重要性日益增加。例如,开发SALMO是为了帮助管理水库(例如,参见GETAS项目)。这类建模还包括统计分析,如[12将语义传递给用户的模型,如[13等等。根据[14],使用模型来支持决策应包括利益相关者在实际建模过程。这种开放的建模方法提高了仿真结果的可信度和可接受程度。它也不一定比模拟模型更不准确。它显示在[15基于专家知识的简单模型比高度复杂的面向过程的模型能产生更好的结果。

理解:数学模型不一定要复杂才能理解其相互作用。如果(简单的)模型不严重地与实验知识相矛盾,也就是说,如果它们在定性上正确地描述了所观察到的现象,它就足够了。这种类型的模型被称为最小模型[16谢弗已经在许多出版物中展示了这种类型的模型如何帮助我们理解复杂的生态相互作用。最小模型的优点是数学公式很简单,不需要查找参数值,也不需要使用默认值运行模型。

总结:最小模型可以被描述为“尽可能复杂,但尽可能简单”。数学建模的一般需求是抽象。很明显,抽象的程度,也就是没有在数学描述中映射细节的程度,是一个实际知识和建模目标的问题。抽象程度甚至取决于建模者的品味和直觉。在[17(第9页),一个图形模型显示了最优的存在:一个更详细的数学模型将以测量输入量的不确定性为代价,产生较低的与过程相关的偏差,而一个不太详细的模型将相对于相关过程产生偏差。必须找到一个可接受的妥协方案。当应用统计模型时,可以直接显示最优的存在性,如[18]。

本文提出了一种用动态模糊系统代替常微分方程(ODE)的右侧(rhs)的方法。我们将会看到,这种模糊的方法会产生一个易于理解和适应性强的模型。此外,该模型对模型功能行为具有高度的灵活性,并应表现出良好的数值稳定性。用…的话说14],由此产生的建模框架应被视为“参与式建模”,不仅适用于上述出版物中的利益相关者,而且适用于与参与进行实验的专家进行有效合作的前期阶段。

模型描述

原始模型的描述

一个最小模型,遵循Scheffer [19],为关于中营养最大假说(MMH)的有争议的生态学辩论做出了贡献,该假说认为,低营养水平导致食物网系统具有少数互动路径。高水平的营养,即富营养化或肥厚化系统,可能导致具有许多相互作用途径的复杂食物网,或者导致缺乏这些将能量向上传递到食物网顶部的途径。因此,我们的假设是,在中营养系统中,食物网足够丰富,可以让能量从营养系统转移到上层系统,但又不够有效。基本模型的示意图见(图1)。

environmental-sciences-Conceptual-model-as-basis

图1:概念模型作为最小模型“MMH”的基础。

在一个真正的湖泊生态系统中,三个被选中的群体——浮游动物(水蚤)、可食用藻类(水藻)和不可食用藻类(蓝藻)——实际上总是由各种各样的物种组成的多样化群落。因此,为了表明建模方法的潜力,必须将所提出的方案视为一种强大的简化。下面的ode系统描述了中显示的交互图1,其中营养(可溶性活性磷)被建模为术语pa中的参数(见式1)。藻类和蓝藻都是用生长术语(rX *Y *LX *P X)来描述的,其中X是C - yano或藻类。Y代表海藻的数量。草木和藻类都有一个损失项(死亡率,模型由[20.]和减少一个通量项)。LX描述了光的影响,这取决于水深和花所起的作用。与矢野相反,藻类可以被简单地归类为浮游动物的物种食用。类似于gD*水螅*藻类/(藻类+ hD)的术语没有出现在C yano的ODE中,因为cyanos代表不可食用的藻类

最后,水蚤的ODE描述了放牧带来的生物量增加(效率,eD)和死亡率损失(系数,mD)。

方程(1)

方程(2)

方程(3)

其想法是,结合对传递给水蚤的能量效率(营养传递效率,TTE)的描述,如果营养参数从低到高变化,TTE确实可以找到最大值[21]。

动态模糊模型的动机

我们知道,与模拟模型相比,模型方程1-3只是一个简单的方法。然而,我们更倾向于用一个简单的模型来介绍这篇文章。动态模糊模型用模糊模型的组合代替ODE的rhs。模糊模型可以实现线性和非线性过程描述,如图[22]。这意味着模糊模型可以实现非线性行为,如原文所示

以gD * Daphnia * Algae/(Algae+hD)等形式表示的模型,即Monod动力学[23],除了s型莫诺动力学,模糊模型也能够实现更复杂的相互作用。最重要的方面是,生态系统建模团队中的生物学家不一定熟悉ode的rhs代数表达式的要求,他们可以在不了解模型背后的数值结果的来龙去臼的情况下,从广义上推断知识。在“广义”上,意味着关于系统的知识可以用规则来表达,这些规则不一定只包含一个单一的过程(见下文)。

模糊模型的建立分为以下四个步骤:

•定义隶属函数以模糊化输入;

•输出的定义;

•将规则库作为隶属函数与输出的组合填充;

•使用图形分析检查模型。

模糊模型的发展

模糊模型的开发得到开源软件的支持,即空间分析和建模工具(SAMT) [24],它有一个集成的模糊工具箱。重要的是要提到,检查模型也是模型开发过程中的一个步骤,由工具箱支持。

方程(4)

方程(5)

方程(6)

方程4-6由方程1-3的加性结构推导而来,其中损耗项被认为是F1和F6的一部分。注意,在原方程(1-3)和(4-6)中,磷P在模拟过程中被Algae和C yano还原为pf = P−(pgA*Algae+pgC * C yano);(pgA和pgC是常数)。与原始系统相比,现在相互作用的实现更加直接:例如,F1(藻类,P)表示藻类将吸收磷,F2(藻类,水蚤)描述藻类将被水蚤捕食。

然而,模糊模型是ODE的一部分,因为需要描述时间演化。这意味着结果还取决于模拟时间和步长。动态模糊模拟器[25],它现在是开源软件SAMT的一部分,这样生物学家就不需要额外的工具了。动态模糊模拟器[25]被开发出来,现在是开源软件SAMT的一部分。除了使用samt模糊工具箱进行一般检查外,模糊模拟器还可以检查动态行为,以及动态模糊模型的完整实现,包括系统行为的图形可视化。

软件方面

模型开发需要三个基本步骤:

1.模糊模型的实现

2.ODEs系统的实施

3.动力性能分析。下面描述了这些步骤。

模糊模型的实现

完整的模型,包括所有模糊模型,ODE代码和结果的可视化,可以在网站3上找到开源代码。在不失一般性的前提下,我们选择“水藻水蚤”(F2)模型来解释模糊方法。所使用的模糊演算法的基本原理载于[26]。模型F2描述了水蚤和藻类之间的关系,实现了一个捕食者-猎物模型[27]。两个状态变量图2和水蚤(图3)为隶属函数的输入;纵坐标是亚群体的程度;横坐标是所考虑的种群(藻类)的浓度(图2)。

例如,藻类的相对浓度为0.25,则其浓度为μmh(0.25) = 0.2的程度属于“中高”(mh)类,浓度为μm(0.25) = 0.8的程度属于“中”(m)类(图3)。

environmental-sciences-Membership-function-input-Algae

图2:隶属度函数输入藻类[0,1]。

environmental-sciences-Membership-function-input-Daphnia

图3:成员函数输入水蚤。

例如,当(Daphnia = 0.2)为横坐标上的值(μm(0.2) = 1.0)时,Daphnia属于medium (m)类。在定义了输入的隶属度函数之后,建模者必须定义输出函数。所谓的“单例”,可以实现非线性和线性模型,被用作输出函数[24]。非线性系统具有比线性模型更丰富的行为和更有趣的特征[28]。特别是,非线性模型比线性模型更容易表达生态知识。另一方面,对于模糊系统没有可用的封闭理论,建模者不得不使用蒙特卡罗模拟作为研究非线性系统的工具。

在建立了藻类和水蚤的隶属函数集(数据23.),我们必须澄清藻类的结果,例如,关于这里考虑的F2项。可能的结果以等距方式任意跨越[- 0.02,0]的范围。我们把离散结果的结果系统(根据藻类、水蚤成员的离散组合数量)称为“单例”,用ni表示。模糊模型在单例之间进行线性插值,以实现平滑的行为(例如,参见公式7)(图4)。

environmental-sciences-Singletons-output

图4:输出为单例。

结果(n)0= 0.0, n1=−0.005,n2=−0.01,n3.=−0.015,n4=−0.02)表示较高的水蚤相对浓度会降低藻类的相对浓度。

模糊模型本身包含5 * 6条规则,对应于输入的隶属函数与单例的组合。规则的选择载于(表1)。

environmental-sciences-Excerpt-from-rule-base-F2

表1:摘自F2的规则库。

例如,当Algae = 0.25和Daphnia = 0.2时,得到的隶属函数为Algae μmh(0.25) = 0.2和μm(0.25) = 0.8图2);对水蚤μm(0.2) = 1.0 (图3)。因此,规则15和21将生效。相应的,模糊模型的最终输出O为(式7):

方程(7)

方程

有关模糊算法的完整描述,请参阅[29]。

实现与仿真

模糊模型系统和模糊模型(右边的模糊模型)定义了仿真模型。仿真包括数值求解ode、仿真控制(如迭代步数、步长等)、仿真参数管理(系统参数的初始状态、磷、通量等控制参数的定义)和仿真结果的可视化。仿真系统采用Python编程语言实现。Python是由W. Rossum4开发的解释器语言,它吸引了越来越多的兴趣。例如,Python是领先的GIS软件AR- CGIS5的脚本语言。第二作者开发了用于数据矩阵序数分析的开源软件PyHasse,这里使用Python及其模块:使用Python库“SCIPY”6中的“odeint”ODE求解器,并使用“Matplotlib”进行可视化。模糊模块的求解器使用c++编写,并使用包装器“SWIG”8封装在Python代码中。或者,模糊代码可以作为纯Python代码实现,但是速度很慢。使用“Cython”9编译构成了纯Python和c++之间的折衷。相对单位,计算速度大致如下:Python=0.05

: Cython=0.33:在Linux操作系统下的普通PC (3GHz, 4GB RAM)上,SWIG=1。

使用模糊工具箱测试和建模扩展

模型开发中的一个重要步骤是测试模型及其逐步扩展,这必须得到工具箱的支持。图5展示了使用samt模糊工具箱实现的测试工具。纵坐标为状态变量Daphnia;横坐标为状态变量Algae;从绿色到黄色对应F2(公式5)(图5)。

environmental-sciences-Analysis-fuzzy-models

图5:利用SAMT模糊工具箱对模糊模型进行分析。

的左边图5右上方显示了藻类的少量减少和大量减少。右上部分表示大量的Daphnia和大量的Algae,即Daphnia条件好,藻类大量减少。除了图形输出外,建模者还可以在矩阵视图内“点击”获取模糊模型的规则号、规则文本、输入和计算输出。

功能行为和稳定性

如前所述,模糊规则允许实现专家知识。例如,高浓度的磷可能会刺激藻类的生长,但浓度过高则可能有毒。这可以通过调整与模糊模型相关的规则来轻松实现。那么问题来了:一种模糊的方法能正确地模拟这种知识吗?虽然我们无法提供这方面的正式证明,但我们将重点介绍一些示例,以展示如何强大地应用模糊模型来生成这个问题的答案。第一个例子从简单的运行开始,研究动态模糊系统的正常行为,并确定它是否与实际系统足够相似。在第二个例子中,研究了动态模糊系统的动态行为,表明动态模糊系统能够产生振荡结果。在第三个与第二个相关的例子中,将使用Ljapunov指数来研究动态模糊系统的稳定性。

结果

基本行为

从简单的模拟开始,研究了两种典型的场景。第一种情况是“清水”的情况,磷浓度低,没有通量。图6从初始的相对浓度(藻类=0.01,水蚤=0.01,C - yano=0.01)在200天内增加到一个稳定的末端浓度(图6)。

environmental-sciences-Clear-water-situation

图6:清水情况:P = 0.05,通量= 0(藻类=线,水蚤=虚线,蓝藻=虚线)。

第二种情况的特点是高磷浓度导致最后高浓度的C - yano,藻类和水蚤的生长受到抑制,如图(图7)。

environmental-sciences-Water-situation

图7:水体情况:P = 0.5,通量= 0(藻类=线,水蚤=虚线,蓝藻=虚线)。

这些数据与专家的预期并不矛盾。现在专家们可能有兴趣发现系统是否能够模拟振荡行为作为一种修正(参考经典的LotkaVolterra模型)。

振荡

通过测试P和通量的不同值,可以很容易地发现振荡行为。然而,我们只能确定这是否是最好的振荡可能,如果一个优化程序应用。包“NLOPT”10包含许多有用的优化例程,可以作为Python模块在Linux下编译。选取海藻三次谐波的最大值作为目标函数。采用全局常规GN MLSL和局部搜索算法LN COBYLA进行寻优。人们发现,这是在陷入局部最优和收敛速度过低之间的一个很好的折衷。一个包含速度与若干NLOPT算法的最优值的表可在[25] (图8)。

environmental-sciences-Water-situation

图8:水体情况:P = 0.1985,通量= 0.0118(藻类=线,水蚤=虚线,蓝藻=虚线)。

请注意,振荡是由实际系统的动态引起的(在简单的Lotka-Volterra模型中也可能是这种情况),并且振荡行为不是由周期输入引起的。很明显,振荡行为通常是由外部影响触发的。在这里,我们试图证明模糊方法具有产生振荡行为所需的灵活性。

稳定

在上面的小节中,我们证明了动态模糊模型能够实现丰富的函数行为,范围从准平稳到周期解。然而,没有显示所实现的系统是否对所有可能的参数都是稳定的。为了考察稳定性,采用了李雅普诺夫指数。这个指数量化了相空间中两个轨迹的分离:

方程(8)

最大Lyapunov指数定义为:

方程(9)

Lyaponov指数λ < 0表示系统在该点是稳定的;如果λ≈1,它可以是稳定的,也可以是不稳定的。

李雅普诺夫指数通常只能用数值方法计算。用于计算李雅普诺夫指数的大多数算法都是基于使用代数方法对系统进行线性化(参见[30.例如)。据我们所知,没有一种方法可以应用于模糊模型。因此,我们应用了“NLOPT”中的优化程序,以最大Lyapunov指数来研究参数空间。例如,可以选择两个参数p1和p2来研究Lyapunov指数作为这两个参数的函数。在这里,我们决定选择P(与MMH相关)和通量,已知它们对系统行为有强烈影响[21]。计算了参数P和通量()的李雅普诺夫指数图。图9)。

environmental-sciences-Map-the-Lyapunov-exponent

图9:李雅普诺夫指数图;指数越大,圆圈越暗(越大)。

尽管优化例程不能保证找到真正的最大值,但有证据表明,对于所有大小的映射,λ < 0

讨论

从传统的模糊微分方程系统到动态模糊系统的转换可以用一种简单的方式进行。专家/利益相关者能够理解系统,并将他们的专业知识贡献给模糊模型。这导致了容易理解的模型,即实现遵循白盒方法。白盒方法和专家参与增强了仿真的可信度。邀请专家将他们自己的经验添加到ode的原始rhs公式之外的模型状态中。这里应该提到一个问题。该模型处理缩放变量(通常使用[min, max]→[0,1]之间的范围)。缩放是相关的,因为否则很难选择时间步长的大小,即迭代的次数。处理缩放变量有助于建模者了解动态模糊模型在不同应用中的典型行为。这一点很重要,因为专家和建模者都没有受过建立非线性动态系统的训练。 Acceptance of scaling requiring a posterior descaling allows the number of variables in models to be reduced, making them simpler and more reliable. Descaling is required when results need to be compared with experimental findings. A dynamic fuzzy system should be analyzed using software that visualizes behavior under different settings of parameters. Monte Carlo simulations are an important tool in the ecological context, which is why simulation software should support this kind of analysis. Applying Monte Carlo simulation can deliver a distribution of possible states of a lake, for example, which can be used to establish a control strategy for protecting such lakes. It was shown that dynamic fuzzy models can produce a rich set of dynamics, including “Monod” kinetics. However, modelers do not need to know this kinetics in order to model the system. It suffices to describe dependencies in the form of rules over a set of membership functions. The example given shows how an expert/modeler applied his knowledge to describe the systems behavior. It is very important that the expert/modeler is not restricted by having to include such rules that are not part of the original DGL but belong to their practical experience. The effect is amazing, showing that experts/modelers already have the complicated behavior implicitly in their mind when developing fuzzy models

该动态模糊模型稳定性好,且不需要进行微调。专家们知道真实系统的哪些状态是不稳定的,利用他们的补充经验来开发模糊模型。在传统的建模过程中,建模者,通常是计算机科学家,只会在有限的范围内咨询专家。这种有限的交流往往构成一个问题,并可能导致次优解决方案。另一个与稳定性相关的有趣问题是动态模糊模型可以产生混沌行为[31]。在讨论的方法中,模糊模型是用来建立一个动态系统,而不是用来控制系统。我们还必须确定这样一个模型是否可以是混沌的。有证据表明,由于专家知识的存在,现实问题不存在混乱,这往往更稳定。32]。

模糊模拟器现在是空间分析和建模工具SAMT的一部分,可以与SAMT核心一起作为Python程序中的库使用。动态模糊模型的高速度使其能够应用于空间分布的环境。动态模糊实现比ZALF开发的植物-水-土壤模型快10倍左右[33,因此,动态模糊模型可以在大范围内多次应用。例如,可以将本文介绍的动态模糊模型应用于湖泊的不同部分来模拟更大的部分或整个湖泊。本文的重点是提出一种基于模糊模型处理非线性动力行为的通用方法。即使是简单的非线性动态系统也可以表现出丰富的、有时令人惊讶的行为,包括确定性混沌。在寻求对真实系统建模时,这种丰富的行为是必要的。另一方面,这种简单的模型比复杂的模型容易理解得多。通过将其简化为描述系统的主要变量,我们有机会更好地理解系统,使我们能够从相关过程中继续前进。当没有任何东西可以移除时,模型就是完美的。

致谢

这项捐款得到了德国联邦消费者保护、粮食和农业部以及联邦勃兰登堡州(德国)农业、环境保护和区域规划部的支持。

参考文献

全球科技峰会