灰色预测模型的学习笔记(MATLAB 包含模型的建立 求解 及检验)

本博文是本人在学习灰色预测模型时所做的笔记,原理及代码部分都是基于学习各位大佬的博文,详见后面的参考,
一、 实操,利用灰色预测模型预测未来十年湖南的人口数量
二、 具体实现,从国家统计局获取湖南省过去十年的人口数据,作为原始数据,见Excel文件,利用MATLAB对灰色预测模型进行求解,具体MATLAB实现见如下代码:

%MATLAB 2016a版
clear,clc;
A=xlsread('分省年度数据.xls','$K$5:$B$5');
A=sort(A);
syms a b;
c=[a b]';
B=cumsum(A); % 原始数据累加
n=length(A);
for i=1:(n-1)
C(i)=(B(i)+B(i+1))/2; % 生成累加矩阵
end
% 计算待定参数的值
D=A;D(1)=[];
D=D';
E=[-C;ones(1,n-1)];
c=inv(E*E')*E*D;
c=c';
a=c(1);b=c(2);
% 预测后续数据
F=[];F(1)=A(1);
for i=2:(n+10)
F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a;
end
G=[];G(1)=A(1);
for i=2:(n+10)
  G(i)=F(i)-F(i-1); %得到预测出来的数据  
end
t1=2007:2016;
t2=2017:2026;

G;a;b;% 输出预测值,发展系数和灰色作用量
scatter(t1,A,'b');
hold on
plot(2007:2026,G,'r');
xlabel('年份');ylabel('人口数/万人');
title('基于灰色预测模型的未来十年湖南省人口趋势图');
text(2026,7444.6,'7444.6万');
legend('实际人口数量','预测人口数量');
grid on

可以得到如下结果:
由上图可知2016年湖南省人口预测数为7444.6万人
灰色预测模型的检验:

%灰色预测模型的检验
H = G(1:10);
%计算残差序列
epsilon = A - H;
%法一:相对残差Q检验
%计算相对误差序列
delta = abs(epsilon./A);
%计算相对误差Q
disp('相对残差Q检验:')
Q = mean(delta)

%法二:方差比P检验
disp('方差比P检验:')
P= std(epsilon, 1)/std(A, 1)

在对模型的检验过程中,我们得到了如下表的检验结果:

相对残差Q方差比C
-0.00350.1828

参见:
参见:

  • 19
    点赞
  • 139
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
Python中有多种方法可以实现灰色预测模型。一种常用的方法是使用灰色预测库pygrey进行建模和预测。灰色预测库pygrey提供了一系列函数和类,用于处理灰色预测的各个步骤。 首先,你需要导入pygrey库,并使用GrayModel函数创建一个灰色预测模型。这个函数接受一个时间序列作为输入,并返回一个训练好的灰色预测模型。 接下来,你可以使用这个模型进行预测。比如,你可以使用Predict函数来预测未来某一时刻的特征量。这个函数接受一个时间序列和预测步长作为输入,并返回预测结果。 除了预测未来的特征量,你还可以使用灰色预测模型来预测异常值的出现时刻。例如,你可以使用PredictAbnormal函数来预测异常值在特定时区内的出现时刻。 另外,你还可以使用灰色预测模型来预测事物未来变动的轨迹。你可以使用PredictWave函数来预测未来的波形变动。 总之,Python中的灰色预测模型可以通过使用pygrey库来实现。你可以根据需要选择适当的函数来进行建模和预测,以满足你的需求。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Python数据分析入门--灰色预测学习笔记](https://blog.csdn.net/m0_55202222/article/details/128762558)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [python 实现灰度预测模型](https://blog.csdn.net/zhangzhoubin666/article/details/107605808)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lc_知与行

日拱一卒 功不唐捐

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值