博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
灰度预测
阅读量:5836 次
发布时间:2019-06-18

本文共 1155 字,大约阅读时间需要 3 分钟。

灰度预测

首先说,为啥要引出这个灰度预测,其实也就是在拟合的时候,效果不理想的一种另外的处理方案。

 

做灰度预测的步骤

 

P401,主要讨论G(1,1)模型

什么是G(1,1) 模型式一阶微分方程,且只含有1个变量的灰色模型。

 

举个栗子:

利用G(1,1) 模型预测某个城市道路交通噪声平均声级数。

 

数据的检验和处理

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(1) = a,u(2) = bu = B\Y;

 

 

 

建立模型

嘿嘿,重点建模来了!!!

 

对其求解,公式好复杂!!!

 

注意哦,这里的x(1) 是预测值,符号打不出来了。然后疯狂代入k值就行了。

检验预测值

  • 残差检验

  • 相对误差

  • 级比偏差

预测预报

 

 

附录

matlab程序

 
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(1) = a,u(2) = bu = B\Y;​% 微分方程预测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';

 

 

好啦,G(1,1)模型ok了,但是你可以从他的表达式看出他是具有较强指数规律的序列,对于非单调的摆动序列和有饱和的S序列,采用G(2,1)模型。预测过程也是一样的。

 

 

转载于:https://www.cnblogs.com/TreeDream/p/8258560.html

你可能感兴趣的文章
算法导论之并查集
查看>>
Select语句中的注意事项
查看>>
Binding Events to Methods in the Silverlight MVVM View Models
查看>>
jQuery第三课:修改元素属性及内容
查看>>
如何使SOLR系统自动AUTO COMMIT
查看>>
【JAVASCRIPT】递归与循环的效率比较
查看>>
为silverlight页面创建根页面BasePage
查看>>
Linux下的静态库和动态库 - yg2362 - C++博客
查看>>
模式识别(第二版)-读书笔记
查看>>
双向循环链表
查看>>
1到N中所有和为M的组合
查看>>
php 功能函数集
查看>>
Oracle10G 监听程序当前无法识别连接描述符中所给出的 SID (DBD ERROR: OCIServerAttach)...
查看>>
obotts.txt 什么是robots.txt?Robots.txt的官方标准写法
查看>>
Jquery Ajax 基础
查看>>
webservice 存根方式
查看>>
Items not exists bom list
查看>>
ASP.NET播放Flash(.SWF)视频
查看>>
跟我一起学习ASP.NET 4.5 MVC4.0(一)
查看>>
String.Empty、string=”” 和null的区别
查看>>