灰色模型及matlab算法
灰色模型及matlab算法
- 常用的预测模型主要有以下几类
- 简介
- 模型建立步骤:
常用的预测模型主要有以下几类
下面介绍灰色预测模型
简介
灰色系统理论认为,尽管客观表象复杂,但总是有整体功能的,因此必然蕴含某种内在规律。关键在于如何选择适当的方式去挖掘和利用它。灰色系统是通对原始数据的整理来寻求其变化规律的,这是一种就数据寻求数据的现实规律的途径,即为灰色序列的生成。一切灰色序列都能通过某种生成弱化其随机性,显现其规律性。数据生成的常用方式有累加生成、累减生成和加权累加生成。
模型建立步骤:
累加生成
假设有原始数据 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∑1xi0,i=1∑2xi0,i=1∑mxi0)累减生成
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算法相关推荐
- 【Matlab优化预测】布谷鸟算法优化灰色模型预测【含源码 1244期】
一.代码运行视频(哔哩哔哩) [Matlab优化预测]布谷鸟算法优化灰色模型预测[含源码 1244期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]屈迟文,傅 ...
- 多变量灰色模型matlab程序,多变量灰色预测模型算法的Matlab实现
!""# 年 ! 月 引 言 自从邓聚龙教授提出灰色系统理论以来,灰色预测模型在许多领域得到了广泛应用.许多的研究工作者对 于动态微分方程模型 $%( &, &)进 ...
- 【电力预测】基于matlab GUI灰色模型电力负荷预测【含Matlab源码 769期】
一.获取代码方式 获取代码方式1: 完整代码已上传我的资源: [电力负荷预测]基于matlab GUI灰色模型电力负荷预测[含Matlab源码 769期] 获取代码方式2: 通过订阅紫极神光博客付费专 ...
- 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=[]; ...
- 知然算法【2】灰色模型GM(1,1)
知然算法[2]灰色模型GM(1,1) 0.算法适用 适用于短期预测: 样本条数大于4即可建模: 不适用于较大震荡性数据: 1.符号说明 原始数据序列: x 0 ( k ) , k = 1 , 2 ,
- 碎片模型matlab,Matlab在碎片拼接模型中的算法实现
Matlab在碎片拼接模型中的算法实现 林美芳;范培源;薛志民;陈省江; [期刊名称]<宁德师范学院学报:自然科学版> [年(卷),期]2014(026)001 [摘要]针对2013年全国 ...
- matlab iri模型,iri-model IRI模型计算电离层延迟的matlab 算法 265万源代码下载- www.pudn.com...
文件名称: iri-model下载 收藏√ [ 5 4 3 2 1 ] 开发工具: matlab 文件大小: 4182 KB 上传时间: 2013-05-29 下载次数: 85 详细说明: ...
- MATLAB优化模型例子,MATLAB优化算法案例分析与应用(进阶篇)
导语 余胜威编著的<MATLAB优化算法案例分析与应用(进阶篇)>基本包括了所有常见的MATLAB优化算法及应用,包括贝叶斯分类器.期望最大化算法.K最近邻密度估计.朴素贝叶斯分类器.背景 ...
- burg算法matlab求功率谱,基于AR模型的Burg算法功率谱估计.doc
基于AR模型的Burg算法功率谱估计 三种功率谱估计方法性能研究 1.前言: 我们已经知道一个随机信号本身的傅里叶变换并不存在,因此无法像确定性信号一样用数字表达式来精确表达它,而只能用各种统计平均量 ...
- MATLAB算法实战应用案例精讲-【数模应用】灰色预测模型(补充篇)(附Java、python和MATLAB代码)
目录 前言 几个相关概念 知识储备 ⒈生成数 ⒉关联度 灰色模型GM(n,h)
最新文章
- 发布一个持续集成的npm包并加上装逼小icon
- 企业级闪存弥补数据经济价值短板
- 19号晚-21号上午
- Windows上打开大文件的工具
- 高老师的架构设计_隽语集(CC_1201)
- ubuntu12.04升级后找不到共享目录
- 字符统计2_JAVA
- OpenCV学习笔记三-Mat数据结构
- 解决 Windows Update 更新错误/无法创建还原点 代码 0x80246008
- mysql 内联函数_C++之内联函数
- 苹果笔记本能学二级计算机吗,怎么辨别苹果笔记本是不是翻新机
- python二进制处理详述
- 毕业设计之 ---- 基于机器视觉的图像拼接算法
- 调用getParameterValues(String name)获取表单的信息
- 清华寒门学子「树洞文」引网友热泪:“自强不息,厚德载物”的践行者
- PhotoShop中合并形状颜色会变化的问题
- 关于Keil.STM32F1xx_DFP.1.0.5代码无法烧录解决办法
- 网校平台对在线教育的好处
- arduino 的红外遥控解码
- Linux-IO全整理:BIO/NIO/IO多路复用解析