当前位置: 首页 > news >正文

数学建模——灰色预测(GM11)

灰色理论前面灰色关联分析说过了,这里直接正题

哪些数据适合灰色预测?

1.数据量很少的

例如只告诉了长江近5年的水质情况要求预测明年的水质情况

2.需要预测的量少的

只是预测明年的水质情况而不是后面10年的

3.数据规律不明显的

1.起伏不大型2.数据存在特殊点

灰色预测原理

通过累加制造规律构建

假设原序列是x^{(0)},新的累C

那么只要我找到了新的累加序列的函数表达式那就可以反推原序列了

比如我求出来了x^{(1)}(k+1)

x^{(0)}(k+1)=x^{(1)}(k+1)-x^{(1)}(k)就可以算预测值

因此现在目标就   不是求原序列拟合函数表达式 ——>  而是求新的累加序列的拟合函数表达式

这种拟合线长得一般像指数曲线或直线

所以构建一阶常微分方程来求解拟合曲线的函数表达式

x^{(1)}满足

\frac{dx^{(1)}}{dt}+ax^{(1)}=u

已知a和u即可求出函数表达式

再理一下逻辑:要预测x^{(0)}就得求x^{(1)},要预测x^{(1)}就得算x^{(1)}的函数表达式,要解出函数表达式就得算微分方程,要算微分方程就得知道a和u

计算公式参考微分方程的不同形式对应的方法概括(纯公式无证明)-CSDN博客

但是带入不同的x^{(1)}会求出很多a和u,所以要使用最小二乘法,通过最小化误差的平方和找最佳匹配函数

但是数据是离散的,所以\frac{dx^{(1)}}{dt}要写成\frac{\Delta x^{(1)}}{\Delta t}

而对于\Delta x^{(1)}\Delta x^{(1)}=x^{(1)}(t)-x^{(1)}(t-1)=x^{(0)}(t)

   对于\Delta t     ,\Delta t=t-(t-1)=1

所以\frac{dx^{(1)}}{dt}=\frac{\Delta x^{(1)}}{\Delta t}=\frac{x^{(0)}(t)}{1}=x^{(0)}(t)

因此\frac{dx^{(1)}}{dt}+ax^{(1)}=u\Leftrightarrow x^{(0)}(t)+ax^{(1)}(t)=u\Leftrightarrow x^{(0)}(t)=u-ax^{(1)}(t)

不妨把x^{(0)}(t)看成Y,x^{(1)}(t)看成X,得到Y=u-aX

这里求解方法参考:利用regress函数即可算出两个参数(算出的X前面的参数是-a的值)

数学建模——回归分析-CSDN博客

为了更能体现前后数据的关系,把x^{(1)}(t)变成取前后两个数均值更合理

记作:z^{(1)}(t)=\frac{x^{(1)}(t)+x^{(1)}(t-1)}{2}

方程改写为x^{(0)}(t)=u-az^{(1)}(t)

这里有一个问题:左边有k个数据,右边有k-1个数据,少了一个怎么对应

其实实际上我们是舍弃了初始数据的第一个数据

计算出au之后就计算\frac{dx^{(1)}}{dt}+ax^{(1)}=u

带入公式:

其中P(x)=a,Q(x)=u注意这里x是因变量,t才是自变量

x^{(1)}(t)=e^{-\int adt}(\int ue^{\int adt}dt+C)=e^{-at}(\int ue^{at}dt+C)=e^{-at}(\frac{u}{a}e^{at}+C)=\frac{u}{a}+Ce^{-at}

由于当t=1时x^{(1)}(1)=\frac{u}{a}+Ce^{-a}

因此C=(x^{(1)}(1)-\frac{u}{a})*e^{a},因为x^{(1)}(1)=x^{(0)}(1)C=(x^{(0)}(1)-\frac{u}{a})*e^{a}

x^{(1)}(t)=\frac{u}{a}+(x^{(0)}(1)-\frac{u}{a})\cdot e^{a}\cdot e^{-at}=\frac{u}{a}+(x^{(0)}(1)-\frac{u}{a})\cdot e^{-at+a}=\frac{u}{a}+(x^{(0)}(1)-\frac{u}{a})\cdot e^{-a(t-1)},t=1,2,\cdots

k=t-1,t=k+1

因此x^{(1)}(k+1)=\frac{u}{a}+(x^{(0)}(1)-\frac{u}{a})e^{-ak},k=0,1,\cdots

数据与模型检验:

建模开始之前:

要通过级比检验判断是否适合GM(1,1)

计算\lambda (k)=\frac{x^{(0)}(k-1)}{x^{(0)}(k)},k=2,3,\cdots,n.

如果\lambda (k)在区间(e^{-\frac{2}{n+1}},e^{-\frac{2}{n+2}}),说明可以用这个模型

如果不在区间内可以给每个数据都加上一个常数,看看是否在区间内,后面计算时减去常数即可

完成建模后:

需进行残差检验

\epsilon (k)=\frac{x^{(0)}(k)-\hat{x}^{(0)}(k)}{x^{(0)}(k)},k=1,2,\cdots,n

如果\epsilon (k)<0.2认为模型可以预测

也可以加入级比检验

如果没有通过就得考虑换一个模型了

整体流程

参考视频

http://www.xdnf.cn/news/1280233.html

相关文章:

  • 北京JAVA基础面试30天打卡07
  • HTTPS的应用层协议
  • react+vite-plugin-react-router-generator自动化生成路由
  • 安全等级认证系列 | 星环ArgoDB获CC EAL2安全认证,数据安全实力获国际认可
  • Linux入门DAY21
  • 用 Python 绘制企业年度财务可视化报告 —— 从 Excel 到 9 种图表全覆盖
  • 读《精益数据分析》:媒体内容平台全链路梳理
  • 低延迟RTSP|RTMP视频链路在AI驱动无人机与机器人操控中的架构实践与性能优化
  • TRS(总收益互换)系统架构设计:多市场交易的技术实现分析
  • 每日五个pyecharts可视化图表-line:从入门到精通 (3)
  • 常用设计模式系列(十九)- 状态模式
  • 闸机控制系统从设计到实现全解析:第 5 篇:RabbitMQ 消息队列与闸机通信设计
  • HBase BlockCache:LRU Cache
  • Agent用户体验设计:人机交互的最佳实践
  • redis(2)-java客户端使用(IDEA基于springboot)
  • 【图像处理基石】UE输出渲染视频,有哪些画质相关的维度和标准可以参考?
  • FlinkSql(详细讲解二)
  • IDE认知革命:JetBrains AI Assistant插件深度调教手册(终极实战指南)
  • 服务器配置实战:从 “密码锁” 到 “分工协作” 的知识点详解
  • POI导入时相关的EXCEL校验
  • Spring Boot Excel数据导入数据库实现详解
  • 缓存的三大问题分析与解决
  • Flink + Hologres构建实时数仓
  • MSE ZooKeeper:Flink高可用架构的企业级选择
  • 容器之王--Docker的安全优化详解及演练
  • 在Mac 上生成GitLab 的SSH 密钥并将其添加到GitLab
  • Django Request 与 DRF Request 的区别
  • (Arxiv-2025)Phantom:通过跨模态对齐实现主体一致性视频生成
  • 什么情况下会导致日本服务器变慢?解决办法
  • 第2节 大模型分布式推理架构设计原则