预测方法

提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
例如:第一章 Python 机器学习入门之pandas的使用


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 预测方法
  • 一、微分方程模型
  • 二、灰色预测模型
  • 三、马尔科夫预测
  • 四、时间序列
  • 五、插值与拟合
  • 六、神经元网络

一、微分方程模型

做出不同的假设,就得到不同的方程。比较典型的有传染病的预测模型、经济增长预测模型、兰彻斯特(Lanchester)战争预测模型、药物在体内的分布与排除预测模型、人口的预测模型、烟雾的扩散与消失预测模型等。其基本规律随着时间的增长趋势呈指数形式,根据变量的个数建立微分方程模型。微分方程模型的建立基于相关原理的因果预测法。


dxy=@(t,x)[-0.0544*x(2)+54000*(t>=0 & t<1)+...6000*(t>=2 & t<3)+13000*(t>=5 & t<6)-0.0106*x(1)];  %定义微分方程组右端项
[t,xy]=ode45(dxy,[0:36],[0,21500])
subplot(211), plot(t,xy(:,1),'r*',t,xy(:,2),'gD')
xlabel('时间t'),  ylabel('人数'), legend('美军','日军')
subplot(212),  plot(xy(:,1),xy(:,2))  %画微分方程组的轨线
xlabel('美军人数x'),  ylabel('日军人数y') 

二、灰色预测模型

灰色预测的主要特点是模型使用的不是原始数据序列,而是生成的数据序列。其核心体系是灰色模型(Grey Model,简称GM),即对原始数据作累加生成(或其它方法生成)得到近似的指数规律再进行建模的方法。优点是不需要很多的数据,一般只需要4个数据就够,能解决历史数据少、序列的完整性及可靠性低的问题;能利用微分方程来充分挖掘系统的本质,精度高;

