灰色理论预测模型

灰色理论

通过对原始数据的处理挖掘系统变动规律,建立相应微分方程,从而预测事物未来发展状况。 
优点:对于不确定因素的复杂系统预测效果较好,且所需样本数据较小; 
缺点:基于指数率的预测没有考虑系统的随机性,中长期预测精度较差。

灰色预测模型

在多种因素共同影响且内部因素难以全部划定,因素间关系复杂隐蔽,可利用的数据情况少下可用,一般会加上修正因子使结果更准确。 
灰色系统是指“部分信息已知,部分信息未知“的”小样本“,”贫信息“的不确定系统,以灰色模型(G,M)为核心的模型体系。

灰色预测模型建模机理

灰色系统理论是基于关联空间、光滑离散函数等概念,定义灰导数与会微分方程,进而用离散数据列建立微分方程形式的动态模型。

灰色预测模型实验

以sin(pi*x/20)函数为例,以单调性为区间检验灰色模型预测的精度 

通过实验可以明显地看出,灰色预测对于单调变化的序列预测精度较高,但是对波动变化明显的序列而言,灰色预测的误差相对比较大。究其原因,灰色预测模型通过AGO累加生成序列,在这个过程中会将不规则变动视为干扰,在累加运算中会过滤掉一部分变动,而且由累加生成灰指数律定理可知,当序列足够大时,存在级比为0.5的指数律,这就决定了灰色预测对单调变化预测具有很强的惯性,使得波动变化趋势不敏感。

本文所用测试代码:

  1 clc
  2 clear all
  3 % 本程序主要用来计算根据灰色理论建立的模型的预测值。
  4 % 应用的数学模型是 GM(1,1)。
  5 % 原始数据的处理方法是一次累加法。
  6 x=[0:1:10];
  7 x1=[10:1:20];
  8 x2=[0:1:20];
  9 y=sin(pi*x/20);
 10 n=length(y);
 11 yy=ones(n,1);
 12 yy(1)=y(1);
 13 for i=2:n
 14     yy(i)=yy(i-1)+y(i);
 15 end
 16 B=ones(n-1,2);
 17 for i=1:(n-1)
 18     B(i,1)=-(yy(i)+yy(i+1))/2;
 19     B(i,2)=1;
 20 end
 21 BT=B‘;
 22 for j=1:n-1
 23     YN(j)=y(j+1);
 24 end
 25 YN=YN‘;
 26 A=inv(BT*B)*BT*YN;
 27 a=A(1);
 28 u=A(2);
 29 t=u/a;
 30 t_test=5;  %需要预测个数
 31 i=1:t_test+n;
 32 yys(i+1)=(y(1)-t).*exp(-a.*i)+t;
 33 yys(1)=y(1);
 34 for j=n+t_test:-1:2
 35     ys(j)=yys(j)-yys(j-1);
 36 end
 37 x=1:n;
 38 xs=2:n+t_test;
 39 yn=ys(2:n+t_test);
 40 det=0;
 41 for i=2:n
 42     det=det+abs(yn(i)-y(i));
 43 end
 44 det=det/(n-1);
 45
 46 subplot(2,2,1),plot(x,y,‘^r-‘,xs,yn,‘b-o‘),title(‘单调递增‘ ),legend(‘实测值‘,‘预测值‘);
 47 disp([‘百分绝对误差为:‘,num2str(det),‘%‘]);
 48 disp([‘预测值为: ‘,num2str(ys(n+1:n+t_test))]);
 49
 50
 51 %递减
 52 y1=sin(pi*x1/20);
 53 n1=length(y1);
 54 yy1=ones(n1,1);
 55 yy1(1)=y1(1);
 56 for i=2:n1
 57     yy1(i)=yy1(i-1)+y1(i);
 58 end
 59 B1=ones(n1-1,2);
 60 for i=1:(n1-1)
 61     B1(i,1)=-(yy1(i)+yy1(i+1))/2;
 62     B1(i,2)=1;
 63 end
 64 BT1=B1‘;
 65 for j=1:n1-1
 66     YN1(j)=y1(j+1);
 67 end
 68 YN1=YN1‘;
 69 A1=inv(BT1*B1)*BT1*YN1;
 70 a1=A1(1);
 71 u1=A1(2);
 72 t1=u1/a1;
 73 t_test1=5;  %需要预测个数
 74 i=1:t_test1+n1;
 75 yys1(i+1)=(y1(1)-t1).*exp(-a1.*i)+t1;
 76 yys1(1)=y1(1);
 77 for j=n1+t_test1:-1:2
 78     ys1(j)=yys1(j)-yys1(j-1);
 79 end
 80 x21=1:n1;
 81 xs1=2:n1+t_test1;
 82 yn1=ys1(2:n1+t_test1);
 83 det1=0;
 84 for i=2:n1
 85     det1=det1+abs(yn1(i)-y1(i));
 86 end
 87 det1=det1/(n1-1);
 88
 89 subplot(2,2,2),plot(x1,y1,‘^r-‘,xs1,yn1,‘b-o‘),title(‘单调递增‘ ),legend(‘实测值‘,‘预测值‘);
 90 disp([‘百分绝对误差为:‘,num2str(det1),‘%‘]);
 91 disp([‘预测值为: ‘,num2str(ys1(n1+1:n1+t_test1))]);
 92
 93 %整个区间
 94 y2=sin(pi*x2/20);
 95 n2=length(y2);
 96 yy2=ones(n2,1);
 97 yy2(1)=y2(1);
 98 for i=2:n2
 99     yy2(i)=yy2(i-1)+y2(i);
