[未答复] 修正 SEIR 传染病动力学模型拟合和预测时图像拟合效果很差,应该怎么调整参数呢??

[复制链接]
Lifelong1earner 发表于 2022-8-4 15:17:19
先说问题————我按照参考论文设定了参数,起主要作用的参数有每个感染者接触的人数c
每次接触感染的概率等等,但是每次拟合出来的图像都很差,我应该怎么调整参数呢:(
代码如下
%%基本参数
c=5;                     %每个感染者平均接触人数
beta=3.26e-9;            %每次接触的传染率,由问题二的b/N计算得出
delta_I0=0.13;           %感染者的隔离速率
delta_q=0.13;            %隔离接触者向隔离感染者转化的速率
gama_I=0.0035;           %感染者恢复速率
gama_H=0.007;            %隔离感染者恢复的速率
q=10e-7;                 %隔离比例
alpha=2.7e-4;            %致死率
theta=1 ;                %假设潜伏者和感染者传染能力相同
lambda=1/14 ;            %解除隔离速率
T=40; t=0.01; NN=T/t;
%%初始值
S=5.77e7;                %2020年湖北的总人数
E=4037;                  %根据我们设置的潜伏期7天,用1月23日与1月29日数据之差
I=549*1.5                %1月23日确诊人数,还考虑了未检测出的人数
Sq=2776;                 %1月23日尚在医学观察——隔离易感者
Eq=400;                  %隔离接触者(估计值)
H=I+Eq;                  %住院患者
R=31;                    %治愈出院
De=24;                   %死亡
sigma=1/7;               %接触者向感染者转化速率
AA=[S E I Sq Eq H R];
for ii=1:NN

% %% 由于新医院,患者的隔离速度提高

% if (ii*t)>=14
%
% delta_I=delta_I0*1.2;
%
% else
%
% delta_I=delta_I0;
%
% end
%%23号发通知以后需要戴口罩,4日后基本都佩戴了口罩每次接触感染率下降百分之八十
% if (ii*t)>= 4
%     beta=beta*(1-0.80);
% else
%     beta=beta*1
% end
%%23日后封城,26日开始居家隔离,平均接触的人变少
% if (ii*t)>=3
%     c=c*0.2
% else
%     c=c
% end

%% 改进的SEIR传输动力学模型

dS = -(beta*c+c*q*(1-beta))*S*(I+theta*E)+lambda*Sq;

dE = beta*c*(1-q)*S*(I+theta*E)-sigma*E;

dI = sigma*E-(delta_I+alpha+gama_I)*I;

dSq = (1-beta)*c*q*S*(I+theta*E)-lambda*Sq;

dEq = beta*c*q*S*(I+theta*E)-delta_q*Eq;

dH = delta_I*I+delta_q*Eq-(alpha+gama_H)*H;

dR = gama_I*I+gama_H*H;

%% 欧拉积分算法

S =S+dS*t;

E = E+dE*t;

I = I+dI*t;

Sq = Sq+dSq*t;

Eq = Eq+dEq*t;

H = H+dH*t;

R = R+dR*t;

AA=[AA; S E I Sq Eq H R];

end

%% 理论估计

Infected(:,1)= round(AA(1:1/t:size(AA,1),3));

Cured(:,1)=round(AA(1:1/t:size(AA,1),7));

plot(0:T,[Infected Cured])

%% 原始的数据

hold on

data_Infected=[549 729 1052 1423 2714 3554 4586 5806 7153 9074 11177 13522 16678 19665 22112 24953 27013 29631 31728 33366]';

data_Cured=[31 32 42 44 47 80 90 116 166 215 295 396 520 671 817 1115 1439 1795 2222 2639]';

plot([1:length(data_Infected)]'-1,[data_Infected data_Cured],'*')
然后得到图像见附件

  图像非常差,但是我每次调整参数效果都不好




我参考的论文是《修正 SEIR 传染病动力学模型应用于湖北省 2019冠状病毒病( COVID-19) 疫情预测和评估》




图像.fig

26.71 KB, 下载次数: 1

我拟合的图像

您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
相关文章
热门教程
站长推荐
快速回复 返回顶部 返回列表