前言
- 本文总结了预测类常见模型,包括:GM(1,1)灰色预测、传染病模型、马尔可夫预测模型
- 可以作为初学者的数模预测模型学习提纲
GM(1,1)灰色预测
简介与概念
- G:Grey(灰色),M:Model(模型),(1,1):只含有一个变量的一阶微分方程模型
- 白色系统:内部特征完全已知,可以计算想要结果
- 黑色系统:内部特征完全未知,具有不可知性
- 灰色系统:无法计算,但不是完全不可知,可以预测
- 累加可以削弱随机性
- 实际值、拟合值、预测值
适用赛题
- 数列预测
- 定时求量(短期)
- 短期波动小、可预测,长期变化可能大、难以预测
- 灾变预测
- 定量求时
- 需要考虑到阈值问题,时间构成新序列
- 拓扑预测
- 对数据波形越预测,等于求解多个灾变预测
- 与灾变类似,但是又详细的分级(多个阈值)
- 注意
- 需要数据量少,多了没有意义
- 只能短期预测
思路
- 制造规律
- 累加生成序列
- 弱化随机性,显现规律性
- 在建模开始进行级比检验,有公式,看原始数据用该模型是否可行。在区间外可以尝试平移变换,求解后再减去该值。还是不可以,则换方法。
- 用指数曲线逼近新序列
- 一阶常微分方程求解拟合
- 表达式处理,可用均值法消除数据随机性
- 最小二乘法求微分方程的a和u:求出拟合函数与已知数据平方差最小时,a、u的值
- 得出函数,进行预测
- 模型检验
- 相对误差检验:用拟合值和实际值的相对误差进行检验
- 级比偏差检验:公式
代码重点
- B\Y:B的逆矩阵乘以Y
- vpa设置有效小数
- 微分方程求解
传染病模型(按照递推关系)
指数传播模型
- 预测问题
- 免疫力和潜伏期等
- 假设
- 封闭区域
- 患病人数随时间连续变化且可微
- 单位时间传染到的人数为大于0的常数
- 结果分析
- 指数型增长
- 适合于传染病爆发初期
- 模型改进
- 患病人数越来越多,健康人群越来越少,SI模型
SI模型
- 假设
- 人口为常数,不考虑生死和迁移
- 两类人群,不考虑免疫
- 接触的平均人数是常数(有健康有患病),接触健康者才会感染
- 不考虑治愈和死亡
- 结果意义
- 预测高峰,提前预防
- 模型改进
- 未考虑到病人治愈,SIS模型
SIS模型
- 假设
- SI模型假设
- 治愈比例
- 无免疫性
- 结果分析
- 可以用传染强度换变量,传染强度其实是一个阈值
- 模型改进
- 未考虑免疫力,病愈后人具有免疫力,SIR模型
SIR模型
- 假设
- SIS模型假设
- 免疫者比例,病愈后人具有免疫力
- 模型改进
- 未考虑潜伏期,SEIR模型
代码重点
- 调用ode45
- 免疫力比例初始值0,其他初始值查资料
- 得易感者、患病者、免疫者的比例随时间变化的图像
马尔可夫预测
简介与概念
- 离散时间、状态空间
- 马尔可夫链 :随机序列,该项只与前一项有关,具有时齐性
适用赛题
- 健康与疾病
- 可能与优化模型结合
- 销售与贮存
- 设置上限
- 等级结构
思路
- 根据过去的数据,计算一步转移概率,得到转移矩阵
- 根据题目得初始概率,需要根据题意看看初始化算不算第一步
- 计算概率分布(矩阵运算)
代码重点
- 核心是遍历
- 矩阵多列的合并