灰色模型及matlab算法

  • 常用的预测模型主要有以下几类
      • 简介
    • 模型建立步骤:

常用的预测模型主要有以下几类


下面介绍灰色预测模型

简介

灰色系统理论认为,尽管客观表象复杂,但总是有整体功能的,因此必然蕴含某种内在规律。关键在于如何选择适当的方式去挖掘和利用它。灰色系统是通对原始数据的整理来寻求其变化规律的,这是一种就数据寻求数据的现实规律的途径,即为灰色序列的生成。一切灰色序列都能通过某种生成弱化其随机性,显现其规律性。数据生成的常用方式有累加生成、累减生成和加权累加生成。

模型建立步骤:

  1. 累加生成
    假设有原始数据 x0=(x10,x20,.....xm0)x^0=(x_1^0 ,x_2^0 ,.....x_m^0)x0=(x10​,x20​,.....xm0​) ,把数据依次累加的过程称为累程(AGO )。由累加生成过程所得的数列称为累加生成数列。那么x0x^0x0的累加数列为
    x1=(x11,x21,.....xm1)=(∑i=11xi0,∑i=12xi0,∑i=1mxi0)x^1=(x_1^1 ,x_2^1,.....x_m^1)=(\sum_{i=1}^1x_i^0, \sum_{i=1}^2x_i^0,\sum_{i=1}^mx_i^0) x1=(x11​,x21​,.....xm1​)=(i=1∑1​xi0​,i=1∑2​xi0​,i=1∑m​xi0​)

  2. 累减生成

