基于马德里第一波新冠疫情数据估算SIR模型ODE系统参数b的技术问询
基于马德里第一波新冠疫情数据估算SIR模型ODE系统参数b的技术问询
我正在尝试对马德里第一波新冠疫情进行建模,选用的是SIR模型。SIR分别代表易感者(Susceptible)、感染者(Infected)和康复者(Recovered),这是一个** compartmental模型**,它会将每个人划分到对应的组别中,同时模拟个体在不同组别之间的流动过程。
这个模型基于一组带有两个参数a和b的常微分方程(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)$$
从这个式子可以推导出b用s(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




