資源簡介
時間序列的人口預(yù)測,采用三次指數(shù)平滑,還有灰色預(yù)測,有數(shù)據(jù)提供參考。
代碼片段和文件信息
clear
close?all
clc
%%?讀取60-64歲數(shù)據(jù)
x=xlsread(‘工作簿1.xlsx‘);
x=x(:3)‘;???%?8讀取人口數(shù)據(jù)
x1=[];
for?k=1:3:length(x)-2
????x1=[x1?x(k)];???%60-64
end
%%?三次指數(shù)平滑預(yù)測
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歲的預(yù)測人口數(shù)為:‘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(‘人口數(shù)‘);
%legend(‘實際值‘‘預(yù)測值‘);
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????????931??2020-02-21?17:33??人口預(yù)測\main1.m
?????文件????????1128??2020-02-21?17:33??人口預(yù)測\main2.m
?????文件?????????914??2020-02-21?17:32??人口預(yù)測\main3.m
?????文件???????10109??2020-02-21?17:01??人口預(yù)測\工作簿1.xlsx
?????目錄???????????0??2020-02-21?17:34??人口預(yù)測\
- 上一篇:風(fēng)電廠火電廠調(diào)頻分析
- 下一篇:A星算法得出最短路徑
評論
共有 條評論