灰色预测算法笔记

这篇博客详细介绍了灰色预测算法,包括其优点、适用范围和操作步骤。算法适用于数据量较少的短期预测,通过累加数据序列、建立一阶线性微分方程、求解灰参数等步骤进行预测。文章提供了小石老师的教程链接和B站视频资源,以及实际的源代码示例。
摘要由CSDN通过智能技术生成

灰色预测算法笔记

小石老师教程链接https://www.bilibili.com/video/BV1Mt411x7CH?t=684&p=4

小石老师代码资源可以看B站视频评论区

优点:

实用、结果比较稳定、在数据量较小时依旧可以较准确的预测结果

灰色预测模型使用范围:

数据量少,多的可以选择其他预测算法
短期预测,不可做长期预测

步骤

1、将原始数据累加,,得到新的数据序列
在这里插入图片描述

2、建立一阶线性微分方程

微分方程形式
其中x即为新生成的数据序列,a,u为待定系数,a代表的是发展系数,u代表灰作用量,这里将这两个参数称作“灰参数”,用一个列向量表示
在这里插入图片描述
3、对累加生成的数据做均值生成B与常数项Y
在这里插入图片描述
在这里插入图片描述
4、根据最小二乘法求得灰参数

在这里插入图片描述
5、将求得的灰参数代入以下公式

在这里插入图片描述
6、作差,还原原始数据原序列

在这里插入图片描述
得到的数据序列即为预测序列

输入原始数据
please enter the valure of A:[92.810 97.660 98.800 99.281 99.537 99.537 99.817 100.000]
please enter the range of old year:1:8
please enter the range of new year:1:9

源代码:greym.m

clc
clear
%% 1、对原始数据的累加
syms a b;
c=[a b]';
A = input('please enter the valure of A:');
t1 = input('please enter the range of old year:'); %输入原始数据的年份范围,该数据的长度应等于A的长度
t2 = input('please enter the range of new year:'); %输入未来数据的年份范围
% 因为t2为未来时刻的预测,所以t2应该大于t1的范围
L2=length(t2);
B = cumsum(A)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值