文章亮点
KEY POINTS
开发了用于常微分方程(ODE)模拟的R包平台。
提出一种用于权衡生态模型复杂性的建模框架。
1
ODE R包开发
常微分方程(ordinary differential equation,ODE)在多学科中具有广泛应用。在生态学中,研究者利用ODE模拟种群与群落动态、疾病发展、生物地球化学过程、气候变化、遗传组分变化等等,是地球系统模型(Earth System Model, ESM)、动态全球植被模型(Dynamical Global Vegetation Model,DGVM)、传染病模型(epidemiological model)及不少经典理论生态学模型的重要组成部分。
R语言是最基础的生态学研究工具之一,但用于ODE模拟的R包非常有限。探索ODE的常用方法包括绘制相速矢量图、相图分析、平衡与稳定点分析、数值模拟、敏感性分析等,但鲜有工具包整合这些基本模块。
本文推出的R包ecode(意为ecology ODE)整合了研究ODE的常用工具,并提供图形可视化接口,有利于建模者快速搭建并评估ODE模型。其下载方式与示例代码详见https://github.com/HaoranPopEvo/ecode。
2
生态模型的复杂性权衡
选择合适复杂度的模型有利于实现良好的预测效果。在本文提出的建模框架中,模型复杂度的选取是一个反复迭代、更新的过程。
图1 本文提出的权衡生态模型复杂性的建模框架。
整个过程由三个循环构成(图1)。第一循环位于最外部,建模者利用eode()函数创建一个新的ODE,然后探索该ODE的行为(包括相速矢量图、稳定点、平衡点、数值模拟结果、敏感性),观察模型趋势是否定性地符合观察到的趋势,并以此为经验调整模型,重新用eode()函数创建模型,并进行评估。
当对模型结构满意后,整个过程进入第二循环。根据检验知识,建模者决定模型参数的可能取值范围,并用格点法多次运行模型,试图缩小模型预测与观测数据的差异。这一过程可由eode_gridSearch()函数来完成。若未找到满意的参数区间,则重新进入第二循环,探索其他参数,直至满意为止。
第三循环用于确定模型参数的精确值。当建模者找到可能的参数区间时,便可采用模拟退火算法,将模型预测与观测数据的差异最小化,从而得到参数最优解。这一过程可由eode_simuAnnealing()函数来完成。
这种定性与定量相结合的建模方式有利于先确保模型假设与观测的生态模式大致吻合,再寻求局部最优预测。这有助于避免盲目增加模型复杂度而导致的理论–现实脱节困境。
4
后续工作
基于审稿人意见,作者将计划以下工作,欢迎对数学、模型或软件开发感兴趣的同仁志士们联系作者(haoran.wu@wolfson.ox.ac.uk),共同完成以下工作:
将ecode包发表至CRAN
完善ecode包用户指南
开发ecode偏微分方程模块
开发ecode基于个体的模型(individual-based model)模块
开发ecode应用模型模块,包括但不限于生物物理模型、动态全球植被模型、地球大模型和群落生态模型
成果署名将依据工作量确定,承担主要工作量的为第一作者。同时,非常欢迎生态环境领域的研究者使用ecode包进行应用研究,并对该工具包的功能提出宝贵的意见!
作
者
文章作者:吴浩然,生物多样性保护管理硕士在读,从事地球大模型、植被动态模拟、森林病虫害方面研究,兼职ESG数据库开发,“生态学理论与实践”公众号运营者,不定期分享学科交叉理论。详情可见https://haoranwuox.wordpress.com/