MATLAB-灰度预测

简介: MATLAB-灰度预测

面将主要从三方面进行大致讲解,灰色预测概念及原理、灰色预测的分类及求解步骤、灰色预测的实例讲解。

一、灰色预测概念及原理:


1.概述:


关于所谓的“颜色”预测或者检测等,大致分为三色:黑、白、灰,在此以预测为例阐述。

其中,白色预测是指系统的内部特征完全已知,系统信息完全充分;黑色预测指系统的内部特征一无所知,只能通过观测其与外界的联系来进行研究;灰色预测则是介于黑、白两者之间的一种预测,一部分已知,一部分未知,系统因素间有不确定的关系。细致度比较:白>黑>灰。

2.原理:


灰色预测是通过计算各因素之间的关联度,鉴别系统各因素之间发展趋势的相异程度。其核心体系是灰色模型(Grey Model,GM),即对原始数据做累加生成(或者累减、均值等方法)生成近似的指数规律在进行建模的方法。

二、灰色预测的分类及求解步骤:


1.GM(1,1)与GM(2,1)、DGM、Verhulst模型的分类比较:

image.png

2.求解步骤思维导图:

其中预测过程可能会涉及以下三种序列、白化微分方程、以及一系列检验,由于大致都相同,仅仅是某些使用累加和累减,而另外一些则使用累加、累减和均值三个序列的差别而已。于是下面笔者将对其进行归纳总结再进行绘制思维导图,帮助读者理解。

(1)原始序列(参考数据列):

(2)1次累加序列(1-AGO):

(3)1次累减序列(1-IAGO):(也就是原始序列中,后一项依次减去前一项的值,例如,[x(2)-x(1),x(3-x(2),...,x(n)-x(n-1))]。)

(4)均值生成序列:(这是对累加序列"(前一项+后一项)/2"得出的结果。)

求解步骤:

image.png

三、灰色预测的实例讲解:


1.使用GM(1,1)的预测检验“北方某城市1986年-1992年道路噪声交通 平均声级数据:”

见下图:

image.png

x0 = [71.1 72.4 72.4 72.1 71.4 72 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)]; %这是构造的数据矩阵B
Y = x0(2:n); %数据向量Y
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) %以小数格式显示微分方程的解
prediction1 = subs(x,t,[0:n-1]); %求已知数据的预测值
prediction1 = double(prediction1); %符号数转换成数值类型,以便做差分运算
prediction = [x0(1),diff(prediction1)] %差分运算,还原数据
epsilon = x0'-prediction %计算残差
delta = abs(epsilon./x0') %计算相对残差
rho = 1-(1-0.5*u(1))/(1+0.5*u(1))*lamda'%计算级比偏差值,u(1)=a

2.使用GM(2,1)的MATLAB实例:

题目:已知image.png=(41,90,61,78,96,104),试建立GM(2,1)模型。

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


目录
相关文章
|
机器学习/深度学习 传感器 算法
分类预测 | MATLAB实现BiLSTM双向长短期记忆神经网络多特征分类预测
分类预测 | MATLAB实现BiLSTM双向长短期记忆神经网络多特征分类预测
|
机器学习/深度学习 传感器 算法
【ANFIS 时序预测】基于 ANFIS 的时间序列预测附 MATLAB 代码
【ANFIS 时序预测】基于 ANFIS 的时间序列预测附 MATLAB 代码
|
机器学习/深度学习 数据采集 传感器
【lssvm回归预测】基于灰狼算法优化最小支持向量机GWO-LSSVM数据预测模型含Matlab源码
【lssvm回归预测】基于灰狼算法优化最小支持向量机GWO-LSSVM数据预测模型含Matlab源码
|
存储 计算机视觉
MATLAB--数字图像处理 入门--分别提取图像三通道(RGB)灰度图
MATLAB--数字图像处理 入门--分别提取图像三通道(RGB)灰度图
915 0
MATLAB--数字图像处理  入门--分别提取图像三通道(RGB)灰度图
|
计算机视觉
MATLAB--数字图像处理 绘画出图像灰度值的三维图像
MATLAB--数字图像处理 绘画出图像灰度值的三维图像
279 0
MATLAB--数字图像处理 绘画出图像灰度值的三维图像
MATLAB--图像空间尺度变换以及灰度梯度尺度变换
MATLAB--图像空间尺度变换以及灰度梯度尺度变换
167 0
MATLAB--图像空间尺度变换以及灰度梯度尺度变换
|
机器学习/深度学习 数据处理
【负荷预测】基于灰色理论负荷预测的应用研究(Matlab代码实现)
【负荷预测】基于灰色理论负荷预测的应用研究(Matlab代码实现)
【负荷预测】基于灰色理论负荷预测的应用研究(Matlab代码实现)
|
机器学习/深度学习
LSTM对比Bi-LSTM的电力负荷时间序列预测(Matlab)
LSTM对比Bi-LSTM的电力负荷时间序列预测(Matlab)
LSTM对比Bi-LSTM的电力负荷时间序列预测(Matlab)
|
机器学习/深度学习 传感器 算法
分类预测 | MATLAB实现ELM极限学习机多特征分类预测(四分类)
分类预测 | MATLAB实现ELM极限学习机多特征分类预测(四分类)
|
机器学习/深度学习 传感器 人工智能
【ELM回归预测】基于极限学习机实现气象影响因子光伏出力预测附matlab代码
【ELM回归预测】基于极限学习机实现气象影响因子光伏出力预测附matlab代码