You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

基于马德里第一波新冠疫情数据估算SIR模型ODE系统参数b的技术问询

基于马德里第一波新冠疫情数据估算SIR模型ODE系统参数b的技术问询

我正在尝试对马德里第一波新冠疫情进行建模,选用的是SIR模型。SIR分别代表易感者(Susceptible)、感染者(Infected)和康复者(Recovered),这是一个** compartmental模型**,它会将每个人划分到对应的组别中,同时模拟个体在不同组别之间的流动过程。

这个模型基于一组带有两个参数ab的常微分方程(ODE)系统,具体形式如下:

  • $\frac{dS}{dt}=-bsi$ (1)
  • $\frac{dI}{dt}=bsi-ai$ (2)
  • $\frac{dR}{dt}=ai$ (3)

我手里有每日活跃病例的数据(对应感染者组别),现在想要通过数值方法估算参数b的值(参数a我已经知道了)。我觉得最小二乘法可能适用,但不确定具体怎么应用到这个场景里。

马德里第一波新冠疫情活跃病例数据

我已经尝试过一种方法,但效果不理想:
我试过隐式求解ODE的方式,把方程(2)除以方程(1),最终得到了i(t)关于S(t)的表达式:
$$i=i(t)=\frac{a}{b}\ln(s(t))-s(t)-i(0)-\frac{a}{b}\ln(s(0))+s(0)$$

从这个式子可以推导出bs(t)i(t)表示的形式:
$$b=\frac{a\ln(\frac{s(t)}{s(0)})}{i(t)+s(t)+i(0)-s(0)}$$

因为我有s(t)i(t)的数据,所以我计算了第一波疫情中每一天对应的b值,然后取了这些值的平均值,但用这个平均参数得到的模型结果和实际数据并不吻合。

备注:内容来源于stack exchange,提问作者Matin Gomez-Pablos

火山引擎 最新活动