针对分数阶急性虫媒传染病模型系统参数识别问题,基于Gorenflo-Mainardi-Moretti-Paradisi (GMMP)格式和牛顿法,提出了一种求解分数阶急性虫媒传染病模型系统的数值方法。将改进的混合Nelder-Mead单纯形搜索和粒子群算法(PSO)运用到分数阶微分方程的分数阶和系数识别。仿真实验表明,获得的分数阶急性虫媒传染病模型系统比其他模型能提供更符合实际数据的数值结果。 In order to solve the problem of parameter identification for a fractional dynamical epidemic model of dengue fever, a numerical technology is proposed based on the Gorenflo-Mainardi-Moretti- Para-disi (GMMP) formula and the Newton method in this paper. The improved algorithm (MH- NMSS-PSO) combining Nelder Mead simplex search and particle swarm optimization is applied to the fractional order and coefficient identification of the fractional differential equations. Simulation experiments show that the obtained fractional dengue fever model can provide better numerical results that agree very well with the real data.
针对分数阶急性虫媒传染病模型系统参数识别问题,基于Gorenflo-Mainardi-Moretti-Paradisi (GMMP)格式和牛顿法,提出了一种求解分数阶急性虫媒传染病模型系统的数值方法。将改进的混合Nelder-Mead单纯形搜索和粒子群算法(PSO)运用到分数阶微分方程的分数阶和系数识别。仿真实验表明,获得的分数阶急性虫媒传染病模型系统比其他模型能提供更符合实际数据的数值结果。
分数阶传染病模型,参数识别,单纯形法搜索,粒子群算法
Xinyu Hu, Jinyan Luo, Yuanqi Zeng, Jingyi Chen, Jianghao Wu
College of Mathematics and Data Science (Soft College), Minjiang University, Fuzhou Fujian
Received: Nov. 25th, 2023; accepted: Dec. 19th, 2023; published: Dec. 26th, 2023
In order to solve the problem of parameter identification for a fractional dynamical epidemic model of dengue fever, a numerical technology is proposed based on the Gorenflo-Mainardi-Moretti- Paradisi (GMMP) formula and the Newton method in this paper. The improved algorithm (MH- NMSS-PSO) combining Nelder Mead simplex search and particle swarm optimization is applied to the fractional order and coefficient identification of the fractional differential equations. Simulation experiments show that the obtained fractional dengue fever model can provide better numerical results that agree very well with the real data.
Keywords:Fractional Dynamical Epidemic Model, Parameter Identification, Simplex Search Method, Particle Swarm Optimization
Copyright © 2023 by author(s) and beplay安卓登录
This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).
http://creativecommons.org/licenses/by/4.0/
根据世界卫生组织(WHO)的报告,在过去的几十年里,全球每年有近4亿急性虫媒传染病感染病例,其中大多数是儿童,危害严重 [
急性虫媒传染病流行病的经典模型 [
{ d S h d t = μ h ( N h − S h ) − β h b N h + m S h I m d I h d t = β h b N h + m S h I m − ( μ h + γ ) I h d R h d t = γ I h − μ h R h d S m d t = μ m ( N m − S m ) − β m b N h S m I h d I m d t = β m b N h + m S m I h − μ m I m (1)
在此(1)系统中的参数分别表示不同的含义:
(i) μ h 是人均死亡率(即平均寿命的倒数);
(ii) γ 是人类的康复率,也就是从被感染到有免疫力的平均时间的倒数;
(iv) b是叮咬率,即每天每只蚊子平均叮咬的次数;
(v) β h 和 β m 分别表示人与蚊子之间的传播概率,反之亦然;
(vi) m表示可供蚊子选择的(非人类)血液来源的数量。
在文献 [
μ h = 1 71.365 , μ m = 1 10 , β h = β m = 0.36 , b = 0.7 , γ = 1 3 , m = 0 . (2)
初始条件如下:
S h ( 0 ) = 55784 , I h ( 0 ) = 216 , R h ( 0 ) = 0 , S m ( 0 ) = 168000 , I m ( 0 ) = 0 . (3)
这些初始条件表明,这个偏远岛屿(佛得角群岛)上的蚊子种群最初是健康的,病毒是通过被感染的人旅行传入生态系统的。此外,据了解,人类是佛得角群岛蚊子的唯一血液来源,所以在本文中设定 m = 0 。利用Matlab中的ODE45函数可以得到微分方程系统(1)的数值解。结果如图1所示,表明该微分方程系统的解与感染人数的实际匹配较差。
图1. 经典模型(1)的数值结果与实际数据比较
近年来,已有不少分数阶传染病模型系统来分析模拟传染病传播行为。与基于整数阶导数的经典模型相比,分数阶模型系统可以在测量数据和模拟数据之间提供更好的一致性 [
{ λ α 1 D 0 C t α 1 S h = μ h ( N h − S h ) − β h b N h + m S h I m λ α 2 D 0 C t α 2 I h = β h b N h + m S h I m − ( μ h + γ ) I h λ α 3 D 0 C t α 3 R h = γ I h − μ h R h λ α 4 D 0 C t α 4 S m = μ m ( N m − S m ) − β m b N h S m I h λ α 5 D 0 C t α 5 I m = β m b N h + m S m I h − μ m I m (4)
其中, D 0 C t α i 为第 α i 阶的Caputo分数阶导数;参数 μ h 、 β h 、b、 γ 和 μ m 如式(1)所示。Pooseh et al. [
图2. 分数阶模型系统 [
目前已有多种数值方法来求解分数阶模型系统(4),包括幂级数法 [
为简单起见,模型系统(4)可改写为 λ D a C t α x ( t ) = f ( t , x ( t ) ) ,其中 x ( t ) = ( S h , I h , R h , S m , I m ) T 。假设在一统一网格上进行 t j = a + j h , j = 0 , 1 , 2 , ⋯ , N , N h = t − a ,且 a > 0 。那么可以使用以下公式近似计算Riemann-Liouville和Grünwald-Letnikov分数阶导数,
D a R L t α x ( t ) = D a G L t α x ( t ) = lim h → 0 1 h α ∑ k = 0 N c k α x ( t N − k ) ≈ 1 h α ∑ k = 0 N c k α x ( t N − k ) (5)
而Caputo分数阶导数可用下列关系近似表示
D a C t α x ( t ) ≈ 1 h α ∑ k = 0 N c k α ( x ( t N − k ) − ∑ j = 0 n − 1 ( t − a ) j x ( j ) ( a ) j ! ) (6)
其中 c k α = ( − 1 ) k ( α j ) 是二项式系数。
该方案模式首先在文献 [
λ D a C t α x ( t ) = f ( t , x ( t ) ) , 0 ≤ t ≤ T x ( k ) ( a ) = x 0 ( k ) , k = 0 , 1 , ⋯ , n − 1 (7)
其中 D a C t α 表示Caputo定义的分数阶导数。
由式(6)有
λ ∑ k = 0 N c k α ( x ( t N − k ) − ∑ j = 0 n − 1 ( t − a ) j x ( j ) ( a ) j ! ) = h α f ( t N , x ( t N ) ) , (8)
即
x ( t N ) = h α / λ f ( t N , x ( t N ) ) + ∑ j = 0 n − 1 ( t − a ) j x ( j ) ( a ) j ! − ∑ k = 1 N c k α ( x ( t N − k ) − ∑ j = 0 n − 1 ( t − a ) j x ( j ) ( a ) j ! ) . (9)
特别地,若令 0 < α ≤ 1 ,则式(9)可简化为
x ( t N ) = h α / λ f ( t N , x ( t N ) ) + x ( a ) − ∑ k = 1 N c k α ( x ( t N − k ) − x ( a ) ) . (10)
基于Grünwald-Letnikov公式,提出了一种隐式差分格式(10)。可以把式(10)看成是关于未知变量 x ( t N ) 的方程,该变量位于非线性方程的两侧。那么就可以使用牛顿法通过方程(10)求解 x ( t N ) 的值。牛顿法是求解非线性方程组的一种有效方法,对于非线性方程 f ( x ) = 0 ,牛顿法的公式如下:
x n + 1 = x n − J F ( x n ) − 1 F ( x n ) , n = 0 , 1 , 2 , ⋯ (11)
其中 J F ( x n ) 为Jacobian矩阵。为了描述牛顿算法的确定性,这里使用 J F ( x n ) 的LU因式分解。
参数识别是很困难的,当参数的范围是未知的并且函数f对于未知参数来说是高度非线性的时候,尤其如此。本节提出一种识别分数阶非线性动力系统参数的方法。该方法确定的分数阶动力系统可以写成具有m个未知参数的系统:
D a C t α x ( t ) = f ( t , x ( t ) , p 1 , p 2 , ⋯ , p m ) , 0 ≤ t ≤ T , x ( k ) ( a ) = x 0 ( k ) , k = 0 , 1 , ⋯ , n − 1 (12)
其中 x = ( x 1 , x 2 , ⋯ , x n ) T , f = ( f 1 , f 2 , ⋯ , f n ) T 是n维函数向量,而 f i ( i = 1 , 2 , ⋯ , n ) 对于未知参数 p i ( i = 1 , 2 , ⋯ , m ) 有可能是非线性的,m是参数的个数。基于刘发旺教授提出的非线性动力系统中识别参数的网格逼近法(GAM) [
新的算法(MH-HMSS-PSO)是融合Nelder-Mead单纯形搜索方法(NMSS) [
设 ( p 1 , p 2 , ⋯ , p m ) ∈ D ,其中D是一参数空间的有界域
D = [ p 1 ( min ) , p 1 ( max ) ] × [ p 2 ( min ) , p 2 ( max ) ] × ⋯ × [ p m ( min ) , p m ( max ) ] . (13)
通过优化如下均方根相对误差函数确定近似估计未知参数 ( p 1 ∗ , p 2 ∗ , ⋯ , p m ∗ ) 。
g ( P * ) = lim P ∈ D g ( P ) = lim P ∈ D { ∑ j = 0 N ( ( x ( t j ) − x j ) / x j ) 2 N + 1 } (14)
其中 x ( t j ) 是在给定参数 P = ( p 1 , p 2 , ⋯ , p m ) 下分数阶系统(4)的数值解,而 x j 是实际值。具体的算法步骤如下。
步骤1:初始化。产生 3 m + 1 规模的种群。为最小化m个变量(未知参数)的函数 g ( P ) ,产生 m + 1 个向量点 P i = ( p 1 , i , p 2 , i , ⋯ , p m , i ) ∈ D , ( i = 1 , 2 , ⋯ , m + 1 ) 形成m维度的单纯形,即
P i = ( p 1 , i , p 2 , i , ⋯ , p m , i ) ∈ D , i = 1 , 2 , ⋯ , m + 1 (15)
其中
p j , i = p j ( min ) + ( i − 1 ) × ( p j ( max ) − p j ( min ) ) / ( m + 1 ) , j = 1 , 2 , ⋯ , m ; i = 1 , 2 , ⋯ , m + 1 . (16)
在PSO算法部分中,两个粒子随机产生向量点
P i = ( p 1 , i , p 2 , i , ⋯ , p m , i ) ∈ D , i = m + 2 , ⋯ , 3 m + 1 (17)
其中
p j , i = p j ( min ) + R a n d × ( p j ( max ) − p j ( min ) ) , j = 1 , 2 , ⋯ , m ; i = m + 2 , ⋯ , 3 m + 1 , (18)
Rand是(0, 1)中的随机数,粒子在每个维度的初始向量依据下式选择
V j , i = ( V j ( max ) − V j ( min ) ) / L j , j = 1 , 2 , ⋯ , m ; i = m + 2 , ⋯ , 3 m + 1 (19)
其中 L j 是选取好的整数。
步骤2:评估和排序:评估每个粒子的目标函数值 g ( P ) ,根据函数值大小进行排序, g ( P 1 ) ≤ g ( P 2 ) ≤ ⋯ ≤ g ( P 3 m + 1 ) 。
步骤3:NMSS算法:运用NMSS算子从 m + 1 粒子中找到最佳,并替换第 m + 1 个粒子:计算除 P m + 1 外所有点的重心 P o = ( p 1 , o , p 2 , o , ⋯ , p m , o ) ∈ D ,其中 P j , o = ∑ i = 1 m p j , i / m , j = 1 , 2 , ⋯ , m 。映像点为 P r = ( 1 + α ) P o − α P m + 1 。
其中 α 是映像参数( α > 0 )。Nelder和Mead建议取 α = 1 [
情形1: g ( P 1 ) ≤ g ( P r ) ≤ g ( P m ) ,则 P r 替换 P m + 1 ;
情形2: g ( P r ) ≤ g ( P 1 ) ,则计算扩展点 P e = γ P r + ( 1 + γ ) P o ;若 g ( P r ) ≤ g ( P 1 ) , P e 替换 P m + 1 ,否则 P r 替换 P m + 1 。Nelder和Mead建议取 γ = 2 [
情形3: g ( P r ) ≥ g ( P m ) ,若 g ( P r ) ≤ g ( P m + 1 ) , P r 替换 P m + 1 。计算收缩点 P c = β P m + 1 + ( 1 − β ) P c ;若 g ( P c ) ≤ g ( P m + 1 ) , P r 替换 P m + 1 ,否则令 P i = σ P i + ( 1 − σ ) P 1 , i = 1 , 2 , ⋯ , m + 1 。Nelder和Mead建议取 β = σ = 0.5 [
步骤4:粒子群优化:应用PSO算子 [
步骤5:若停止准则 S c < ε 满足,则停止迭代,否则转步骤2。这里的停止准则定义如下:
S c = [ ∑ i = 1 m + 1 ( g ¯ − g i ) 2 m + 1 ] 1 2 (20)
其中 g ¯ = ∑ i m + 1 g i * m + 1 , g i * = g i = g i ( p 1 , p 2 , ⋯ , p m ) 。
为了识别分数阶急性虫媒传染病系统的参数,使用Diethelm [
使用MH-NMSS-PSO来识别分数阶急性虫媒传染病系统的参数。对于MH-NMSS-PSO方法来说,选择合适的区间是非常重要的,如果区间较窄,则采用MH-NMSS-PSO方法可以快速确定结果,因此首先使用MGAM来选择最佳的区间隔。基于这些区间,使用MH-NMSS-PSO算法来识别分数阶和参数,再根据上述MGAM的结果,选择一些合适的区间和初速度,如下所示:
0.8 ≤ α 1 = p 1 ≤ 1 , 0.8 ≤ α 2 = p 2 ≤ 1 , 0.8 ≤ α 3 = p 3 ≤ 1 , 0.7 ≤ α 4 = p 4 ≤ 1 , 0.7 ≤ α 5 = p 5 ≤ 1 , 3 × 10 − 5 ≤ μ h = p 6 ≤ 7 × 10 − 5 , 0.1 ≤ β h = p 7 ≤ 0.5 , 0.4 ≤ b = p 8 ≤ 0.8 , 0.2 ≤ γ = p 9 ≤ 0.6 , 0.001 ≤ μ m = p 10 ≤ 0.2 , 0.2 ≤ β m = p 11 ≤ 0.6
而 V 1 = V 2 = V 3 = V 4 = V 5 = 0.01 , V 6 = 1 × 10 − 6 , V 7 = V 8 = V 9 = V 10 = V 11 = 0.01 。
利用目标函数 g ( P ) 潜在的全局最小值,可以进一步得到未知参数 P * 如下所示
α 1 = p 1 = 0.9997 , α 2 = p 2 = 0.9989 , α 3 = p 3 = 0.9672 , α 4 = p 4 = 0.9018 , α 5 = p 5 = 0.9891 , μ h = p 6 = 5.1546 × 10 − 5 , β h = p 7 = 0.4942 , b = p 8 = 0.6094 , γ = p 9 = 0.4526 , μ m = p 10 0.0100 , β m = p 11 = 0.2154
此时的均方根相对误差 g ( P * ) = 0. 41 5 。
图3显示MH-NMSS-PSO法识别参数获得的分数阶模型系统参数 P * 的数值解与实际数据具良好的一致性,该算法的均方根相对误差 g = 0.415 小于MGAM算法(图4所示)。在其他参数固定的情况下,还研究了所有参数对感染人数 I h ( t ) 的影响,结果与MGAM算法一致。说明MH-NMSS-PSO在处理分数阶急性虫媒传染病系统的反问题时也是有效的。然而,由于MHNMSS-PSO算法对参数区间内初始点的选择非常敏感,且不能保证达到全局最优,因此在使用MHNMSS-PSO算法时必须小心。
图3. 分数阶系统(MH-NMSS-PSO)的数值结果与实际数据的比较
图4. 分数阶系统(MGAM)的数值结果与实际数据的比较
本文提出了一种基于Caputo分数阶导数的急性虫媒传染病模型系统。研究了分数阶急性虫媒传染病模型系统参数识别的逆问题。采用改进的混合Nelder-Mead单纯形搜索和粒子群优化算法对分数阶微分方程进行参数识别。改进的算法比经典算法效率更高,而且获得的分数阶急性虫媒传染病系统能够提供与真实数据更为匹配的数值结果。实验结果还表明,本文提出的模型参数识别方法也可以应用于其他分数阶流行病毒传播模型的刻画。
福建省自然科学基金(项目编号:2021J011031),闽江学院校长基金(项目编号:103952023045)。
胡欣瑜,罗金炎,曾元琦,陈静怡,吴江淏. 一种分数阶急性虫媒传染病模型的参数识别方法研究Parameter Identification for a Fractional Dynamical Epidemic Model of Dengue Fever[J]. 应用数学进展, 2023, 12(12): 5193-5201. https://doi.org/10.12677/AAM.2023.1212510
https://www.who.int/denguecontrol/en/
https://doi.org/10.1080/00207160.2011.554540
https://doi.org/10.1016/j.cnsns.2014.08.009
https://doi.org/10.1016/j.apm.2021.03.044
https://doi.org/10.1016/j.jtbi.2011.03.012
https://doi.org/10.1063/1.3636838
https://doi.org/10.1007/s11071-012-0475-2
https://doi.org/10.1088/0031-8949/2009/T136/014025
https://doi.org/10.1002/acs.3257
https://doi.org/10.1023/A:1016547232119
https://doi.org/10.1093/comjnl/7.4.308
https://doi.org/10.1016/j.amc.2006.09.098
https://doi.org/10.1080/0305215041000168521