clc,clear
x0=[71.1 72.4 72.4 72.1 71.4 72.0 71.6]'; %注意这里为列向量
n=length(x0);
lamda=x0(1:n-1)./x0(2:n)  %计算级比
range=minmax(lamda')  %计算级比的范围
x1=cumsum(x0)  %累加运算
B=[-0.5*(x1(1:n-1)+x1(2:n)),ones(n-1,1)];
Y=x0(2:n);
u=B\Y  %拟合参数u(1)=a,u(2)=b
syms x(t)
x=dsolve(diff(x)+u(1)*x==u(2),x(0)==x0(1)); %求微分方程的符号解
xt=vpa(x,6) %以小数格式显示微分方程的解
yuce1=subs(x,t,[0:n-1]); %求已知数据的预测值
yuce1=double(yuce1); %符号数转换成数值类型,否则无法作差分运算
yuce=[x0(1),diff(yuce1)]  %差分运算,还原数据
epsilon=x0'-yuce    %计算残差
delta=abs(epsilon./x0')  %计算相对误差
rho=1-(1-0.5*u(1))/(1+0.5*u(1))*lamda'  %计算级比偏差值,u(1)=a

clc,clear
x0=[41,49,61,78,96,104]; %原始序列
n=length(x0);
x1=cumsum(x0)  %计算1次累加序列
a_x0=diff(x0)' %计算1次累减序列
z=0.5*(x1(2:end)+x1(1:end-1))'; %计算均值生成序列
B=[-x0(2:end)',-z,ones(n-1,1)];
u=B\a_x0   %最小二乘法拟合参数
syms x(t)
x=dsolve(diff(x,2)+u(1)*diff(x)+u(2)*x==u(3),x(0)==x1(1),x(5)==x1(6)); %求符号解
xt=vpa(x,6) %显示小数形式的符号解
yuce=subs(x,t,0:n-1); %求已知数据点1次累加序列的预测值
yuce=double(yuce) %符号数转换成数值类型,否则无法作差分运算
x0_hat=[yuce(1),diff(yuce)]; %求已知数据点的预测值
x0_hat=round(x0_hat) %四舍五入取整数
epsilon=x0-x0_hat    %求残差
delta=abs(epsilon./x0)  %求相对误差



clc,clear
x0=[4.93   2.33   3.87   4.35   6.63   7.15   5.37   6.39   7.81   8.35];
x1=cumsum(x0);  %求1次累加序列
n=length(x0);
z=0.5*(x1(2:n)+x1(1:n-1));   %求x1的均值生成序列
B=[-z',z'.^2];
Y=x0(2:end)';
u=B\Y     %估计参数a,b的值
syms x(t)
x=dsolve(diff(x)+u(1)*x==u(2)*x^2,x(0)==x0(1));  %求符号解
xt=vpa(x,6) %显示小数形式的符号解
yuce=subs(x,t,[0:n-1]); %求已知数据点1次累加序列的预测值
yuce=double(yuce) %符号数转换成数值类型,否则无法作差分运算
x0_hat=[yuce(1),diff(yuce)] %求已知数据点的预测值
epsilon=x0-x0_hat    %求残差
delta=abs(epsilon./x0)  %求相对误差
writematrix([x0',x0_hat',epsilon',delta'], 'data15_5.xlsx')

三、马尔科夫预测

四、时间序列


clc, clear
a=[15.2     15.9   18.7    22.4    26.9    28.3    30.5 ...33.8     40.4   50.7    58      66.7    81.2    83.4];
Rt=tiedrank(a)  %求原始时间序列的秩
n=length(a); t=1:n;
Qs=1-6/(n*(n^2-1))*sum((t-Rt).^2)   %计算Qs的值
T=Qs*sqrt(n-2)/sqrt(1-Qs^2)   %计算T统计量的值
t_0=tinv(0.975,n-2)     %计算上alpha/2分位数
b=diff(a);   %求原始时间序列的一阶差分
m=ar(b,2,'ls')  %利用最小二乘法估计模型的参数
bhat=predict(m,b')  %求预测值,第二个参数必须为列向量
bhat(end+1)=forecast(m,b',1) %计算1个预测值,第二个参数必须为列向量
ahat=[a(1), a+bhat']  %求原始数据的预测值,并计算t=15的预测值
delta=abs((ahat(1:end-1)-a)./a)  %计算原始数据预测的相对误差
writematrix(ahat, 'anli15_1.xlsx')
writematrix(delta,'anli15_1.xlsx', 'Sheet', 1, 'Range', 'A3')

五、插值与拟合

六、神经元网络


数学建模--预测方法相关推荐

  1. 数学建模|预测方法:马尔科夫预测

    马尔可夫链的定义 现实世界中有很多这样的现象:某一个系统在已知现在的条件下,系统未来时刻的情况只与现在有关,而与过去的历史无关,比如,研究一个商店的累计销售额,如果现在时刻的累计销售额已知,则未来某一 ...

  2. 数学建模|预测方法:灰色预测模型

    简介 灰色系统理论是由华中理工大学邓聚龙教授于1982年提出并加以发展的.二十几年来,引起了不少国内外学者的关注,得到了长足的发展.目前,在我国已经成为社会.经济.科学技术在等诸多领域进行预测.决策. ...

  3. 数学建模 预测方法集锦

    预测方法集锦 1.移动平均法 2.指数平滑法 3.差分指数平滑法 4.自适应滤波法 5.趋势外推(预测)法 6.回归分析 7.灰色预测 1.移动平均法 根据时间序列资料逐渐推移,依次计算包含一定项数的 ...

  4. 数学建模预测方法之 差分方程模型

    差分方程 利用差分方程建模研究实际问题,常常需要根据统计数据用最小二乘法来拟合出差分方程的系数. 数据系统的稳定性还要进一步讨论代数方程的求根. 应用场景 适用于商品销售量的预测.投资保险收益率的预测 ...

  5. 【MATLAB】数学建模入门方法综述

    数学建模入门方法综述

  6. 数学建模入门 方法及代码

    数学建模入门 数学模型 (1)原型与模型 模型是原型的替代物.(对原型提炼构造.) 模型不是原型,既简单于原型又高于原型. 模型的分类 数学模型是对特定对象,特定目的,根据特有的内在规律,做出一些必要 ...

  7. 数学建模--预测类模型

    目录 一.中短期预测 1.灰色预测法 ①适用范围 ②模型实现 2.回归分析 ①适用范围 ②模型实现 3.时间序列分析 ①自适应滤波法 ②指数平滑法 ③移动平均法 4.微分方程 二.长期预测 1.神经网 ...

  8. 数学建模预测类——拟合算法

    写在前文,懒编正准备参加数学建模并负责编程部分,写文章的初衷是为了加深自己的记忆.当然,如果可以帮助到其他人我也是很开心的.我主要介绍的是拟合算法的应用,所以接下来的文章更适合和我有一样工作的同学浏览 ...

  9. 数学建模--综合评价方法

    综合评价方法 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮 ...

  10. 数学建模——拟合方法以及最小二乘优化问题(附黄河小浪底调水调沙例题)

    上篇博客中介绍了插值,插值的一些算法以及Matalb中的一些插值工具函数,这篇博文主要介绍拟合方法以及Matlab中的拟合函数和交互式页面. 一. 拟合方法 线性最小二乘法引入 (1) 概述:与插值相 ...

最新文章

  1. 一款由css3和jquery实现的响应式设计导航
  2. View事件分发机制(源码 API27)
  3. 使用tap和tun设备的方法
  4. SSRS:服务器更名后,ReportingService无法使用和登录的解决办法
  5. 从零开始学数据结构和算法(二)线性表的链式存储结构
  6. 基础回顾(Map、==/equals()/hashcode())
  7. 天津理工上机c语言报告5,天津理工大学c语言上机报告7.doc
  8. python输出奇数数字序位_python对输出的奇数偶数排序实例代码
  9. hook_theme 的重要性
  10. android+studio2.1+是否不支持感染到了.0,Android studio 2.2.3 升级到2.3遇到的问题
  11. 网站服务器系统组成,linux系统由哪几部分组成_网站服务器运行维护,linux
  12. c语言strTrimed函数用法介绍,TRIM函数
  13. python 极速后台开发框架_基于FastAdmin快速搭建后台管理系统
  14. Dokcer学习笔记之Dokcerfile 文件构建
  15. ElementUI:设置导航栏选中文字样式
  16. vue pc移动两个html,vue一套代码适应移动端,pc端
  17. msp432快速入门第三节之让LED闪起来
  18. 面试题-渗透测试实习生
  19. 158:vue+openlayers 地图上Echarts模拟飞机循环飞行
  20. 狐妖小红娘——漫画中的tfboys

热门文章

  1. Win10搜索框图案有广告的解决办法
  2. 推荐几款优秀的开源编程字体
  3. TSC条码打印机常见故障及解决方法
  4. 转换BIM IFC数据为CityGML
  5. [笔记] 《Windows网络编程(第2版)》
  6. c实现一个简单的线性反馈移位寄存器LFSR
  7. 机械系统传动创新组合设计实验台,QY-JXSX08
  8. IM即时通讯项目讲解(二) 自定义实现图片选择GalleryView
  9. 北京地铁挤,最挤昌平线
  10. kali新手入门教学(16)--如何在校园网下使用桥接模式上网