clc,clear;
% 参数修改
%T1是原始数据序列
%T2是预测结果序列
%pre_num 是要预测的数据个数
%%
T1 = 1999:2008;
T2 = 1999:2018;
prd_num = 10;%%
syms a b;
%c=[a b]';
x0=[89677,99215,109655,120333,135823,159878,192321,222407,246619,300670]; %原始数据
x1=cumsum(x0);  %原始数据累加
n=length(x0);
%% 求原始数据的级比
lamda = x0(1:n-1)./x0(2:n);
X = [exp(-2/(n+1)) exp(2/(n+1))]; %覆盖区间
figure(1)
plot(lamda,'bo')
hold on
h = plot(ones(1,n-1)*X(1),'r');
set(h,'LineWidth',2);
h=plot(ones(1,n-1)*X(2),'r');
set(h,'LineWidth',2);
legend('级比','级比覆盖下限','级比覆盖上限')
xlabel('级比序列')
ylabel('级比值')
title('数列级比')
hold off
C = (x1(1:end-1)+x1(2:end))/2;
%计算待定参数的值
Y=x0;Y(1)=[];
Y=Y';
B=[-C;ones(1,n-1)];
c=inv(B*B')*(B*Y); %#ok<MINV>
c=c';
a=c(1);  %获取a的值
b=c(2);  %获取b的值
%预测后续数据
prd_data=[];prd_data(1)=x0(1);
i=2:(n+prd_num);  %推测数据
prd_data(i) = (x0(1)-b/a)./exp(a*(i-1))+b/a; %得出解,将for循环改为矩阵运算
prd_result=[];
prd_result(1)=x0(1);
prd_result(2:n+prd_num) = prd_data(2:n+prd_num)-prd_data(1:n+prd_num-1);%求累减数列,得出预测结果,只推测后10个数据,可以从此修改,得到预测出来的数据
disp('预测值为:');
disp(prd_result);
%%
figure(2)
h=plot(T1,x0,'o',T2,prd_result,'-'); %原始数据与预测数据的比较
xlabel('数据序列号')
ylabel('数据值')
title('预测结果')
legend('原始数据','预测数据')
set(h,'LineWidth',1.5);
%%
figure(3)
ebson = x0-prd_result(1:n)./x0; %检验残差
lou   = 1-(1-0.5*a)/(1+0.5*a)*lamda; %计算偏度
plot(ebson,'b-o')
hold on
plot(lou,'g-s')
h = plot(ones(1,length(ebson))*0.1,'r-');
set(h,'LineWidth',2);
h=plot(ones(1,length(ebson))*0.2,'r-');
set(h,'LineWidth',2);
xlabel('数据序列号')
title('检验结果')
legend('残差','偏度','优等结果下限','一般结果下限')

灰色模型及matlab算法相关推荐

  1. 【Matlab优化预测】布谷鸟算法优化灰色模型预测【含源码 1244期】

    一.代码运行视频(哔哩哔哩) [Matlab优化预测]布谷鸟算法优化灰色模型预测[含源码 1244期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]屈迟文,傅 ...

  2. 多变量灰色模型matlab程序,多变量灰色预测模型算法的Matlab实现

    !""# 年 ! 月 引 言 自从邓聚龙教授提出灰色系统理论以来,灰色预测模型在许多领域得到了广泛应用.许多的研究工作者对 于动态微分方程模型 $%( &, &)进 ...

  3. 【电力预测】基于matlab GUI灰色模型电力负荷预测【含Matlab源码 769期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源: [电力负荷预测]基于matlab GUI灰色模型电力负荷预测[含Matlab源码 769期] 获取代码方式2: 通过订阅紫极神光博客付费专 ...

  4. gm 1 n 模型matlab,灰色预测模型GM1,n模型的matlab源...

    2021-02-22 15:01齐春春 客户经理 function GM1_1(X0) %format long ; [m,n]=size(X0); X1=cumsum(X0); %累加 X2=[]; ...

  5. 知然算法【2】灰色模型GM(1,1)

    知然算法[2]灰色模型GM(1,1) 0.算法适用 适用于短期预测: 样本条数大于4即可建模: 不适用于较大震荡性数据: 1.符号说明 原始数据序列: x 0 ( k ) , k = 1 , 2 ,

  6. 碎片模型matlab,Matlab在碎片拼接模型中的算法实现

    Matlab在碎片拼接模型中的算法实现 林美芳;范培源;薛志民;陈省江; [期刊名称]<宁德师范学院学报:自然科学版> [年(卷),期]2014(026)001 [摘要]针对2013年全国 ...

  7. matlab iri模型,iri-model IRI模型计算电离层延迟的matlab 算法 265万源代码下载- www.pudn.com...

    文件名称: iri-model下载  收藏√  [ 5  4  3  2  1 ] 开发工具: matlab 文件大小: 4182 KB 上传时间: 2013-05-29 下载次数: 85 详细说明: ...

  8. MATLAB优化模型例子,MATLAB优化算法案例分析与应用(进阶篇)

    导语 余胜威编著的<MATLAB优化算法案例分析与应用(进阶篇)>基本包括了所有常见的MATLAB优化算法及应用,包括贝叶斯分类器.期望最大化算法.K最近邻密度估计.朴素贝叶斯分类器.背景 ...

  9. burg算法matlab求功率谱,基于AR模型的Burg算法功率谱估计.doc

    基于AR模型的Burg算法功率谱估计 三种功率谱估计方法性能研究 1.前言: 我们已经知道一个随机信号本身的傅里叶变换并不存在,因此无法像确定性信号一样用数字表达式来精确表达它,而只能用各种统计平均量 ...

  10. MATLAB算法实战应用案例精讲-【数模应用】灰色预测模型(补充篇)(附Java、python和MATLAB代码)

    目录 前言 几个相关概念 知识储备 ⒈生成数 ⒉关联度 灰色模型GM(n,h)

最新文章

  1. 发布一个持续集成的npm包并加上装逼小icon
  2. 企业级闪存弥补数据经济价值短板
  3. 19号晚-21号上午
  4. Windows上打开大文件的工具
  5. 高老师的架构设计_隽语集(CC_1201)
  6. ubuntu12.04升级后找不到共享目录
  7. 字符统计2_JAVA
  8. OpenCV学习笔记三-Mat数据结构
  9. 解决 Windows Update 更新错误/无法创建还原点 代码 0x80246008
  10. mysql 内联函数_C++之内联函数
  11. 苹果笔记本能学二级计算机吗,怎么辨别苹果笔记本是不是翻新机
  12. python二进制处理详述
  13. 毕业设计之 ---- 基于机器视觉的图像拼接算法
  14. 调用getParameterValues(String name)获取表单的信息
  15. 清华寒门学子「树洞文」引网友热泪:“自强不息,厚德载物”的践行者
  16. PhotoShop中合并形状颜色会变化的问题
  17. 关于Keil.STM32F1xx_DFP.1.0.5代码无法烧录解决办法
  18. 网校平台对在线教育的好处
  19. arduino 的红外遥控解码
  20. Linux-IO全整理:BIO/NIO/IO多路复用解析

热门文章

  1. 7-1 图深度优先遍历(c++)
  2. 用 Java 写了一个抽奖功能,年会抽奖靠它了!
  3. 阿里云大学:百度贴吧自动签到实现
  4. 阿里云大学Linux学习路线图(学+测)重磅上线!
  5. 我国高等数学教材不能误导学生
  6. 通过减小Bootstrapping Error Reduction来进行离线RL学习
  7. css不同大小字体底部对齐
  8. TIA Openness开发入门(2)
  9. Chrome插件开发入门
  10. Shufflenet解读