










% 使用时更换原始数据和时间序列即可
clear
syms a b;
c=[a b]’; %待定参数定义,即为笔记里的a u
A=[89677 99215 109655 120333 135823 159878 182321 209407 246619 >>300670]; %原始数据,使用时可更换
B=cumsum(A); %数据累加
n=length(A); %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(EE’) * 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=1999:2008; %时间序列 使用时可更换
t2=1999:2018; %时间序列 使用时可更换
G
plot(t1,A,‘o’,t2,G) %原始数据与预测数据比较
举报
更多回帖