模型描述
SEICR 模型是一種用于描述具有慢性期的傳染病傳播規律的數學模型。該模型將人群分為五個部分,分別是易感個體(Susceptible,S)、潛伏期個體(Exposed,E)、急性期感染個體(Infected,I)、慢性期個體(Chronic,C)以及恢復個體(Recovered,R)。在 SEICR 模型中,通過一系列經過參數化的傳播、進展和恢復速率,詳細描繪了易感個體被感染的初始階段、潛伏期個體逐漸發展為急性感染的過程、急性感染個體轉變為慢性感染狀態以及最終所有感染個體逐步恢復的整個疾病傳播與演變歷程。
模型假設
-
感染力假設 :急性感染病例與慢性感染病例在傳播疾病方面具有相同的感染力,無論個體處于急性感染階段還是慢性感染階段,其傳染他人的能力系數均用 β 來表示。
-
潛伏期與進展速率 :設定潛伏期的時長為 1/ω,基于此,在 t 時刻,從潛伏期狀態(E)進展到急性感染狀態(I)的人數計算方式為 ωEt。
-
慢性期進展與恢復 :假定感染個體中進入慢性期的比例為 p。對于處于急性感染期(I)的個體,以速率 γ 向兩個方向轉變:一部分(pγI)進展為慢性感染狀態(C),另一部分(1-p)γI 則進入恢復狀態(R)。
-
急性感染期存活假設 :考慮到急性感染期的患者通常癥狀相對較輕,并不會面臨生命危險,因此在模型構建過程中,急性感染期不考慮因該疾病導致的死亡情況發生。
-
人口更新與病死率 :假設所有新生兒均為易感個體,自然出生率用 br 表示,同時存在自然死亡率 dr,此外,針對該疾病還單獨設定有病死率 f,用于綜合衡量疾病對人群生存的影響。
模型介紹
手搓代碼
% 模型參數
N = 100000; % 總人數
I0 = 36; % 初始急性期感染人數
C0 = 0; % 初始慢性期感染人數
R0 = 0; % 初始康復人數
E0 = 100; % 初始暴露人數
S0 = 99864; % 初始易感人數
omega = 1 / 1.5; % 暴露轉化速率
p = 0.7; % 感染者進入慢性期的比例
gamma = 1 / 6; % 康復速率
f = 0.15; % 病死率
br = 0.00021; % 人口自然出生率
dr = 0.00016; % 人口自然死亡率
num_days = 120; % 模擬天數
I_obs = [36, 37, 58, 55, 39, 52, 56, 38, 54, 34, 48, 51, 34, 38, 46, 49, 40, 65, 55, 61,...59, 46, 57, 85, 64, 41, 78, 72, 67, 75, 63, 74, 77, 56, 81, 71, 52, 69, 83, 100,...112, 95, 97, 114, 103, 90, 102, 106, 82, 70, 118, 113, 131, 120, 120, 153, 156, 124,...117, 138, 139, 124, 149, 171, 176, 182, 176, 165, 200, 150, 186, 186, 165, 115, 219,...234, 218, 235, 269, 191, 232, 176, 254, 282, 189, 132, 265, 246, 238, 257, 235, 254,...249, 244, 250, 270, 180, 182, 296, 252, 266, 293, 271, 253, 247, 239, 284, 269, 252,...145, 320, 304, 308, 267, 290, 300, 303, 244, 361, 339];beta_initial = 0.01; % 傳染率
lb = 0.01;
ub = 1;
options = optimoptions('lsqcurvefit', 'Display', 'iter');
[beta_optimal, resnorm] = lsqcurvefit(@(beta, t) forecast(N, I0, C0, R0, E0, S0, beta, omega, p, gamma, f, br, dr, num_days),...beta_initial,...1: num_days,...I_obs',...lb,...ub,...options);% x(1):急性期感染人群I,
% x(2):慢性期感染人群C
% x(3):易感人群S,
% x(4):康復人群R,
% x(5):暴露人群E
dxdt = @(t, x) [omega * x(5) - gamma * x(1) - dr * x(1); % dIdtp * gamma * x(1) - (dr + f) * x(2); % dCdtbr * N - beta_optimal * x(3) * (x(2) + x(1)) / N - dr * x(3); % dSdt(1 - p) * gamma * x(1) - dr * x(4); % dRdtbeta_optimal * x(3) * (x(2) + x(1)) / N - omega * x(5) - dr * x(5); % dEdt];[t, y] = ode45(dxdt, 1: num_days, [I0, C0, S0, R0, E0]);
subplot(1, 2, 1)
plot(t, y(:, 3));
legend('易感人數S')
subplot(1, 2, 2)
hold on
plot(t, y(:, 1));
plot(t, y(:, 2));
plot(t, y(:, 4));
plot(t, y(:, 5));
legend('急性期感染人群I', '慢性期感染人群C', '康復人群R', '暴露人群E');
這段代碼同樣根據觀測數值來擬合最佳beta。因此,下面放上forecast函數。
function I_extracted = forecast(N, I0, C0, R0, E0, S0, beta, omega, p, gamma, f, br, dr, num_days)% x(1):急性期感染人群I,% x(2):慢性期感染人群C% x(3):易感人群S, % x(4):康復人群R,% x(5):暴露人群Edxdt = @(t, x) [omega * x(5) - gamma * x(1) - dr * x(1); % dIdtp * gamma * x(1) - (dr + f) * x(2); % dCdtbr * N - beta * x(3) * (x(2) + x(1)) / N - dr * x(3); % dSdt(1 - p) * gamma * x(1) - dr * x(4); % dRdtbeta * x(3) * (x(2) + x(1)) / N - omega * x(5) - dr * x(5); % dEdt];[~, y] = ode45(dxdt, 1: num_days, [I0, C0, S0, R0, E0]);I_extracted = y(:, 1);
end
效果展示
?
結果解讀
-
易感人群(S) :研究結果顯示,易感人群數量呈現出一種持續減少的趨勢,具體是從接近 10 萬人的規模逐漸下降,最終降低到約 8.4 萬人左右。這一變化的原因在于易感人群不斷通過暴露(E)這一環節,轉化為感染者(I)或者慢性患者(C),從而使得總易感人群的規模不斷縮減。從公共衛生的角度來看,這一結果明顯地反映了疾病正在社區中持續傳播,原本健康的個體逐漸面臨著被暴露于疾病風險的嚴峻形勢,這很可能是因為該疾病的傳染性較強,或者人群之間的接觸率相對較高,導致易感人群難以避免地接觸到病原體,進而增加了感染的可能性。
-
暴露人群(E) :暴露人群在觀察期間表現出緩慢上升的態勢,但總體數量一直處于較低的水平,始終沒有出現大規模的累積。這從側面反映出該疾病的暴露階段相對較短,個體在暴露之后會迅速轉化為感染者(I)。再結合對丙肝傳播規律的認識,這也與丙肝潛伏期較短的特性相符合,說明模型在一定程度上能夠準確地模擬出該疾病在特定階段內的傳播特點,以及不同狀態人群之間的轉換關系。
-
感染人群(I) :感染人群呈現出十分顯著的增長趨勢,經過大約 60 個月(也就是 5 年的時間),感染人群的數量達到了一個高峰,隨后其增長的速度逐漸變緩。這一現象可能提示我們在疾病傳播的初期,由于易感人群基數較大、傳播途徑尚未得到有效控制等因素,導致感染人數快速上升。而在達到高峰之后,可能由于部分患者康復、易感人群的自然減少或者防控措施逐漸發揮作用等原因,使得感染人群的增長勢頭得到了一定程度的遏制。不過,從長期的視角來看,仍然需要關注感染人群的動態變化,以防出現二次增長或者其他復雜的傳播情況。
-
慢性患者(C) :慢性患者人數呈現出緩慢增加的趨勢,一直持續到 120 個月(即 10 年)時才達到一個相對穩定的數值。從醫學角度來看,這表明該疾病中存在一部分急性感染者會逐漸轉化為慢性患者,這與丙肝的典型特點相吻合——其具有較高的急性轉慢性幾率。這一結果也提醒我們在面對此類疾病時,不僅要關注急性感染期的治療和控制,還要重視對慢性患者的長期管理和治療,以減少慢性感染所帶來的更嚴重的健康危害和社會負擔。
-
恢復人群(R) :恢復人群在整個觀察期間表現出顯著的增長趨勢,到了 120 個月的時候,已經成為所有人群分類中規模最大的一個群體。這主要得益于通過自然免疫機制以及采取的各種治療措施,使得感染疾病的人群逐步康復,并且能夠在一定程度上形成免疫,從而有效地阻斷了疾病的進一步傳播,減少了傳播鏈的延續。這也反映出在疾病防控過程中,通過合理的醫療干預和公共衛生措施,可以有效地促進患者恢復健康,進而改善整體的疫情狀況,這對于制定長期的疾病防控戰略具有重要的參考意義。