• 大小: 11KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-04-16
  • 语言: Matlab
  • 标签: 灰色预测  

资源简介

时间序列的人口预测,采用三次指数平滑,还有灰色预测,有数据提供参考。

资源截图

代码片段和文件信息

clear
close all
clc
%% 读取60-64岁数据
x=xlsread(‘工作簿1.xlsx‘);
x=x(:3)‘;   % 8读取人口数据
x1=[];
for k=1:3:length(x)-2

    x1=[x1 x(k)];   %60-64
end

%% 三次指数平滑预测
fc=10;  %未来10年
alpha=0.3;
beta=0.5;
gamma=0.5;

S=x1;
n=length(S);
k=2;
a(1)=sum(S(1:k))/k;
b(1)=(sum(S(k+1:2*k))-sum(S(1:k)))/k^2;
s=S-a(1);
y=a(1)+b(1)+s(1);

f=zeros(1441);
for i=1:n+fc
    if i==length(S)
        S(i+1)=a(end)+b(end)+s(end-k+1);
    end
a(i+1)=alpha*(S(i)-s(i))+(1-alpha)*(a(i)+b(i));
b(i+1)=beta*(a(i+1)-a(i))+(1-beta)*b(i);%趋势
s(i+1)=gamma*(S(i)-a(i)-b(i))+(1-gamma)*s(i);%周期
y(i+1)=a(i+1)+b(i+1)+s(i+1);
end
%% 
N=2018;
for i=fc:length(y)-1
disp([num2str(N)‘年60-64岁的预测人口数为:‘num2str(y(i+1))]);
N=N+1;
end

%% 
t1 = 2008:2017;
t2 = 2018:2028;
plot(t1 x1‘r*‘); hold on;
plot(t2 y(fc+1:end) ‘bo‘);
xlabel(‘年份‘); ylabel(‘人口数‘);
%legend(‘实际值‘‘预测值‘);

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件         931  2020-02-21 17:33  人口预测\main1.m
     文件        1128  2020-02-21 17:33  人口预测\main2.m
     文件         914  2020-02-21 17:32  人口预测\main3.m
     文件       10109  2020-02-21 17:01  人口预测\工作簿1.xlsx
     目录           0  2020-02-21 17:34  人口预测\

评论

共有 条评论