返回案例库

精选案例 · 科研阅读与计算 / Agent 自动化

传染病周期性爆发的微分方程建模

作者: PB24071421

原题:🦠 传染病周期性爆发的微分方程建模

本项目从经典SIR模型出发,逐步加入人口动态、季节性传播率和随机性机制,使用Runge-Kutta法和Gillespie算法进行数值模拟,探究传染病周期性爆发条件。全程通过AI辅助完成代码生成、问题定位和论文撰写,最终获得关键结论:季节性传播率是持续周期性疫情的关键驱动力。

案例速读

该案例展示了完整的传染病建模实验流程,从基本SIR到随机SIR四个层级逐步扩展,使用了主流的数值方法(Runge-Kutta、Gillespie),并且详细记录了AI辅助编码、调试和论文撰写的全过程。README结构清晰,包含模型表格、关键结论和技术栈,易于理解。内容具有教育意义和复用价值,适合作为建模教学和AI辅助实践案例。 建议从 「🦠 传染病周期性爆发的微分方程建模」、「项目概述」、「模型层级」、「数值方法」 进入正文,先确认真实任务和模型辅助过程。

  • 重点看 SIR模型层级扩展方法、AI辅助ODE编码与调试流程、Gillespie随机模拟实现。结合 科研阅读与计算 / Agent 自动化 / SIR模型 / 微分方程 和「传染病建模学习者、AI辅助编程开发者、学术论文写作者」,它更适合作为任务检索后的精读材料。
  • 正文目录和原始材料仍然是判断依据;导读只帮助你更快定位阅读重点。
首读入口
项目概述
读者
传染病建模学习者、AI辅助编程开发者、学术论文写作者
复用
SIR模型层级扩展方法
结构
10 个目录入口

原文内容

🦠 传染病周期性爆发的微分方程建模

关键词:SIR 模型、ODE、Runge-Kutta 法、Gillespie 算法、Python、LaTeX


项目概述

从经典 SIR 仓室模型出发,逐步引入人口动态、季节性传播率和随机性机制,通过系统的数值实验探究传染病周期性爆发的形成机制。

模型层级

阶段 模型 关键机制 现象
1 基本 SIR 易感-感染-恢复三仓室 单峰疫情
2 人口动态 SIR 引入出生/死亡项 阻尼振荡
3 季节性 SIR 传播率年周期变化 持续周期性爆发
4 随机 SIR Gillespie 直接法 小种群随机灭绝

数值方法

  • 确定性模型:四阶 Runge-Kutta 法(scipy.integrate.solve_ivp,RK45)
  • 随机模型:Gillespie 直接法(Stochastic Simulation Algorithm)

AI 辅助流程

第一阶段:搭建基础框架

  1. 将基本 SIR 模型的三个 ODE 方程用自然语言描述给 AI
  2. AI 生成 solve_ivp 调用代码,包括 Jacobian 矩阵和参数配置
  3. 运行后检查曲线形态是否与预期一致(单峰、峰值时间、最终规模)
  4. 确认无误后抽取公共逻辑为 utils.py,后续阶段复用

第二阶段:逐步扩展模型

采用"描述公式 → AI 生成代码 → 运行验证 → 反馈修正"的循环:

  • 人口动态:在基本 SIR 基础上加入出生率 μ 和死亡率 μ,AI 修改向量场函数,验证阻尼振荡是否出现
  • 季节性传播率:将常数 β 替换为 β(t) = β₀(1 + α cos(2πt)),AI 处理时变参数的传入方式
  • 随机模拟:用自然语言描述 Gillespie 算法的四个步骤,AI 翻译为 Python 实现,再与确定性结果做统计对比

每个阶段遇到的主要问题及 AI 辅助定位:

  • 人口动态模型中解趋向于零——AI 指出死亡率和出生率设置不一致
  • 季节性模型中振幅太小——AI 建议调整 α 范围并检查时间单位

第三阶段:论文撰写

  1. 将已有的 Python 脚本和输出图片路径提供给 AI
  2. AI 生成 LaTeX 正文框架,包括 \includegraphics\ref 占位
  3. 逐节检查公式正确性,AI 辅助修正 \frac、上下标等排版细节
  4. .bib 文献条目由 AI 根据论文标题生成

关键结论

  1. 基本 SIR 模型仅能产生单峰疫情,无法刻画周期性
  2. 人口动态引入后出现阻尼振荡,但仍无法维持持续周期
  3. 季节性传播率是持续周期性疫情的关键驱动力
  4. 小种群规模下随机效应可能导致疾病提前灭绝

技术栈

类别 详情
语言 Python 3, LaTeX
数值库 scipy, numpy, matplotlib
算法 RK45, Gillespie SSA
AI 工具 Claude Code, DeepSeek-v4

返回顶部