100 end
101 B2=ones(n2-1,2);
102 for i=1:(n2-1)
103     B2(i,1)=-(yy2(i)+yy2(i+1))/2;
104     B2(i,2)=1;
105 end
106 BT2=B2‘;
107 for j=1:n2-1
108     YN2(j)=y2(j+1);
109 end
110 YN2=YN2‘;
111 A2=inv(BT2*B2)*BT2*YN2;
112 a2=A2(1);
113 u2=A2(2);
114 t2=u2/a2;
115 t_test2=5;  %需要预测个数
116 i=1:t_test2+n2;
117 yys2(i+1)=(y2(1)-t2).*exp(-a2.*i)+t2;
118 yys2(1)=y2(1);
119 for j=n2+t_test2:-1:2
120     ys2(j)=yys2(j)-yys2(j-1);
121 end
122 x22=1:n2;
123 xs2=2:n2+t_test2;
124 yn2=ys2(2:n2+t_test2);
125 det2=0;
126 for i=2:n2
127     det2=det2+abs(yn2(i)-y2(i));
128 end
129 det2=det2/(n2-1);
130
131 subplot(2,1,2),plot(x2,y2,‘^r-‘,xs2,yn2,‘b-o‘),title(‘全区间‘ ),legend(‘实测值‘,‘预测值‘);
132 disp([‘百分绝对误差为:‘,num2str(det2),‘%‘]);
133 disp([‘预测值为: ‘,num2str(ys2(n2+1:n2+t_test2))]);
时间: 2024-12-30 03:57:59

灰色理论预测模型的相关文章

建模算法(十)——灰色理论之关联度分析

一.数据变换技术 为了保证建模的质量和系统分析结果的准确性,对原始的数据要进行去量纲处理. 1.定义 设有序列,则成映射为序列x到序列y的数据变换. (1) f 是初值化变换. (2) f 是均值化变换. (3) f 是百分比变换 (4) f 是倍数变换 (5) f 是归一化变换其中x0>0的一个数值 (6) f 是极差最大值变换 (6) f 是区间值变换 二.关联分析 1.定义 参考数列是被比较(主体),比较数列是比较值(不是主体) 但是由于各个时刻都有一个分辨系数,太过分散,所以再定义一个指

灰色预测模型

灰色预测模型是通过少量的.不完全的信息,建立数学模型并作出预测的一种预测方法. 灰色系统理论是研究解决灰色系统分析.建模.预测.决策和控制的理论. 灰色预测是对灰色系统所做的预测.目前常用的一些预测方法(如回归分析等),需要较大的样本,若样本较小,常造成较大误差,使预测目标失效.灰色预测模型所需建模信息少,运算方便,建模精度高,是处理小样本预测问题的有效工具. 灰色系统是黑箱概念的一种推广,我们把既含有已知信息又含有未知信息的系统称为灰色系统(占大多数).作为两个极端,我们将信息完全未确定的系统

GM11灰色模型

作者:桂. 时间:2017-08-12  08:34:06 链接:http://www.cnblogs.com/xingshansi/p/7348714.html 前言 灰色模型(Gray model)常用来对数据进行预测,这里简要记录其思路. 一.名称由来 灰色模型(Gray Model),邓聚龙教授1982年提出. 常见系统分类: 白色系统是指一个系统的内部特征是完全 已知的,即系统的信息是完全充分的. 黑色系统是指一个系统的内部信息对外界来说是一无所知的,只能通过它与外界的联系来加以观测研

灰色预测GM(1,1)

% 本程序主要用来计算根据灰色理论建立的模型的预测值.% 应用的数学模型是GM(1,1).% 原始数据的处理方法是一次累加法.y=input('请输入数据');%输入数据请用如例所示形式:[48.7 57.17 68.76 92.15] n=length(y); yy=ones(n,1); yy(1)=y(1); for i=2:n  yy(i)=yy(i-1)+y(i); end  B=ones(n-1,2); for i=1:(n-1)      B(i,1)=-(yy(i)+yy(i+1)

顶尖数据挖掘辅助教学套件(TipDM-T6)产品白皮书

      顶尖数据挖掘辅助教学套件 (TipDM-T6)           产  品  说  明  书 广州泰迪智能科技有限公司 版权所有 地址: 广州市经济技术开发区科学城232号 网址: http://www.tipdm.com 邮箱: [email protected] 热线: 40068-40020 企业QQ:40068-40020 邮编: 510663 电话: (020)82039399 目  录 1                     引言..................

数学建模需掌握的知识总纲

数学建模需要掌握许多知识,这里我列出总纲: 学建模中的算法 穷举法 神经网络 模拟退火 遗传算法 图论算法 蒙特卡洛算法 所需基础知识 高等数学 线性代数(矩阵加减乘除) 概率论与数理统计(概率论,参数估计,假设检验,回归分析) 评价 AHP模型(层次分析) 模糊评价 预测 分析场景 曲线拟合 模糊预测 神经网络 灰色理论 马尔科夫链 运筹 整数规划(分支界定法) 01规划 灵敏度分析 影子价格 概率统计 排队论 主成分分析法 回归分析法 曲线拟合 图论 动态规划 网络最大流 最小费用流 最短路

顶尖大数据挖掘实战平台(TipDM-H8)产品白皮书

    顶尖大数据挖掘实战平台 (TipDM-H8)           产  品  说  明  书 广州泰迪智能科技有限公司 版权所有 地址: 广州市经济技术开发区科学城232号 网址: http://www.tipdm.com 邮箱: [email protected] 热线: 40068-40020 企业QQ:40068-40020 邮编: 510663 电话: (020)82039399 目  录 1                     引言.....................

灰色模型的malab程序

function [y,p,e]=huise_1_1(X,k)                     %灰色模型的malab程序%Example [y,p]=gm_1_1([200 250 300 350],2)  %接口描述: X的预测的初始数列,|X|>4,K是指向后进行预测的个数%命令格式: 程序保存的文件名,eg:huise.m  则命令是: huise([579.8 547.5 527.0 492.3 437.0],5)   if nargout>3;    error('Too

Logistic Regression 的前世今生(理论篇)

[机器学习]Logistic Regression 的前世今生(理论篇) 本博客仅为作者记录笔记之用,不免有很多细节不对之处. 还望各位看官能够见谅,欢迎批评指正. 博客虽水,然亦博主之苦劳也. 如需转载,请附上本文链接,不甚感激! http://blog.csdn.net/cyh_24/article/details/50359055 写这篇博客的动力是源于看到了下面这篇微博: 我在看到这篇微博的时候大为触动,因为,如果是rickjin来面试我,我想我会死的很惨,因为他问的问题我基本都回答不上